# Personal Plan(s)

This action retrieves information about [personal plan(s)](/partner-knowledge-base/platform-overview/client-experience/personal-plans.md). It's essential to note that all personal plans are intrinsically associated with a [plan request](/partner-knowledge-base/platform-overview/client-experience/personal-plan-requests.md).&#x20;

{% hint style="info" %}
Every piece of information returned in this action is also readily available via the [personal plan page](/partner-knowledge-base/platform-overview/client-experience/personal-plans.md).
{% endhint %}

**API Method:**

## Fetch Personal Plan(s)

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

Returns information about personal plans associated with your White Swan account.

#### 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>

<pre class="language-json"><code class="lang-json"><strong>{
</strong>"plan_id":"231085x32086",
"user_email": "john@doe.com",
"client_email": "jane@gmail.com"
}
</code></pre>

</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 (or any) parameters.
{% endhint %}

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

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

```json
curl -X POST "https://app.whiteswan.io/api/1.1/wf/personal_plan" \
     -H "Authorization: Bearer <YOUR API KEY>" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -H "User-Agent: <YOUR APP>" \
     -d '{
               "plan_id":"231085x32086",
               "user_email": "john@doe.com",
               "client_email": "jane@gmail.com"
          }'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests

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

data = {
    "plan_id":"231085x32086",
    "user_email": "john@doe.com",
    "client_email": "jane@gmail.com"
}

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/personal_plan";
const headers = {
    "Authorization": "Bearer <YOUR API KEY>",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "user-agent": "<YOUR APP>"
};
const data = {
    "plan_id":"231085x32086",
    "user_email": "john@doe.com",
    "client_email": "jane@gmail.com"
};

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, "{\"plan_id\":\"231085x32086\",\"user_email\":\"john@doe.com\",\"client_email\":\"jane@gmail.com\"}");

        Request request = new Request.Builder()
            .url("https://app.whiteswan.io/api/1.1/wf/personal_plan")
            .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(
    "plan_id" => "231085x32086",
    "user_email" => "john@doe.com",
    "client_email" => "jane@gmail.com"
);

$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/personal_plan");
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/personal_plan")
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 = {
    plan_id: "231085x32086",
    user_email: "john@doe.com",
    client_email: "jane@gmail.com"
}

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/personal_plan"
	data := `{
    			"plan_id":"231085x32086",
    			"user_email": "john@doe.com",
    			"client_email": "jane@gmail.com"
		}`

	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. 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>Field Label</th><th>Field Key</th><th>Field Type</th><th>Example Value</th><th>Description</th></tr></thead><tbody><tr><td>Personal Plan ID (Optional)</td><td>plan_id</td><td>Text</td><td>8052128065x89026589</td><td>To retrieve information about a specific personal plan, you can map a personal plan ID from another trigger/action here.</td></tr><tr><td>Account User Email (Optional)</td><td>user_email</td><td>Text</td><td>john@doe.com</td><td>Can optionally be used to only show personal plans that are associated with a particular user in your account.</td></tr><tr><td>Client Email (Optional)</td><td>client_email</td><td>Text</td><td>jane@gmail.com</td><td>Can optionally be used to show personal plans associated with a particular client referred through your account.</td></tr><tr><td>Policy Search (Optional)</td><td>policy_search</td><td>Text</td><td>8052128065x89026589</td><td>Can optionally be used to only show personal plans that are associated with a particular <a href="/pages/SeJFqq0dOEc7rNidtUtL">policy search</a>.</td></tr></tbody></table>

***

<details>

<summary>Sample Return Payload</summary>

```json
[
        {
            "personal_plan_url": "https://app.whiteswan.io/personal_plan/john-doe-17",
            "client_name": "John Doe",
            "client_email": "john@whiteswan.io",
            "client_phone": "123456789",
            "intended_owner": "John Doe",
            "intended_insured": "John Doe",
            "expiration_date": "2025-08-26T14:28:39.345Z",
            "servicing_agent": {,
            "personal_message": "Hi John! I'm , and I'm here to help you through the process of getting a plan that suits your needs. While this quote has been automatically generated, I can find you a custom quote or answer any of your questions if you schedule a time with me or request a custom quote below.",
            "started_applied_for": false,
            "insurer": {
                "id": "",
                "name": "Transamerica",
                "logo": "//762d0145e332a78fcb6f9b9f529c26ab.cdn.bubble.io/f1715083057086x267225083770126200/transamerica.svg",
                "am_best_rating": "A",
                "established_year": 1961
            },
            "product": {
                "id": "",
                "name": "Trendsetter LB 20",
                "guaranteed_issue": false,
                "instant_decision_underwriting": false,
                "dual_insureds": false,
                "average_approval_time": "25 Days",
                "e_delivery": true,
                "binder_premium_payment_required": false,
                "convertible_to_permanent": true,
                "conversion_details": "For the entire term up to age 70 or age 75 for Preferred Plus. Conversions after the first five policy years can only convert to specific products.",
                "disclosure": "",
                "consumer_guide": "",
                "agent_guide": "",
                "underwriting_guide": ""
            },
            "illustration_pdf": "",
            "prospectus_pdf": null,
            "term_length": "20 Years",
            "term_length_numerical": 20,
            "assumed_annual_return": null,
            "initial_death_benefit": 1000000,
            "premium_modality": "Monthly",
            "recurring_premium": 47.3,
            "one_time_deposit": 0,
            "policy_type": "Term Life",
            "main_goal": "Protection",
            "health_rating": "Super Preferred",
            "annual_retirement_income": null,
            "total_retirement_income": null,
            "years_of_retirement_income": null,
            "annual_target_premium": null,
            "annual_total_premium": 567.6,
            "paid_up_period": "20 Years",
            "paid_up_period_numerical": 20,
            "guaranteed_projected_cash_values": null,
            "non_guaranteed_projected_cash_values": null,
            "projected_death_benefits": null,
            "future_cash_values_irr": null,
            "future_death_benefits_irr": null,
            "riders": [],
            "allocation_accounts": [],
            "monthly_ltc_benefit": null,
            "ltc_pool_of_money": null,
            "ltc_elimination_period": null,
            "ltc_benefit_limit": null,
            "shared_care_rider": false,
            "joint_waiver_of_premium": false,
            "home_health_care_rider": false,
            "ltc_discounts": [
                "No Employer/Association Discount",
                "Partner/Spouse Discount"
            ],
            "conversion_privilege_expiration_date": null,
            "medical_exam_required_underwriting": "Exam Possibly Required",
            "medical_exam_details": "Based on your answers to underwriting questions, an exam may or may not be required.",
            "plan_id": "1756132139593x400146733315550850",
            "associated_request_id": "1756132113128x587035433367457300"
        }
]
```

</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><th>Options (if Multiple-Choice)</th></tr></thead><tbody><tr><td>Personal Plan URL</td><td>personal_plan_url</td><td>Text</td><td>https://app.whiteswan.io/personal_plan/john-doe</td><td>Direct link to view the personal plan.</td><td>-</td></tr><tr><td>Client Name</td><td>client_name</td><td>Text</td><td>John Doe</td><td>Full name of the client.</td><td>-</td></tr><tr><td>Client Email</td><td>client_email</td><td>Text</td><td>john@doe.com</td><td>Email address of the client.</td><td>-</td></tr><tr><td>Client Phone</td><td>client_phone</td><td>Text</td><td>1234567890</td><td>Phone number of the client.</td><td>-</td></tr><tr><td>Intended Owner</td><td>intended_owner</td><td>Text</td><td>Acme Inc</td><td>Entity or individual intended to be the owner of the plan.</td><td>-</td></tr><tr><td>Intended Insured</td><td>intended_insured</td><td>Text</td><td>John Doe</td><td>Entity or individual intended to be insured by the plan.</td><td>-</td></tr><tr><td>Expiration Date</td><td>expiration_date</td><td>DateTime</td><td>2023-05-25T18:19:44.611Z</td><td>Date and time when the plan will expire.</td><td>-</td></tr><tr><td>Personal Message</td><td>personal_message</td><td>Text</td><td>Hi John! By comparing several options...</td><td>Personalized message from the success manager to the client.</td><td>-</td></tr><tr><td>Started Applied For</td><td>started_applied_for</td><td>Boolean</td><td>false</td><td>Indicates whether an application has been started for this plan.</td><td>-</td></tr><tr><td>Insurer</td><td>insurer</td><td>Object</td><td>-</td><td>The insurer associated with this quote.</td><td>-</td></tr><tr><td><ul><li>Insurer ID</li></ul></td><td>id</td><td>Text</td><td>2</td><td>The ID of the insurance carrier.</td><td>-</td></tr><tr><td><ul><li>Insurer Name</li></ul></td><td>name</td><td>Text</td><td>John Hancock</td><td>The name of the insurance carrier.</td><td>-</td></tr><tr><td><ul><li>Insurer Logo</li></ul></td><td>logo</td><td>Text</td><td>https://s3.amazonaws.com/appforest_uf/f1660780457493x297075060123930300/john%20hancock%20Logo.png</td><td>A logo image file of the insurance carrier associated with this plan.</td><td>-</td></tr><tr><td>Product</td><td>product</td><td>Object</td><td>-</td><td>The specific insurance carrier policy that it associated with this quote.</td><td>-</td></tr><tr><td><ul><li>Product Name</li></ul></td><td>name</td><td>Text</td><td>Sample Policy</td><td>Name of the insurance product.</td><td>-</td></tr><tr><td><ul><li>Product ID</li></ul></td><td>id</td><td>Text</td><td>2</td><td>The ID of the insurance product.</td><td>-</td></tr><tr><td><ul><li>Guaranteed Issue</li></ul></td><td>guaranteed_issue</td><td>Yes/No</td><td>true</td><td>Indicates whether the product can be issued without medical underwriting, regardless of the applicant’s health status.</td><td>-</td></tr><tr><td><ul><li>Instant Decision Underwriting</li></ul></td><td>instant_decision_underwriting</td><td>Yes/No</td><td>true</td><td>Specifies if the product supports instant decisioning (approval or decline within minutes) based on digital application data.</td><td>-</td></tr><tr><td><ul><li>Dual Insureds</li></ul></td><td>dual_insured</td><td>Yes/No</td><td>true</td><td>Shows whether the policy covers two insured individuals under the same contract (e.g., survivorship or joint policies).</td><td>-</td></tr><tr><td><ul><li>Average Approval Time</li></ul></td><td>average_approval_time</td><td>Text</td><td>25 Days</td><td>The typical time it takes for the carrier to issue a policy, from application submission to approval (e.g., “25 Days”).</td><td>-</td></tr><tr><td><ul><li>E-delivery Status</li></ul></td><td>e_delivery</td><td>Yes/No</td><td>true</td><td>Indicates if the carrier supports electronic delivery of policy documents rather than requiring physical mail.</td><td>-</td></tr><tr><td><ul><li>Binder Premium Payment</li></ul></td><td>binder_premium_payment_required</td><td>Yes/No</td><td>true</td><td>Specifies whether an initial premium payment is required to bind coverage at the time of application.</td><td>-</td></tr><tr><td><ul><li>Convertability to permanent policy</li></ul></td><td>convertible_to_permanent</td><td>Yes/No</td><td>true</td><td>Indicates whether a term policy can be converted into a permanent life insurance product without additional underwriting.</td><td>-</td></tr><tr><td><ul><li>Conversion Privilege Details</li></ul></td><td>conversion_details</td><td>Text</td><td>For the entire term up to age 70 or age 75 for Preferred Plus. Conversions after the first five policy years can only convert to specific products.</td><td>Carrier-specific rules and limitations about policy conversion options (e.g., eligible products, time windows, age limits).</td><td>-</td></tr><tr><td><ul><li>Insurer Disclosure</li></ul></td><td>disclosure</td><td>Text</td><td>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...</td><td>General disclosure statement or carrier-provided text about the product’s terms, limitations, or conditions.</td><td>-</td></tr><tr><td><ul><li>Consumer Guide PDF</li></ul></td><td>consumer_guide</td><td>Text</td><td>https://762d0145e332a78fcb6f9b9f529c26ab.cdn.bubble.io/f1724676961276x174429020343094940/resource.pdf</td><td>URL to the carrier’s official consumer guide for the product, intended for clients.</td><td>-</td></tr><tr><td><ul><li>Agent Guide PDF</li></ul></td><td>agent_guide</td><td>Text</td><td>https://762d0145e332a78fcb6f9b9f529c26ab.cdn.bubble.io/f1724676961276x174429020343094940/resource.pdf</td><td>URL to the carrier’s agent-facing guide, containing details needed for producers to sell and manage the product.</td><td>-</td></tr><tr><td><ul><li>Underwriting Guide PDF</li></ul></td><td>underwriting_guide</td><td>Text</td><td>https://762d0145e332a78fcb6f9b9f529c26ab.cdn.bubble.io/f1724676961276x174429020343094940/resource.pdf</td><td>URL to the underwriting guide with rules, requirements, and processes carriers follow during risk assessment.</td><td>-</td></tr><tr><td>Insurance Illustration Available</td><td>has_illustration</td><td>Yes/No</td><td>true</td><td>Whether this personal plan has an insurance illustration PDF available. If it has, you can retrieve this illustration via the <a href="/pages/j0fyUQ54qYm9RaxSPCNQ">Illustration</a> endpoint. </td><td>-</td></tr><tr><td>Prospectus PDF</td><td>prospectus_pdf</td><td>Text</td><td>https:https://s3.amazonaws.com/appforest_uf/f1681150732287801017500398200/john-doe-prospectus.pdf</td><td>For variable universal life, a link to the prospectus PDF provided by the insurer associated with this plan.</td><td>-</td></tr><tr><td>Term Life Length (Text)</td><td>term_length</td><td>Text</td><td>10 Years</td><td>For term life, the length of the coverage in text.</td><td>-</td></tr><tr><td>Term Life Length (Number)</td><td>term_length_numerical</td><td>Number</td><td>10</td><td>For term life, the length of the coverage in numbers.</td><td>-</td></tr><tr><td>Assumed Annual Return (Variable Universal Life)</td><td>assumed_annual_return</td><td>Number</td><td>0.08</td><td>For variable universal life, the assumed annual return of the plan.</td><td>-</td></tr><tr><td>Initial Death Benefit</td><td>initial_death_benefit</td><td>Number</td><td>1000000</td><td>The initial death benefit of this plan.</td><td>-</td></tr><tr><td>Payment Schedule</td><td>premium_modality</td><td>Text</td><td>Monthly</td><td>The payment schedule for this plan.</td><td>-</td></tr><tr><td>Recurring Premium Amount</td><td>recurring_premium</td><td>Number</td><td>258</td><td>The amount of premium planned per premium installment for this plan.</td><td>-</td></tr><tr><td>One Time Deposit</td><td>one_time_deposit</td><td>Number</td><td>1000</td><td>The one time deposit amount for this plan.</td><td>-</td></tr><tr><td>Policy Type</td><td>policy_type</td><td>Text</td><td>Variable Universal Life</td><td>Type of insurance policy.</td><td>-</td></tr><tr><td>Main Goal</td><td>main_goal</td><td>Text</td><td>Accumulation</td><td>Primary objective of the insurance policy.</td><td>-</td></tr><tr><td>Health Rating</td><td>health_rating</td><td>Text</td><td>Preferred Plus</td><td>Assumed health rating for the plan.</td><td>-</td></tr><tr><td>Annual Retirement Income</td><td>annual_retirement_income</td><td>Number</td><td>100000</td><td>Expected annual retirement income from the plan.</td><td>-</td></tr><tr><td>Total Retirement Income</td><td>total_retirement_income</td><td>Number</td><td>3000000</td><td>Total expected retirement income from the plan.</td><td>-</td></tr><tr><td>Years of Retirement Income</td><td>years_of_retirement_income</td><td>Number</td><td>20</td><td>Duration (in years) of the retirement income.</td><td>-</td></tr><tr><td>Annual Target Premium</td><td>annual_target_premium</td><td>Number</td><td>4500</td><td>The <a href="/pages/eFpEKGRNSEUtTIwJ2tNX">annual target premium</a> for the plan.</td><td>-</td></tr><tr><td>Annual Total Premium</td><td>annual_total_premium</td><td>Number</td><td>6000</td><td>Total annual premium for the plan.</td><td>-</td></tr><tr><td>Paid Up Period</td><td>paid_up_period</td><td>Text</td><td>30 Years</td><td>Duration (in text) after which no further premiums are required.</td><td>-</td></tr><tr><td>Paid Up Period Numerical</td><td>paid_up_period_numerical</td><td>Number</td><td>30</td><td>Duration (in numbers) after which no further premiums are required.</td><td>-</td></tr><tr><td>Guaranteed Cash Values</td><td>guaranteed_projected_cash_values</td><td>Number List</td><td>0,100,200,500...</td><td>The guaranteed future cash values, with each value representing one year.</td><td>-</td></tr><tr><td>Projected Non-Guaranteed Cash Values</td><td>non_guaranteed_projected_cash_values</td><td>Number List</td><td>1000,1200,1300,1400...</td><td>The projected, non-guaranteed future cash values, with each value representing one year.</td><td>-</td></tr><tr><td>Servicing Agent</td><td>servicing_agent</td><td>Object</td><td>-</td><td>The agent assigned to the case.</td><td>-</td></tr><tr><td><ul><li>Name</li></ul></td><td>name</td><td>Text</td><td>John Doe</td><td>The agent's name.</td><td>-</td></tr><tr><td><ul><li>Email</li></ul></td><td>email</td><td>Text</td><td>john@doeinsurance.com</td><td>The agent's email.</td><td>-</td></tr><tr><td><ul><li>Phone</li></ul></td><td>phone</td><td>Text</td><td>123456789</td><td>The agent's phone number.</td><td>-</td></tr><tr><td><ul><li>Meeting Link</li></ul></td><td>meeting_link</td><td>Text</td><td>https://calendly.com/johndoe</td><td>The agent's meeting scheduling link.</td><td>-</td></tr><tr><td>Projected Death Benefits</td><td>projected_death_benefits</td><td>Object List</td><td>-</td><td>The projected future death benefits for the plan.</td><td>-</td></tr><tr><td>-Insured Age</td><td>insured_age</td><td>Number</td><td>85</td><td>Age of the insured when the projected death benefit is calculated.</td><td>-</td></tr><tr><td>-Projected Death Benefit</td><td>death_benefit</td><td>Number</td><td>150000</td><td>Projected death benefits at future insured ages.</td><td>-</td></tr><tr><td>Projected Cash Value Internal Rates of Return</td><td>future_cash_values_irr</td><td>Object List</td><td>-</td><td>The projected future internal rates of return for the cash value of this plan.</td><td>-</td></tr><tr><td>-Insured Age</td><td>insured_age</td><td>Number</td><td>65</td><td>The future age of the insured person when the IRR is calculated.</td><td>-</td></tr><tr><td>-Projected Cash Value Internal Rate of Return</td><td>irr_rate</td><td>Number</td><td>0.07</td><td>The internal rate of return at the future age.</td><td>-</td></tr><tr><td>Projected Death Benefit Internal Rates of Return</td><td>future_death_benefits_irr</td><td>Object List</td><td>-</td><td>The projected future internal rates of return for the death benefit of this plan.</td><td>-</td></tr><tr><td>-Insured Age</td><td>insured_age</td><td>Number</td><td>85</td><td>The future age of the insured person when the IRR is calculated.</td><td>-</td></tr><tr><td>-Projected Death Benefit Internal Rate of Return</td><td>irr_rate</td><td>Number</td><td>0.07</td><td>The internal rate of return at the future age.</td><td>-</td></tr><tr><td>Riders Included in Plan</td><td>riders</td><td>Line Item(s)</td><td>-</td><td>The riders included in the plan.</td><td>-</td></tr><tr><td>-Rider Name</td><td>name</td><td>Text</td><td>Guaranteed Insurability Rider</td><td>Name of the rider.</td><td>-</td></tr><tr><td>-Rider Description</td><td>description</td><td>Text</td><td>Allows you to get additional life insurance policies...</td><td>Description of the rider.</td><td>-</td></tr><tr><td>Allocation Accounts/Funds</td><td>allocation_accounts</td><td>Line Item(s)</td><td>-</td><td>For Variable/Indexed Universal Life, the accounts to which the cash value is planned to be initially allocated to.</td><td>-</td></tr><tr><td>-Allocation Account/Fund Name</td><td>name</td><td>Text</td><td>Sample Fund</td><td>Name of the fund or account where allocations are made.</td><td>-</td></tr><tr><td>-Percentage Allocation</td><td>allocation_percentage</td><td>Number</td><td>0.75</td><td>Percentage of allocation to a fund or account.</td><td>-</td></tr><tr><td>-Fund Inception Year</td><td>fund_inception</td><td>Number</td><td>2000</td><td>Year when a fund was started.</td><td>-</td></tr><tr><td>-Fund Average Historical Return</td><td>average_historical_return</td><td>Number</td><td>0.089</td><td>Average return of a fund.</td><td>-</td></tr><tr><td>-Fund Min Historical Return</td><td>min_historical_return</td><td>Number</td><td>-0.09</td><td>The lowest historical annual return of a fund.</td><td>-</td></tr><tr><td>-Fund Max Historical Return</td><td>max_historical_return</td><td>Number</td><td>0.5</td><td>The highest historical annual return of a fund.</td><td>-</td></tr><tr><td>-Fund Managing Institution</td><td>managing_institution</td><td>Text</td><td>Sample Asset Manager</td><td>Institution managing a fund.</td><td>-</td></tr><tr><td>-Fund Account Fee</td><td>fund_account_fee</td><td>Number</td><td>0.005</td><td>The annual fee of a fund.</td><td>-</td></tr><tr><td>-Fund Morningstar Rating</td><td>morningstar_rating</td><td>Number</td><td>9</td><td>The morningstar rating of a fund (0-10)</td><td>-</td></tr><tr><td>-Fixed Account Current Rate</td><td>fixed_current_interest</td><td>Number</td><td>0.03</td><td>The current interest rate of a fixed account.</td><td>-</td></tr><tr><td>-Fixed Account Guaranteed Minimum Rate</td><td>fixed_guaranteed_interest</td><td>Number</td><td>0.01</td><td>The guaranteed minimum interest rate of a fixed account.</td><td>-</td></tr><tr><td>-Indexed Account Floor Rate</td><td>indexed_floor_rate</td><td>Number</td><td>0</td><td>The floor rate of an indexed account.</td><td>-</td></tr><tr><td>-Indexed Account Cap Rate</td><td>indexed_cap_rate</td><td>Number</td><td>0.1</td><td>The cap rate of an indexed account.</td><td>-</td></tr><tr><td>-Indexed Account Participation Rate</td><td>indexed_participation_rate</td><td>Number</td><td>1</td><td>The participation rate of an indexed account.</td><td>-</td></tr><tr><td>-Indexed Account Bonus/Multiplier</td><td>indexed_bonus_multiplier</td><td>Text</td><td>None</td><td>The bonus/multiplier of an indexed account.</td><td>-</td></tr><tr><td>-Indexed Account Underlying Index</td><td>underlying_index</td><td>Text</td><td>S&#x26;P 500 Price Index</td><td>The underlying index of an indexed account.</td><td>-</td></tr><tr><td>Personal Plan ID</td><td>plan_id</td><td>Text</td><td>1681150784604x148984488584282100</td><td>Unique identifier for the personal plan.</td><td>-</td></tr><tr><td>Associated Request ID</td><td>associated_request_id</td><td>Text</td><td>1681142208501x817915131724300300</td><td>ID of the request associated with the plan.</td><td>-</td></tr><tr><td>Monthly LTC Benefit</td><td>monthly_ltc_benefit</td><td>Number</td><td>10000</td><td>The maximum monthly dollar amount available for Long-Term Care (LTC) expenses. Null if not applicable to the product.</td><td>-</td></tr><tr><td>LTC Pool of Money</td><td>ltc_pool_of_money</td><td>Number</td><td>1000000</td><td>The total lifetime dollar amount available for LTC benefits. Benefits are paid out of this pool until it is depleted.</td><td>-</td></tr><tr><td>LTC Elimination Period</td><td>ltc_elimination_period</td><td>Multiple-Choice</td><td>1 Year</td><td>The waiting period before LTC benefits become payable after a qualifying event. Null if not applicable.</td><td>Immediately, 30 Days, 60 Days, 90 Days, 180 Days, 1 Year</td></tr><tr><td>LTC Benefit Limit</td><td>ltc_benefit_limit</td><td>Multiple-Choice</td><td>2 Years</td><td>The maximum limit applied to recieved LTC benefits.</td><td>2 Years, 3 Years, 4 Years, 5 Years, 6 Years, 7 Years, 8 Years, For Life</td></tr><tr><td>Share Care Rider</td><td>shared_care_rider</td><td>Yes/No</td><td>true</td><td>Indicates whether the policy offers a shared care rider, allowing two insured individuals (often spouses) to share their LTC benefit pools.</td><td>-</td></tr><tr><td>Joint Waiver of Premium</td><td>joint_waiver_of_premium</td><td>Yes/No</td><td>true</td><td>Specifies whether the policy includes a joint waiver of premium, waiving payments if one insured qualifies for benefits under certain conditions.</td><td>-</td></tr><tr><td>Home Health Care Rider</td><td>home_health_care_rider</td><td>Yes/No</td><td>true</td><td>Indicates whether the policy includes a rider covering care received at home instead of in a facility.</td><td>-</td></tr><tr><td>LTC Discounts</td><td>ltc_discounts</td><td>List of Multiple-Choice</td><td>["Two Spouses/Partners Applying","Employer"]</td><td>Lists applicable LTC-related premium discounts, such as employer-based discounts or partner/spouse discounts.</td><td>No Partner/Spouse, One Spouse/Partner Applying, Two Spouses/Partners Applying, No Employer/Association, Employer, Association</td></tr><tr><td>Term Conversion Privilege Expiration Date</td><td>conversion_privilege_expiration_date</td><td>Date</td><td>20260716T000000+0200</td><td>The date until which the term policy is eligible for conversion into a permanent life insurance policy. Null if the feature does not apply.</td><td>-</td></tr><tr><td>Medical Exam Required Status</td><td>medical_exam_required_underwriting</td><td>Text</td><td>Exam Not Required</td><td>High-level indicator of whether a medical exam is required for underwriting (e.g., “Exam Required,” “No Exam,” “Exam Possibly Required”).</td><td>-</td></tr><tr><td>Medical Exam Required Details</td><td>medical_exam_details</td><td>Text</td><td>You won't need an exam, phone call, or your medical records reviewed.</td><td>Additional carrier-specific information about medical exam requirements, conditions, or exceptions for underwriting.</td><td>-</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.whiteswan.io/partner-knowledge-base/api-documentation/information-calls/personal-plan-s.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
