Fenris Digital is an API-driven service for the modern insurance company. The Fenris Digital suite of APIs provides the data and scores that inform insurance coverage decisions, evaluate risk, and improve the experience of applying for, rating, and servicing insurance accounts. The APIs save research time and minimize fillable form content errors by returning applicant data completed form fields for a client (applicant) to confirm, instead of requiring the client to manually complete forms.
Fenris Digital restricts access to its APIs and manages access tokens through an OAuth2 authorization server. The Client Credentials workflow defined by the OAuth 2 specification is the principal token manager. You will receive a Client-Id and Client Secret used to obtain an access token from the Authorization Server.
Please see our Authentication Documentation for more details.
The Fenris Developer Data Collection is a set of artificial data records that can be used to test the Fenris services. The service’s responses to records from the artificial data are guaranteed to be constant in time, so that your integration tests will not break. Since the data in the set is synthetically generated, no personally identifying information (PII) is present and the data can be shared openly. Best of all, your account is never charged for requests made with the developer data.
You can download our developer data here:
We also host a Postman environment and collection that uses the Fenris Developer Data to make example requests. You can download the Postman assets here:
To use the Postman Environment and Collection:
This documentation has been used with the OpenAPI 3 specification.
Definitions of the response fields are included under each individual service endpoint. Example requests and responses can be seen in the right-hand panel for each endpoint. The example request json can be collapsed and expanded using the minus and plus signs that appear on the right side of the JSON objects.
For help getting authentication set up, please see our authentication documentation . We also provide example code in many popular programming languages.
Once you have your authentication set up, please note that access lasts only 24 hours per generated token. You can make a request for any service you have access to with an example request for that service, found in the right-hand panel of the documentation.
Do you need an account to get started? Click here to request credentials.
Is there something in our documentation that we missed? Please send us an email to hello@fenrisd.com
The Fenris suite of services are all REST APIs. Representational State Transfer (REST) is a set of guidelines to manage communications on networks, including the internet. One of the many benefits of using this pattern is that most development teams will be familiar with the protocol. You can read more about RESTful APIs here.
The first component of a RESTful API request is the unique resource identifier. For all Fenris Services, this is the URL (Uniform Resource Locator). This is what allows the request to be routed to the correct service. This is also known as the request endpoint. The url for each service can be found in the right-hand column of the documentation.
The next component of the request is the Method. The method lets the service know what the request needs to do. The current Fenris services support GET and POST requests, depending on the particular endpoint and desired process. GET allows for the access of resources at a specified URL. POST is used to send data to the service. POST requests are used to prevent information from being exposed in the URL.
The appropriate method for each request is described in the right-hand column of the documentation, to the left of the service endpoint, or in the left-hand navigation menu, next to the highlighted service.
The Request Headers component of a request are the metadata sent from the client to the server. This contains information about authentication and the format of the request and the response.
The data used to create the request is provided in the body of the request.
Additional parameters can give the service additional details, such as query of path parameters.
Every Fenris Digital API request has an optional submission-id
parameter. This parameter is echoed directly back in the response.
This value may be used to track your internal processes or systems associated with the request.
For example, lets say you have multiple lead scores and want to use Fenris Profile+ to evaluate the contact information and quality of
the leads without losing the ability to route the lead back to its original source. While making a request to the Fenris Profile+,
you can include the submission-id
parameter in your request's header to specify the original source, and that same string will be
returned back in the response's submissionId
field.
The submission-id
parameter can also be used to mark a request as a test request by using the prefix test
in the value of the
submission id.
Test the Property Details service with our Personal Developer Data. The developer data is synthetically generated and contains no PII. Requests made with developer data are not charged to your account.
The Fenris Digital Property – Assessment Details API quickly and accurately provides a summary of reported information on building characteristics, valuation, and mortgages.
Submission-Id | string Example: cafe-item-123 A pass through header field containing a client-specified identifier to tieback to client data and systems. If the client does not define, processing relies on an auto-generated field to set the value. |
addressLine1 required | string Street address for a location, may also include secondary (e.g. apartment) information. This field is required for an address block to be valid. |
addressLine2 | string This field will be appended to addressLine1 |
city | string or null Name of the city in which the address is located. A city or a ZIP Code must be present for an address block to be valid. |
state required | string Standard two-character state abbreviation. A state abbreviation is required for an address block to be valid |
zipCode | string or null Five-digit ZIP Code for the input address. A city or a ZIP Code must be present for an address block to be valid. |
longitude | number <double> Longitude, in signed, decimal degrees for the input location. A longitude is required for a geocode block to be valid. |
latitude | number <double> Latitude, in signed, decimal degrees for the input location. A latitude is required for a geocode block to be valid. |
object (BuildingCharacteristics) Details of property and improvements based on county tax assessor data. | |
object (Valuation) Details about the value of the property. | |
object (Mortgage) Details about the mortgage for the property, based on county records. | |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Enum: "SUCCESS" "NOT FOUND" Returns the status of search. |
matchDescription | string Enum: "Default match logic" "Artificial match" "Not Found" How the search matched to given address or geocode. |
document | object or null (Cacheable) The data returned based on the search. Null is returned if the search failed to find any data |
Old Aldrin Highway - Address
{- "addressLine1": "18595 Old Aldrin Highway",
- "city": "Highlands Ranch",
- "state": "CO",
- "zipCode": "80126"
}
Old Aldrin Highway
{ "requestId": "59c97ade-66e5-4086-99ee-a638fac845e4", "submissionId": "59c97ade-66e5-4086-99ee-a638fac845e4", "status": "SUCCESS", "matchDescription": "Artificial match", "document": { "buildingCharacteristics": { "useType": "Single Family Residential", "airConditioning": "Central", "basement": "Unfinished Basement", "totalArea": 2345, "buildingClass": "null", "buildingCondition": "Good", "buildingQuality": "C", "garageType": "Garage", "garageNumCars": 0, "lotSize": 7536, "bathrooms": 3, "partialBathrooms": 1, "bedrooms": 4, "totalRooms": 4, "stories": 0, "pool": null, "roofType": "GABLE", "roofCovering": "Composition Shingle", "yearBuilt": 1996, "heatingType": "Central", "heatingFuelType": null, "construction": "Frame", "units": 1, "ownerOccupied": "Owner-occupied property (SFR/Condo)", "ownerName": "MURDOCK, KYLE & SHARON", "buildings": 0, "exteriorWall": null, "foundation": null, "architecturalStyle": null }, "valuation": { "apn": "12354678", "marketValueMin": 558909, "marketValueMax": 657562, "landValue": 6920, "improvementValue": 29650, "assessmentYear": 2020, "assessedValue": 36570, "assessedMarketValue": 511457, "lastSalePrice": 0, "lastSaleDate": "2019-08-30" }, "mortgage": { "loanToValue": 57.0058, "balance": 351113, "totalLienBalance": 351113, "loanAmount": 365400, "lender": "THE MORTGAGE CO", "loanType": "New Conventional", "titleCompany": "NONE AVAILABLE" } } }
Test the Property Replacement Cost service with our Personal Developer Data. The developer data is synthetically generated and contains no PII. Requests made with developer data are not charged to your account.
The Fenris Digital Property – Replacement Cost API quickly and accurately provides a summary of replacement cost information on a given building.
Submission-Id | string Example: cafe-item-123 A pass through header field containing a client-specified identifier to tieback to client data and systems. If the client does not define, processing relies on an auto-generated field to set the value. |
addressLine1 required | string Street address for a location, may also include secondary (e.g. apartment) information. This field is required for an address block to be valid. |
addressLine2 | string This field will be appended to addressLine1 |
city | string or null Name of the city in which the address is located. A city or a ZIP Code must be present for an address block to be valid. |
state required | string Standard two-character state abbreviation. A state abbreviation is required for an address block to be valid |
zipCode | string or null Five-digit ZIP Code for the input address. A city or a ZIP Code must be present for an address block to be valid. |
longitude | number <double> Longitude, in signed, decimal degrees for the input location. A longitude is required for a geocode block to be valid. |
latitude | number <double> Latitude, in signed, decimal degrees for the input location. A latitude is required for a geocode block to be valid. |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Returns the status of search: Usually, Success or Not Found |
matchDescription | string Enum: "Default match logic" "Artificial match" "Not Found" Indicates the match strategy that provided the returned information. |
architecturalStyle | string or null Enum: "2-Family Home" "3-Family Home" "4-Family Home" "A-Frame" "Adams" "Adirondack" "Adobe" "American Four Square" "Architecturally Unique" "Art Deco" "Art Moderne" "Arts and Crafts Style" "Basic" "Bay Region" "Beaux Arts" "Bi-Level" "Brownstone" "Brownstone - End Unit" "Brownstone, Bowfront Victorian" "Brownstone, Bowfront Victorian - End Unit" "Brownstone, Stand Alone" "Brownstone, Victorian" "Brownstone, Victorian - End Unit" "Bungalow" "California Ranch" "Cape Cod" "Carpenter Gothic" "Castle-Like" "Chalet" "Charleston" "Chateau" "City House" "City House - End Unit" "City House, Art Deco" "City House, Art Deco - End Unit" "City House, Art Moderne" "City House, Art Moderne - End Unit" "City House, Beaux Arts Classical" "City House, Beaux Arts Classical - End Unit" "City House, Gothic" "City House, Gothic - End Unit" "City House, International Style" "City House, International Style - End Unit" "City House, Italianate" "City House, Italianate - End Unit" "City House, Neo-Classical" "City House, Neo-Classical - End Unit" "City House, Renaissance" "City House, Renaissance - End Unit" "City House, Renaissance Revival" "City House, Renaissance Revival - End Unit" "City House, Romanesque" "City House, Romanesque - End Unit" "City House, Second Empire" "City House, Second Empire - End Unit" "City House, Sullivanesque" "City House, Sullivanesque - End Unit" "Classical Revival" "Co-Op" "Colonial" "Colonial, Custom" "Colonial, Dutch" "Colonial, Early American" "Colonial, Eclectic" "Colonial, French" "Colonial, German" "Colonial, Manor" "Colonial, New England Style" "Colonial, Plantation" "Colonial, Revival" "Colonial, Revival Eclectic" "Colonial, Southern" "Colonial, Spanish" "Colonial, Tract" "Completely Custom" "Conch" "Condo" "Contemporary" "Contemporary, California" "Contemporary, English" "Contemporary, French" "Contemporary, Tudor" "Contractor Modern" "Converted Barn" "Cottage" "Country Style" "Craftsman Style" "Deconstruction" "Designed by a Famous Architect" "Doublewide" "Duplex" "Earth Shelter, Bermed" "Earth Shelter, Hillside" "Earth Shelter, Underground" "Eastlake" "Eclectic, French" "Eclectic, Neoclassical" "English Style" "European Influenced" "Farmhouse" "Federal" "Fourplex" "French Provincial (also French Revival)" "French Style" "Geodesic Dome" "Georgian" "Georgian Revival" "German Stone" "Gingerbread" "Gothic Revival" "Greek Revival" "Gulf Coast Style" "High Ranch" "International Style" "Italian Villa" "Italianate" "Katrina Cottage" "Key West Style" "Log" "Log Kit" "Mansard" "Mansion" "Mediterranean" "Mission Style" "Moderne" "Monterey Style" "Neo-Classical" "Neo-Colonial" "Neo-French" "Neo-Mediterranean" "Neo-Tudor" "Neo-Victorian" "New England Colonial" "Normandy Style" "Octagon" "One-of-a-Kind" "Palatial" "Park Model" "Period" "Post Modern" "Prairie Style" "Public Building-Like" "Pueblo" "Queen Anne" "Quonset Hut" "Raised Cape" "Raised Ranch" "Rambler" "Rammed Earth" "Ranch" "Regency" "Renaissance Revival" "Richardsonian Romanesque" "Romanesque" "Saltbox" "Santa Barbara" "Santa Fe Style" "Second Empire" "Shaker" "Shingle Style" "Shotgun Style" "Singlewide" "Soil Cement" "Southampton Style" "Spanish Mission" "Spanish Revival" "Spanish Style" "Split Entry" "Split Level" "Stick, Eastern" "Stick, Western" "Strawbale" "Sullivanesque" "Townhouse" "Townhouse - End Unit" "Townhouse, Federal Style" "Townhouse, Federal Style - End Unit" "Townhouse, Georgian Style" "Townhouse, Georgian Style - End Unit" "Townhouse, Stand Alone" "Tract Home" "Tri-Level" "Triplewide" "Triplex" "Tudor" "Tuscan" "Usonian" "Vernacular/Folk" "Victorian" "Western Mountain" "Wrightian" The architectural style of the property. |
constructionQuality | string or null Enum: "Basic/Economic" "Basic" "Modest/Fair" "Average/Standard" "Average" "Above Average/Upgraded" "Above Average" "Expensive/Custom" "Expensive" "Very Expensive/Luxury" "Very Expensive" "Opulent/Museum Quality" "Exceptional" The estimated quality of the construction and finishes. |
physicalShape | string or null The physical shape of the property. Example values include rectangular, contemporary, or unique. |
constructionType | string or null Enum: "A - Frame" "Autoclaved Aerated Concrete" "Brick Masonry" "Brick Veneer" "Foam Form Concrete" "Framing, Steel" "Framing, Wood" "Framing, Wood with Elevated Slab" "Hoop Arch" "Log" "Masonry, Block" "Masonry, Brick" "Masonry, Stone" "Metal Frame" "Metal Frame (slant)" "Milled Timbers" "Modular, Wood Frame" "Pole Frame" "Post and Beam" "Poured Concrete" "Prefabricated" "Quonset" "Rammed Earth" "Reinforced Concrete Frame" "Soil Cement" "Stick" "Stone Masonry" "Stone Veneer" "Strawbale" "Structural Insulated Panel" "Stucco on Frame" "Stucco on Masonry" "Timber/Post & Beam" "Veneer, Brick" "Veneer, Brick with Wood Frame" "Veneer, Stone" "Wood Framing" The construction method used to build the property. |
exterior | string or null Enum: "Adobe" "Aluminum Siding" "Asbestos Replacement, Cement Fiber" "Asphalt" "Autoclaved Aerated Concrete, Exposed" "Autoclaved Aerated Concrete, Painted" "Board and Batten" "Brick Masonry" "Brick Veneer, Face Brick" "Brick Veneer, Glazed" "Brick Veneer, Jumbo" "Brick Veneer, Large" "Brick Veneer, Norman" "Brick Veneer, Roman" "Brick Veneer, Standard" "Brick Wall, Cavity" "Brick Wall, Reinforced" "Brick with Block Backup" "Brownstone" "Cedar Siding" "Cement Fiber" "Clapboard" "Concrete Block" "Concrete Block, Glazed" "Concrete Block, Slumpstone" "Concrete Block, Split Face" "Concrete Wall, Cast in Place" "Concrete, Reinforced" "Decorative Wood Shingle" "Drivit/EIFS" "Glass Block" "Glass Panels" "Half Log Siding" "Hardboard" "Limestone" "Local Stone" "Log (>11\" Diameter)" "Log (<11\" Diameter)" "Metal Siding" "Metal Siding, Aluminum, Simulated Wood" "Metal Siding, Baked Enamel" "Metal Siding, Corrugated Aluminum" "Metal Siding, Corrugated Aluminum, Painted" "Metal Siding, Corrugated Composition" "Metal Siding, Corrugated Fiberglass" "Metal Siding, Corrugated Galvanized Iron" "Metal Siding, Porcelain" "None" "Paint" "Panels, Brick" "Panels, Cement Fiber" "Panels, Concrete Block" "Panels, Fiberglass" "Panels, Glass and Aluminum" "Panels, Glass and Metal" "Panels, Polycarbonate (Greenhouse)" "Panels, Rubble" "Panels, Sandwich" "Panels, Stone" "Panels, Stucco" "Plywood with Batts" "Polyethylene Film (Greenhouse)" "Precast Concrete" "Precast Concrete Panel" "Precast Concrete Panel, Granite Finish" "Precast Stone" "Rammed Earth" "Redwood Siding" "Siding, Barn Board" "Siding, Board and Batten" "Siding, Cedar Beveled" "Siding, Cedar Shingles" "Siding, Glasweld" "Siding, Hardboard" "Siding, Lap Board" "Siding, Log" "Siding, Plywood" "Siding, Redwood Beveled" "Siding, Spaced Board" "Siding, Tongue and Grove" "Siding, Vinyl" "Solid Stone" "Steel Siding" "Stone Rubble" "Stone Veneer, Arizona Stone" "Stone Veneer, Granite" "Stone Veneer, Lava Stone" "Stone Veneer, Limestone" "Stone Veneer, Rubble" "Stone Veneer, Sandstone" "Stucco" "Stucco Over Masonry" "Stucco with Half Timbering" "Stucco, Slick Finish" "Stucco, Smooth Coat" "Stucco, Tuscan Finish" "T1-11 Siding" "Tabby Siding" "Tilt-Up, Concrete Wall" "Veneer, Common Brick" "Veneer, Face Brick" "Veneer, Rubble" "Veneer, Stone" "Vinyl Siding" "Wood Shake/Shingle" "Wood Siding" "Wood Stresskin Panels" The type of the exterior wall of the structure. |
roofCovering | string or null Enum: "Acrylic" "Aluminum" "Architectural Shingle" "Asbestos Shingle" "Asbestos Shingle Replacement" "Asphalt Shingle" "Asphalt Shingle with Solar Panels" "Barrel Tile" "Bituthene, Self-Seal" "Built-Up Composition, High Rise, 3 Ply" "Built-Up Composition, Low Rise, 3 Ply" "Built-Up Tar and Gravel" "Cedar Shingle/Shake" "Cement Fiber" "Clay Tile" "Composition Roll" "Composition Shingle" "Composition, Built-up" "Concrete Tile" "Copper Clad Stainless Steel" "Copper, Standing Seam" "Corrugated Aluminum" "Corrugated Composition" "Corrugated Fiberglass" "Corrugated Galvanized Iron" "Dibiten" "Dibiton" "Dimensional Asphalt Shingle" "Earth Covered" "Elastomeric" "EPDM Membrane" "Fiberglass Shingle" "Glass Panels" "Glazed Tile" "Hail Proof Shingle" "Lamarite Shingle" "Ludowici Tile" "Metal Other Than Standing Seam" "Metal, Standing Seam" "Metal, Corrugated" "Metal, Ribbed" "Minera Shingle" "Mineral Shingle" "Plastic, Elastomeric Membrane" "Plastic, Elastomeric Membrane, Loose, Trocal" "Plastic, Elastomeric Membrane, Neoprene" "Polycarbonate Panels" "Polyethylene Film" "Polyurethane Foam" "PVC Membrane" "Red Slate" "Rubber" "Shakes, Cedar" "Shakes, Wood" "Shingles, Aluminum Tab" "Shingles, Architectural" "Shingles, Asbestos Replacement" "Shingles, Asphalt" "Shingles, Cedar" "Shingles, Composition" "Shingles, Composition Asphalt" "Shingles, Dimensional Asphalt" "Shingles, Fiberglass Tabs" "Shingles, Minera" "Shingles, Mineral" "Shingles, Porcelain Enamel" "Shingles, Wood" "Silicone, 3 Ply, Rolled" "Slate" "Slate, Graduated" "Slate, Patterned" "Slate, Synthetic" "Spanish Tile" "Standing Seam Copper" "Standing Seam Metal" "Steel" "Steel with Solar Panels" "Tar and Gravel" "Tile, Barrel" "Tile, Clay, Flat Bed" "Tile, Clay, Glazed, Interlock" "Tile, Clay, Spanish" "Tile, Concrete, Flat" "Tile, Concrete, Interlock" "Tile, Concrete, Premium" "Tile, Ludowici" "Tile, Slate" "Tile, Slate, Graduated" "Tile, Slate, Patterned" "Tile, Slate, Red" "Tile, Slate, Synthetic" "Tile with Solar Panels" "TPO Membrane" "Wood Shake" "Wood Shingle" "Urethane Foam, Silicone Cover" The type of the roof on the structure. |
roofConfiguration | string or null The roof configuration of the building. This field is only available for CA properties. |
foundationType | string or null Enum: "Brick" "Concrete Block" "Concrete Slab" "Fieldstone" "Holland Clay Tile" "No Permanent Foundation" "Pier" "Pier and Beam" "Pilings" "Poured Concrete" "Short Pier" "Stone" "Stone Rubble And Mortar" "Treated Wood" The foundation type of the building. This field is only available for CA properties. |
numStories | integer or null <int32> Number of stories in the structure. This field is only available for CA properties. |
siteSlope | string or null The slope of the building site. |
locale | string or null Enum: "Beachfront" "City, Large" "City, Medium" "City, Small" "Coastal" "Exclusive Pocket" "Gated Community" "Island, Accessible by Boat Only" "Island, Accessible by Bridge" "Remote, Moderate" "Remote, Slight" "Remote, Very" "Resort" "Rural" "Suburban" "Town" "Urban" "Waterfront" The location type of the property. |
yearBuilt | string or null The year of the occupation certificate. |
livingAreaSqFt | integer <int64> The total area of all buildings on this property in square feet. |
object or null (CostBreakdown) A breakdown of replacement costs. This data is only available for CA properties. | |
object or null (CostDetails) A range of estimates for the replacement cost of the property. This data is only available for commercial properties. | |
replacementCost | integer <int64> The total estimated replacement cost for the property. |
locationType | string or null Enum: "Residential" "Commercial" The type of the property location. |
Old Aldrin Highway - Address
{- "addressLine1": "18595 Old Aldrin Highway",
- "city": "Highlands Ranch",
- "state": "CO",
- "zipCode": "80126"
}
Old Aldrin Highway
{ "requestId": "23cc03dc-8e2c-4714-931c-0ff665a67439", "submissionId": "23cc03dc-8e2c-4714-931c-0ff665a67439", "status": "SUCCESS", "matchDescription": "Artificial match", "architecturalStyle": "Contemporary", "constructionQuality": "above average", "physicalShape": "contemporary", "constructionType": "framing, wood", "exterior": "wood siding", "roofCovering": "shingle", "roofConfiguration": null, "foundationType": null, "numStories": null, "siteSlope": null, "locale": "suburban", "yearBuilt": "1996", "livingAreaSqFt": 2345, "costBreakdown": null, "costDetails": null, "replacementCost": 360000, "locationType": "Residential" }
Test the Property Hazards and Perils service with our Personal Developer Data. The developer data is synthetically generated and contains no PII. Requests made with developer data are not charged to your account.
The Fenris Digital Property – Hazards and Perils API quickly and accurately provides a targeted assessment of geographic risks for property policy underwriting. The categories covered by this service are:
In addition to the categories above, you can obtain information on insurance premium taxes in applicable states, such as Kentucky.
Submission-Id | string Example: cafe-item-123 A pass through header field containing a client-specified identifier to tieback to client data and systems. If the client does not define, processing relies on an auto-generated field to set the value. |
addressLine1 required | string Street address for a location, may also include secondary (e.g. apartment) information. This field is required for an address block to be valid. |
addressLine2 | string This field will be appended to addressLine1 |
city | string or null Name of the city in which the address is located. A city or a ZIP Code must be present for an address block to be valid. |
state required | string Standard two-character state abbreviation. A state abbreviation is required for an address block to be valid |
zipCode | string or null Five-digit ZIP Code for the input address. A city or a ZIP Code must be present for an address block to be valid. |
longitude | number <double> Longitude, in signed, decimal degrees for the input location. A longitude is required for a geocode block to be valid. |
latitude | number <double> Latitude, in signed, decimal degrees for the input location. A latitude is required for a geocode block to be valid. |
object (BuildingCharacteristics) Details of property and improvements based on county tax assessor data. | |
object (Valuation) Details about the value of the property. | |
object (Mortgage) Details about the mortgage for the property, based on county records. | |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Enum: "SUCCESS" "NOT FOUND" Returns the status of search. |
matchDescription | string Enum: "Default match logic" "Artificial match" "Not Found" How the search matched to given address or geocode. |
object (PropertyRisk) |
Old Aldrin Highway - Address
{- "addressLine1": "18595 Old Aldrin Highway",
- "city": "Highlands Ranch",
- "state": "CO",
- "zipCode": "80126"
}
Test the Auto Prefill service with our Personal Developer Data. The developer data are synthetically generated and contains no PII. Requests made with developer data are not charged to your account.
There are two return options for the Auto Prefill endpoint; a base response and an enhanced response. The enhanced response includes everything in the based response along with additional enhanced vehicle information. The response types are toggled with the responseType parameter in the request body.
Setting the responseType to M returns only the base data. This is the default. Setting the responseType to C returns both the base data and the enhanced vehicle information. A license is required for the enhanced vehicle information.
The enhanced vehicle information is returned in the vehiclesEnhanced field in the response. This field is a list of vehicles found for the request, with each item in the list containing details for the vehicle, including the vehicle's vin number and registration.
Examples of each type of response can be seen in the right-hand panel, under Response samples, by toggling the options under Example. Additional details of the response fields can be seen in the Responses section below under the 200 Response Schema. The vehiclesEnhanced details can be seen by clicking the expansion carrot.
The Fenris Digital Auto Prefill service provides information that can be used to quickly and accurately populate an auto insurance application, such as drivers and vehicle information.
Submission-Id | string Example: cafe-item-123 A pass through field from the request header containing a client-specified identifier to tieback to client data and systems. If the client does not define this value, an auto-generated field is used. |
Content-Type | string Example: application/json The body of the request is in JSON format, using UTF-8 character encoding |
Authorization | string Example: Bearer <<token>> The token returned from authentication. See Authentication for more detail. |
required | object (Person) |
required | object (Address) A mailing or street address. |
Array of objects (Address) Optional address(es) to be used in addition to input address for the search. | |
responseType | string Default: "M" Enum: "M" "C" "MC" Defines if VIN data is returned. One of:
|
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Enum: "Success" "Success - Restricted State" "Success - No VIN" "VIN Return Only" "Not Found" "Not Found - Restricted State" Status of search and if requested (responseType=C) indication about registered vehicles search. One of:
|
matchDescription | string Enum: "Default match logic" "First and last name switched" "Changed last name" "Household match" "Multiple matches found" "Not found" "Artificial match" "Household artificial match" The match strategy that provided the returned information. |
addressDescription | string Enum: "Address verified" "City, state and ZIP verified, but street address not found" "More than one possible address found" "Street address verified but unit is missing/wrong" "Address verification failed" "Address verification not attempted" "Artificial address matched" Whether the address was verified or not. |
object (Primary) Data about the Primary Named Insured (PNI) and the household. See PNI for details. | |
Array of objects (Driver) An array of the drivers associated with this household. | |
Array of objects (Vehicle) An array of vehicles associated with this household. | |
Array of objects (EnhancedVehicle) An array of vehicle information including VIN and registration. |
Response Type M
{- "person": {
- "firstName": "Kyle",
- "lastName": "Murdock",
- "dateOfBirth": "05/20/1970"
}, - "address": {
- "addressLine1": "18595 Old Aldrin Highway",
- "city": "Highlands Ranch",
- "state": "CO",
- "zipCode": "80126"
}, - "responseType": "M"
}
This is a synthetic data response for M Response Type.
{ "requestId": "75c193b6-0dc5-4b63-a484-f9fef538c610", "submissionId": "75c193b6-0dc5-4b63-a484-f9fef538c610", "status": "Success", "matchDescription": "Artificial match", "addressDescription": "Artificial address matched", "primary": { "gender": "Male", "maritalStatus": "Married", "memberCode": "Primary Household Member", "parsedAddress": { "addressLine1": "18595 OLD ALDRIN HIGHWAY", "city": "HIGHLANDS RANCH", "state": "CO", "zipCode": "80126", "addressType": "Street Address" }, "homeOwnerStatus": "Definite Owner", "lengthOfResidence": "6-10 yrs", "numberOfGenerations": 2, "presenceOf16Or17YearOlds": true, "babyBoomer": false, "dualIncomeNoKids": false, "millennial": false, "vehicleHouseholdNum": 3 }, "drivers": [ { "firstName": "KYLE", "middleName": null, "lastName": "MURDOCK", "dateOfBirth": "05/20/1970", "age": 53, "gender": "Male", "maritalStatus": "Married", "memberCode": "Primary Household Member", "verificationDate": "06/04/2021" }, { "firstName": "SHARON", "middleName": null, "lastName": "MURDOCK", "dateOfBirth": "12/08/1971", "age": 51, "gender": "Female", "maritalStatus": "Married", "memberCode": "Primary Household Member", "verificationDate": "06/04/2021" }, { "firstName": "ANDY", "middleName": null, "lastName": "MURDOCK", "dateOfBirth": "03/10/2003", "age": 20, "gender": "Male", "maritalStatus": "Single", "memberCode": "Primary Household Member", "verificationDate": "06/04/2021" } ], "vehicles": [ { "confidence": 90, "description": "2019 GMC SIERRA", "year": "2019", "make": "GMC", "model": "SIERRA", "type": "Unknown", "fuelType": null, "mileage": null, "marketValue": null }, { "confidence": 70, "description": "2016 HONDA ODYSSEY", "year": "2016", "make": "HONDA", "model": "ODYSSEY", "type": null, "fuelType": "Gas", "mileage": "40,001 - 50,000", "marketValue": null }, { "confidence": 70, "description": "2012 NISSAN ROGUE", "year": "2012", "make": "NISSAN", "model": "ROGUE", "type": null, "fuelType": "Gas", "mileage": "90,001 - 100,000", "marketValue": null } ], "vehiclesEnhanced": [] }
The Fenris Digital Driver Record service provides summary information of potential violations on a driver's record. This includes a summary status of the driver's record, counts of the found minor and major violations, the dates of the latest minor and major violations found, and a calculated rating factor for the driver based on the found incidents. The rating factor is priority to Fenris, generated with industry experts, and gives an estimate of how the driver's rates for different tiers of insurance policies may be impacted. The Fenris Driver Record service provides invaluable insights for streamlining applications and quoting auto insurance policies.
Test the Driver Record service with our Personal Developer Data. The developer data are synthetically generated and contains no PII. Requests made with developer data are not charged to your account.
A request for a driver's record needs to include either the address on the license of the person of interest, or the driver's license number and license state. The address component of the request is not required if the driver's license is provided.
This information is primarily based on a search of court records and is not a replacement for a complete Motor Vehicle Records (MVR) search. Because regulations vary across the United States, some states provide more limited access to data. Driver record data is more limited in the following states; AR, CA, CO, DC, DE, GA, HI, KS, LA, ME, MI, MN, MO, MT, NV, NH, NY, OH, OR, TN, WV, WY.
Submission-Id | string Example: cafe-item-123 A pass through field from the request header containing a client-specified identifier to tieback to client data and systems. If the client does not define this value, an auto-generated field is used. |
required | object (DriverRecordPerson) The person of interest, to perform a driver record search for. |
object (Address) A mailing or street address. |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Enum: "Clean" "No Evidence Found" "Minor Violations Found" "Major Violations Found" "No Results Found" "Not Attempted" "Clean - Developer Data" "No Evidence Found - Developer Data" "Minor Violations Found - Developer Data" "Major Violations Found - Developer Data" "No Results Found - Developer Data" Returns the status of the driver record search. One of the following values is returned:
|
licenseSearchStatus | string Enum: "Supplied" "Found" "Not Attempted" "Not Found" "Supplied" "Found" "Not Found" Status of search for driver's license number. One of the following values is returned:
|
object (RatingFactor) Rating factor for this driver, based on the incidents found. Note that the rating factor does not include the opportunity discounts. |
Minor Violations
{- "person": {
- "firstName": "Jenny",
- "lastName": "Everywhere",
- "dateOfBirth": "11/10/1962",
- "licenseNumber": "510395035146",
- "licenseState": "TX"
}
}
Minor Violations
{ "requestId": "1fb4c776-bb61-4c37-9240-4c40dec7a8a8", "submissionId": "1fb4c776-bb61-4c37-9240-4c40dec7a8a8", "status": "Minor Violations Found - Developer Data", "licenseSearchStatus": "Supplied", "minorCount": 2, "minorLatest": "12/15/2023", "majorCount": 0, "majorLatest": null, "accidentCount": 0, "accidentLatest": null, "duiCount": 0, "duiLatest": null, "ratingFactor": { "preferred": 2.3, "standard": 1.48, "nonStandard": 1.44, "fullSpectrum": 1.29 } }
The VIN Decoder service provides automobile information for a requested VIN (Vehicle Identification Number).
vin required | string Example: vin=JN8AS5MV0CW000000 VIN to decode. |
Submission-Id | string Example: cafe-item-123 A pass through field from the request header containing a client-specified identifier to tieback to client data and systems. If the client does not define this value, an auto-generated field is used. |
Authorization | string Example: Bearer <<token>> A Bearer token for authentication. |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Enum: "Success" "Failure" Status of decoding. |
matchDescription | string A description of the match logic used to find this VIN. |
make | string The make of the vehicle. |
model | string The model of the vehicle. |
modelYear | string The model year of the vehicle. |
trim | string The vehicle's name-based trim style as defined by the manufacturer. |
vehicleType | string Enum: "Motorcycle" "Passenger Car" "Truck" "Bus" "Trailer" "Multipurpose Passenger Vehicle (MPV)" "Low Speed Vehicle (LSV)" "Incomplete Vehicle" "Off Road Vehicle" |
bodyClass | string The body class of the vehicle. |
object A set of string values providing additional details about the vehicle. The names in this object are reported by the manufacturer and will change depending on the year, make, and model of the vehicle. |
Kyle Murdock
{ "requestId": "ef13d6eb-a903-4587-9fa5-7f9ef4591ee9", "submissionId": "ef13d6eb-a903-4587-9fa5-7f9ef4591ee9", "status": "Success", "matchDescription": "VIN decoded clean. Check Digit (9th position) is correct", "make": "OLDSMOBILE", "model": "Alero", "modelYear": "1999", "trim": "GLS", "vehicleType": "PASSENGER CAR", "bodyClass": "Sedan/Saloon", "vinDetails": { "manufacturerName": "GENERAL MOTORS LLC", "engineNumberofCylinders": "6", "errorCode": "0", "windows": "4", "displacement(L)": "3.4", "otherEngineInfo": "Name Plate: Chevrolet, Pontiac, Oldsmobile", "plantCountry": "UNITED STATES (USA)", "plantCompanyName": "NA-GM Corp", "doors": "4", "engineManufacturer": "LAN", "plantCity": "LANSING - SOUTH PLANT", "displacement(CC)": "3400.0", "frontAirBagLocations": "1st Row (Driver and Passenger)", "vehicleDescriptor": "1G3NF52E*XC", "fuelDelivery/FuelInjectionType": "Sequential Fuel Injection (SFI)", "engineConfiguration": "V-Shaped", "seatBeltType": "Manual", "displacement(CI)": "207.48072992208", "plantState": "MICHIGAN" } }
Test the Drivers License service with our Personal Developer Data. The developer data are synthetically generated and contains no PII. Requests made with developer data are not charged to your account.
The Fenris Digital Driver's License search service provides a driver's license number and state for an input person.
Submission-Id | string Example: cafe-item-123 A pass through field from the request header containing a client-specified identifier to tieback to client data and systems. If the client does not define this value, an auto-generated field is used. |
required | object (DriversLicenseSearchPerson) The person of interest to perform a license search for. |
required | object (Address) A mailing or street address. |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Enum: "Success" "Success - Developer Data" "Not Found" Returns the status of the driver's license search. One of the following values is returned:
|
licenseState | string The state where the driver's license was issued. |
licenseNumber | string The driver's license number. |
maskedLicenseNumber | string The masked driver's license number, where only the last four characters are visible and the rest of the characters are obfuscated. |
Kyle Murdock
{- "person": {
- "firstName": "Kyle",
- "lastName": "Murdock",
- "dateOfBirth": "05/20/1970"
}, - "address": {
- "addressLine1": "18595 Old Aldrin Highway",
- "city": "Highlands Ranch",
- "state": "CO",
- "zipCode": "80126"
}
}
Kyle Murdock
{ "requestId": "9c19139d-77c3-426c-aff4-00090b41900c", "submissionId": "9c19139d-77c3-426c-aff4-00090b41900c", "status": "Success", "licenseState": "CO", "licenseNumber": "349370820846", "maskedLicenseNumber": "********0846" }
Test the Commercial Lines Prefill service with our Business Developer Data. The developer data is synthetically generated and contains no PII. Requests made with developer data are not charged to your account.
Using only a business name and address, the Fenris Digital Business Insurance Prefill API locates and returns extensive business details. This API leverages the Fenris best-in-class match rates to return a robust set of data fields in a matter of seconds.
Our client's tell us that if they are the first to quote a business, they will have greater than 60% chance of closing that lead. Business Insurance Prefill provides crucial time-saving results for agents and brokers who are trying to gather applicant information and for underwriters who are key in the quote/close policy phase.
The Commercial Insurance Prefill service works by matching a request including one or more business names, and one or more business addresses to several data repositories.
When a request is received, the provided business name(s) are cleansed by removing common business terms that are often swapped or abbreviated (e.g., Ltd, LLC, Inc.), and the address(es) are standardized to USPS form using the Fenris address standardization service.
The cleansed names and addresses are then used to search the Fenris Commercial Reference Data. This search attempts to find the business at the location(s) entered using fuzzy matching on the name(s).
If no match is found for the name and address, the search is expanded by looking across the state for businesses that match the input name (Note: many businesses have multiple names, and this is reflected in the reference data that is searched).
If no match is found in the commercial reference data with either approach, then the same names and addresses are used to search the Fenris consumer reference data.
While the Fenris reference data is being searched, the service also queries the Secretary of State data for the state in the address field of the request. This search is based only on the business name and the input state.
Once the searches are complete, the service aggregates all of the matched data from the sources and returns
it. There are three fields in the return that provide information about the results of the searches. They
are status
, matchDescription
, and
addressDescription
`.
fenris-match-logic | string Enum: "FAST" "DEFAULT" |
Submission-Id | string Example: cafe-item-123 A pass through field from the request header containing a client-specified identifier to tieback to client data and systems. If the client does not define this value, an auto-generated field is used. |
names required | Array of strings Business name(s) which can include alternative names (legal, trade, DBA) or person's first and last name. |
required | object (Address) A mailing or street address. |
Array of objects (Address) Optional address(es) to be used in addition to input address for the search. |
Cherry on Top Cupcake
{- "names": [
- "Cherry on Top Cupcake",
- "Cherry on Top Bakery",
- "Cherry Cupcake Midtown",
- "Cherry Cupcakes"
], - "address": {
- "addressLine1": "32301 Juergensen ST NW",
- "city": "Washington",
- "state": "DC",
- "zipCode": "20007"
}
}
Cherry on Top Cupcake
{ "requestId": "ca63610a-255c-4948-9574-974835cb1672", "submissionId": "ca63610a-255c-4948-9574-974835cb1672", "status": "Success", "matchDescription": "Default match logic with artificial", "addressDescription": "Address verification failed", "name": "Cherry on Top Cupcake", "address": { "addressLine1": "32301 Juergensen ST NW", "city": "Washington", "state": "DC", "zipCode": "20007", "addressType": "Street Address" }, "phone": "8002236862", "country": "United States", "headquarters": true, "employees": "1-20", "estimatedEmployees": 15, "estimatedPayroll": null, "revenue": "$1 - 9.99 Million", "estimatedRevenue": 2556000, "operatingHours": "", "areaSquareMeters": null, "parent": { "linkedInUrl": "https://www.linkedin.com/company/cherry-on-top-cupcake", "domain": "cherryontopcupcake.com", "website": "http://www.cherryontopcupcake.com", "alternateDomains": [], "alternateNames": [ "Cherry on Top Cupcake", "Cherry on Top Bakery", "Cherry Cupcake Midtown", "Cherry Cupcakes" ], "numberOfContacts": 80, "primaryIndustry": "retail bakeries", "primaryNAICSCode": "311811", "otherNAICSCodes": [], "primarySICCode": "54610000", "otherSICCodes": [], "employees": "101-500", "estimatedEmployees": 120, "revenue": "$10 - 49.99 Million", "estimatedRevenue": 23000000, "yearEstablished": "2009", "entityType": "", "normalizedIndustry": "Food and Beverages", "numberOfLocations": 9, "estimatedPayroll": null } }
Test the Commercial Lines Financial Information service with our Business Developer Data. The developer data is synthetically generated and contains no PII. Requests made with developer data are not charged to your account.
The Fenris Digital Business Financial Information API locates and returns details on the financial health of the searched business, including scores estimating the businesses' risk of becoming severely delinquent or filing for bankruptcy.
This API leverages the Fenris best-in-class match rates to return a robust set of data fields in a matter of seconds.
Submission-Id | string Example: cafe-item-123 A pass through field from the request header containing a client-specified identifier to tieback to client data and systems. If the client does not define this value, an auto-generated field is used. |
names required | Array of strings Business name(s) which can include alternative names (legal, trade, DBA) or person's first and last name. |
required | object (Address) A mailing or street address. |
Array of objects (Address) Optional address(es) to be used in addition to input address for the search. |
Cherry on Top Cupcake
{- "names": [
- "Cherry on Top Cupcake",
- "Cherry on Top Bakery",
- "Cherry Cupcake Midtown",
- "Cherry Cupcakes"
], - "address": {
- "addressLine1": "32301 Juergensen ST NW",
- "city": "Washington",
- "state": "DC",
- "zipCode": "20007"
}
}
Cherry on Top Cupcake
{ "requestId": "7c344ebd-7f5e-4be9-864f-c9e478d71da9", "submissionId": "7c344ebd-7f5e-4be9-864f-c9e478d71da9", "status": "Success", "matchDescription": "Default match logic with artificial", "addressDescription": null, "name": "Cherry on Top Cupcake", "address": { "addressLine1": "32301 Juergensen ST NW", "city": "Washington", "state": "DC", "zipCode": "20007", "addressType": "Street Address" }, "primaryNAICSCode": "311811", "otherNAICSCodes": [], "failRate": 5, "failLevel": 2, "failReasons": [], "creditScore": 420, "creditClass": 4, "creditPercentile": 30, "creditReasons": [ "Insufficient Information on or Lack of Non-Financial Accounts", "Number of Non-Financial Trades", "Years Company has Been in Business in Database", "Industry" ], "bankruptcy": "N" }
When a new business is established, it takes time for information about that business to become accessible. These same newly established businesses are also often the most in need of start up infrastructure and resources, such a new insurance policy. The Fenris Firmographics Service was developed with that gap in mind, fusing extensive proprietary data with powerful predictive analytics to help estimate details about a new business that would otherwise not be available.
Using the North American Industry Classification System (NAICS) code and location of the business, the Fenris Firmographics service creates estimates of important firmographic details, such as the number of employees, revenue, and payroll.
zipCode required | string = 5 characters \d{5} The ZIP Code of the business. |
naics required | string [ 4 .. 6 ] characters [1-9]\d{3,5} The 4-6 digit NAICS code of the business. A NAICS code never starts with 0. |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Returns the status of search: Usually, Success or Not Found |
employeesLow | integer <int32> The average (median) number of employees for small businesses in the searched ZIP Code with the searched NAICS code. |
employeesMedian | integer <int32> The average (median) number of employees across all businesses in the searched ZIP Code with the searched NAICS code. |
revenueLow | number <double> The average revenue, in thousands, for small businesses in the searched ZIP Code with the searched NAICS code. |
revenueMedian | number <double> The average (median) revenue, in thousands, for all businesses in the searched ZIP Code with the searched NAICS code. |
payrollLow | number <double> The average (median) payroll, in thousands, for small businesses in the searched ZIP Code with the searched NAICS code. |
payrollMedian | number <double> The average (median) payroll, in thousands, for all businesses in the searched ZIP Code with the searched NAICS code. |
modelVersion | string The model version used to generate the response. |
Denver, CO New Car Dealers
{- "zipCode": "80129",
- "naics": "441110"
}
{ "status": "Success", "employeesLow": 2, "employeesMedian": 2, "revenueLow": 401, "revenueMedian": 1103, "payrollLow": 132, "payrollMedian": 132, "modelVersion": "2024.03.01.091800", "requestId": "3dfc75cf-ca07-4506-899f-bac18e7c8d97", "submissionId": "3dfc75cf-ca07-4506-899f-bac18e7c8d97" }
Test the Customer 360 service with our Personal Developer Data. The developer data is synthetically generated and contains no PII. Requests made with developer data are not charged to your account.
The Customer 360 API quickly and accurately populates household information into application forms, making the insurance application process seamless.
The Customer 360 service returns information that can also be used to advise an agent or system about the financial and family status of the applicant. This includes information such as the presence of children and mortgage data. This information can be used to make sure that the applicant has the coverage that fits their needs.
Submission-Id | string Example: cafe-item-123 A pass through field from the request header containing a client-specified identifier to tieback to client data and systems. If the client does not define this value, an auto-generated field is used. |
object (Person) | |
required | object (Address) A mailing or street address. |
Array of objects (Address) Optional address(es) to be used in addition to input address for the search. |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Returns the status of search: Usually, Success or Not Found |
matchDescription | string Default: "Default match logic" Enum: "Default match logic" "First and last name switched" "Changed last name" "Household match" "Multiple matches found" "Not Found" "Artificial match" "Household artificial match" How the search matched to the individual or household. |
addressDescription | string Enum: "Address verified" "City, state and ZIP verified, but street address not found" "More than one possible address found" "Street address verified but unit is missing/wrong" "Address verification failed" "Address verification not attempted" "Artificial address matched" Whether the address was verified or not. |
object (PrimaryNamedInsured) | |
object (HouseholdInfo) | |
object (FinancialInfo) | |
Array of objects (HouseholdMember) |
Kyle Murdock
{- "person": {
- "firstName": "Kyle",
- "lastName": "Murdock",
- "dateOfBirth": "05/20/1970"
}, - "address": {
- "addressLine1": "18595 Old Aldrin Highway",
- "city": "Highlands Ranch",
- "state": "CO",
- "zipCode": "80126"
}
}
{ "requestId": "2eb08998-e8f9-45ec-985a-1d28130ce173", "submissionId": "2eb08998-e8f9-45ec-985a-1d28130ce173", "status": "Success", "matchDescription": "Artificial match", "addressDescription": "Artificial address matched", "primary": { "firstName": "KYLE", "lastName": "MURDOCK", "dateOfBirth": "05/20/1970", "age": 53, "gender": "Male", "maritalStatus": "Married", "memberCode": "Primary Household Member", "address": { "addressLine1": "18595 OLD ALDRIN HIGHWAY", "city": "HIGHLANDS RANCH", "state": "CO", "zipCode": "80126", "addressType": "Street Address" }, "homeOwnerStatus": "Definite Owner", "lengthOfResidence": "6-10 yrs", "occupation": "Professional/Technical" }, "householdInfo": { "numberOfGenerations": 2, "babyBoomer": false, "dualIncomeNoKids": false, "genX": true, "millennial": false, "numberOfAdults": 3, "presenceChildren": true, "children": { "totalChildren": 2, "children0to2": 0, "children3to5": 0, "children6to10": 0, "children11to15": 1, "children16to17": 1, "childrenUnknownAge": 0 }, "hobbies": [ "Baking", "Scrapbooking", "Woodworking" ] }, "financialInfo": { "income": "$150,000 - $174,999", "netWorth": "$250,000 - $499,999", "wealthResources": null, "investmentResources": null, "liquidResources": null, "shortTermLiability": "$5,000 - $9,999", "mortgageData": { "firstMortgageAmount": 500000, "secondMortgageAmount": null, "originalMortgageAmount": 500000, "homeEquityLoan": null, "interestRate": "3.80%", "interestRateType": "Fixed Rate Loan", "loanType": "Conventional", "loanDate": "04/20/2013", "refiIndicator": false }, "equityInfo": { "salePrice": null, "marketValue": null, "assessedValue": 550000, "currentLoanToValue": "", "equity": 250000, "saleDate": "04/20/2013" }, "investments": [] }, "householdMembers": [ { "firstName": "KYLE", "lastName": "MURDOCK", "dateOfBirth": "05/20/1970", "age": 53, "gender": "Male", "maritalStatus": "Married", "memberCode": "Primary Household Member" }, { "firstName": "SHARON", "lastName": "MURDOCK", "dateOfBirth": "12/08/1971", "age": 51, "gender": "Female", "maritalStatus": "Married", "memberCode": "Primary Household Member" }, { "firstName": "ANDY", "lastName": "MURDOCK", "dateOfBirth": "03/10/2003", "age": 20, "gender": "Male", "maritalStatus": "Single", "memberCode": "Primary Household Member" } ] }
When dealing with internet lead generation, you can expect invalid contacts containing errors due to typos on forms or intentionally false information. What if you could practically ensure valid leads with accurate contact information? The Fenris Digital ("Fenris") Profile+ service validates the contact information on leads to ensure that you are contacting real people instead of wasting time trying to contact people who don't exist, at fake addresses, with autogenerated, made-up email addresses. The first chance a client has to evaluate whether they can contact a lead occurs when they first receive the POST data. By using Fenris Profile+ service, clients get instant feedback on the quality of the contact information so that they can route the request to the appropriate channel or return the lead to the seller.
The Fenris Profile+ Service works by comparing the input contact information such as person’s name, postal address, e-mail address, phone number to Fenris’ reference database of more than 250 million individuals and 130 million households to determine whether the input person exists in its reference data to determine the viability of making contact with the lead. These results are also passed to Fenris’ proprietary Profile+ scoring engine to compute a score that enables quick assessment on the viability of outreach to each lead based on all of the input contact data submitted.
We match each lead to our proprietary, multi-sourced database covering more than 97% of the US population, evaluating validity for each element so you can sift out fraudulent entries. You can decide at that point to purchase or return the lead, or you can run validated leads through the Fenris data enrichment and lead scoring APIs for an even more granular assessment of lead quality and likelihood to buy.
The Fenris Profile+ endpoint receives a lead’s contact data and returns information on the validity of the elements submitted. Note that all items in the request are optional. Information will be provided only for the submitted elements.
Test the Fenris Profile+ service with our Personal Developer Data. The developer data is synthetically generated and contains no PII. Requests made with developer data are not charged to your account.
fenris-model-type | string Example: generic Allows users with a deployed tailored model to use the generic Fenris Profile+ model by specify generic as the value. |
object (ProfilePerson) | |
object (Address) A mailing or street address. | |
string The contact email address. Supported formats include: | |
phone | string The contact phone number. Supported formats include:
|
ipAddress | string The contact IP address. Tye typical formats include:
|
lineOfBusiness | string The line of business to score the lead for. This is an optional parameter used when a customer has multiple models trained. |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Enum: "Success" "Success - Developer Data" TruProfile service status |
object (AddressValidation) | |
object (PersonValidation) | |
object (PhoneValidation) | |
object (EmailValidation) | |
object (IpValidation) | |
object (ProfileScore) |
Kyle Murdock
{- "person": {
- "firstName": "Kyle",
- "lastName": "Murdock",
- "dateOfBirth": "05/20/1970"
}, - "address": {
- "addressLine1": "18595 Old Aldrin Highway",
- "city": "Highlands Ranch",
- "state": "CO",
- "zipCode": "80126"
}, - "phone": "123-123-4567",
- "ipAddress": "1.2.3.4",
- "lineOfBusiness": "auto"
}
Kyle Murdock
{ "requestId": "dd6dfe57-0b92-4319-8bfc-7c6ab6823b84", "submissionId": "dd6dfe57-0b92-4319-8bfc-7c6ab6823b84", "status": "Success - Developer Data", "address": { "standardized": true, "singleDeliveryPoint": true, "residential": true, "addressFound": true, "householdFound": true, "personAtAddress": true }, "person": { "recognizedFirstName": true, "recognizedLastName": true, "personFound": true, "dateOfBirthVerified": true }, "phone": { "valid": false, "mobileOrLandline": false }, "email": { "valid": true }, "ipAddress": { "valid": true, "notKnownProxy": true } }
The echo API is a simple "Hello World!" service that echoes the message sent to it. It is designed to assist developers in testing authentication and connectivity to the Fenris API platform.
message | string A string message to send to the echo service. |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Default: "SUCCESS" Input was returned successfully. |
message | string The string message returned by the echo service. |
{- "message": "I think you're great!"
}
{ "requestId": "3800a4cd-1372-48ce-a6fa-2b7fe5888258", "submissionId": "3800a4cd-1372-48ce-a6fa-2b7fe5888258", "status": "SUCCESS", "message": "I think you're great!" }
The Fenris Lead Insight Service designed to insure that the leads you are buying meet your parameters of quality before they are purchased. Using anonymous data, the Fenris Lead Insight Service generates a score indicating the probability of a lead will convert. This insight allows you to route the request to the appropriate channel or return the lead to the seller.
Highly customizable, the Fenris Lead Insight service houses both generic line of business models for probability to convert as well as tailored customer models for assessing the quality of a lead.
For a model trained with your data, our data scientists tailor our machine learning algorithms to the criteria that you use in your business to define a high-quality lead. Once the custom model is trained and deployed, the new lead information can be seamlessly scored in a matter of milliseconds.
Score a Home Insurance lead with the specified model type specified, e.g. returnlikelihood, sellability, quotability.
type required | string |
thirdPartyLeadCertificationId | string |
affiliate | string |
campaign | string |
source | Array of strings |
state | string |
gender | string |
dateOfBirth | string <date> |
ageInYears | integer <int64> |
landingPage | string |
object | |
age | string |
currentlyInsured | string |
currentInsuranceCompany | string |
propertyType | string |
occupancy | string |
foundation | string |
homeSecurity | string |
yearBuilt | string |
stories | string |
bedrooms | string |
bathrooms | string |
squareFootage | string |
roofType | string |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Returns the status of search: Usually, Success or Not Found |
score | string |
decile | integer <int32> |
model | string |
{- "thirdPartyLeadCertificationId": "string",
- "affiliate": "string",
- "campaign": "string",
- "source": [
- "string"
], - "state": "string",
- "gender": "string",
- "dateOfBirth": "2019-08-24",
- "ageInYears": 0,
- "landingPage": "string",
- "otherParams": {
- "property1": "string",
- "property2": "string"
}, - "age": "string",
- "currentlyInsured": "string",
- "currentInsuranceCompany": "string",
- "propertyType": "string",
- "occupancy": "string",
- "foundation": "string",
- "homeSecurity": "string",
- "yearBuilt": "string",
- "stories": "string",
- "bedrooms": "string",
- "bathrooms": "string",
- "squareFootage": "string",
- "roofType": "string"
}
Score an Auto Insurance lead with the specified model type specified, e.g. returnlikelihood, sellability, quotability.
type required | string |
thirdPartyLeadCertificationId | string |
affiliate | string |
campaign | string |
source | Array of strings |
state | string |
gender | string |
dateOfBirth | string <date> |
ageInYears | integer <int64> |
landingPage | string |
object | |
vehicleYear | integer <int32> |
ageVehicle | integer <int32> |
secondVehicleYear | integer <int32> |
ageSecondVehicle | integer <int32> |
ticketsOrClaimsLast3Years | string |
dui | string |
currentInsuranceProvider | string |
desiredCoverageLevel | string |
vehiclePrimaryUse | string |
annualMileage | string |
vehicleOwnership | string |
continuousCoverage | string |
activeLicense | string |
everFiledSR22 | string |
homeowner | string |
married | string |
educationLevel | string |
creditScore | string |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Returns the status of search: Usually, Success or Not Found |
score | string |
decile | integer <int32> |
model | string |
{- "thirdPartyLeadCertificationId": "string",
- "affiliate": "string",
- "campaign": "string",
- "source": [
- "string"
], - "state": "string",
- "gender": "string",
- "dateOfBirth": "2019-08-24",
- "ageInYears": 0,
- "landingPage": "string",
- "otherParams": {
- "property1": "string",
- "property2": "string"
}, - "vehicleYear": 0,
- "ageVehicle": 0,
- "secondVehicleYear": 0,
- "ageSecondVehicle": 0,
- "ticketsOrClaimsLast3Years": "string",
- "dui": "string",
- "currentInsuranceProvider": "string",
- "desiredCoverageLevel": "string",
- "vehiclePrimaryUse": "string",
- "annualMileage": "string",
- "vehicleOwnership": "string",
- "continuousCoverage": "string",
- "activeLicense": "string",
- "everFiledSR22": "string",
- "homeowner": "string",
- "married": "string",
- "educationLevel": "string",
- "creditScore": "string"
}
Score a Life Insurance lead with the specified model type specified, e.g. returnlikelihood, sellability, quotability.
type required | string |
thirdPartyLeadCertificationId | string |
affiliate | string |
campaign | string |
source | Array of strings |
state | string |
gender | string |
dateOfBirth | string <date> |
ageInYears | integer <int64> |
landingPage | string |
object | |
currentInsuranceProvider | string |
married | string |
occupation | string |
homeowner | string |
desiredCoverageLevel | string |
deviceType | string |
familyHistory | string |
height | string |
weight | string |
majorCondition | string |
preExistingCondition | string |
tcpa | string |
tobaccoUse | string |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Returns the status of search: Usually, Success or Not Found |
score | string |
decile | integer <int32> |
model | string |
{- "thirdPartyLeadCertificationId": "string",
- "affiliate": "string",
- "campaign": "string",
- "source": [
- "string"
], - "state": "string",
- "gender": "string",
- "dateOfBirth": "2019-08-24",
- "ageInYears": 0,
- "landingPage": "string",
- "otherParams": {
- "property1": "string",
- "property2": "string"
}, - "currentInsuranceProvider": "string",
- "married": "string",
- "occupation": "string",
- "homeowner": "string",
- "desiredCoverageLevel": "string",
- "deviceType": "string",
- "familyHistory": "string",
- "height": "string",
- "weight": "string",
- "majorCondition": "string",
- "preExistingCondition": "string",
- "tcpa": "string",
- "tobaccoUse": "string"
}
Score a Health Insurance lead with the specified model type specified, e.g. returnlikelihood, sellability, quotability.
type required | string |
thirdPartyLeadCertificationId | string |
affiliate | string |
campaign | string |
source | Array of strings |
state | string |
gender | string |
dateOfBirth | string <date> |
ageInYears | integer <int64> |
landingPage | string |
object | |
tobaccoUse | string |
preExistingConditions | string |
height | string |
tcpa | string |
additionalInsured | string |
coverageTime | string |
entranceUrl | string |
currentInsurancePlan | string |
householdIncome | string |
householdSize | string |
over65 | string |
subsidyStatus | string |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Returns the status of search: Usually, Success or Not Found |
score | string |
decile | integer <int32> |
model | string |
{- "thirdPartyLeadCertificationId": "string",
- "affiliate": "string",
- "campaign": "string",
- "source": [
- "string"
], - "state": "string",
- "gender": "string",
- "dateOfBirth": "2019-08-24",
- "ageInYears": 0,
- "landingPage": "string",
- "otherParams": {
- "property1": "string",
- "property2": "string"
}, - "tobaccoUse": "string",
- "preExistingConditions": "string",
- "height": "string",
- "tcpa": "string",
- "additionalInsured": "string",
- "coverageTime": "string",
- "entranceUrl": "string",
- "currentInsurancePlan": "string",
- "householdIncome": "string",
- "householdSize": "string",
- "over65": "string",
- "subsidyStatus": "string"
}
Many smaller and medium-sized companies don’t have access to data science resources and the breadth of data needed to create effective machine-learning models. The Fenris Scoring API Suite hosts a set of both industry generic and tailored machine learning models to give our customers a competitive edge when it comes to understanding their leads and prospective customers.
The generic propensity to buy models housed in this suite can identify applicants in your sales funnel the leads who are 10x more likely to make a purchase, with the models be tuned by line of business or product line.
For a model trained with your data, our data scientists tailor our machine learning algorithms to the criteria that you use in your business to define a high-quality lead. Once a model is trained and deployed, when a request to score a lead is sent to the service we match the lead to our proprietary database to create an enriched prospect profile. This improves the predictive power of the model by augmenting your lead data with our own attributes. The enriched data is scored using your tailored model to segment the lead based on predicted propensity to buy your insurance product.
Return a score for the requested person and address.
outcome required | string The outcome to be predicted (i.e., the target variable of the model). |
lineOfBusiness required | string The insurance line of business for this model. |
productLine required | string The product line within the line of business for the model to consider. |
Submission-Id | string Example: cafe-item-123 A pass through field from the request header containing a client-specified identifier to tieback to client data and systems. If the client does not define this value, an auto-generated field is used. |
required | object (Person) |
required | object (Address) A mailing or street address. |
Array of objects (Address) Optional address(es) to be used in addition to input address for the search. | |
object |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Returns the status of search: Usually, Success or Not Found |
matchDescription | string Default: "Default match logic" Enum: "Default match logic" "First and last name switched" "Changed last name" "Household match" "Multiple matches found" "Not Found" "Artificial match" "Household artificial match" How the search matched to the individual or household. |
score | string Enum: "Excellent" "Very Good" "Good" "Fair" "Poor" "Not Found" Quality of input with respect to target. |
decile | integer <int32> [ 1 .. 10 ] Decile of response (1-10) based on likelihood of input compared to target |
model | string Model used to compute response. Returns "Model Failed" if an error occurs in processing. |
object |
{- "person": {
- "firstName": "Kyle",
- "middleName": "string",
- "lastName": "Murdock",
- "dateOfBirth": "05/20/1970"
}, - "address": {
- "addressLine1": "18595 Old Aldrin Highway",
- "addressLine2": "string",
- "city": "Highlands Ranch",
- "state": "CO",
- "zipCode": "80126"
}, - "otherAddresses": [
- {
- "addressLine1": "18595 Old Aldrin Highway",
- "addressLine2": "string",
- "city": "Highlands Ranch",
- "state": "CO",
- "zipCode": "80126"
}
], - "otherParams": {
- "property1": "string",
- "property2": "string"
}
}
Return a score for the requested person and address.
outcome required | string The outcome to be predicted (i.e., the target variable of the model). |
lineOfBusiness required | string The insurance line of business for this model. |
Submission-Id | string Example: cafe-item-123 A pass through field from the request header containing a client-specified identifier to tieback to client data and systems. If the client does not define this value, an auto-generated field is used. |
required | object (Person) |
required | object (Address) A mailing or street address. |
Array of objects (Address) Optional address(es) to be used in addition to input address for the search. | |
object |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Returns the status of search: Usually, Success or Not Found |
matchDescription | string Default: "Default match logic" Enum: "Default match logic" "First and last name switched" "Changed last name" "Household match" "Multiple matches found" "Not Found" "Artificial match" "Household artificial match" How the search matched to the individual or household. |
score | string Enum: "Excellent" "Very Good" "Good" "Fair" "Poor" "Not Found" Quality of input with respect to target. |
decile | integer <int32> [ 1 .. 10 ] Decile of response (1-10) based on likelihood of input compared to target |
model | string Model used to compute response. Returns "Model Failed" if an error occurs in processing. |
object |
{- "person": {
- "firstName": "Kyle",
- "middleName": "string",
- "lastName": "Murdock",
- "dateOfBirth": "05/20/1970"
}, - "address": {
- "addressLine1": "18595 Old Aldrin Highway",
- "addressLine2": "string",
- "city": "Highlands Ranch",
- "state": "CO",
- "zipCode": "80126"
}, - "otherAddresses": [
- {
- "addressLine1": "18595 Old Aldrin Highway",
- "addressLine2": "string",
- "city": "Highlands Ranch",
- "state": "CO",
- "zipCode": "80126"
}
], - "otherParams": {
- "property1": "string",
- "property2": "string"
}
}
Return a score for the requested person and address.
outcome required | string The outcome to be predicted (i.e., the target variable of the model). |
Submission-Id | string Example: cafe-item-123 A pass through field from the request header containing a client-specified identifier to tieback to client data and systems. If the client does not define this value, an auto-generated field is used. |
required | object (Person) |
required | object (Address) A mailing or street address. |
Array of objects (Address) Optional address(es) to be used in addition to input address for the search. | |
object |
requestId | string Unique identifier for the request, used for auditing and support. |
submissionId | string Returns the value from request header or if the value is not set in the header, then the unique identifier for the request. |
status | string Returns the status of search: Usually, Success or Not Found |
matchDescription | string Default: "Default match logic" Enum: "Default match logic" "First and last name switched" "Changed last name" "Household match" "Multiple matches found" "Not Found" "Artificial match" "Household artificial match" How the search matched to the individual or household. |
score | string Enum: "Excellent" "Very Good" "Good" "Fair" "Poor" "Not Found" Quality of input with respect to target. |
decile | integer <int32> [ 1 .. 10 ] Decile of response (1-10) based on likelihood of input compared to target |
model | string Model used to compute response. Returns "Model Failed" if an error occurs in processing. |
object |
{- "person": {
- "firstName": "Kyle",
- "middleName": "string",
- "lastName": "Murdock",
- "dateOfBirth": "05/20/1970"
}, - "address": {
- "addressLine1": "18595 Old Aldrin Highway",
- "addressLine2": "string",
- "city": "Highlands Ranch",
- "state": "CO",
- "zipCode": "80126"
}, - "otherAddresses": [
- {
- "addressLine1": "18595 Old Aldrin Highway",
- "addressLine2": "string",
- "city": "Highlands Ranch",
- "state": "CO",
- "zipCode": "80126"
}
], - "otherParams": {
- "property1": "string",
- "property2": "string"
}
}