# Submit Complete Plan Request

This action can be used to create a highly tailored and customized plan request where the entire [plan request experience](https://docs.whiteswan.io/partner-knowledge-base/platform-overview/client-experience/personal-plan-requests) is skipped.

{% hint style="info" %}
This call has many more required fields than the [Start Personal Plan Request action](https://docs.whiteswan.io/partner-knowledge-base/zapier-integration/create-actions/start-personal-plan-request). If you don't want the end-user to go through the plan request but don't have enough information or want to make enough assumptions to provide all required fields for this action, you can use the Start Personal Plan Request action and have someone on your team go through the plan request on the behalf of the end-user.
{% endhint %}

{% hint style="info" %}
To access instant quotes from this call, you first need to make sure that your [BackNine integration is activated](https://docs.whiteswan.io/partner-knowledge-base/backnine-integration/quick-start-guide). Secondly, any instant quotes that may be generated from the call will not be returned in the API response. Instead, you will either have to poll the policy search ID returned through this call via the [Policy Search](https://docs.whiteswan.io/partner-knowledge-base/api-documentation/information-calls/policy-search) endpoint or set up [New Personal Plan Webhooks](https://docs.whiteswan.io/partner-knowledge-base/api-documentation/webhooks/new-personal-plan) to receive these quotes asynchronously.
{% endhint %}

**API Method:**

## Submit Complete Personal Plan Request

<mark style="color:green;">`POST`</mark> `https://app.whiteswan.io/api/1.1/wf/complete_request`

Submits a complete personal plan request.

#### Headers

| Name                                            | Type   | Description            |
| ----------------------------------------------- | ------ | ---------------------- |
| Authorization<mark style="color:red;">\*</mark> | String | Bearer \<YOUR API KEY> |
| Content-Type<mark style="color:red;">\*</mark>  | String | application/json       |
| Accept<mark style="color:red;">\*</mark>        | String | application/json       |
| user-agent<mark style="color:red;">\*</mark>    | String | \<YOUR APP>            |

#### Request Body

| Name                                        | Type   | Description             |
| ------------------------------------------- | ------ | ----------------------- |
| JSON Body<mark style="color:red;">\*</mark> | Object | See specification below |

{% tabs %}
{% tab title="200: OK Call success" %}

{% endtab %}

{% tab title="400: Bad Request Call failure" %}

{% endtab %}

{% tab title="401: Unauthorized Permission denied" %}

{% endtab %}

{% tab title="404: Not Found Not found" %}

{% endtab %}

{% tab title="405: Method Not Allowed Wrong method" %}

{% endtab %}

{% tab title="429: Too Many Requests Too many requests" %}

{% endtab %}

{% tab title="500: Internal Server Error Internal bug" %}

{% endtab %}

{% tab title="503: Service Unavailable Service unavailable" %}

{% endtab %}
{% endtabs %}

<details>

<summary>Sample Body Payload</summary>

```json
{
        "name": "John Doe",
        "email": "john@whiteswan.io",
        "policy_type": "Variable Universal Life",
        "main_goal": "Accumulation",
        "phone": "123456789",
        "resident_state": "Ohio",
        "death_benefit": 1000000,
        "payment_schedule": "Monthly",
        "paid_up_period": "10 Years",
        "term_duration": "10 Years",
        "premium_budget": 100,
        "gender": "Male",
        "health_rating": "Super Preferred",
        "date_of_birth": "19950716T143015.123+0200",
        "tobacco": true,
        "marijuana": true,
        "height_feet": 6,
        "height_inches": 5,
        "weight_pounds": 100,
        "risk_profile": "Aggressive",
        "expedited_products": true,
        "convertability": true,
        "riders": [
            "Paid Up Additions (Whole Life Only)",
            "Waiver of Premium Rider"
        ],
        "additional_premium_room": 0,
        "one_time_deposit_amount": 0,
        "allocation_accounts": [
            {
                "account_type": "S&P 500 Fund (Variable Universal Life)",
                "allocation_percentage": "0.5"
            },
            {
                "account_type": "International Markets Funds (Variable Universal Life Only)",
                "allocation_percentage": "0.5"
            }
        ],
        "uncapped_accounts": "true",
        "fee_accounts": "true",
        "planned_retirement_income": "true",
        "retirement_start_age": "60",
        "retirement_length": 20,
        "supplemental_term_amount": 1000000,
        "supplemental_term_length": 10,
        "custom_account_allocation": true,
        "associated_person": "john@acme.com",
        "ws_follow_up": "true",
        "coms_recipients": "Client & Me",
        "contact_id": "918503x139058213",
        "request_comment": "Make it really explosive for accumulation",
        "intended_insured_name": "Jack Doe",
        "name_2": "Jane Doe",
        "email_2": "jane@doe.com",
        "phone_2": "123456789",
        "date_of_birth_2": "20000123T012345.678+0900",
        "gender_2": "Female",
        "health_rating_2": "Table 1",
        "height_feet_2": 5,
        "height_inches_2": 7,
        "weight_pounds_2": 170,
        "tobacco_2": false,
        "marijuana_2": true,
        "carrier":["2","5"],
        "product":["5","2"],
        "solve_for":"Base DB",
        "cash_value_solve_amount":5915,
        "cash_value_solve_age":35,
        "lapse_protection_solve_age":85,
        "ltc_elimination_period":"2 Years",
        "ltc_monthly_benefit":2000,
        "ltc_pool_of_money":10000,
        "ltc_years_of_benefits":10,
        "ltc_dual_insured":"No Partner",
        "ltc_employer_association_discount":"Employer",
        "ltc_rider_percentage":"2%",
        "backdate_age":false
    }
```

</details>

{% hint style="info" %}
Please note that the sample body payload above contains all possible parameters for your reference. In an actual call, you don't need to use all parameters, and some parameters are only relevant for certain policy types or plan goals.&#x20;
{% endhint %}

**Code Examples - Making the API Call:**

{% tabs %}
{% tab title="cURL" %}

```json
curl -X POST "https://app.whiteswan.io/api/1.1/wf/complete_request" \
     -H "Authorization: Bearer <YOUR API KEY>" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -H "User-Agent: <YOUR APP>" \
     -d '{
           "name": "John Doe",
           "email": "john@doe.com",
           "policy_type": "Term Life",
           "main_goal": "Protection",
           "resident_state": "Ohio",
           "death_benefit": 1000000,
           "payment_schedule": "Monthly",
           "term_duration": "10 Years",
           "gender": "Male",
           "health_rating": "Table 1",
           "date_of_birth": "20000123T012345.678+0900",
           "tobacco": true,
           "marijuana": true,
           "height_feet": 6,
           "height_inches": 5,
           "weight_pounds": 100,
           "convertability": true
         }'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests

url = "https://app.whiteswan.io/api/1.1/wf/complete_request"
headers = {
    "Authorization": "Bearer <YOUR API KEY>",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "User-Agent": "<YOUR APP>"
}

data = {
    "name": "John Doe",
    "email": "john@doe.com",
    "policy_type": "Term Life",
    "main_goal": "Protection",
    "resident_state": "Ohio",
    "death_benefit": 1000000,
    "payment_schedule": "Monthly",
    "term_duration": "10 Years",
    "gender": "Male",
    "health_rating": "Table 1",
    "date_of_birth": "20000123T012345.678+0900",
    "tobacco": True,
    "marijuana": True,
    "height_feet": 6,
    "height_inches": 5,
    "weight_pounds": 100,
    "convertability": True
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
```

{% endtab %}

{% tab title="Javascript" %}

```javascript
const url = "https://app.whiteswan.io/api/1.1/wf/complete_request";
const headers = {
    "Authorization": "Bearer <YOUR API KEY>",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "user-agent": "<YOUR APP>"
};
const data = {
    name: "John Doe",
    email: "john@doe.com",
    policy_type: "Term Life",
    main_goal: "Protection",
    resident_state: "Ohio",
    death_benefit: 1000000,
    payment_schedule: "Monthly",
    term_duration: "10 Years",
    gender: "Male",
    health_rating: "Table 1",
    date_of_birth: "20000123T012345.678+0900",
    tobacco: true,
    marijuana: true,
    height_feet: 6,
    height_inches: 5,
    weight_pounds: 100,
    convertability: true
};

fetch(url, {
    method: "POST",
    headers: headers,
    body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));
```

{% endtab %}

{% tab title="Java" %}

```java
import okhttp3.*;

public class WhiteSwanApiCall {

    public static void main(String[] args) {
        OkHttpClient client = new OkHttpClient();

        MediaType mediaType = MediaType.parse("application/json");
        RequestBody body = RequestBody.create(mediaType, "{\"name\":\"John Doe\",\"email\":\"john@doe.com\",\"policy_type\":\"Term Life\",\"main_goal\":\"Protection\",\"resident_state\":\"Ohio\",\"death_benefit\":1000000,\"payment_schedule\":\"Monthly\",\"term_duration\":\"10 Years\",\"gender\":\"Male\",\"health_rating\":\"Table 1\",\"date_of_birth\":\"20000123T012345.678+0900\",\"tobacco\":true,\"marijuana\":true,\"height_feet\":6,\"height_inches\":5,\"weight_pounds\":100,\"convertability\":true}");

        Request request = new Request.Builder()
            .url("https://app.whiteswan.io/api/1.1/wf/complete_request")
            .post(body)
            .addHeader("Authorization", "Bearer <YOUR API KEY>")
            .addHeader("Content-Type", "application/json")
            .addHeader("Accept", "application/json")
            .addHeader("user-agent", "<YOUR APP>")
            .build();

        try {
            Response response = client.newCall(request).execute();
            System.out.println(response.body().string());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$ch = curl_init();

$data = array(
    "name" => "John Doe",
    "email" => "john@doe.com",
    "policy_type" => "Term Life",
    "main_goal" => "Protection",
    "resident_state" => "Ohio",
    "death_benefit" => 1000000,
    "payment_schedule" => "Monthly",
    "term_duration" => "10 Years",
    "gender" => "Male",
    "health_rating" => "Table 1",
    "date_of_birth" => "20000123T012345.678+0900",
    "tobacco" => true,
    "marijuana" => true,
    "height_feet" => 6,
    "height_inches" => 5,
    "weight_pounds" => 100,
    "convertability" => true
);

$headers = array(
    "Authorization: Bearer <YOUR API KEY>",
    "Content-Type: application/json",
    "Accept: application/json",
    "user-agent: <YOUR APP>"
);

curl_setopt($ch, CURLOPT_URL, "https://app.whiteswan.io/api/1.1/wf/complete_request");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
} else {
    echo $response;
}

curl_close($ch);
?>
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'net/http'
require 'json'
require 'uri'

uri = URI.parse("https://app.whiteswan.io/api/1.1/wf/complete_request")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

headers = {
  'Authorization' => 'Bearer <YOUR API KEY>',
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'User-Agent' => '<YOUR APP>'
}

data = {
  name: "John Doe",
  email: "john@doe.com",
  policy_type: "Term Life",
  main_goal: "Protection",
  resident_state: "Ohio",
  death_benefit: 1000000,
  payment_schedule: "Monthly",
  term_duration: "10 Years",
  gender: "Male",
  health_rating: "Table 1",
  date_of_birth: "20000123T012345.678+0900",
  tobacco: true,
  marijuana: true,
  height_feet: 6,
  height_inches: 5,
  weight_pounds: 100,
  convertability: true
}

request = Net::HTTP::Post.new(uri.path, headers)
request.body = data.to_json

response = http.request(request)
puts response.body
```

{% endtab %}

{% tab title="Go" %}

```go
package main

import (
	"bytes"
	"fmt"
	"net/http"
)

func main() {
	url := "https://app.whiteswan.io/api/1.1/wf/complete_request"
	data := `{
		"name": "John Doe",
		"email": "john@doe.com",
		"policy_type": "Term Life",
		"main_goal": "Protection",
		"resident_state": "Ohio",
		"death_benefit": 1000000,
		"payment_schedule": "Monthly",
		"term_duration": "10 Years",
		"gender": "Male",
		"health_rating": "Table 1",
		"date_of_birth": "20000123T012345.678+0900",
		"tobacco": true,
		"marijuana": true,
		"height_feet": 6,
		"height_inches": 5,
		"weight_pounds": 100,
		"convertability": true
	}`

	req, err := http.NewRequest("POST", url, bytes.NewBuffer([]byte(data)))
	if err != nil {
		panic(err)
	}

	req.Header.Set("Authorization", "Bearer <YOUR API KEY>")
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Accept", "application/json")
	req.Header.Set("User-Agent", "<YOUR APP>")

	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	fmt.Println("Response Status:", resp.Status)
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Code examples are available in ***cURL***, ***Python***, ***Javascript***, ***Java***, ***PHP***, ***Ruby***, and ***Go***, but can be constructed for other languages and tools. Some code examples include dependencies that may need to be installed in your codebase to ensure functionality. Please note that the code examples above does not contain all available input fields. Feel free to edit using the specification below. Also remember to replace any values in the code that looks like \<VALUE> and to adapt the parameter values passed.
{% endhint %}

***

**Body Parameters Specification:**

<table data-full-width="true"><thead><tr><th width="182">Field Label</th><th width="111">Field Key</th><th width="155">Field Type</th><th>Required</th><th width="190">Example Value</th><th width="265">Description</th><th width="629">Alternatives (if Multiple-Choice)</th></tr></thead><tbody><tr><td>Name</td><td>name</td><td>Text</td><td>Yes</td><td>John Doe</td><td>The full name of the person who the request is made on behalf of.</td><td>-</td></tr><tr><td>Email</td><td>email</td><td>Text</td><td>Yes</td><td>john@example.com</td><td>The email of the person who the request is made on behalf of.</td><td>-</td></tr><tr><td>Intended Insured Name</td><td>intended_insured_name</td><td>Text</td><td>No</td><td>Jack Doe</td><td>If the intended insured is not the same person as the policy holder, include the full name of the intended insured.</td><td>-</td></tr><tr><td>Second Insured Name</td><td>name_2</td><td>Text</td><td>No</td><td>Jane Doe</td><td>If covering two people, the full name of the second insured.</td><td>-</td></tr><tr><td>Policy type</td><td>policy_type</td><td>Multiple-Choice</td><td>Yes</td><td>Term Life</td><td>The policy type that this request is made for.</td><td>Variable Universal Life, Indexed Universal Life, Whole Life, Term Life, Guaranteed Universal Life, Private Placement Life, Final Expense, Accidental Death, Linked Benefit, Long Term Care</td></tr><tr><td>Main Goal</td><td>main_goal</td><td>Multiple-Choice</td><td>Yes</td><td>Accumulation</td><td>The primary goal of this plan request, either Protection, Balanced, or Accumulation.</td><td>Accumulation, Balanced, Protection</td></tr><tr><td>Pre-fill Application Data ID</td><td>contact_id</td><td>Text</td><td>No</td><td>12345</td><td>If you have already created a pre-fill information you can pass its ID by using this parameter to associate that info with this request.</td><td>-</td></tr><tr><td>Case Associated Person (Email)</td><td>associated_person</td><td>Text</td><td>No</td><td>associate@example.com</td><td>Optionally this case can be associated with a specific user on your White Swan account by including their email here. If left blank, it will be the person who set up this zap.</td><td>-</td></tr><tr><td>Phone Number</td><td>phone</td><td>Text</td><td>No</td><td>(123) 456-7890</td><td>The phone number of the person who the request is made on behalf of.</td><td>-</td></tr><tr><td>Resident State</td><td>resident_state</td><td>Multiple-Choice</td><td>Yes</td><td>California</td><td>The state in which the insured person is a resident.</td><td>All 50 States in the United States, written out in full in a capitalized form like example value.</td></tr><tr><td>Death Benefit Need</td><td>death_benefit</td><td>Number</td><td>Yes</td><td>500000</td><td>The amount of death benefit that is required for this plan. To opt for the lowest amount possible given a certain premium budget, use 0.</td><td>-</td></tr><tr><td>Payment Schedule</td><td>payment_schedule</td><td>Multiple-Choice</td><td>Yes</td><td>Monthly</td><td>How often premiums should be paid on this plan.</td><td>Monthly, Quarterly, Yearly</td></tr><tr><td>Paid Up Period</td><td>paid_up_period</td><td>Multiple-Choice</td><td>No</td><td>10 Years</td><td>How many years premiums should be paid on the policy (N/A for term life).</td><td>One-time, 10 Years, 20 Years, 30 Years, Lifetime</td></tr><tr><td>Term Life Coverage Period</td><td>term_duration</td><td>Multiple-Choice</td><td>No</td><td>20 Years</td><td>If this request is for term life, how many years the policy should cover the insured.</td><td>Less than 10 years, 10 Years, 15 Years, 20 Years, 30 Years, 40 Years</td></tr><tr><td>Premium Budget</td><td>premium_budget</td><td>Number</td><td>No</td><td>1000</td><td>The budget for premium payments (only applicable for plan requests with Accumulation as the main goal).</td><td>-</td></tr><tr><td>Gender</td><td>gender</td><td>Multiple-Choice</td><td>Yes</td><td>Male</td><td>Whether the intended insured person is Male or Female.</td><td>Male, Female</td></tr><tr><td>Second Insured Gender</td><td>gender_2</td><td>Multiple-Choice</td><td>No</td><td>Female</td><td>If covering two people, whether the second insured is Male or Female.</td><td>Male, Female</td></tr><tr><td>Date of Birth</td><td>date_of_birth</td><td>DateTime</td><td>Yes</td><td>19850716T000000+0100</td><td>The date of birth of the intended insured person.</td><td>-</td></tr><tr><td>Second Insured Date of Birth</td><td>date_of_birth_2</td><td>DateTime</td><td>No</td><td>19850716T000000+0100</td><td>If covering two people, the date of birth of the second insured.</td><td>-</td></tr><tr><td>Health Rating</td><td>health_rating</td><td>Multiple-Choice</td><td>Yes</td><td>Good</td><td>How the insured person would rate their own general health.</td><td>Super Preferred, Preferred, Standard Plus, Standard, Table 1, Table 2, Table 3, Table 4, Table 5, Table 6</td></tr><tr><td>Second Insured Health Rating</td><td>health_rating_2</td><td>Multiple-Choice</td><td>No</td><td>Excellent</td><td>If covering two people, how would the second insured rate their general health.</td><td>Super Preferred, Preferred, Standard Plus, Standard, Table 1, Table 2, Table 3, Table 4, Table 5, Table 6</td></tr><tr><td>Insured Uses Tobacco/Nicotine</td><td>tobacco</td><td>Boolean</td><td>Yes</td><td>false</td><td>Whether the intended insured person uses tobacco/nicotine products or not.</td><td>-</td></tr><tr><td>Second Insured Uses Tobacco/Nicotine</td><td>tobacco_2</td><td>Boolean</td><td>No</td><td>false</td><td>If covering two people, whether the second insured uses tobacco/nicotine products or not.</td><td>-</td></tr><tr><td>Insured Uses Marijuana/THC</td><td>marijuana</td><td>Boolean</td><td>No</td><td>false</td><td>Whether the intended insured person uses marijuana/THC products or not.</td><td>-</td></tr><tr><td>Second Insured Uses Marijuana/THC</td><td>marijuana_2</td><td>Boolean</td><td>No</td><td>false</td><td>If covering two people, whether the second insured uses marijuana/THC products or not.</td><td>-</td></tr><tr><td>Insured Height in Feet</td><td>height_feet</td><td>Number</td><td>Yes</td><td>6</td><td>The height in feet of the intended insured person.</td><td>-</td></tr><tr><td>Insured Height in Inches</td><td>height_inches</td><td>Number</td><td>Yes</td><td>2</td><td>The height in inches of the intended insured person.</td><td>-</td></tr><tr><td>Second Insured Height in Feet</td><td>height_feet_2</td><td>Number</td><td>No</td><td>5</td><td>If covering two people, the height in feet of the second insured.</td><td>-</td></tr><tr><td>Second Insured Height in Inches</td><td>height_inches_2</td><td>Number</td><td>No</td><td>6</td><td>If covering two people, the height in inches of the second insured.</td><td>-</td></tr><tr><td>Insured Weight in Pounds</td><td>weight_pounds</td><td>Number</td><td>Yes</td><td>180</td><td>The weight in pounds of the intended insured person.</td><td>-</td></tr><tr><td>Second Insured Weight in Pounds</td><td>weight_pounds_2</td><td>Number</td><td>No</td><td>170</td><td>If covering two people, the weight in pounds of the second insured.</td><td>-</td></tr><tr><td>Risk Profile (Only Variable Universal Life)</td><td>risk_profile</td><td>Multiple-Choice</td><td>No</td><td>Moderate</td><td>The risk appetite of the intended policy owner. Only applicable for Variable Universal Life.</td><td>Conservative, Moderate, Aggressive</td></tr><tr><td>Expedited Product Preference</td><td>expedited_products</td><td>Boolean</td><td>No</td><td>false</td><td>Whether this request should be for a product with expedited underwriting, which are policies that can be issued in 1-2 days.</td><td>-</td></tr><tr><td>Convertability Preference (Term life only)</td><td>convertability</td><td>Boolean</td><td>No</td><td>false</td><td>Whether a term life insurance should have the option to be converted into a permanent life insurance policy.</td><td>-</td></tr><tr><td>Riders for the Plan</td><td>riders</td><td>Text</td><td>No</td><td>Paid Up Additions (Whole Life Only)</td><td>The riders that should be included in this plan.</td><td>Paid Up Additions (Whole Life Only), Guaranteed Insurability Rider, Waiver of Premium Rider, Terminal Illness Rider, Return of Premium Rider, Child Insurance Rider, Supplemental Term Rider, Charitable Benefit Rider, Overloan Protection Rider, No Lapse Guarantee Rider, Enhanced Cash Surrender Value Rider, Conversion Extension (Term Life Only), Chronic/Critical Illness Rider, Waiver of Premium Rider, Return of Premium Rider, Home Health Care Rider, Joint Waiver of Premium, Shared Care Rider</td></tr><tr><td>Supplemental Term Coverage Length</td><td>supplemental_term_length</td><td>Multiple-Choice</td><td>No</td><td>10 Years</td><td>If Supplemental term is included as a rider, this value refers to the number of years that the supplemental term rider will cover the insured.</td><td>10 Years, 20 Years, 30 Years, Life</td></tr><tr><td>Supplemental Term Amount</td><td>supplemental_term_amount</td><td>Number</td><td>No</td><td>100000</td><td>If Supplemental term is included as a rider, this value refers to the amount of death benefit on the supplemental term rider.</td><td>-</td></tr><tr><td>Room for additional premium</td><td>additional_premium_room</td><td>Number</td><td>No</td><td>5000</td><td>The amount of additional future premium that should be able to be paid for this plan while maintaining tax advantages.</td><td>-</td></tr><tr><td>One-Time Deposit Amount</td><td>one_time_deposit_amount</td><td>Number</td><td>No</td><td>10000</td><td>The additional (if any) one-time amount that is planned to be deposited with the first premium of this policy.</td><td>-</td></tr><tr><td>Uncapped Account Preference (Only Indexed Universal Life)</td><td>uncapped_accounts</td><td>Boolean</td><td>No</td><td>false</td><td>Whether requests for indexed universal life should include accounts without caps (ceiling on yearly crediting rate).</td><td>-</td></tr><tr><td>Fee Account Preference (Only Indexed Universal Life)</td><td>fee_accounts</td><td>Boolean</td><td>No</td><td>false</td><td>Whether requests for indexed universal life should include accounts with fees, which may come with additional benefits.</td><td>-</td></tr><tr><td>Planned Retirement Income</td><td>planned_retirement_income</td><td>Boolean</td><td>No</td><td>false</td><td>Whether the intended owner of this policy plans to use the policy to access retirement income.</td><td>-</td></tr><tr><td>Starting Age of Retirement Income</td><td>retirement_start_age</td><td>Number</td><td>No</td><td>65</td><td>The age the intended owner intends to start distributing retirement income from this policy.</td><td>-</td></tr><tr><td>Years of Retirement Income</td><td>retirement_length</td><td>Number</td><td>No</td><td>20</td><td>The amount of years the intended owner intends to distribute retirement income from this policy.</td><td>-</td></tr><tr><td>Custom Allocation Mix</td><td>custom_account_allocation</td><td>Boolean</td><td>No</td><td>false</td><td>With this option selected as true, you can customize the recommended account allocations. If it is set to false, White Swan will recommend an appropriate allocation mix for this case.</td><td>-</td></tr><tr><td>Cash Value Allocations</td><td>allocation_accounts</td><td>Object List</td><td>No</td><td>-</td><td>For Indexed Universal Life/Variable Universal Life, the accounts to which the cash value of this plan should initially be allocated to.</td><td></td></tr><tr><td>-Account Type</td><td>account_type</td><td>Multiple-Choice</td><td>No</td><td>Fixed Interest Account</td><td>The type of account/fund for this allocation slot. Note that account availability varies.</td><td>Fixed Interest Account, Domestic Indexed Accounts (Indexed Universal Life Only), International Indexed Accounts (Indexed Universal Life Only), Multi Indexed Accounts (Indexed Universal Life Only), Managed Volatility Accounts (Indexed Universal Life Only), Overall Index Funds (Variable Universal Life Only), Overall Specialty Funds (Variable Universal Life Only), Overall Bond Funds (Variable Universal Life Only), Overall Downside Protected Accounts (Variable Universal Life Only), S&#x26;P 500 Index Fund (Variable Universal Life Only), International Markets Funds (Variable Universal Life Only), Emerging Markets Funds (Variable Universal Life Only), Technology &#x26; Innovation Funds (Variable Universal Life Only), Real Estate Funds (Variable Universal Life Only), Healthcare Funds (Variable Universal Life Only), Energy Funds (Variable Universal Life Only), Utilities Funds (Variable Universal Life Only), Long Term Bond Funds (Variable Universal Life Only), High Yield Bond Funds (Variable Universal Life Only), Inflation Protected Bond Funds (Variable Universal Life Only), Index-linked Accounts (Variable Universal Life Only)</td></tr><tr><td>-Allocation Percentage</td><td>allocation_percentage</td><td>Number</td><td>No</td><td>0.5</td><td>If custom allocation is selected, the percentage allocated to each account/fund. Note that for variable universal life, percentage allocations for all non Overall Allocation options indicate the allocation as a percentage of the allocation to that Overall category.</td><td>-</td></tr><tr><td>White Swan Follow Up</td><td>ws_follow_up</td><td>Boolean</td><td>No</td><td>true</td><td>If this is set to true, White Swan will follow up with this client after the personal plan has been sent.</td><td>-</td></tr><tr><td>Who Receives Communications for Case</td><td>coms_recipients</td><td>Multiple-Choice</td><td>No</td><td>Client &#x26; Me</td><td>This input could be used to control who receives communications related to this case. If left empty, both you and the client will receive communications.</td><td>Client &#x26; Me, Only Client, Only Me</td></tr><tr><td>Plan Comment</td><td>request_comment</td><td>Text</td><td>No</td><td>I might want my wife covered under this plan too - let's discuss</td><td>This can be used to leave an optional comment for this case.</td><td>-</td></tr><tr><td>Second Insured Email</td><td>email_2</td><td>Text</td><td>No</td><td>john@doe.com</td><td>The email of the second insured associated with the case.</td><td>-</td></tr><tr><td>Second Insured Phone Number</td><td>phone_2</td><td>Text</td><td>No</td><td>123456789</td><td>The phone number of the second insured associated with the case.</td><td>-</td></tr><tr><td>Specific Carrier(s) to Quote</td><td>carrier</td><td>Text List</td><td>No</td><td>["1","2"]</td><td>The specific carriers you'd like to quote as a list of IDs. To see all carrier IDs visit <a href="https://app.whiteswan.io/policies_embed?id_mode=true">this link</a>.</td><td>-</td></tr><tr><td>Specific Product(s) to Quote</td><td>product</td><td>Text List</td><td>No</td><td>["1","2"]</td><td>The specific products you'd like to quote as a list of IDs. To see all product IDs visit <a href="https://app.whiteswan.io/policies_embed?id_mode=true">this link</a>.</td><td>-</td></tr><tr><td>Solve For Option</td><td>solve_for</td><td>Multiple-choice</td><td>No</td><td>Min Non-MEC DB</td><td>The solve for option that should be run for this case. Not all policy types support all solves (or any solves at all) and if this parameter is omitted and a solve is required, we will assume a solve based on the goal of the request. </td><td>Min Non-MEC DB, Target Death Benefit, DB Solve Cash Value at Age, Lapse Protection Death Benefit, Specify Premium and Death Benefit, Maximum Non-MEC Premium, Target Premium, Premium Solve Cash Value at Age, Base Death Benefit, Base Premium, LTC Benefit</td></tr><tr><td>Cash Value Solve Amount</td><td>cash_value_solve_amount</td><td>Number</td><td>No</td><td>1000000</td><td>When solving for Premium Solve Cash Value at Age, this parameter specifies what cash value you want to solve for.</td><td>-</td></tr><tr><td>Cash Value Solve Age</td><td>cash_value_solve_age</td><td>Number</td><td>No</td><td>65</td><td>When solving for Premium Solve Cash Value at Age, this parameter specifies at what age you want the cash value to be your target amount.</td><td>-</td></tr><tr><td>Lapse Protection Solve Age</td><td>lapse_protection_solve_age</td><td>Number</td><td>No</td><td>95</td><td>When solving for Lapse Protection Death Benefit, this parameter specifies until what age you want lapse protection.</td><td>-</td></tr><tr><td>LTC Elimination Period</td><td>ltc_elimination_period</td><td>Multiple-choice</td><td>No</td><td>Immediately</td><td>Specifies the waiting period before Long-Term Care (LTC) benefits become payable after a qualifying event. This is effectively the deductible measured in time.</td><td>Immediately, 30 Days, 60 Days, 90 Days, 180 Days, 1 Year</td></tr><tr><td>LTC Monthly Benefit</td><td>ltc_monthly_benefit</td><td>Number</td><td>No</td><td>10000</td><td>The monthly dollar amount available to cover LTC expenses once benefits begin. This defines the size of the recurring payout.</td><td>-</td></tr><tr><td>LTC Pool of Money</td><td>ltc_pool_of_money</td><td>Number</td><td>No</td><td>1000000</td><td>The maximum lifetime dollar amount available for LTC benefits. The monthly benefit draws down from this pool until it is depleted.</td><td>-</td></tr><tr><td>LTC Years of Benefits</td><td>ltc_years_of_benefits</td><td>Multiple-choice</td><td>No</td><td>8 Years</td><td>Specifies how long LTC coverage is designed to last if benefits are paid at the selected monthly level.</td><td>2 Years, 3 Years, 4 Years, 5 Years, 6 Years, 7 Years, 8 Years, For Life</td></tr><tr><td>LTC Dual Insured</td><td>ltc_dual_insured</td><td>Multiple-choice</td><td>No</td><td>Two Spouses/Partners Applying</td><td>For LTC, defines whether coverage applies to one insured or both members of a couple.</td><td>No Partner/Spouse, One Spouse/Partner Applying, Two Spouses/Partners Applying</td></tr><tr><td>LTC Employer Association Discount</td><td>ltc_employer_association_discount</td><td>Multiple-choice</td><td>No</td><td>Association</td><td>Indicates eligibility for premium discounts based on employer or professional/association membership.</td><td>No Employer/Association, Employer, Association</td></tr><tr><td>LTC Rider Percentage</td><td>ltc_rider_percentage</td><td>Multiple-choice</td><td>No</td><td>2%</td><td>Percentage of the policy’s death benefit that can be accelerated or applied toward LTC benefits.</td><td>1%, 2%, 3%, 4%, 5%, 6%</td></tr><tr><td>Backdate Age</td><td>backdate_age</td><td>Yes/No</td><td>No</td><td>true</td><td>Boolean flag indicating whether the policy should be backdated to save age (e.g., to lock in lower premium rates based on a younger age).</td><td>-</td></tr></tbody></table>

{% hint style="info" %}
When using the input to customize cash value allocations for variable universal life, bear in mind that percentages are defined on two levels - overall category allocation, and specific category component allocation. As an example for this, a 50% allocation to Overall Index Funds and a 50% allocation to S\&P 500 Index Funds would result in an actual allocation of 25% to S\&P 500 Index Funds.
{% endhint %}

***

<details>

<summary>Sample Return Payload</summary>

```json
{
"url_to_view_request": "https://app.whiteswan.io/partner_case/john-doe",
"request_id": "169064082195x763050883821145600",
"message":"If instant quotes are available for this request you can access them asyncronously through webhooks or by polling the policy search endpoint.",
"search_id": "169064082195x763050883821145600"
}
```

</details>

**Returned Parameters Specification:**

<table data-full-width="true"><thead><tr><th>Field Label</th><th>Field Key</th><th>Field Type</th><th>Example Value</th><th>Description</th></tr></thead><tbody><tr><td>URL to View Request Internally</td><td>url_to_view_request</td><td>Text</td><td>https://app.whiteswan.io/partner_case/1813426016</td><td>Internal URL to view the request.</td></tr><tr><td>Plan Request Unique ID</td><td>request_id</td><td>Text</td><td>169064082195x763050883821145600</td><td>Unique ID for the plan request.</td></tr><tr><td>Message</td><td>message</td><td>Text</td><td>If instant quotes are available for this request you can access them asyncronously through webhooks or by polling the policy search endpoint.</td><td>A message on the status of the call.</td></tr><tr><td>Associated Policy Search</td><td>search_id</td><td>Text</td><td>169064082195x763050883821145600</td><td>The policy search object associated with this request, which can be polled through the <a href="../information-calls/policy-search">Policy Search</a> endpoint to get the quotes.</td></tr></tbody></table>
