BackNine API Documentation
Welcome to BackNine's API documentation! Here you'll learn how to embed Quote & Apply, get quotes via API, pre-fill Quote & Apply with customer data, and more.
Here's a 14 minute video that explains the various topics of our API.
Base URL
Production: https://app.back9ins.com
Development: https://demo.back9ins.com
Quote & Apply Setup
Embed Quote & Apply
The most common method of adding Quote & Apply on your website is by copying and pasting your embed code into the HTML of your website. You can do this by logging into BOSS > Quote & Apply > select your Quote & Apply website > click the "Generate Embed Code" button to copy your unique Quote & Apply code and paste it into the HTML of your website. That's it! Save your changes and open your webpage.
We suggest you make the width at least 980 pixels and don't recommend setting a height for Quote & Apply as the page height is dynamic based on the step.
<!-- Before Quote & Apply -->
<!DOCTYPE html>
<html>
<head>
<title>My Website!!!</title>
</head>
<body>
<p>This is my website.</p>
</body>
</html>
<!-- After Quote & Apply -->
<!DOCTYPE html>
<html>
<head>
<title>My Website!!!</title>
</head>
<body>
<p>This is my website.</p>
<div id="container-id"></div>
<div>
<script
id="strife"
src="https://cdn.quoteandapply.io/widget.js"
data-strife-key="GpIZ3clg5x96WPR_"
data-strife-container-id="container-id"
></script>
</div>
</body>
</html>
Embed Quote & Apply via a Modal
The following example details how you can use open Quote & Apply by clicking an image and have it appear as a modal.
Place the code for your button where you want it to appear:
In this example, clicking the BackNine logo will open Quote & Apply in a modal. Bind the image to launch Quote & Apply by adding the CSS class "strife-button"
to the img
attribute. remove the data-strife-container-id attribute.
<!DOCTYPE html>
<html>
<head>
<title>My Website!!!</title>
</head>
<body>
<p>This is my website.</p>
<!-- Embed with an image -->
<img class="strife-button" src="link/to/your/image" />
<!-- Embed with a button -->
<button class="strife-button">Get Quotes</button>
<!-- Embed with an anchor tag -->
<a href="#" class="strife-button">Get Quote</a>
<script
id="strife"
src="https://cdn.quoteandapply.io/widget.js"
data-strife-key="GpIZ3clg5x96WPR_"
></script>
</body>
</html>
Embed Quote & Apply via NPN
Using a National Producer Number
If you don't want to create embed codes for each agent, you can paste the code below into the HTML of your website for Quote & Apply to appear. This is the same script as the Embed Code example but without the data-strife-key
. You must pass in npn
(the agent's national producer number) so we know who the agent is. If the agent's NPN doesn't exist in BackNine's database, a registration page will appear allowing the agent to sign up and then proceed with Quote & Apply.
referrer_type
and referrer_id
are optional but are typically used when dynamically passing in the agent's NPN. The referrer gets access to the eApp and/or new agent that is created.
<div>
<script
id="strife"
src="https://cdn.quoteandapply.io/widget.js?prefill&npn={Your NPN}&referrer_type={Agent|Agency}&referrer_id={AgentID|AgencyID}"
data-strife-container-id="container-id"
></script>
</div>
WordPress Setup
The following example details how you can setup Quote & Apply using Wordpress.
1. Log in to your WordPress site as admin. You should arrive at the Dashboard.
2. Go to your list of pages.
3. Find the page you wish to use Quote & Apply on. Click “Edit”.
4. You should arrive at on an editor that allows you to edit the content of the page.
5. Find and click on the “Text” mode at the top right of the editor. This will allow you to edit the content using HTML code
6. Paste your unique embed code into the editor where you wish Quote & Apply to appear. Then, go to the “Publish” section and hit “Update”. The screen should refresh with a success message
7. Click on “View page” to see your results
BackNine Webpages
BackNine hosts a webpage for every licensed agent that signs up for an account at BOSS. Here's an example BackNine Webpage: https://app.back9ins.com/apply/ReidTattersall. You can create as many BackNine Webpages as you like and also customize the name (e.g. https://app.back9ins.com/apply/AgencyName). To create a BackNine Webpage, log into BOSS > Quote & Apply > Create a Widget > your BackNine Webpage will be instantly available.
Custom Domain Webpages
For customers with a significant number of agents, Custom Domain Webpages allow your agents to use Quote & Apply with your domain (e.g. https://app.yourdomain.com/AgentName instead of https://app.back9ins.com/apply/AgentName) and don't require you to set up webpages for your agents. To set this up, please email [email protected] the subdomain and domain that you'd like to use. For example, you could choose the subdomain "app" and have a domain "yourdomain.com" so the URL for your agents would be app.yourdomain.com/AgentName. Once you notify [email protected], we'll respond with a value that you'll use to create a CNAME. To create a CNAME, log into your domain's DNS settings (e.g. GoDaddy), create a CNAME record with your subdomain (e.g. app) and point it to the value we provided you via email. Once you've saved your DNS changes you can create links at BOSS > Quote & Apply > Create a Widget with your domain. An example use case is a P&C agency (myagency.com) with 200 agents, rather than embedding Quote & Apply into 200 pages, simply add the agents into BOSS and each agent will be emailed their Quote & Apply website (app.myagency.com/AgentName). There is a one-time charge of $1,000 to setup Custom Domain Webpages (you can then issue as many web pages as you'd like).
Analytics
Google Analytics
To view your session data within your Google Analytics account, log into BOSS > Quote & Apply > select a specific Quote & Apply website and insert your Google Analytics ID. You should immediately see session data within your Google Analytics account.
If you'd like to utilize our pre-built conversion funnel reports (shown in the image below), navigate to the Google Analytics Solutions Gallery > search for "Quote & Apply Conversion Funnels" > click import next to the result authored by reidtattersall.
After 24 hours, you should see data within your Google Analytics reports (see screenshot) which is located in Google Analytics > Conversions > Goals > Funnel Visualization.
Google Tag Manager
To add your Google Tag Manager ID, log into BOSS > Quote & Apply > select a Quote & Apply website and insert your Google Tag Manager ID. Import this container into your GTM account.
We will not report to your Google Analytics account if you insert a Google Tag Manager ID. If you want to utilize Google Analytics and Google Tag Manager, please implement Google Analytics via Google Tag Manager.
Custom Scripts/Pixels
You can add custom scripts (e.g. tracking software like Hotjar, chat widgets like Zendesk, or pixels from social media companies like Meta) through Google Tag Manager. Add your Google Tag Manager ID on the settings of your Quote & Apply website within BOSS, then add your third party scripts within Google Tag Manager.
Prefill Quote & Apply
Customer data can be prefilled within Quote & Apply for a smoother user experience.
You can prefill Quote & Apply by appending query string params to the URL of a page where Quote & Apply is hosted (e.g. https://app.back9ins.com/apply/demo?prefill
or to Quote & Apply's src
(e.g. src="https://cdn.quoteandapply.io/widget.js?prefill"
). The empty param prefill
must be a top-level parameter. When Quote & Apply loads and is prefilled with data, an eApp will be created if the user reaches the quote step or if quote information is prefilled.
See Quote & Apply Parameters to learn what can be prefilled.
(Example) Basic
Prefill an application for Mary Sue who was born Jan 1st, 1970, with her phone number and email.
https://app.back9ins.com/apply/demo?prefill&first_name=Mary&last_name=Sue&gender=Female&birthdate=1970-01-01&phone=(800) 790-1951&[email protected]
(Example) Basic with National Producer Number
Set the agent by including the National Producer Number (NPN) of the agent. If the NPN isn't BackNine's BOSS, we'll show a signup page for the agent to create an account.
https://back9ins.com/apply?prefill&first_name=Mary&last_name=Sue&gender=Female&birthdate=1970-01-01&phone=(800) 790-1951&[email protected]&npn={Your NPN}
(Example) Limit Product Types
Limit the available products to only accidental death, set the product category to accidental death, and have the user land on the quote step. For the user to land on the quote step, all previous steps must be valid so we set health to 1 and smoker to Never.
https://app.back9ins.com/apply/demo?prefill&first_name=Mary&last_name=Sue&gender=Female&birthdate=1970-01-01&phone=(800) 790-1951&[email protected]&health=1&smoker=Never&product_types=[accidental_death]&product_category=Accidental Death&step=quote
(Example) Current Smoker
Prefill an application for Mary Sue who was born Jan 1st, 1970, and currently uses cigarettes daily with health of 3. Note that smoking statuses are JSON.
https://app.back9ins.com/apply/demo?prefill&first_name=Mary&last_name=Sue&gender=Female&birthdate=1970-01-01&phone=(800) 790-1951&[email protected]&smoker=Currently&smoking_statuses=[{"frequency": 365, "category": "Cigarettes"}]&health=3
(Example) Previous Smoker
Prefill an application for Mary Sue who was born Jan 1st, 1970, and a previous smoker who used cigarettes daily and quit smoking January 1, 2000 with health of 3. Note that smoking statuses are JSON.
https://app.back9ins.com/apply/demo?prefill&first_name=Mary&last_name=Sue&gender=Female&birthdate=1970-01-01&phone=(800) 790-1951&[email protected]&smoker=Previously&smoking_statuses=[{"frequency": 365, "category": "Cigarettes", "last_use_date": "2000-01-01"}]&health=3
(Example) Metadata
Prefill metadata
with URL parameters. The prefill parameter metadata
allows you to store arbitrary information that is displayed when viewing the eApp in BOSS, when you export a CSV of your data within BOSS, or when using Webhooks.
When using metadata, or any JSON, make sure to escape the special characters if used in a script src.
https://app.back9ins.com/apply/demo?prefill&metadata={"Agentid":"1234","Campaign":"Quote-Life"}
(Example) Beneficiaries/Owner
Specify who the beneficiaries are and who the owner is. By default, the insured is the owner.
https://app.back9ins.com/apply/demo?prefill&first_name=Grace&last_name=Shields&state=CA&gender=Female&health=5&smoker=Never&height=66&weight=135&birthdate=1987-01-01&[email protected]&phone=1231231234&street_address=310 N Westlake Blvd&city=Westlake Village&zip=91362&years_at_address=3&employer=BackNine&occupation=SE&occupation_years=5&employer_street_address=310 N Westlake Blvd&employer_state=CA&employer_zip=91362&employer_city=Westlake Vilage&income=50000&assets=25000&liabilities=12500&ssn=123-12-1231&birth_state_or_country=CA&us_citizen=yes&drivers_license=f1234567&drivers_license_state=CA&parties=[{"first_name":"Sadie","last_name":"Guardia","relationship":"Wife","gender":"Male","address_street":"310 N Westlake Blvd","address_city":"Westlake Village","address_zip":"91362","address_state":"CA", "address_country": "United States", "beneficiary_amount":"100","type":"Individual", "is_primary_beneficiary": "true", "birthdate": "1990-01-01"}]
(Example) Script Source
As previously stated, you can include parameters via Quote & Apply's scr
instead of the previously examples which used URL parameters. Prefill the insured's first and last name by appending parameters to Quote & Apply's src
instead of using URL parameters.
<div id="container-id"></div>
<div>
<script
id="strife"
src="https://cdn.quoteandapply.io/widget.js?prefill&first_name=John&last_name=Doe&test=true"
data-strife-container-id="container-id"
></script>
</div>
(Example) Sign up + Connections
If the registration page is shown and you don't include a data-strife-key
or a referrer_id
and referrer_type
, we won't know who is adding the new agent. In this rare case, add yourself into the hierarchy for agents that create accounts by adding your ID into the connections
array. Once the agent creates their account, you'll be able to view the agent within your BOSS account.
<div id="container-id"></div>
<div>
<script
id="strife"
src='https://cdn.quoteandapply.io/widget.js?prefill&npn={Your NPN}&connections=[{"parent_type": "Agent", "parent_id": 1, "hierarchy": 1}]'
data-strife-container-id="container-id"
></script>
</div>
Quote & Apply Parameters
The following parameters may be used for Prefilling Quote & Apply or Creating an eApp.
Environment Params
Parameter | Description |
---|---|
client_id string |
The key of the Quote & Apply widget that you'd like to use. |
npn number |
The NPN of the agent you'd like to use. |
test boolean |
Indicate this is a test eApp. Test eApps are deleted nightly, do not schedule a real exam, and use a non-production DocuSign. eApps with an insured first name of Test and last name of Delete will also be deleted nightly. |
metadata object |
Add the metadata param to store custom data. Metadata is accessible for your use within BOSS, through CSV export, and webhooks. Limited to 256 characters. |
product_types array |
Array of all or some of the following: accidentalDeath , aiul , ltc , linkedBenefit , fex , piul , pvul , ropTerm , term , ul , wholeLife |
resume_url string |
Allows you to override where the eApp is resumed from. By default, eApps will be resumed from where they are initiated from. Especially useful if the eapp was initiated from a website that requires authentication and you want to share the eApp with customers. If you do not have a public Quote & Apply website, you can send resume_url=agent-default and the resume URL will be the agent's default Quote & Apply website. |
referrer_type string |
Identifies the referring source of the electronic_application or agent signing up. The referrer will be given access to the eApp and will be added as a connection when using Agent Sign Up. This is your user type within BOSS and it can be obtained by emailing [email protected]. The referrer's marketing manager will be used when an agent signs up if a data-strife-key is not provided and a marketing_manager_id is not provided. |
referrer_id number |
Identifies the referring source of the electronic_application or agent signing up. The referrer will be given access to the eApp and will be added as a connection when using Agent Sign Up. This is your user ID within BOSS and it can be obtained by emailing [email protected]. The referrer's marketing manager will be used when an agent signs up if a data-strife-key is not provided and a marketing_manager_id is not provided. |
start_page string |
Specify the start page when Quote & Apply loads. Valid options: apply life_insurance_calculator track_demo refer |
Insured Params
Use these prefill params to tell us all about your client.
Parameter | Description |
---|---|
first_name string |
The insured's first name. |
last_name string |
The insured's last name. |
gender string |
The insured's gender. If specified, must be either Male or Female . |
health number |
The insured's health with possible values of -1, -2, -3, -4, -5, -6, 1, 2, 3, 4, 5. Negative values represent table ratings (e.g. -3 is Table C/Table 3). 1 and 2 = Standard, 3 = Standard Plus, 4 = Preferred, 5 = Super Preferred. |
smoker string |
The insured's smoking status. If specified must be Never , Previously , or Currently . |
smoking_statuses object |
The list of user's smoking statuses. See Current Smoker or Previous Smoker for details |
height number |
The insured's height in inches from 50 - 83. |
weight number |
The insured's weight in lbs. |
birthdate date |
The insured's birthdate. Must be in YYYY-MM-DD format. |
email string |
The insured's email address |
phone string |
The insured's phone number. Must be in (###) ###-#### format. |
street_address string |
The insured's street address |
city string |
The insured's city |
state string |
The insured's state. Must be the two-letter abbreviation. If not specified, Quote & Apply will attempt to get the location by looking at the user's I.P. |
zip number |
The insured's zip. Must be 5 numbers long |
years_at_address number |
The number of years the insured has been at their address |
application_state string |
The state of the application (i.e. the state in which to display quotes for and the state where the owner will be signing). Must be the two-letter abbreviation. If not specified, Quote & Apply will attempt to get the location by looking at the user's I.P. The agent must be licensed in the application_state in order to prefill the value. |
income number |
The insured's income |
assets number |
The insured's assets |
liabilities number |
The insured's liabilities |
ssn string |
The insured's social security number with dashes. Formatted as ###-##-#### |
birth_state_or_country string |
The insured's birth state or country. See birth_state_or_country values below |
us_citizen boolean |
The insured's citizenship status |
drivers_license string |
The insured's drivers license number. If they do not have a drivers license number, specify none |
drivers_license_state string |
The insured's drivers_license_state. Two character state abbreviation capitalized |
no_drivers_license_reason string |
The reason the insured does not have a driver's license |
bankruptcy boolean |
If the insured has had a bankruptcy |
bankruptcy_type string |
The type of bankruptcy the insured had. Must be Chapter 7 , Chapter 11 , Chapter 12 , Chapter 13 , or Chapter 15 |
bankruptcy_discharge_date date |
When the bankrupcy was discharged. Must be formatted YYYY-MM-DD . |
send_client_intro_message boolean |
Indicate that an intro message is to be sent to the insured's phone number and email. Requires a vaild phone and email |
Insured Employer / Occupation
Parameter | Description |
---|---|
employer string |
The insured's employer. Must be specified or none |
occupation string |
The insured's occupation. If employer is none options are disabled , unemployed , retired , student , homemaker otherwise any string |
occupation_years number |
The length of time the insured has held their current occupation. |
employer_street_address string |
The insured's street employer's address |
employer_city string |
The insured's employer's city |
employer_state string |
The insured's employer's state. Must be the two character state abbreviation. |
employer_zip number |
The insured's employer's zip. Must be 5 characters long |
Parties (Beneficiaries/Owner)
Parameter | Description |
---|---|
parties array |
Individual
Parameter | Description |
---|---|
type required string |
must be set to Individual |
first_name string |
The individual's first name. |
last_name string |
The individual's last name. |
relationship string |
How the individual is related to the insured. Possible values are Brother , Business Partner , Daughter , Domestic Partner , Ex-Spouse , Father , Fiance , Friend , Granddaughter ,Grandfather , Grandmother , Grandson , Husband , Mother , Other , Relative , Sister , Son , Spouse , Stepfather , Stepmother , or Wife . |
gender string |
The individual's gender. Must be Male or Female |
email string |
The individual's email. This is checked via a 3rd party email validator. |
phone_mobile string |
The individual's phone number. Must be formatted as (####) ###-#### |
birthdate string |
The individual's birthdate. Must be formatted as YYYY-MM-DD |
address_street string |
The individual's street address |
address_city string |
The individual's city |
address_zip number |
No |
address_state string |
The individual's state. Must be the 2 letter abbreviated state |
address_country string |
The individual's country. Must be the Full Country Name |
beneficiary_amount number |
The entity's percent of the benefit. Must be 1 <= => 100 |
is_owner boolean |
This individual is the owner of the policy |
is_primary_beneficiary boolean |
This individual is a Primary Beneficiary |
is_contingent_beneficiary boolean |
This individual is a Contingent Beneficiary |
Trust/Business
Key | Description |
---|---|
type required string |
Trust or Business |
name string |
The entity's name. |
tin string |
The entity's TIN. Must be formatted as ##-####### |
phone_work string |
The entity's phone number. Must contain 10 numbers and be formatted as (###) ###-#### |
email string |
The entity's email. This is checked via a 3rd party email validator. |
relationship string |
How the entity individual is related to the insured. Must be Employer or Other . If the entity is the owner, you may specify Creditor |
formation_date date |
A Trust's formation date. Must be formatted |
address_street string |
The entity's street address |
address_city string |
The entity's city |
address_zip number |
The entity's zip. Must be 5 digits long |
address_state string |
The entity's state. Must be the 2 letter abbreviated state |
address_country string |
The entity's state. Must be the full country name |
beneficiary_amount number |
The entity's percent of the benefit. 1 <= => 100 |
responsible_individual_email string |
The signer/trustee's email (if other than insured) |
responsible_individual_first_name string |
The signer/trustee's first name (if other than insured) |
responsible_individual_last_name string |
The signer/trustee's last name (if other than insured) |
responsible_party_relationship string |
If the insured's title if they're the signer |
responsible_party_sole_signer string |
If the insured is the only signer |
is_owner boolean |
This entity is the owner of the policy |
is_primary_beneficiary boolean |
This entity is a Primary Beneficiary |
is_contingent_beneficiary boolean |
This entity is a Contingent Beneficiary |
Quote Params
Use these prefill params to dial in the quote for you client.
Parameter | Description |
---|---|
age_value number |
Target age for cash value at age solves. Only available for universal life products. |
benefit_period number |
The policy's benefit period. Options are 2 -8 and -1 which represents unlimited. |
carriers array |
Limit the carriers. Carrier ID dictionary is available at: https://app.back9ins.com/help-center/articles/128 Example carriers=[28] |
cash_value number |
Age to which coverage will last. Only available for Accumulation IUL, Protection IUL, Protection VUL, and UL. |
chronic_illness_and_ltc string |
With Chronic Illness/LTC Rider , With Chronic Illness Rider , With LTC Rider , Without Chronic Illness/LTC Rider Filters the quotes. |
death_benefit number |
The desired death benefit. Use any number 5000 through 10000000 |
discount string |
null , Association , Employer , Producer . Used for Long Term Care. |
elimination_period number |
The policy's elimination period |
guaranteed_issue boolean |
Only available for Final Expense. Only responds to true `. Use when only guaranteed issue final expense is desired. |
home_health_care_waiver boolean |
If the quote will include the home health care waiver |
income_end_age number |
Only available on Accumulation IUL, Protection IUL, Protection VUL, and Universal Life when income is on. Any number greater than income_start up to 120, |
income_solve string |
Only available on Accumulation IUL, Protection IUL, Protection VUL, and Universal Life when income is on. Must be either No or Max . |
income_start_age number |
Only available on Accumulation IUL, Protection IUL, Protection VUL, and Universal Life when income is on. Any number greater than the insured's age and less than income_end_age up to 120 |
inflation_percentage string |
null or 1% Compound - 5% Compound . Used for long term care. |
lapse_protection_to_age number |
Age to which the insureds policy is protected from lapsing. Only available for Accumulation IUL, Protection IUL, Protection VUL, and UL. 65 <= => 120 |
living_benefits boolean |
If you only want to receive term quotes with living benefits. Use chronic_illness_and_ltc for non-term chronic illness filtering. |
ltc_rider_percentage number |
Only available when ltc_rider is true. A number between 1-6. |
mode number |
How many times per year the premium is due. Must be 1 , 2 , 4 , or 12 |
monthly_benefit number |
The maximum amount that is available per month for long term care |
partner_discount string |
null , One , Both . Used for long term care. |
pay_duration string, number |
Duration of premium payments. Only available for Accumulation IUL, Protection IUL, Protection VUL, and UL. 1 <= pay_duration <= 99 or Lifetime |
pool_of_money number |
The amount that is available for long term care |
premium number |
Desired amount paid according to the mode |
products array |
Limit the products. Example products=[105, 270, 323, 472, 2721, 2742, 2499] |
return_of_premium_rider string |
null , Limited , Limited Surrender , Full , Full Surrender |
save_age boolean |
If save age is requested |
selected_type string |
The default product category shown after the birthdate step. Must be accidentalDeath , aiul , fex , linkedBenefit , ltc , piul , pvul , ropTerm , term , ul , or wholeLife |
shared_care boolean |
If shared care rider is requested. Used for joint insureds for long term care. |
solve string |
See below for solves |
term_duration number |
Sets the term duration for Term and Return of Premium Term. Must be 10 , 15 , 20 , 25 , 30 , 35 , or 40 |
vitality_level string |
John Hancock's Vitality Program. Possible values are null , Bronze , Silver , and Platinum |
Premium Solves
selected_type | Solve |
---|---|
accidentalDeath |
Base Premium |
aiul |
Maximum Non-MEC Premium , Target Premium , Premium Solve Cash Value at Age |
fex |
Base Premium |
linkedBenefit |
Base Premium |
ltc |
Base Premium |
piul |
Maximum Non-MEC Premium , Target Premium , Premium Solve Cash Value at Age , Lapse Protection Death Benefit |
pvul |
Maximum Non-MEC Premium , Target Premium , Premium Solve Cash Value at Age , Lapse Protection Death Benefit |
ul |
Maximum Non-MEC Premium , Target Premium , Premium Solve Cash Value at Age , Lapse Protection Death Benefit |
wholeLife |
Base Premium |
Death Benefit Solves
selected_type | Solve |
---|---|
aiul |
Min Non-MEC DB , Target , DB Solve Cash Value at Age |
piul |
Min Non-MEC DB , Target , DB Solve Cash Value at Age , Lapse Protection Death Benefit |
pvul |
Min Non-MEC DB , Target , DB Solve Cash Value at Age , Lapse Protection Death Benefit |
ul |
Min Non-MEC DB , Target , DB Solve Cash Value at Age , Lapse Protection Death Benefit |
wholeLife |
Base Death Benefit |
No Solves
selected_type | Solve |
---|---|
aiul |
Specify Premium and Death Benefit |
piul |
Specify Premium and Death Benefit |
pvul |
Specify Premium and Death Benefit |
ul |
Specify Premium and Death Benefit |
LTC Benefit Solves
selected_type | Solve |
---|---|
linkedBenefit |
LTC Benefit |
Smoking Status Object Structure
Use this to populate the smoking statuses array with respect to the smoker prefill option chosen.
Parameter | Description |
---|---|
category required string |
The item the user uses or has used. Must be Cigarettes , eCigarettes , Cigars , Pipe , Chew , or Cannabis |
frequency required number |
How frequently the user uses or has used. Must be 2 , 12 , 52 , or 365 |
last_use_date string, optional |
The last use date of this item. Must be formatted as YYYY-MM-DD . This is required if smoker is Previously |
User Experience Params
Use these prefill params to customize the user experience.
Parameter | Description |
---|---|
active_first_input boolean |
Causes the first input on Quote & Apply to be active when Quote & Apply loads. This can cause the page to scroll (i.e. jump) if Quote & Apply is below the fold. |
dark boolean |
Enables/disables dark mode |
greeting string |
Override the "greeting" text when asking for first name and last name |
new_npn_greeting string |
Override the "greeting" text if the NPN (National Producer Number) doesn't exist in BOSS. Example: An integration partners send their agent's NPN which may or may not exist in BOSS. If it doesn't exist, the greeting can be customized to "Welcome Integration Partner Users! Please enter your National Producer to create your account". The default greeting if an NPN doesn't exist is "Welcome to Quote & Apply. Enter your National Producer Number to Sign Up." |
step string |
hearts , compare , quote , contact The step to land on. step=quote and step=contact will create an electronic application when the page loads. You must include selected_type when using contact so the eApp is created for the correct product category. step=contact will create the eApp with the first product. You can specify products so the eApp is created with your desired product. |
Agent Sign Up Params (Pre-fill only)
Use these prefill params when agents are signing up with BackNine through Quote & Apply.
Parameter | Description |
---|---|
assignment_npn number |
For agents signing up via Quote & Apply, the NPN of the agent or agency which the new agent assigns commission to. This assignment_npn must exist within BOSS. |
commission_lock boolean |
For agents signing up via Quote & Apply, disables the new agent's ability to modify commission rates, commission splits, and where commissions are assigned to. Can be used with assignment_npn to set commission assignment and prevent users from changing them. |
connections array |
For agents signing up via Quote & Apply, creates a connection for each item in the array when agents sign up using Quote & Apply. parent_type and parent_id can be obtained by emailing [email protected]. Example connections=[{'parent_type': 'Agent', 'parent_id': 1, 'hierarchy': 1}] |
marketing_manager_id number |
For agents signing up via Quote & Apply, sets the agent's marketing manager when Agent Sign Up is used and a data-strife-key is not provided. marketing_manager_id can be obtained by emailing [email protected]. |
referrer_type string |
Identifies the referring source of the electronic_application or agent signing up. The referrer will be given access to the eApp and will be added as a connection when using Agent Sign Up. This is your user type within BOSS and it can be obtained by emailing [email protected]. The referrer's marketing manager will be used when an agent signs up if a data-strife-key is not provided and a marketing_manager_id is not provided. |
referrer_id number |
Identifies the referring source of the electronic_application or agent signing up. The referrer will be given access to the eApp and will be added as a connection when using Agent Sign Up. This is your user ID within BOSS and it can be obtained by emailing [email protected]. The referrer's marketing manager will be used when an agent signs up if a data-strife-key is not provided and a marketing_manager_id is not provided. |
Get Quotes
Fetch a list of quotes. Each quote contains an ID which can be used when creating an eApp.
Endpoint
POST /api/v1/eapp-quotes
Headers
X-BACKNINE-AUTHENTICATION: your-api-key
Content-Type: application/json
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Request Parameters
See Quote Params for quoting specific parameters, Insured Params for insured specific parameters, or jump to the Request Examples.
Request Examples
(Example) Quotes
Include the required client_id
or npn
to identify who the agent is. client_id
specifies the Quote & Apply website whereas npn
will use the the agent's default Quote & Apply website. client_id
is the data-client-id
(formerly known as the data-strife-key
) within the embed code of a Quote & Apply website.
{
"client_id": "your-client-id",
"death_benefit": 1000000,
"insured": {
"first_name": "John",
"last_name": "Doe",
"health": 3,
"gender": "Male",
"smoker": "Never",
"birthdate": "1980-07-04"
},
"mode": 2,
"selected_type": "term",
"state": "CA",
"term_duration": 15
}
(Example) Quotes with an NPN
When using npn
instead of a client_id, the agent's default Quote & Apply website is used.
{
"death_benefit": 2000000,
"insured": {
"birthdate": "1990-02-14",
"first_name": "Jane",
"gender": "Female",
"health": 4,
"height": 64,
"last_name": "Doe",
"smoker": "Currently",
"smoking_statuses": [
{
"category": "Cigarettes",
"frequency": 365
}
],
"weight": 140
},
"mode": 4,
"npn": 12345,
"selected_type": "ropTerm",
"state": "CA",
"term_duration": 30
}
(Example) Whole Life quotes
{
"client_id": "your-client-id",
"death_benefit": 500000,
"insured": {
"birthdate": "2000-01-20",
"first_name": "John",
"gender": "Male",
"health": 4,
"last_name": "Doe",
"smoker": "Never"
},
"mode": 1,
"pay_duration": 10,
"selected_type": "wholeLife",
"solve": "Base Premium",
"state": "CA"
}
(Example) IUL quotes
{
"client_id": "your-client-id",
"insured": {
"birthdate": "1990-01-01",
"first_name": "Jane",
"gender": "Female",
"health": 4,
"last_name": "Doe",
"smoker": "Never"
},
"mode": 1,
"pay_duration": 10,
"premium": 10000,
"selected_type": "aiul",
"solve": "Min Non-MEC DB",
"state": "CA"
}
(Example) LTC quotes
{
"client_id": "your-client-id",
"elimination_period": 90,
"home_health_care_waiver": false,
"insured": {
"birthdate": "1980-01-20",
"first_name": "John",
"gender": "Female",
"health": 4,
"last_name": "Doe",
"marital_status": "Married",
"smoker": "Never"
},
"joint_insured": {
"birthdate": "1980-01-20",
"first_name": "John",
"gender": "Female",
"health": 4,
"last_name": "Doe",
"marital_status": "Married",
"smoker": "Never"
},
"joint_waiver_of_premium": false,
"mode": 1,
"monthly_benefit": 6000,
"partner_discount": "both",
"pay_duration": -1,
"pool_of_money": 200000,
"selected_type": "ltc",
"shared_care": false,
"state": "CA"
}
Response Attributes
Parameter | Description |
---|---|
quotes array<Quote> or null |
a list of available quotes matching request parameters |
errors array<string> or null |
a list of reasons that must be addressed before getting quotes |
Quote Type
Parameter | Description |
---|---|
benefit_period number |
The policy's benefit period. Typically the monthly benefit * benefit period will equal the pool of money |
carrier Carrier |
Carrier details |
chronic_illness_rider boolean |
If a chronic illness rider is enabled |
death_benefit number |
The death benefit of the policy |
discount string |
null, Association, Employer, Producer |
distributions_cumulative number |
The cumulative amount of distributions |
distributions_yearly_level number |
The amount of the first distribution |
elimination_period number |
The policy's elimination period |
exam ExamDetails |
All exam details |
expires_at timestamp |
Quotes expire after 24 hours |
guaranteed_account_values array |
The yearly guaranteed account values |
guaranteed_issue boolean |
If this policy can be issued without exam |
advisor_guide string |
A URL to the product's advisor guide |
consumer_guide string |
A URL to the product's consumer guide |
underwriting_guide string |
A URL to the product's underwriting guide |
home_health_care_waiver boolean |
If the quote includes the home health care waiver |
id string |
A unique identifier which may be used during eApp creation |
illustration_available boolean |
Indicates if an illustration from the carrier is available to download using Download Illustration |
instant_decision boolean |
If an instant decision is available |
inflation_percentage string |
null or 1% Compound - 5% Compound |
joint_id string |
a unique identifier which may be used during joint eApp creation |
joint_waiver_of_premium boolean |
If the quote includes the joint waiver of premium rider |
lapse_protection_to_age number |
Up to what age is lapse protection enabled |
living_benefits LivingBenefits |
Living Benefits details |
ltc_pool_of_money_values array |
The yearly pool of money value |
ltc_rider boolean |
If a long term rider is enabled |
ltc_rider_percentage number |
Options are null, 1, 2, 3, 4, 5, 6. To be used with chronic_illness_and_ltc. |
mode number |
The frequency that the premium must be paid per year. Options are 1, 2, 4, 12. |
monthly_benefit number |
The maximum amount that is available per month for long term care |
monthly_benefit_values array |
The yearly monthly benefit values |
non_guaranteed_account_values array |
The yearly non-guaranteed account values |
non_guaranteed_distributions array |
The yearly non-guaranteed distributions |
partner_discount string |
null, One, Both |
pay_duration number |
The number of years that premiums are scheduled for |
pool_of_money number |
The amount that is available for long term care |
preferred boolean |
If this is a preferred product for BackNine |
premium number |
The amount per mode to be paid for the policy |
premium_values array |
The yearly premium values |
product Product |
Product details |
rating Rating |
All rating related parameters |
return_of_premium_rider string |
null, Limited, Limited Surrender, Full, Full Surrender |
save_age SaveAge |
Save Age details |
selected_type string |
The type of insurance |
shared_care boolean |
If the quote includes the shared care rider |
state string |
The two letter state code for which this policy is generated |
term_duration number |
The length of the level term |
vitality_level string |
John Hancock's Vitality Program. Possible values are null , Bronze , Silver , and Platinum |
Carrier Type
Parameter | Description |
---|---|
am_best_rating string |
Carrier rating according to AM Best. Possible values are A++ , A+ , A , A- , B++ , B+ , B , B- , C++ , C+ , C , C- , D , E , F , and S |
approval_time number |
An estimated amount of time required for policy to be inforce |
avatar_url string |
A link to the Carrier's avatar. Standard image formats and SVGs are supported |
name string |
The Carrier's name |
established_year string |
The year the carrier was established |
Exam Details Type
Parameter | Description |
---|---|
details string |
Text explanation of exam details |
required string |
If the exam is required. Possible values are exam_is_required , exam_not_required , and exam_possibly_required . |
Living Benefits Type
Parameter | Description |
---|---|
details string |
Text explanation of living benefits |
enabled boolean |
If the quote has living benefits |
Save Age Type
Parameter | Description |
---|---|
details string |
Text explanation of save age |
suggested boolean |
If save age is appropriate |
enabled boolean |
If save age was used |
Product Type
Parameter | Description |
---|---|
disclosure string |
Relevant disclosure information |
conversion string |
The product's conversion details |
e_delivery boolean |
If this product supports eDelivery |
name string |
The product's name |
require_payment boolean |
If this product requires payment during the application process |
types array |
An array. See selected_type for possible values |
Rating Type
Parameter | Description |
---|---|
error boolean |
If there was an error validating the current quote |
max_weight number or null |
The maximum allowed weight for the current rating |
min_weight number or null |
The minimum allowed weight for the current rating |
rating string |
Assigned rating for the current quote |
Response Statuses
Status | Description |
---|---|
201 | Successful request |
401 | Unauthorized request. Your API key can be found at https://app.back9ins.com/settings?page=developer-settings |
422 | Quoting validation (Failed to fetch quotes) |
500 | Unexpected/Internal Error |
Response Example
{
"errors": null,
"quotes": [
{
"benefit_period": null,
"carrier": {
"am_best_rating": "A+",
"approval_time": 20,
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/square_carrier_avatars/lga_square.svg",
"established_year": 1981,
"name": "Banner"
},
"chronic_illness_rider": false,
"death_benefit": 1000000,
"discount": null,
"elimination_period": null,
"exam": {
"details": "If you've seen the doctor and completed blood work in the last 18 months you won't need a medical exam. We'll review your medical records and application to confirm.",
"required": "exam_possibly_required"
},
"expires_at": "2024-01-25T12:00:44.000-08:00",
"guaranteed_account_values": null,
"guaranteed_issue": null,
"home_health_care_waiver": null,
"id": "b421c4ac-2668-44ae-aa12-8d7638c8af6f",
"illustration_available": false,
"inflation_percentage": null,
"instant_decision": true,
"joint_id": null,
"joint_waiver_of_premium": null,
"lapse_protection_to_age": null,
"living_benefits": {
"details": null,
"enabled": null
},
"ltc_pool_of_money_values": null,
"ltc_rider": false,
"ltc_rider_percentage": null,
"mode": 2,
"monthly_benefit": null,
"non_guaranteed_account_values": null,
"partner_discount": null,
"pay_duration": 15,
"pool_of_money": null,
"preferred": null,
"premium": 559.59,
"product": {
"advisor_guide": "https://app.back9ins.com/strife/v1/products/472/documents?document_type=advisor_guide",
"consumer_guide": "https://app.back9ins.com/strife/v1/products/472/documents?document_type=consumer_guide",
"conversion": "Conversions can be requested anytime within the duration of the guaranteed level premium period, up to attained age 70, whichever comes first. Policies issued at age 66 or over are convertible during the first five policy years.",
"disclosure": "Approval and actual premiums will be based upon the entire underwriting process, including but not limited to, information provided on the application, exam results and specific underwriting requirements and criteria. OPTerm 10 issue ages are 20-75 all classes. OPTerm 15 issue ages are 20-75 all classes. OPTerm 20 issue ages are 20-70 for non-tobacco classes and 20-65 for tobacco classes. OPTerm 25 issue ages are 20-60 for non-tobacco classes and 20-55 for tobacco classes. OPTerm 30 issue ages are 20-55 for non-tobacco classes and 20-50 for tobacco classes. Premium rates vary by coverage amount: $100,000-$249,999, $250,000-$499,999, $500,000-$999,999, $1,000,000 and above. Premiums quoted include $60 annual policy fee. Premiums are guaranteed to stay level for 10,15, 20, 25 or 30 years, respectively, and increase annually after initial guarantee period. OPTerm policies can be issued in preferred plus non-tobacco, preferred non-tobacco, standard plus non-tobacco, standard non-tobacco, preferred tobacco and standard tobacco classes. OPTerm 10, 15, 20, 25 and 30 substandard policies can be issued through Table 12, subject to underwriting discretion. Coverage can be renewed to age 95. Policies can be returned without obligation within 30 days of receipt in most states. Rates as of 05.05.16. Additional Insurance Riders, form AIR (1-11) and state variations, can provide temporary life insurance coverage for 10, 15 or 20 years after which coverage ceases. Term riders are not available in all states; issue ages vary from base plan. Waiver of Premium Benefit Rider, policy form # ICC09 WPTR and state variations, is available. A cost-free Accelerated Death Benefit Rider, policy form # ICC10 ADB and state variations, is included with all policies in states where approved. Children's Life Insurance Rider, form ICC14- CLIR and state variations, can provide life insurance coverage on eligible children. Coverage expires at the earlier of the insured child’s 25th birthday, the base policy insured’s 65th birthday or base policy termination. Forms and policy provisions may vary by state. Policy descriptions provided here are not a statement of contract. Please refer to the policy forms for full disclosure of all benefits and limitations. Two year contestability and suicide provisions apply.",
"e_delivery": true,
"name": "OPTerm 15",
"require_payment": false,
"types": [
"term"
],
"underwriting_guide": "https://app.back9ins.com/strife/v1/products/472/documents?document_type=underwriting_guide",
},
"rating": {
"error": null,
"max_weight": null,
"min_weight": null,
"rating": "Standard Plus"
},
"return_of_premium_rider": null,
"save_age": {
"details": "John's issue age recently changed on 01/03/2024. Enable Save Age to backdate the policy date to reduce John's issue age from 44 to 43. Banner's OPTerm 15 uses an nearest age calculation to determine the insured's age.",
"enabled": false,
"suggested": true
},
"selected_type": "term",
"shared_care": null,
"state": "CA",
"term_duration": 15,
"vitality_level": null
},
{
"benefit_period": null,
"carrier": {
"am_best_rating": "A",
"approval_time": null,
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/square_carrier_avatars/transamerica_square.svg",
"established_year": 1961,
"name": "Transamerica"
},
"chronic_illness_rider": false,
"death_benefit": 1000000,
"discount": null,
"elimination_period": null,
"exam": {
"details": "Based on your answers to underwriting questions, an exam may or may not be required.",
"required": "exam_possibly_required"
},
"expires_at": "2024-01-25T12:00:44.091-08:00",
"guaranteed_account_values": null,
"guaranteed_issue": null,
"home_health_care_waiver": null,
"id": "b8e73322-a821-464a-8575-ac4d55839fc3",
"illustration_available": false,
"inflation_percentage": null,
"instant_decision": false,
"joint_id": null,
"joint_waiver_of_premium": null,
"lapse_protection_to_age": null,
"living_benefits": {
"details": null,
"enabled": null
},
"ltc_pool_of_money_values": null,
"ltc_rider": false,
"ltc_rider_percentage": null,
"mode": 2,
"monthly_benefit": null,
"non_guaranteed_account_values": null,
"partner_discount": null,
"pay_duration": 15,
"pool_of_money": null,
"preferred": null,
"premium": 561,
"product": {
"advisor_guide": "https://app.back9ins.com/strife/v1/products/480/documents?document_type=advisor_guide",
"consumer_guide": "https://app.back9ins.com/strife/v1/products/480/documents?document_type=consumer_guide",
"conversion": "For the entire term up to age 70 or age 75 for Preferred Plus. Conversions after the first five policy years are can only convert to specific products.",
"disclosure": null,
"e_delivery": true,
"name": "Trendsetter Super (15 Yrs)",
"require_payment": false,
"types": [
"term"
],
"underwriting_guide": "https://app.back9ins.com/strife/v1/products/480/documents?document_type=underwriting_guide",
},
"rating": {
"error": null,
"max_weight": null,
"min_weight": null,
"rating": "Standard Plus"
},
"return_of_premium_rider": null,
"save_age": {
"details": null,
"enabled": false,
"suggested": false
},
"selected_type": "term",
"shared_care": null,
"state": "CA",
"term_duration": 15,
"vitality_level": null
}
]
}
Create eApp by API
Once you have used Get Quotes, you can proceed with Create an eApp via API. Create an eApp via API allows you to create an eApp without loading Quote & Apply in a browser using Prefilling Quote & Apply. The entire application cannot be completed via API so the agent or insured will need to continue the eApp within Quote & Apply to finish the eApp.
Endpoint
POST /api/v1/eapps
Headers
X-BACKNINE-AUTHENTICATION: your-api-key
Content-Type: application/json
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Request Parameters
Request Examples
(Example) Create an eApp with a quote_id
Learn how to request quotes: Get Quotes
{
"step": "contact",
"insured": {
"quote_id": "your-quote-id"
}
}
(Example) Create an eApp with a quote_id with insured information
{
"step": "contact",
"metadata": {
"Agentid": "1234",
"Campaign": "Quote-Life"
},
"insured": {
"quote_id": "08a1c66f-6d29-4f7f-b960-69bbe03d07fa",
"email": "[email protected]",
"phone_mobile": "(805) 557-1503",
"street_address": "310 N Westlake Blvd",
"city": "Westlake Village",
"zip": 91362,
"state": "CA",
"country": "United States"
}
}
(Example) Create an eApp with Address, Parties, Employer, Occupation
{
"step": "contact",
"insured": {
"quote_id": "08a1c66f-6d29-4f7f-b960-69bbe03d07fa",
"email": "[email protected]",
"phone": 8057070600,
"street_address": "29130 Cliffside Dr",
"city": "Malibu",
"zip": 91362,
"years_at_address": 2,
"employer": "BackNine Insurance",
"occupation": "Engineer",
"occupation_years": 2,
"employer_street_address": "310 N. Westlake Blvd. Suite 240",
"employer_city": "Westlake Village",
"employer_state": "CA",
"employer_zip": 91362,
"income": 100000,
"assets": 500000,
"liabilities": 250000,
"ssn": "111-22-3333",
"drivers_license": "D5745676",
"drivers_license_state": "CA",
"birth_state_or_country": "CA",
"application_state": "CA",
"bankruptcy": false
},
"parties": [
{
"first_name": "Jane",
"last_name": "Doe",
"phone_mobile": "(805) 557-1503",
"relationship": "Wife",
"gender": "Female",
"address_street": "310 N Westlake Blvd",
"address_city": "Westlake Village",
"address_zip": 91362,
"address_state": "CA",
"address_country": "United States",
"beneficiary_amount": 34,
"type": "Individual",
"is_primary_beneficiary": true,
"birthdate": "1982-01-01"
},
{
"name": "Giant Trust",
"tin": "11-3456789",
"phone_work": "(805) 557-1503",
"email": "[email protected]",
"formation_date": "2000-01-01",
"address_street": "310 N Westlake Blvd",
"address_city": "Westlake Village",
"address_zip": 91362,
"address_state": "CA",
"address_country": "United States",
"beneficiary_amount": 34,
"type": "Trust",
"is_primary_beneficiary": true
},
{
"name": "Giant Business",
"tin": "98-7654321",
"phone_work": "(805) 557-1503",
"email": "[email protected]",
"address_street": "310 N Westlake Blvd",
"address_city": "Westlake Village",
"address_zip": 91362,
"address_state": "CA",
"address_country": "United States",
"beneficiary_amount": 34,
"type": "Trust",
"is_primary_beneficiary": "true",
"responsible_individual_email": "[email protected]",
"responsible_individual_first_name": "John",
"responsible_individual_last_name": "Doe",
"responsible_party_relationship": "Captain",
"responsible_party_sole_signer": true
}
]
}
(Example) Create an eApp with only insured information
{
"npn": 10790698,
"insured": {
"first_name": "John",
"last_name": "Doe",
"health": 3,
"gender": "male",
"smoker": "never",
"birthdate": "2000-01-01",
"email": "[email protected]"
}
}
Response Attributes
Parameter | Description |
---|---|
id number or null |
The eApp's ID |
uuid string or null |
The eApp's UUID |
apply_link string or null |
The link where users may resume the eApp |
warnings array<string> or null |
Post-eApp create warnings. Any messages failing to save after the eApp has been created such as Parties, addresses, etc. These will not prevent the eApp from being resume-able but provided invalid information is not saved. |
errors array<string> or null |
Pre-eApp create errors. Messages included here must be addressed before creating the eApp. |
Response Example
{
"apply_link": "https://demo.back9ins.com/apply/TestAgent?eapp_id=35&eapp_uuid=c0104a11-6287-4545-89ea-73f1f71531f3",
"uuid": "c0104a11-6287-4545-89ea-73f1f71531f3",
"errors": null,
"warnings": null
}
Response Statuses
Status | Description |
---|---|
201 | Successful request |
401 | Unauthorized request. Your API key can be found at https://app.back9ins.com/settings?page=developer-settings |
422 | Pre-eApp create validation (Failed to create eApp) |
500 | Unexpected/Internal Error |
Response Errors
Parameter | Message |
---|---|
client_id | "Please provide npn or client_id" |
npn | "Please provide npn or client_id" |
step | "Please specify a valid step: quote, contact" |
first_name | "Must be at least one character and no more than 50 characters" |
last_name | "Must be at least one character and no more than 50 characters" |
gender | "Must be Male or Female" |
health | "Must be in list -1, -2, -3, -4, -5, -6, 1, 2, 3, 4, 5" |
smoker | "Must be in list Never, Previously, Currently" |
smoking_statuses | "required" |
smoking_statuses.0.category | "Must be in list Cannabis, Chew, Cigarettes, Cigars, eCigarettes, Pipe", |
smoking_statuses.0.frequency | "Must be in list 365, 52, 12, 2" |
smoking_statuses.0.last_use_date | "Must be before today" |
birthdate | "Must be before today" "May not be older than 90" |
state | "Please provide a state" |
quote | "No Quotes Found" |
Response Warnings
Parameter | Message |
---|---|
parties | "Unable to parse" |
parties.n | any error involving saving parties at index n |
insured.owner | any error switching the insured as the owner |
insured.occupation | any error saving the insured's occupation |
insured | any error saving insured information |
Grant Access to eApp
Grant specific advisors access to specific eApps. This is not a necessary action as BOSS provides access to the agent and their connections, but can be used if needed to apply your own logic.
Endpoint
POST /api/v1/eapps/:eapp_uuid/accesses/create
Headers
X-BACKNINE-AUTHENTICATION: your-api-key
Content-Type: application/json
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Request Parameters
One of the following is required to identify the advisor: npn
, agent_id
, or agency_id
Parameter | Description |
---|---|
npn number |
The advisor's NPN |
agent_id number |
The agent's id within BOSS |
agency_id number |
The agency's id within BOSS |
email boolean, optional |
Controls if the advisor will receive eApp emails. Default will be applied if not specified. |
additional_case_access boolean, optional |
Controls if the advisor will be given access the case once the eApp is completed. Default will be applied if not specified. |
Request Examples
(Example) Create an eApp with a npn
{
"electronic_application_access":
{
"npn": 12345, "email": true, "additional_case_access": true
}
}
(Example) Create an eApp with a agent_id
{
"electronic_application_access":
{
"agent_id": 12345, "email": true, "additional_case_access": true
}
}
(Example) Create an eApp with a agency_id
{
"electronic_application_access":
{
"agency_id": 12345, "email": true, "additional_case_access": true
}
}
Response Statuses
Status | Description |
---|---|
201 | Successful request |
401 | Unauthorized request. Your API key can be found at https://app.back9ins.com/settings?page=developer-settings |
422 | Create validation failed |
500 | Unexpected/Internal Error |
Example Response Errors
"errors" => ["API key not provided"]
"errors" => "missing required top level electronic_application_access"
"errors" => "cannot find advisor"
"errors" => "Electronic application has already been taken"
Resume eApp
Resume an eApp without requiring the user to provide birthdate authentication. The response contains a resume_token
key which is valid for 30 seconds which can be used to load the eApp by loading Quote & Apply and including resume_token
within the src attribute as shown below.
<div>
<script
id="strife"
src="https://cdn.quoteandapply.io/widget.js?prefill&eapp_id=XXX&eapp_uuid=XXX#resume=your-resume-token"
data-strife-container-id="container-id"
></script>
</div>
Endpoint
PUT /api/v1/eapps/:eapp_uuid/resume
Headers
X-BACKNINE-AUTHENTICATION: your-api-key
Content-Type: application/json
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Request Example
PUT /api/v1/eapps/#{eapp.uuid}/resume, headers: { "X-BACKNINE-AUTHENTICATION" => XXX }
Response Example
{
resume_token: "ZkJzRmFpN0FFVGRNK1hEemFOdkx2aURBMnN3TFVuRE41dWRuU3hGRWVnNmpKWFNLUGtRN29lVEJlTW5TM1AybGoycVVpb01OWUZlV1ZwUnpUWUh5UUZEZzY0WmMvcXVRR1AxUHo5cENJdVRtaTBFYldISDh6bUVqeEtlWS0tcG01UGZxUSswYldhWktPTS0tSmQ3VUF4L09hanlXRFREendObWdQQT09"
}
Response Statuses
Status | Description |
---|---|
200 | Successful request |
401 | Unauthorized request. Your API key can be found at https://app.back9ins.com/settings?page=developer-settings |
422 | Cannot resume eApp. Possibly due to API key not having access to the eApp |
500 | Unexpected/Internal Error |
Example Response Errors
"errors" => ["API key not provided"]
"errors" => "cannot find eApp"
Get New Quotes for eApp
Get New Quotes for eApp allows you to get quotes for an existing eApp. This will not update the eApp's current quote unless you send a separate request to Update an eApp’s Quote.
Endpoint
POST /api/v1/eapps/:eapp_uuid/quotes
Headers
X-BACKNINE-AUTHENTICATION: your-api-key
Content-Type: application/json
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Request Parameters
See Insured Params and Quote Params for all relevant data. When a quote is set as active, it will save relevant information to the eApp.
Request Examples
(Example) Get Quotes for an existing eApp
No body is needed
(Example) Get Quotes for an existing eApp with a different term_duration
{
"term_duration": 30
}
Response Attributes
Parameter | Description |
---|---|
quotes array<Quote> or null |
a list of available quotes matching request parameters |
errors array<string> or null |
a list of reasons that must be addressed before getting quotes |
Response Statuses
Status | Description |
---|---|
201 | Successful request |
401 | Unauthorized request. Your API key can be found at https://app.back9ins.com/settings?page=developer-settings |
422 | Quoting validation (Failed to fetch quotes) |
500 | Unexpected/Internal Error |
Response Example
See the example response from Get Quotes
Update an eApp's Quote
Endpoint
PUT /api/v1/eapps/:eapp_uuid/active-quote
Headers
X-BACKNINE-AUTHENTICATION: your-api-key
Content-Type: application/json
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Request Parameters
Parameter | Description |
---|---|
quote_id string |
The quote id that you would like to make active |
Request Example
(Example) Update with a quote_id
{
"insured": {
"quote_id": "some-quote-uuid"
}
}
Response
Parameter | Description |
---|---|
errors array<string> or null |
a list of reasons that must be addressed before getting quotes |
Response Statuses
Status | Description |
---|---|
200 | Successful request |
401 | Unauthorized request. Your API key can be found at https://app.back9ins.com/settings?page=developer-settings |
422 | Assignment Validation, please ensure a valid quote ID is sent |
500 | Unexpected/Internal Error |
Response Example
{
"errors": null
}
Update an eApp's Insured Data
Sometimes in a flow, users want to update an insured's phone number or email after the fact.
Endpoint
PATCH /api/v1/eapps/:eapp_uuid/insured
Headers
X-BACKNINE-AUTHENTICATION: your-api-key
Content-Type: application/json
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Request Parameters
See Insured Params for all updatable information. When updating the insured with non-essential information it is advised to fetch new quotes. Previous quotes will be invalid for the insured. The following values are seen as essential: state
, first_name
, last_name
, gender
, health
, smoker
, smoking_statuses
, height
, weight
, and birthdate
.
Request Examples
(Example) Updating Email
{
"email": "[email protected]"
}
(Example) Updating Phone Number
{
"phone": "(123) 456-7890"
}
Response Attributes
Parameter | Description |
---|---|
errors Object or null |
a object of unsaved insured params or error with a string array of messages or null |
insured Partial<Insured Params> |
the requested updated values |
Response Statuses
Status | Description |
---|---|
200 | Successful request |
401 | Unauthorized request. Your API key can be found at https://app.back9ins.com/settings?page=developer-settings |
422 | Quoting validation (Failed to fetch quotes) |
500 | Unexpected/Internal Error |
Response Example
Advance an eApp's Step
Depending on the integration level, you may want to advance the eApp's step after the eApp has been created. For example, if you set the step to "quote" when creating the eApp, subsequently collect and submit the insured's email address and phone number, and now want to set the step to "address".
Considerations
Due to dynamic eApp step flows, this endpoint comes with considerations which are as follows: requesting a specific step is not supported; the eApp's current step must be valid before proceeding (see below for step requirements); lastly, attempting to advance the eApp's step when its current step is not listed below may result in a 422.
Endpoint
PUT /api/v1/eapps/:eapp_uuid/step/next
Headers
X-BACKNINE-AUTHENTICATION: your-api-key
Content-Type: application/json
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Request Parameters
There are no parameters for this endpoint.
Step Requirements
Current Step Name | Advance Requirements |
---|---|
quote | insured.quote_id |
contact | insured.first_name insured.last_name insured.email insured.phone insured.send_client_intro_message |
Example: the eApp's current step is contact
, in order to call /api/v1/eapps/:eapp_uuid/step/next
, insured.first_name
, insured.last_name
, insured.email
, insured.phone
, and insured.send_client_intro_message
must be provided. After sending the request, address
is now the current step of the eApp and the value for step
in the response will show address
.
Response Attributes
Parameter | Description |
---|---|
step string |
On successful request, the returned step value is the current step the eApp is on |
errors array<string> or null |
a list of reasons that must be addressed before advancing the step |
Response Statuses
Status | Description |
---|---|
201 | Successful request |
401 | Unauthorized request. Your API key can be found at https://app.back9ins.com/settings?page=developer-settings |
422 | Quoting validation (Failed to fetch quotes) |
500 | Unexpected/Internal Error |
Text Messaging
Summary
BackNine's text messaging endpoint allows you to send POST
requests which result in a personalized text message to your prospect that contains a customized rate, your name, your Quote & Apply website, and a link to apply. The text message looks like this:
Hi John, this is your insurance agent Reid Tattersall. Did you know you could protect your loved ones with life insurance for as low as $30 per month for $1,000,000? Here's a no obligation quote: https://app.back9ins.com/t/35a77cf5
Clicking the link will launch Quote & Apply with the client's information pre-filled.
This service cannot be used for mass and or blast text messages. The API has a limiter to only accept a certain number of requests per time period.
Endpoint
POST /api/v1/text
Authentication
X-BACKNINE-AUTHENTICATION: your-api-key
Content-Type: application/json
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Sample Request
{
"sender_npn": "1234567",
"first_name": "John",
"last_name": "Doe",
"phone_number": "8056600999",
"death_benefit": 1000000,
"gender": "Male",
"birthdate": "1990-05-11",
"state": "CA",
"health": 5,
"smoker": "Never",
"mode": 12,
"product_category": "10 Year Term"
}
Send an HTTPS POST
request to the above route along with the request body in order to retrieve send a text message:
Parameter | Description |
---|---|
sender_npn required number |
The national producer number of the agent the text will be from. The agent must exist in BOSS and either the NPN and API must belong to the same agent or you must have a connection to the agent. |
first_name required string |
The prospect's first name. |
last_name required string |
The prospect's last name. |
phone_number required string |
The propsect's 10 digit phone number. (###) ###-#### |
death_benefit required number |
Suggested amount is 1000000 and ranges from 50000 to 10000000 . |
gender required string |
Either Male or Female . |
birthdate required date |
The prospect's birthdate in YYYY-MM-DD format. |
state required string |
Two digit state abbreviation. |
health required number |
1 - 5 (5 being the best). |
smoker required string |
The prospect's smoking status. Can be either Never , Previously , or Currently . More information is below. |
usages required array |
A list of smoker information. Leave empty or omit if smoker is Never . |
mode required number |
How many times per year the insured will be paying. Must be 1 , 2 , 4 , or 12 . |
product_category required string |
Accidental Death , 10 Year Term , 15 Year Return of Premium Term , 15 Year Term , 20 Year Return of Premium Term , 20 Year Term , 25 Year Return of Premium Term , 25 Year Term , 30 Year Return of Premium Term , 30 Year Term , To Age 95 , To Age 100 , To Age 120 . |
Usages
See Above for Smoking Status Object Structure
Parameter | Description |
---|---|
category required string |
The item the user uses or has used. Must be Cigarettes , eCigarettes , Cigars , Pipe , Chew , or Cannabis |
frequency required string |
How frequently the user uses or has used. Must be 2 , 12 , 52 , or 365 |
last_use_date string, optional |
The last use date of this item. Must be formatted as YYYY-MM-DD . This is required if smoker is Previously |
Response Format
If the request is successful, you will receive a 204 response.
Error Handling
If the request is not successful due to not having all required fields, you will receive an error message.
Webhooks
Authentication Key
Each webhook request contains the header X-BACKNINE-AUTHENTICATION
with a consistent unique secret value you can use to secure your endpoint. This secret value is not your API key and will be unique per webhook (i.e. the value for Case webhooks will be different than Quote & Apply Application webhooks). You can find this value by viewing a webhook response.
Cases and Quote & Apply Applications
Subscribing to our Case or Quote & Apply Application webhooks allows you to integrate Case and Quote & Apply application data with your systems. Once subscribed we'll send a webhook everytime one of your cases or Quote & Apply applications is created or updated.
Example Use Cases
Acme Insurance Agency wants to track their Quote & Apply applications so their call center can call prospects when the prospect provides their contact information. Using the webhook, Acme receives the Quote & Apply application data and stores it in their database. Once they receive the data with an insured's phone and email, a call center agent is notified and calls the prospect.
A CRM uses BackNine's webhooks to display up to date Case and Quote & Apply data within their CRM for their users.
John Doe Insurance Services wants their Quote & Apply prospects to be added to their email marketing campaigns. They connect this hook to their email marketing program so the prospect receives emails from John Doe Insurance Services.
Subscribe via Back9
On the integrations page in BOSS, find the Case or Electronic Application hook via BackNine. Paste in your desired endpoint for us to post data to. This option is completely free for unlimited amount of data transfers but takes some development work on your end to complete the integration.
Subscribe via Zapier
Click this link to view our suite of Zaps. Zapier is free up to a certain amount of tasks performed, but after that threshold is passed each zap accrues charges on your account.
Example Data Structure
An example request to demonstrate the data structure is below. You can also send a GET
request to one of the following URL's with X-BACKNINE-AUTHENTICATION as a header with a value of your API key to receive a response on an example Case or Quote & Apply Application.
Example case data struture: https://app.back9ins.com/api/v1/webhook_zapier_test_case
Example Quote & Apply Application (aka ElectronicApplication or eApp) data structure:https://app.back9ins.com/api/v1/webhook_zapier_test_electronic_application
Example Quote & Apply application response with nested Case is shown in the example.
[
{
"id":116662,
"uuid":"ae9f4263-95e6-4fab-ab65-7a641bef0e81",
"approved_domain_id": 1,
"step":14,
"named_step": "DocuSign - Final Step",
"face_amount":1000000.0,
"premium":44.94,
"target_premium":null,
"mode":12,
"pay_duration":null,
"state":"CA",
"url":"https://quoteandapply.io/",
"apply_link": "https://quoteandapply.io/?strife_id=116662&strife_uuid=a36d5544-5013-43cf-b3e9-58f59dc92fd3",
"metadata": null,
"first_name":"John",
"last_name":"Doe",
"birthdate":"1987-01-02",
"gender":"Male",
"zip":null,
"cash_value":1.0,
"age_value":120,
"ltc_rider_percentage":4,
"other_pending_insurance_amount_to_be_accepted":null,
"exam_date":"2020-12-14T07:45:00.000-08:00",
"order_number":"TestModeConfirmation",
"smoker":"Currently",
"health":4,
"height":69,
"weight":160,
"validated_rating":"Preferred NT",
"referrer_id":null,
"referrer_type":null,
"product_category":"20 Year Term",
"solve":"term",
"crediting_rate":"Default Rate",
"ltc_rider":false,
"income_solve":"No",
"income_start_age":65,
"income_end_age":90,
"lapse_protection_to_age":100,
"part2":null,
"test":false,
"tia":true,
"eft":true,
"exam_skip_reason":null,
"status":"Completed",
"call_center":true,
"agent_phone":"(805) 413-7562",
"agent":{
"id":1179,
"name":"Reid Tattersall",
"avatar":"production/agents/YBOQLRNVVGSIUTAT",
"email":"[email protected]",
"type":{
"model":"Agent",
"link":"agents"
},
"phone_work":"(805) 413-7562",
"npn":10790698
},
"product":{
"id":105,
"name":"OPTerm 20",
"carrier":{
"id":28,
"name":"Banner",
"avatar":"https://d1usw6tyldpxhi.cloudfront.net/591900ff-cece-5ce0-0d1c-4f76313d2f3d.png",
"scaled_avatar":"https://d1usw6tyldpxhi.cloudfront.net/MZJJPPDV.jpg"
}
},
"carrier":{
"id":28,
"name":"Banner",
"avatar":"https://d1usw6tyldpxhi.cloudfront.net/591900ff-cece-5ce0-0d1c-4f76313d2f3d.png",
"scaled_avatar":"https://d1usw6tyldpxhi.cloudfront.net/MZJJPPDV.jpg"
},
"case":{
"id":26723,
"line":"life",
"policy_number":"Pending",
"elimination_period":null,
"inflation":null,
"benefit_period":null,
"benefit_amount":null,
"benefit_mode":null,
"premium":{
"premium":44.94,
"total":539.28
},
"tax_type":"Non-Qualified",
"surrender_charge_expiration":0,
"tracking_number":null,
"advisors":[
{
"marketing_manager_id":1,
"id":1179,
"type":"Agent",
"ownable":{
"id":1179,
"name":"Reid Tattersall",
"avatar":"production/agents/YBOQLRNVVGSIUTAT",
"email":"[email protected]",
"type":{
"model":"Agent",
"link":"agents"
},
"phone_work":"(805) 413-7562",
"npn":10790698
},
"appointment":{
"id":8247,
"name":"W2Q0000 (assigning to BackNine)",
"assignment":{
"id":2212,
"name":"W2Q0000"
}
},
"appointment_case_id":28073,
"reports":{
"id":8247,
"name":"W2Q0000 (assigning to BackNine)",
"assignment":{
"id":2212,
"name":"W2Q0000"
}
},
"marketing_manager":{
"id":1,
"name":"Reid Tattersall"
},
"percents":{
"split_percent":1.0,
"renewal_split":1.0
}
}
],
"contract_parties":[
{
"id":60668,
"type":"individual",
"name":"John Doe",
"first_name":"John",
"last_name":"Doe",
"avatar":"production/contract_parties/CXATZRSU",
"birthdate":"1987-01-02",
"party_id":"121-65-5465",
"email":"[email protected]",
"roles":[
{
"id":76132,
"role":"Insured",
"rating_applied":"Preferred NT",
"approval_rating":null,
"underwriting_rational":null,
"occupation_class":null,
"beneficiary_qualifier":null,
"beneficiary_amount":null
},
{
"id":76133,
"role":"Owner",
"rating_applied":"Preferred NT",
"approval_rating":null,
"underwriting_rational":null,
"occupation_class":null,
"beneficiary_qualifier":null,
"beneficiary_amount":null
}
]
},
{
"id":60669,
"type":"individual",
"name":"Jane Doe",
"first_name":"Jane",
"last_name":"Doe",
"avatar":"production/contract_parties/OMSFMFXI",
"birthdate":"1990-01-02",
"party_id":"645-54-6546",
"email":"[email protected]",
"roles":[
{
"id":76134,
"role":"Primary Beneficiary",
"rating_applied":"Preferred NT",
"approval_rating":null,
"underwriting_rational":null,
"occupation_class":null,
"beneficiary_qualifier":"Percent",
"beneficiary_amount":1.0
}
]
},
{
"id":60670,
"type":"entity",
"name":"BackNine",
"first_name":null,
"last_name":null,
"avatar":"production/contract_parties/ILDVJSRA",
"birthdate":null,
"party_id":"65-4564445",
"email":"[email protected]",
"roles":[
{
"id":76135,
"role":"Contingent Beneficiary",
"rating_applied":"Preferred NT",
"approval_rating":null,
"underwriting_rational":null,
"occupation_class":null,
"beneficiary_qualifier":"Percent",
"beneficiary_amount":0.5
}
]
},
{
"id":60671,
"type":"entity",
"name":"Family Trust",
"first_name":null,
"last_name":null,
"avatar":"production/contract_parties/MSCASACK",
"birthdate":"1999-01-02",
"party_id":"54-5681548",
"email":"[email protected]",
"roles":[
{
"id":76136,
"role":"Contingent Beneficiary",
"rating_applied":"Preferred NT",
"approval_rating":null,
"underwriting_rational":null,
"occupation_class":null,
"beneficiary_qualifier":"Percent",
"beneficiary_amount":0.5
}
]
}
],
"status":"Closed - Not Submitted to Carrier",
"face_amount":1000000.0,
"mode":12,
"outstanding":3,
"commission":0.8,
"case_manager":{
"id":6567,
"name":"Carly Ryan",
"avatar":"production/BQWTXCUCRZJQKWCY",
"email":"[email protected]",
"type":{
"model":"Agent",
"link":"agents"
},
"phone_work":"805-557-1533",
"npn":null
},
"notes":[
{
"id":1910706,
"note":"Reid Tattersall has changed the status to Closed - Not Submitted to Carrier on Pending",
"email":false,
"date":"2020-12-09T01:25:58.000-08:00",
"notable_id":26723,
"notable_type":"Case",
"ownable":{
"id":1179,
"name":"Reid Tattersall",
"avatar":"production/agents/YBOQLRNVVGSIUTAT",
"type":{
"link":"agents",
"model":"Agent"
}
},
"created_at":"2020-12-09T01:25:58.000-08:00",
"advisor_access":true,
"carrier_access":false,
"carrier_email":false,
"phone_call":false,
"documents":[
]
},
{
"id":1910705,
"note":"This is a test case for webhooks and should not be deleted.",
"email":false,
"date":"2020-12-09T01:25:49.000-08:00",
"notable_id":26723,
"notable_type":"Case",
"ownable":{
"id":1179,
"name":"Reid Tattersall",
"avatar":"production/agents/YBOQLRNVVGSIUTAT",
"type":{
"link":"agents",
"model":"Agent"
}
},
"created_at":"2020-12-09T01:25:49.000-08:00",
"advisor_access":true,
"carrier_access":false,
"carrier_email":false,
"phone_call":false,
"documents":[
]
},
{
"id":1910703,
"note":"Hello Reid, this Banner policy is set for eDelivery so please let me know if you prefer a paper policy. eDelivery emails are sent from DocuSign and your client's access is the first 5 letters of their last name and the last 4 digits of their SSN. You can \u003Ca href='http://www.lgamerica.com/edelivery/'\u003Eclick here\u003C/a\u003E to learn about eDelivery from Banner. ",
"email":true,
"date":"2020-12-09T01:25:10.000-08:00",
"notable_id":26723,
"notable_type":"Case",
"ownable":{
"id":6567,
"name":"Carly Ryan",
"avatar":"production/BQWTXCUCRZJQKWCY",
"type":{
"link":"agents",
"model":"Agent"
}
},
"created_at":"2020-12-09T01:25:10.000-08:00",
"advisor_access":true,
"carrier_access":false,
"carrier_email":false,
"phone_call":false,
"documents":[
]
}
],
"policy_date":null,
"conversion_expiry":null,
"next_call_at":"2020-12-17T09:00:00.000-08:00",
"days_pending":0,
"created_at":"2020-12-09T01:25:08.000-08:00",
"submitted_date":null,
"approved_date":null,
"issue_date":null,
"sent_to_agent":null,
"inforce_date":null,
"app_sign_date":"2020-12-09",
"delivery_requirements_due_date":null,
"closed_date":"2020-12-09",
"ltc_rider":false,
"state":"CA",
"exchange_amount":0.0,
"lump_sum":0.0,
"tracking_number_type":"USPS",
"tracking_number_link":"https://tools.usps.com/go/TrackConfirmAction?tLabels=",
"informal_options":[
"All Offers In",
"Informal Formalized",
"Informal Closed",
"Awaiting Carrier Offers",
"Gathering Medical Information",
"Informal Entered"
],
"commissionable":true,
"target_premium":null,
"timeline":[
{
"date":"2020-12-09",
"description":"Application Signed"
},
{
"date":"2020-12-09T01:25:08.000-08:00",
"description":"Received by BackNine"
},
{
"date":"2020-12-09",
"description":"Closed"
}
],
"carrier_e_delivery":true,
"informal":false,
"cash_received":44.94,
"applied_mode":12,
"applied_premium":44.94,
"case_concierge":{
"id":1448,
"name":"Cindy Smith",
"avatar":"e25e70a0-3924-4f16-9934-5399b257cf0c",
"email":"[email protected]",
"type":{
"model":"Agent",
"link":"agents"
},
"phone_work":"(805) 413-7564",
"npn":null
},
"tia":true,
"product":{
"id":105,
"name":"OPTerm 20",
"line":"life",
"plan_type":"TRM",
"ltc_rider":null,
"carrier":{
"id":28,
"name":"Banner",
"avatar":"https://d1usw6tyldpxhi.cloudfront.net/591900ff-cece-5ce0-0d1c-4f76313d2f3d.png",
"scaled_avatar":"https://d1usw6tyldpxhi.cloudfront.net/MZJJPPDV.jpg"
}
},
"address":{
"id":7909,
"name":"310 N. Westlake Blvd., Suite 240, Westlake Village, CA 91362"
},
"electronic_application":{
"id":116662
},
"commissions":[
],
"documents":[
{
"uid":"aK7wXb9Q",
"name":"electronic_application.pdf",
"category":"Electronic Application",
"ext":"pdf",
"mime_type":"application/pdf",
"ownable":{
"id":1179,
"name":"Reid Tattersall",
"type":"Agent"
},
"created_at":"2020-12-09T01:25:10.000-08:00"
}
]
},
"individuals":[
{
"id":88669,
"first_name":"John",
"middle_name":null,
"last_name":"Doe",
"gender":"Male",
"birthdate":"1987-01-02",
"name":"John Doe",
"phone_mobile":"(805) 660-0916",
"email":"[email protected]",
"ssn":"121-65-5465",
"income":150000.0,
"assets":1500000.0,
"liabilities":500000.0,
"bankruptcy":false,
"bankruptcy_type":null,
"bankruptcy_discharge_date":null,
"us_citizen":true,
"birth_location":"CA",
"visa_type":null,
"us_entry_date":null,
"country_of_citizenship":"United States",
"tobacco":null,
"humanized":false,
"drivers_license":{
"id":45924,
"state":"CA",
"number":"D3456789",
"no_drivers_license_reason":null
},
"occupation":{
"id":40727,
"occupation":"Developer",
"start_date":"2008-12-09",
"employee_id":88669,
"employee_type":"Individual",
"employer":{
"id":28139,
"name":"BackNine",
"irrevocable":null,
"business_address":{
"id":515333,
"street_address":"310 N Westlake Blvd",
"zip":"91362",
"city":"Thousand Oaks",
"state":"CA",
"country":"United States",
"address_type":"business",
"raw_address":"310 N Westlake Blvd, Thousand Oaks, CA 91362",
"start_date":null
}
}
},
"addresses":[
{
"id":515332,
"street_address":"123 Paradise Cove Rd",
"zip":"90265",
"city":"Malibu",
"state":"CA",
"country":null,
"address_type":"home",
"raw_address":"123 Paradise Cove Rd, Malibu, CA 90265",
"start_date":"2017-12-09"
},
{
"id":515337,
"street_address":"3101 Townsgate Rd",
"zip":"91361",
"city":"Thousand Oaks",
"state":"CA",
"country":null,
"address_type":"exam",
"raw_address":"3101 Townsgate Rd, Thousand Oaks, CA 91361",
"start_date":null
}
],
"application_roles":[
{
"id":114131,
"role":"Insured",
"beneficiary_amount":null,
"beneficiary_qualifier":null,
"relationship":null,
"electronic_application_id":116662
},
{
"id":114132,
"role":"Owner",
"beneficiary_amount":null,
"beneficiary_qualifier":null,
"relationship":null,
"electronic_application_id":116662
}
],
"efts":[
{
"id":42603,
"account_type":"Checking",
"routing_number":"122105278",
"account_number":"0000000016"
}
],
"medical_sources":[
{
"id":308,
"name":"Starfleet Medical",
"health_system":null,
"physician":null,
"status":"Connected",
"created_at":"2020-12-09T01:14:30.000-08:00"
}
],
"signers":[
{
"id":106795,
"role":"insured1/owner1",
"electronic_application_id":116662
}
]
},
{
"id":88670,
"first_name":"Jane",
"middle_name":null,
"last_name":"Doe",
"gender":"Female",
"birthdate":"1990-01-02",
"name":"Jane Doe",
"phone_mobile":"(805) 660-0917",
"email":"[email protected]",
"ssn":"645-54-6546",
"income":0.0,
"assets":0.0,
"liabilities":0.0,
"bankruptcy":null,
"bankruptcy_type":null,
"bankruptcy_discharge_date":null,
"us_citizen":null,
"birth_location":null,
"visa_type":null,
"us_entry_date":null,
"country_of_citizenship":null,
"tobacco":null,
"humanized":false,
"drivers_license":null,
"occupation":null,
"addresses":[
{
"id":515334,
"street_address":"123 Paradise Cove Rd",
"zip":"90265",
"city":"Malibu",
"state":"CA",
"country":"United States",
"address_type":"home",
"raw_address":"123 Paradise Cove Rd, Malibu, CA 90265",
"start_date":null
}
],
"application_roles":[
{
"id":114133,
"role":"Primary Beneficiary",
"beneficiary_amount":1.0,
"beneficiary_qualifier":"Percent",
"relationship":"Wife",
"electronic_application_id":116662
}
],
"efts":[
],
"medical_sources":[
],
"signers":[
]
}
],
"entities":[
{
"id":28140,
"name":"BackNine",
"tin":"65-4564445",
"email":"[email protected]",
"phone_work":"(805) 660-0918",
"formation_date":null,
"irrevocable":null,
"type":"Entity",
"address":{
"id":515335,
"street_address":"310 N Westlake Blvd",
"zip":"91362",
"city":"Thousand Oaks",
"state":"CA",
"country":"United States",
"address_type":"business",
"raw_address":"310 N Westlake Blvd, Thousand Oaks, CA 91362",
"start_date":null
},
"application_roles":[
{
"id":114134,
"role":"Contingent Beneficiary",
"beneficiary_amount":0.5,
"beneficiary_qualifier":"Percent",
"relationship":"Employer",
"electronic_application_id":116662
}
],
"responsible_parties":[
]
},
{
"id":28141,
"name":"Family Trust",
"tin":"54-5681548",
"email":"[email protected]",
"phone_work":"(805) 660-1920",
"formation_date":"1999-01-02",
"irrevocable":false,
"type":"Entity",
"address":{
"id":515336,
"street_address":"495 N Ventu Park Rd",
"zip":"91320",
"city":"Thousand Oaks",
"state":"CA",
"country":"United States",
"address_type":"business",
"raw_address":"495 N Ventu Park Rd, Thousand Oaks, CA 91320",
"start_date":null
},
"application_roles":[
{
"id":114135,
"role":"Contingent Beneficiary",
"beneficiary_amount":0.5,
"beneficiary_qualifier":"Percent",
"relationship":"Trust",
"electronic_application_id":116662
}
],
"responsible_parties":[
]
}
],
"electronic_application_cases":[
{
"id":6220,
"status":"Active",
"policy_number":"MA456789",
"face_amount":500000.0,
"policy_date":"2010-01-02",
"business_insurance":false,
"replacement_reason":null,
"carrier":{
"id":48,
"name":"MassMutual",
"avatar":"https://d1usw6tyldpxhi.cloudfront.net/93bc8c34-adc7-4fa6-799e-4f7dd8844e2b.png",
"scaled_avatar":"https://d1usw6tyldpxhi.cloudfront.net/"
}
}
],
"smoking_statuses":[
{
"id":33747,
"category":"Cigars",
"frequency":2,
"last_use_date":null,
"status":"Currently"
}
]
}
]
Example Case response with a nested Quote & Apply application (electronic_application) is shown in the example.
[
{
"id":26723,
"line":"life",
"policy_number":"Pending",
"elimination_period":null,
"inflation":null,
"benefit_period":null,
"benefit_amount":null,
"benefit_mode":null,
"premium":{
"premium":44.94,
"total":539.28
},
"tax_type":"Non-Qualified",
"surrender_charge_expiration":0,
"tracking_number":null,
"advisors":[
{
"marketing_manager_id":1,
"id":1179,
"type":"Agent",
"ownable":{
"id":1179,
"name":"Reid Tattersall",
"avatar":"production/agents/YBOQLRNVVGSIUTAT",
"email":"[email protected]",
"type":{
"model":"Agent",
"link":"agents"
},
"phone_work":"(805) 413-7562",
"npn":10790698
},
"appointment":{
"id":8247,
"name":"W2Q0000 (assigning to BackNine)",
"assignment":{
"id":2212,
"name":"W2Q0000"
}
},
"appointment_case_id":28073,
"reports":{
"id":8247,
"name":"W2Q0000 (assigning to BackNine)",
"assignment":{
"id":2212,
"name":"W2Q0000"
}
},
"marketing_manager":{
"id":1,
"name":"Reid Tattersall"
},
"percents":{
"split_percent":1.0,
"renewal_split":1.0
}
}
],
"contract_parties":[
{
"id":60668,
"type":"individual",
"name":"John Doe",
"first_name":"John",
"last_name":"Doe",
"avatar":"production/contract_parties/CXATZRSU",
"birthdate":"1987-01-02",
"party_id":"121-65-5465",
"email":"[email protected]",
"roles":[
{
"id":76132,
"role":"Insured",
"rating_applied":"Preferred NT",
"approval_rating":null,
"underwriting_rational":null,
"occupation_class":null,
"beneficiary_qualifier":null,
"beneficiary_amount":null
},
{
"id":76133,
"role":"Owner",
"rating_applied":"Preferred NT",
"approval_rating":null,
"underwriting_rational":null,
"occupation_class":null,
"beneficiary_qualifier":null,
"beneficiary_amount":null
}
]
},
{
"id":60669,
"type":"individual",
"name":"Jane Doe",
"first_name":"Jane",
"last_name":"Doe",
"avatar":"production/contract_parties/OMSFMFXI",
"birthdate":"1990-01-02",
"party_id":"645-54-6546",
"email":"[email protected]",
"roles":[
{
"id":76134,
"role":"Primary Beneficiary",
"rating_applied":"Preferred NT",
"approval_rating":null,
"underwriting_rational":null,
"occupation_class":null,
"beneficiary_qualifier":"Percent",
"beneficiary_amount":1.0
}
]
},
{
"id":60670,
"type":"entity",
"name":"BackNine",
"first_name":null,
"last_name":null,
"avatar":"production/contract_parties/ILDVJSRA",
"birthdate":null,
"party_id":"65-4564445",
"email":"[email protected]",
"roles":[
{
"id":76135,
"role":"Contingent Beneficiary",
"rating_applied":"Preferred NT",
"approval_rating":null,
"underwriting_rational":null,
"occupation_class":null,
"beneficiary_qualifier":"Percent",
"beneficiary_amount":0.5
}
]
},
{
"id":60671,
"type":"entity",
"name":"Family Trust",
"first_name":null,
"last_name":null,
"avatar":"production/contract_parties/MSCASACK",
"birthdate":"1999-01-02",
"party_id":"54-5681548",
"email":"[email protected]",
"roles":[
{
"id":76136,
"role":"Contingent Beneficiary",
"rating_applied":"Preferred NT",
"approval_rating":null,
"underwriting_rational":null,
"occupation_class":null,
"beneficiary_qualifier":"Percent",
"beneficiary_amount":0.5
}
]
}
],
"status":"Closed - Not Submitted to Carrier",
"face_amount":1000000.0,
"mode":12,
"outstanding":3,
"commission":null,
"case_manager":{
"id":6567,
"name":"Carly Ryan",
"avatar":"production/BQWTXCUCRZJQKWCY",
"email":"[email protected]",
"type":{
"model":"Agent",
"link":"agents"
},
"phone_work":"805-557-1533",
"npn":null
},
"notes":[
{
"id":1910706,
"note":"Reid Tattersall has changed the status to Closed - Not Submitted to Carrier on Pending",
"email":false,
"date":"2020-12-09T01:25:58.000-08:00",
"notable_id":26723,
"notable_type":"Case",
"ownable":{
"id":1179,
"name":"Reid Tattersall",
"avatar":"production/agents/YBOQLRNVVGSIUTAT",
"type":{
"link":"agents",
"model":"Agent"
}
},
"created_at":"2020-12-09T01:25:58.000-08:00",
"advisor_access":true,
"carrier_access":false,
"carrier_email":false,
"phone_call":false,
"documents":[
]
},
{
"id":1910705,
"note":"This is a test case for webhooks and should not be deleted.",
"email":false,
"date":"2020-12-09T01:25:49.000-08:00",
"notable_id":26723,
"notable_type":"Case",
"ownable":{
"id":1179,
"name":"Reid Tattersall",
"avatar":"production/agents/YBOQLRNVVGSIUTAT",
"type":{
"link":"agents",
"model":"Agent"
}
},
"created_at":"2020-12-09T01:25:49.000-08:00",
"advisor_access":true,
"carrier_access":false,
"carrier_email":false,
"phone_call":false,
"documents":[
]
},
{
"id":1910703,
"note":"Hello Reid, this Banner policy is set for eDelivery so please let me know if you prefer a paper policy. eDelivery emails are sent from DocuSign and your client's access is the first 5 letters of their last name and the last 4 digits of their SSN. You can \u003Ca href='http://www.lgamerica.com/edelivery/'\u003Eclick here\u003C/a\u003E to learn about eDelivery from Banner. ",
"email":true,
"date":"2020-12-09T01:25:10.000-08:00",
"notable_id":26723,
"notable_type":"Case",
"ownable":{
"id":6567,
"name":"Carly Ryan",
"avatar":"production/BQWTXCUCRZJQKWCY",
"type":{
"link":"agents",
"model":"Agent"
}
},
"created_at":"2020-12-09T01:25:10.000-08:00",
"advisor_access":true,
"carrier_access":false,
"carrier_email":false,
"phone_call":false,
"documents":[
]
}
],
"policy_date":null,
"conversion_expiry":null,
"next_call_at":"2020-12-17T09:00:00.000-08:00",
"days_pending":0,
"created_at":"2020-12-09T01:25:08.000-08:00",
"submitted_date":null,
"approved_date":null,
"issue_date":null,
"sent_to_agent":null,
"inforce_date":null,
"app_sign_date":"2020-12-09",
"delivery_requirements_due_date":null,
"closed_date":"2020-12-09",
"ltc_rider":false,
"state":"CA",
"exchange_amount":0.0,
"lump_sum":0.0,
"tracking_number_type":"USPS",
"tracking_number_link":"https://tools.usps.com/go/TrackConfirmAction?tLabels=",
"informal_options":[
"All Offers In",
"Informal Formalized",
"Informal Closed",
"Awaiting Carrier Offers",
"Gathering Medical Information",
"Informal Entered"
],
"commissionable":true,
"target_premium":null,
"timeline":[
{
"date":"2020-12-09",
"description":"Application Signed"
},
{
"date":"2020-12-09T01:25:08.000-08:00",
"description":"Received by BackNine"
},
{
"date":"2020-12-09",
"description":"Closed"
}
],
"carrier_e_delivery":true,
"informal":false,
"cash_received":44.94,
"profit":0.0,
"applied_mode":12,
"applied_premium":44.94,
"case_concierge":{
"id":1448,
"name":"Cindy Smith",
"avatar":"e25e70a0-3924-4f16-9934-5399b257cf0c",
"email":"[email protected]",
"type":{
"model":"Agent",
"link":"agents"
},
"phone_work":"(805) 413-7564",
"npn":null
},
"tia":true,
"product":{
"id":105,
"name":"OPTerm 20",
"line":"life",
"plan_type":"TRM",
"ltc_rider":null,
"carrier":{
"id":28,
"name":"Banner",
"avatar":"https://d1usw6tyldpxhi.cloudfront.net/591900ff-cece-5ce0-0d1c-4f76313d2f3d.png",
"scaled_avatar":"https://d1usw6tyldpxhi.cloudfront.net/MZJJPPDV.jpg"
}
},
"address":{
"id":7909,
"name":"310 N. Westlake Blvd., Suite 240, Westlake Village, CA 91362"
},
"electronic_application":{
"id":116662
},
"commissions":[
],
"documents":[
{
"uid":"Jp4NwB8z",
"name":"electronic_application.pdf",
"category":"Electronic Application",
"ext":"pdf",
"mime_type":"application/pdf",
"ownable":{
"id":1179,
"name":"Reid Tattersall",
"type":"Agent"
},
"created_at":"2020-12-09T01:25:10.000-08:00"
}
]
}
]
Quote & Apply Options Lists
Below is a table of options lists for an electronic_application so you know what values to expect.
Parameter | Options |
---|---|
smoker string |
Never, Previously, Currently |
status string |
Quote, Lead, Sent, Delivered, Completed, Declined, Voided |
named_step string |
Quote - 10% Complete, Name and Contact Information - 20% Complete, Address - 25% Complete, Employer Information - 30% Complete, Ownership - 35% Complete, Primary Beneficiary - 45% Complete, Contingent Beneficiary - 50% Complete, Financial and SSN - 60% Complete, Existing Insurance - 65% Complete, Physician Information - 70% Complete, Underwriting Questions - 80% Complete, Payment Information - 90% Complete, Schedule Exam - 95% Complete, Signing Preference - Final Step, DocuSign - Final Step, Click 'Continue Carrier eApp' to finish on #{carrier.name}'s Website |
validated_rating string |
Super Preferred, Preferred NT, Preferred Tobacco, Standard Plus, Standard NT, Standard Tobacco, Level, Level Tobacco, Graded |
Cases Options Lists
Parameter | Options |
---|---|
status string |
Entered, Submitted, Approved, Issued, Awaiting Reissued Policy, Awaiting Reconsideration, Awaiting Delivery Requirements, Received Delivery Requirements, Awaiting Reconsideration, Active - Pending Requirements, Active, Withdrawn, Postponed, Not Taken, Declined, Lapsed, Grace Period |
Set up
Please visit the integrations page in BOSS to subscribe to our hooks. The subscription takes an endpoint URL that will be POST
ed to and will contain the following headers.
Key | Description |
---|---|
Content-type string |
application/json |
X-BACKNINE-AUTHENTICATION string |
Your API Key |
Download Illustration
Download the insurance carrier's illustration using the quote's ID. The key illustration_available
is returned on each quote to indicate if an illustration from the carrier is available.
Endpoint
GET /api/v1/quotes/:id/illustration
Headers
X-BACKNINE-AUTHENTICATION: your-api-key
Content-Type: application/json
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Request Parameters
Parameter | Description |
---|---|
id string |
The quote's id which is in the format of UUID as shown at Response Example |
Request Example
get "/api/v1/quotes/:id/illustration", headers: { "X-BACKNINE-AUTHENTICATION" => your-api-key }
Response Statuses
Status | Description |
---|---|
200 | Successful request |
401 | Unauthorized request |
404 | Not found |
422 | Unprocessable |
500 | Unexpected/Internal Error |
Example Response Errors
"errors" => ["Cannot find quote"]
"errors" => ["An illustration cannot be generated for this product"]
"errors" => ["An illustration could not be generated"]
"errors" => ["API key not provided"]
"errors" => ["Invalid API key"]
Download Documents
Endpoint
GET /api/v1/d/:uid
Headers
X-BACKNINE-AUTHENTICATION: your-api-key
Content-Type: application/json
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Request Parameters
Parameter | Description |
---|---|
uid string |
The document's uid |
Request Example
get "/api/v1/d/:uid", headers: { "X-BACKNINE-AUTHENTICATION" => your-api-key }
Response Statuses
Status | Description |
---|---|
200 | Successful request |
401 | Unauthorized request |
404 | Not found |
500 | Unexpected/Internal Error |
Example Response Errors
"errors" => ["API key not provided"]
"errors" => ["Invalid API key"]
"errors" => ["Unauthorized"]
Health Check
BackNine's health check endpoint can be use to test the API's availability
Endpoint
POST /api/v1/check-auth
Headers
X-BACKNINE-AUTHENTICATION: your-api-key
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Response
The endpoint will return a 204 reponse code if your API key is valid.
Accidental Death API (Legacy)
Endpoint
The endpoint for this action is as follows:
POST /api/v1/apply/accidental_death
Authentication
X-BACKNINE-AUTHENTICATION: your-api-key
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Parameters
{
"eft": {
"account_type": "Checking",
"routing_number": "000000000",
"account_number": "0"
},
"electronic_application": {
"approved_domain_id": 1,
"face_amount": 500000,
"gender": "Male",
"birthdate": "1990-05-11",
"state": "CA",
"mode": 12,
"product_category": "Accidental Death",
"application_roles_attributes": [
{
"role": "Insured",
"ownable_attributes": {
"ownable_type": "Individual",
"first_name": "John",
"last_name": "Doe",
"gender": "Male",
"birthdate": "1990-05-11",
"email": "[email protected]",
"phone_mobile": "(123) 456-7890",
"ssn": "123-45-6789",
"birth_location": "FL",
"addresses_attributes": [
{
"address_type": "home",
"street_address": "1234 My Street",
"city": "Westlake Village",
"state": "CA",
"zip": "91362",
"country": "United States"
}
]
}
},
{
"role": "Primary Beneficiary",
"relationship": "Other",
"beneficiary_qualifier": "Percent",
"beneficiary_amount": 1,
"ownable_attributes": {
"ownable_type": "Entity",
"name": "Test Business",
"tin": "12-3456789",
"phone_work": "(123) 456-7890"
}
},
{
"role": "Contingent Beneficiary",
"relationship": "Grandfather",
"beneficiary_qualifier": "Percent",
"beneficiary_amount": 1,
"ownable_attributes": {
"ownable_type": "Individual",
"first_name": "Test",
"last_name": "Beneficiary",
"birthdate": "1950-05-11"
}
}
],
"electronic_application_cases_attributes": [
{
"product_id": 2645,
"status": "Active"
}
],
"editors_attributes": [{
"name": "Test Editor",
"email": "[email protected]"
}]
}
}
Send an HTTPS POST request to the above route along with the request body to generate an eApp session for your client.
Top-level parameters
These are the top-level JSON parameters you will be sending to our endpoint.
Parameter | Description |
---|---|
electronic_application required object |
See parameters below. |
eft required object |
See parameters below. |
Electronic Application parameters
These describe the electronic_application
parameter listed above.
Parameter | Description |
---|---|
approved_domain_id required number |
The ID of the approved domain. Check BOSS to get the ID of the domain you wish to associate the eApp with. |
face_amount required number |
The face amount applied for. |
gender required string |
The gender of the applicant. Must be "Male" or "Female". |
birthdate required date |
The birthdate in YYYY-MM-DD format. |
state required string |
The 2 digit state abbreviation. |
mode required number |
A number representing the premium mode. Can be 12 (monthly), 4 (quarterly), 2 (semi-annually), or 1 (annually). |
test required boolean |
Indicates whether this is a test eApp or a real eApp. Defaults to the value on the approved domain. Check BOSS to see the value for the domain you pass in. |
application_roles_attributes
required
array Creates roles such as "insured" on the policy.
Application Roles parameters
These describe the application_roles_attributes
parameter listed above. You can use this parameter to pre-fill the insured's info on the eApp. You also use this parameter to determine who will be the beneficiaries. You must have at least one primary beneficiary. The sum of all primary beneficiaries must add up to 1 (or 100%). The sum of all contingent beneficiaries must also add up to 1 (or 100%).
Parameter | Description |
---|---|
role required string |
The role of the ownable on the policy. Valid options are: "Insured", "Primary Beneficiary", "Contingent Beneficiary". |
relationship required string |
The relationship to the Insured. Can be "Mother" , "Father" , "Grandfather" , "Brother" , "Sister" , etc. This field must be null for the insured. |
beneficiary_qualifier required string |
Must be "Percent" . Only used for beneficiaries. Required and reserved for beneficiaries only |
beneficiary_amount required number |
A floating-point number representing the percentage the beneficiary will receive if the insured passes. 1 means 100%, 0.5 means 50%, etc. Only used for beneficiaries. |
ownable_attributes required object |
Attributes describing the ownable. |
Ownable parameters
These describe the ownable_attributes
parameter listed above for Application Roles. This is a polymorphic association, but we currently only support parameters describing an individual. You can use this parameter to pre-fill the insured's info on the eApp.
Parameter | Description |
---|---|
ownable_type required string |
The type of the ownable. Must be "Individual". |
first_name required string |
|
last_name required string |
|
phone_mobile required string |
The individual's phone number. It must be in the format (###) ###-#### . This is the phone number that shows up on the personal information section (step 2) of the app. |
email required string |
Must be in a valid email format. |
ssn required string |
Must be in the format ###-##-#### . |
birthdate required date |
Must be in the format YYYY-MM-DD . |
gender required string |
Must be either Male or Female . |
Address parameters
This section describes one entry in the addresses_attributes
array.
Parameter | Description |
---|---|
address_type required string |
Currently can only be "home". |
street_address required string |
The ownable's street address, both name and number. For example, "1234 My Street". |
city required string |
|
state required string |
The state's two letter abbreviation, such as "CA" for California. |
zip required number |
The 5 digit postal code. Must be in the format "XXXXX". |
country required string |
Currently we only support "United States". |
Electronic Application Case parameters
This section describes one entry in the electronic_application_cases_attributes
array.
Use this section to list the applicants pending and inforce insurance. Only one electronic_application_case
per status is necessary.
Parameter | Description |
---|---|
product_id required number |
Currently can only be 2645 . |
status required string |
Can be "Active", "Pending", or "Active - Being Replaced" . |
EFT parameters
These describe the top-level eft
parameter listed above. The EFT must be the
insured's EFT.
Parameter | Description |
---|---|
account_type required string |
"Checking" or "Savings". |
routing_number required string |
A valid routing number (no spaces). |
account_number required string |
A valid account number (no spaces). |
Get Quotes (Legacy)
Endpoint
POST /api/v1/quotes
Content-Type: application/json
Authentication
X-BACKNINE-AUTHENTICATION: your-api-key
Content-Type: application/json
Your API key can be found at https://app.back9ins.com/settings?page=developer-settings
Parameters
Parameter | Description |
---|---|
face_amounts required boolean |
A list of the face amounts being quoted |
state required string |
two digit state abbreviation |
mode required number |
How many times per year the insured will be paying. Possible values are 1 , 2 , 4 , or 12 . |
gender required string |
The insured's gender. Possible values are Male , Female . |
product_categories required array |
term.10_year , term.15_year , term.20_year , term.25_year , term.30_year , term.35_year , term.40_year , term.non_med.10_year , term.non_med.15_year , term.non_med.20_year , term.non_med.25_year , term.non_med.30_year , term.return_of_premium.15_year , term.return_of_premium.20_year , term.return_of_premium.25_year , term.return_of_premium.30_year |
health required number |
1 - 5 (5 being the best) required unless product_category = 10 Year Non Medical Term , 15 Year Non Medical Term , 20 Year Non Medical Term , 25 Year Non Medical Term , 30 Year Non Medical Term |
smoker required boolean |
The smoker status. The prospect's smoking status. Can be either Never , Previously , or Currently . More information is below. Required unless Accidental Death |
usages array |
A list of smoker information for the different types of smokable items. Leave empty or omit if smoker status is Never . |
npn number |
Including npn is required to receive link_to_sms and link_to_share in the response. The npn is the national producer number of the agent the link_to_sms and link_to_share will be from. The agent must exist in BOSS. |
first_name string |
Including first_name is required to receive link_to_sms in the response. |
last_name string |
Including last_name is required to receive link_to_sms in the response. |
phone_number string |
Including phone_number is required to receive link_to_sms in the response. |
height number |
The insured's height represented in inches. |
weight number |
The insured's weight. |
Usages
See Above for Smoking Status Object Structure
Parameter | Description |
---|---|
status required string |
The current status. Must be Currently , Previously |
category required string |
The item the insured uses or has used. Must be Cigarettes , eCigarettes , Cigars , Pipe , Chew , or Cannabis |
frequency required string |
How frequently the insured uses or has used. Must be 2 , 12 , 52 , or 365 |
last_use_date string, optional |
The last use date of this item. Must be formatted as YYYY-MM-DD . This is required if smoker is Previously |
Sample Requests
1. Basic quotes example
{
"quotes": [{
"face_amounts": [1000000],
"gender": "Male",
"birthdate": "1990-05-11",
"state": "CA",
"health": 5,
"smoker": "Never",
"mode": 12,
"product_categories": ["term.10_year"]
}]
}
2. Example to receive link_to_share
and link_to_sms
{
"quotes": [{
"face_amounts": [1000000],
"gender": "Male",
"birthdate": "1990-05-11",
"state": "CA",
"health": 5,
"smoker": "Never",
"mode": 12,
"product_categories": ["term.10_year"],
"npn": 1234567,
"first_name": "John",
"last_name": "Doe",
"phone_number": "1234567890"
}]
}
3. Example to with usages
and multiple face_amounts
and product_categories
{
"quotes": [{
"face_amounts": [500000, 1000000],
"gender": "Male",
"birthdate": "1990-05-11",
"state": "CA",
"health": 3,
"height": 69,
"weight": 170,
"smoker": "Previously",
"usages": [
{
"status": "Previously",
"last_use_date": "2018-01-01",
"frequency": 2,
"category": "Cigarettes"
}
],
"mode": 12,
"product_categories": ["term.10_year", "term.non_med.15_year"],
"npn": 1234567,
"first_name": "John",
"last_name": "Doe",
"phone_number": "1234567890"
}]
}
4. Example using Zapier
Response Format - Success
{
"id": 1234567,
"quotes": [
[
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 29.33,
"annual_premium": 345.11,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": true,
"validated_rating": "Super Preferred",
"exam_details": {
"text": "If you've seen the doctor and completed blood work in the last 18 months you won't need a medical exam. We'll review your medical records and application to confirm.",
"required": "possibly"
},
"carrier": {
"name": "Banner",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/square_carrier_avatars/lga_square.svg",
"established_year": 1981,
"am_best_rating": "A+",
"approval_time": 20,
"preferred": true,
"id": 28
},
"product": {
"name": "OPTerm 20",
"id": 105,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 29.34,
"annual_premium": 347.2,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"validated_rating": "Super Preferred",
"exam_details": {
"text": "requires a complimentary exam. In a few steps you'll schedule your exam at a time and place convenient for you.",
"required": true
},
"carrier": {
"name": "Corebridge Financial",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/FMAOLPFO.png",
"established_year": 1960,
"am_best_rating": "A",
"approval_time": 20,
"preferred": false,
"id": 37
},
"product": {
"name": "SAT - 20 Year",
"id": 11,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 29.5,
"annual_premium": 347.1,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"validated_rating": "Super Preferred",
"exam_details": {
"text": "requires a complimentary exam. In a few steps you'll schedule your exam at a time and place convenient for you.",
"required": true
},
"carrier": {
"name": "Protective",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/square_carrier_avatars/protective_square.svg",
"established_year": 1978,
"am_best_rating": "A+",
"approval_time": 20,
"preferred": false,
"id": 59
},
"product": {
"name": "Classic Choice Term 20",
"id": 2612,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 29.69,
"annual_premium": 349.29,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"validated_rating": "Super Preferred",
"exam_details": {
"text": "If you've seen the doctor and completed blood work in the last 12 months you don't need a medical exam. We'll ask you some questions over the phone and review your medical records.",
"required": "possibly"
},
"carrier": {
"name": "Pacific Life - Lynchburg",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/square_carrier_avatars/pacific_life_square.svg",
"established_year": 1868,
"am_best_rating": "A+",
"approval_time": 20,
"preferred": true,
"id": 9
},
"product": {
"name": "Promise Term 20",
"id": 2774,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 31,
"annual_premium": 360.44,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"validated_rating": "Super Preferred",
"exam_details": {
"text": "requires a complimentary exam. In a few steps you'll schedule your exam at a time and place convenient for you.",
"required": true
},
"carrier": {
"name": "Lincoln National Life",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/lincoln-financial-logo-square.png",
"established_year": 1905,
"am_best_rating": "A+",
"approval_time": 20,
"preferred": true,
"id": 18
},
"product": {
"name": "Lincoln LifeElements 20yr Term",
"id": 38,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 31.45,
"annual_premium": 370,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"validated_rating": "Super Preferred",
"exam_details": {
"text": "Based on your answers to underwriting questions, an exam may or may not be required.",
"required": "possibly"
},
"carrier": {
"name": "Transamerica",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/square_carrier_avatars/transamerica_square.svg",
"established_year": 1961,
"am_best_rating": "A",
"approval_time": 20,
"preferred": false,
"id": 79
},
"product": {
"name": "Trendsetter Super (20 Yrs)",
"id": 531,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 33.37,
"annual_premium": 400.43,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"validated_rating": "Super Preferred",
"exam_details": {
"text": "requires a complimentary exam. In a few steps you'll schedule your exam at a time and place convenient for you.",
"required": true
},
"carrier": {
"name": "Savings Bank Life Insurance",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/square_carrier_avatars/sbli_logo.png",
"established_year": 1907,
"am_best_rating": "A",
"approval_time": 20,
"preferred": false,
"id": 3
},
"product": {
"name": "Level Premium Term 20 (guar 20)",
"id": 145,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 34.76,
"annual_premium": 395,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"living_benefits_details": {
"details": "You can accelerate your death benefit for qualifying terminal, chronic, and critical illness."
},
"validated_rating": "Super Preferred",
"exam_details": {
"text": "Based on your answers to underwriting questions, an exam may or may not be required.",
"required": "possibly"
},
"carrier": {
"name": "North American",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/north_american_reduced_size_square.png",
"established_year": 1886,
"am_best_rating": "A+",
"approval_time": 20,
"preferred": false,
"id": 72
},
"product": {
"name": "ADDvantage 20 (guar 20)",
"id": 550,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 35.12,
"annual_premium": 408.58,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"validated_rating": "Super Preferred",
"exam_details": {
"text": "requires a complimentary exam. In a few steps you'll schedule your exam at a time and place convenient for you.",
"required": true
},
"carrier": {
"name": "Protective",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/square_carrier_avatars/protective_square.svg",
"established_year": 1978,
"am_best_rating": "A+",
"approval_time": 20,
"preferred": false,
"id": 59
},
"product": {
"name": "Custom Choice UL - 20 Year No Lapse",
"id": 556,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 38.94,
"annual_premium": 445,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"validated_rating": "Super Preferred",
"exam_details": {
"text": "Based on your answers to underwriting questions, an exam may or may not be required.",
"required": "possibly"
},
"carrier": {
"name": "Prudential Financial",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/prudential_qa_logo.png",
"established_year": 1873,
"am_best_rating": "A+",
"approval_time": 20,
"preferred": true,
"id": 82
},
"product": {
"name": "Term Essential 20",
"id": 665,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 40.22,
"annual_premium": 465,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"validated_rating": "Super Preferred",
"exam_details": {
"text": "requires a complimentary exam. In a few steps you'll schedule your exam at a time and place convenient for you.",
"required": true
},
"carrier": {
"name": "John Hancock",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/john_hancock_scaled_avatar.png",
"established_year": 1862,
"am_best_rating": "A+",
"approval_time": 20,
"preferred": true,
"id": 77
},
"product": {
"name": "Protection Term 20",
"id": 174,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 41.43,
"annual_premium": 478.95,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"validated_rating": "Super Preferred",
"exam_details": {
"text": "requires a complimentary exam. In a few steps you'll schedule your exam at a time and place convenient for you.",
"required": true
},
"carrier": {
"name": "John Hancock",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/john_hancock_scaled_avatar.png",
"established_year": 1862,
"am_best_rating": "A+",
"approval_time": 20,
"preferred": true,
"id": 77
},
"product": {
"name": "Protection Term 20 with Vitality",
"id": 1899,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 43.5,
"annual_premium": 500,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"validated_rating": "Super Preferred",
"exam_details": {
"text": "Based on your answers to underwriting questions, an exam may or may not be required.",
"required": "possibly"
},
"carrier": {
"name": "Assurity",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/assurity-life-insurance-company.png",
"established_year": 1964,
"am_best_rating": "A-",
"approval_time": 20,
"preferred": false,
"id": 4
},
"product": {
"name": "20 Year Term",
"id": 219,
"carrier_e_delivery": false
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 44.44,
"annual_premium": 505,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"living_benefits_details": {
"details": "You can accelerate your death benefit for qualifying terminal, chronic, and critical illness."
},
"validated_rating": "Super Preferred",
"exam_details": {
"text": "Based on your answers to underwriting questions, an exam may or may not be required.",
"required": "possibly"
},
"carrier": {
"name": "Life Insurance Company of the Southwest",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/square_carrier_avatars/national-life-group-logo-vector.svg",
"established_year": 1955,
"am_best_rating": "A+",
"approval_time": 20,
"preferred": false,
"id": 10
},
"product": {
"name": "Term 20",
"id": 697,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 53.32,
"annual_premium": 620,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"living_benefits_details": {
"details": "You can accelerate your death benefit for qualifying terminal, chronic, and critical illness."
},
"validated_rating": "Super Preferred",
"exam_details": {
"text": "Based on your answers to underwriting questions, an exam may or may not be required.",
"required": "possibly"
},
"carrier": {
"name": "Transamerica",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/square_carrier_avatars/transamerica_square.svg",
"established_year": 1961,
"am_best_rating": "A",
"approval_time": 20,
"preferred": false,
"id": 79
},
"product": {
"name": "Trendsetter LB 20",
"id": 441,
"carrier_e_delivery": true
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
},
{
"face_amount": 1000000,
"birthdate": "2001-01-01",
"product_category": "20 Year Term",
"premium": 61.69,
"annual_premium": 705,
"mode": 12,
"state": "VA",
"health": 5,
"instant_decision": false,
"validated_rating": "Super Preferred",
"exam_details": {
"text": "requires a complimentary exam. In a few steps you'll schedule your exam at a time and place convenient for you.",
"required": true
},
"carrier": {
"name": "Nationwide",
"avatar_url": "https://d1usw6tyldpxhi.cloudfront.net/nationwide-logo-seo.png",
"established_year": 1981,
"am_best_rating": "A+",
"approval_time": 20,
"preferred": false,
"id": 39
},
"product": {
"name": "YourLife 20 Year Term",
"id": 284,
"carrier_e_delivery": false
},
"link_to_pdf": "http://www.example.com/api/v1/quotes/6kQ3.pdf",
"link_to_share": "http://www.example.com/e/6kQ3",
"link_to_sms": "http://www.example.com/api/v1/quotes/6kQ3/sms"
}
]
]
}
The details entry is an array of per-requested quote response. This meaning that the array by index will tell you which quote requests by index had parameter errors as well as telling you which were sent correctly displaying the value "valid", otherwise it will contain an array of which parameters caused the error.
Response Format - Error
Error code 400 for malformed JSON
POST "https://app.back9ins.com/api/v1/quotes", params: "{face_amounts[]}", headers: { "Content-Type" => "application/json", "X-BACKNINE-AUTHENTICATION" => API_KEY }
"error": "Failed to parse parameters"
Error code 404 for missing API key
POST "https://app.back9ins.com/api/v1/quotes"
"errors": ["API key not provided"]
Error code 422 when params are missing
POST "https://app.back9ins.com/api/v1/quotes", headers: { "X-BACKNINE-AUTHENTICATION" => API_KEY }
"error": "Missing parameters (:quotes)"
Error code 422 when params are invalid
POST "https://app.back9ins.com/api/v1/quotes", params: { quotes: [{ hello: "world" }] }, headers: { "X-BACKNINE-AUTHENTICATION" => API_KEY }
"details": [{
"birthdate": ["can't be blank"],
"face_amounts": ["must include at least one"],
"gender": ["can't be blank"],
"mode": ["can't be blank"],
"product_categories": ["must include at least one"],
"state": ["can't be blank"]
}],
"error": "One or more of your parameters were invalid"
Sending the SMS
If you included the optional NPN, first_name, last_name, and phone_number, you'll receive link_to_sms
in the response. You can use the link_to_sms
to have a SMS sent to the customer with a link to the quote.
Send a POST
request to the link_to_sms
URL provided within the quotes
request with your API key in the headers.
POST "https://app.back9ins.com/api/v1/quotes/3kTMd/sms", headers: { "X-BACKNINE-AUTHENTICATION" => API_KEY }
Prefilling Quote & Apply
You can use the data from the quotes response to prefill Quote & Apply with your desired quote (potentially chosen by the user). For example, if you wanted the user to land on the quote step and see the same product that they choose from within your application, set step=quote
and product_id
.