Store an illustration

POST /api/v1/illustration

Headers

  • X-PLANNR-ACCOUNT-UUID string
application/json

Body Required

  • name string Required

    The name of the illustration.

  • client_uuid string Required

    The client UUID to associate the illustration with.

  • requested_by_uuid string Required

    The requested by account UUID to associate the illustration with. If not passed, this will default to the assigned adviser on the client account.

  • plan_uuid string

    The plan UUID to associate the illustration with. If not provided and is_draft is false, a new proposed plan will be created using the request_data.

  • request_data array[string]

    The request data used to generate the illustration.

  • is_draft boolean Required

    Whether the illustration is a draft or not. If draft, it will not be sent to the platform.

  • platform string Required

    The platform used to generate the illustration.

  • generate boolean

    Whether to generate the illustration. Defaults to true.

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • uuid string

      The UUID of the resource.

    • created_at string

      The timestamp of when the resource was created.

    • updated_at string

      The timestamp of when the resource was updated.

    • generated_at string

      The timestamp of when the illustration was generated with the platform.

    • status string

      The status of the illustration. Available values: created, generating_illustration and generated_illustration

    • account object

      The account that the illustration belongs to.

      Hide account attributes Show account attributes object
      • uuid string
      • created_at string
      • updated_at string
      • type string
      • role string
      • first_name string
      • last_name string
      • name string
      • email string
      • firm string
      • primary_phone_number string
      • primary_email string
      • current_time_entry string
      • assigned_adviser string
      • assigned_administrator string
      • assigned_paraplanner string
      • introduced_by string
      • groups string
      • tags string
      • owners string
      • first_contact_date string
      • next_review_date string
      • previous_review_date string
      • anniversary_review_date string
      • with_login boolean
      • has_joint_account boolean
      • can_be_deleted string
      • joint_account_circle string
      • ownership_percentage integer
      • inactive_at string
      • custom_fields string
      • external_references string
    • application object

      If the illustration is linked to an application, this will be the application resource.

      Hide application attributes Show application attributes object
      • uuid string
      • created_at string
      • updated_at string
      • generated_at string
      • name string
      • request_data array
      • status string
      • platform string
      • platform_illustration_id string
      • client string
      • firm string
      • illustration string
      • requested_by string
      • plan string
    • plan object

      The plan that the illustration belongs to.

      Hide plan attributes Show plan attributes object
      • uuid string
      • created_at string
      • updated_at string
      • opened_at string
      • name string
      • type string
      • sub_type string
      • abstract_type string
      • policy_number string
      • proposal_reference string
      • status string
      • inactive_at string
      • inactive_reason string
      • agency_in_your_name boolean
      • agency_in_your_name_from string
      • originally_sold_by_firm boolean
      • under_advice boolean
      • visible_on_client_portal boolean
      • include_in_client_valuation boolean
      • show_on_joint boolean
      • review_date string
      • on_panel boolean
      • is_group_scheme boolean
      • is_sub_group_scheme boolean
      • is_group_scheme_member boolean
      • advice_area string
      • main_account string
      • sub_accounts string
      • provider string
      • covers string
      • claims string
      • total_benefit_amount object
        Hide total_benefit_amount attributes Show total_benefit_amount attributes object
        • amount object
          Hide amount attributes Show amount attributes object
          • example string
          • description string
        • formatted object
          Hide formatted attributes Show formatted attributes object
          • example string
          • description string
        • currency object
          Hide currency attributes Show currency attributes object
          • example string
          • description string
      • total_benefits object
        Hide total_benefits attributes Show total_benefits attributes object
        • critical_illness object
          Hide critical_illness attributes Show critical_illness attributes object
          • amount object
            Hide amount attributes Show amount attributes object
            • example string
            • description string
          • formatted object
            Hide formatted attributes Show formatted attributes object
            • example string
            • description string
          • currency object
            Hide currency attributes Show currency attributes object
            • example string
            • description string
        • family_income_benefit object
          Hide family_income_benefit attributes Show family_income_benefit attributes object
          • amount object
            Hide amount attributes Show amount attributes object
            • example string
            • description string
          • formatted object
            Hide formatted attributes Show formatted attributes object
            • example string
            • description string
          • currency object
            Hide currency attributes Show currency attributes object
            • example string
            • description string
      • latest_valuations string
      • value object
        Hide value attributes Show value attributes object
        • amount object
          Hide amount attributes Show amount attributes object
          • example string
          • description string
        • formatted object
          Hide formatted attributes Show formatted attributes object
          • example string
          • description string
        • currency object
          Hide currency attributes Show currency attributes object
          • example string
          • description string
      • valued_at string
      • original_valued_at string
      • client string
      • accounts string
      • seller string
      • linked_owners string
      • linked_plans string
      • statistics object
        Hide statistics attribute Show statistics attribute object
        • recent_growth integer
      • cases string
      • tags string
      • is_wrap_product boolean
      • is_wrap_child boolean
      • wrap string
      • wrap_children string
      • can_be_deleted string
      • contract_enquiry_account string
      • custom_fields string
      • external_references string
    • requested_by object

      The account (adviser) that requested the illustration.

      Hide requested_by attributes Show requested_by attributes object
      • uuid string
      • created_at string
      • updated_at string
      • type string
      • role string
      • first_name string
      • last_name string
      • name string
      • email string
      • firm string
      • primary_phone_number string
      • primary_email string
      • current_time_entry string
      • assigned_adviser string
      • assigned_administrator string
      • assigned_paraplanner string
      • introduced_by string
      • groups string
      • tags string
      • owners string
      • first_contact_date string
      • next_review_date string
      • previous_review_date string
      • anniversary_review_date string
      • with_login boolean
      • has_joint_account boolean
      • can_be_deleted string
      • joint_account_circle string
      • ownership_percentage integer
      • inactive_at string
      • custom_fields string
      • external_references string
    • name string

      The name of the illustration.

    • request_data array

      The request data used to generate the illustration.

    • platform string

      The platform used to generate the illustration.

    • platform_illustration_id string

      The platform specific illustration id.

    • account_opening_allowed boolean

      Whether the account opening is allowed for the illustration.

    • is_draft boolean

      Whether the illustration is in the created/draft state.

POST /api/v1/illustration
curl \
 --request POST 'https://api.plannrcrm.com/api/v1/illustration' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --header "X-PLANNR-ACCOUNT-UUID: {YOUR_PLANNR_ACCOUNT_UUID}" \
 --data '{"name":"SuperSaver 2024","client_uuid":"0da247e3-b9a1-41d4-a6b8-80721d859ad6","requested_by_uuid":"d2c66a37-7961-4eb9-94e6-15e244791224","plan_uuid":"d1a0d728-1000-40d8-8074-35c8bd837ee2","request_data":["string"],"is_draft":false,"platform":"seccl","generate":true}'
Request examples
# Headers
X-PLANNR-ACCOUNT-UUID: {YOUR_PLANNR_ACCOUNT_UUID}

# Payload
{
  "name": "SuperSaver 2024",
  "client_uuid": "0da247e3-b9a1-41d4-a6b8-80721d859ad6",
  "requested_by_uuid": "d2c66a37-7961-4eb9-94e6-15e244791224",
  "plan_uuid": "d1a0d728-1000-40d8-8074-35c8bd837ee2",
  "request_data": [
    "string"
  ],
  "is_draft": false,
  "platform": "seccl",
  "generate": true
}
Response examples (200)
{
  "name": "Illustration Name",
  "plan": {
    "name": "Johns ISA",
    "tags": "App\\Http\\Resources\\TagResource",
    "type": "cash_account",
    "uuid": "6813ff50-e9eb-426b-a678-2424ed075076",
    "wrap": "App\\Http\\Resources\\Plans\\PlanResource",
    "cases": "App\\Http\\Resources\\CasesResource",
    "value": {
      "amount": {
        "example": "4000",
        "description": "Money amount at their lowest denominator (for example: pennies)"
      },
      "currency": {
        "example": "GBP",
        "description": "Currency of the money"
      },
      "formatted": {
        "example": "£40.00",
        "description": "Money amount formatted with currency"
      }
    },
    "claims": "App\\Http\\Resources\\Plans\\ClaimResource",
    "client": "App\\Http\\Resources\\AccountResource",
    "covers": "App\\Http\\Resources\\Plans\\CoverResource",
    "seller": "App\\Http\\Resources\\AccountResource",
    "status": "inactive",
    "accounts": "App\\Http\\Resources\\AccountResource",
    "on_panel": true,
    "provider": "App\\Http\\Resources\\Plans\\ProviderResource",
    "sub_type": "lifetime isa",
    "opened_at": "2025-06-26T11:37:03+01:00",
    "valued_at": "2025-06-26T11:37:03+01:00",
    "created_at": "2025-06-26T11:37:03+01:00",
    "statistics": {
      "recent_growth": 100
    },
    "updated_at": "2025-06-26T11:37:03+01:00",
    "advice_area": "non_investment_insurance",
    "inactive_at": "2025-06-26T11:37:03+01:00",
    "review_date": "2024-06-26",
    "linked_plans": "App\\Http\\Resources\\Plans\\PlanResource",
    "main_account": "App\\Http\\Resources\\Plans\\SubAccountResource",
    "sub_accounts": "App\\Http\\Resources\\Plans\\SubAccountResource",
    "under_advice": true,
    "abstract_type": "asset",
    "custom_fields": "App\\Http\\Resources\\CustomFieldValueResource",
    "is_wrap_child": false,
    "linked_owners": "App\\Http\\Resources\\AccountResource",
    "policy_number": "AVIVA-123",
    "show_on_joint": true,
    "wrap_children": "App\\Http\\Resources\\Plans\\PlanResource",
    "can_be_deleted": "false",
    "total_benefits": {
      "critical_illness": {
        "amount": {
          "example": "15000000",
          "description": "Money amount at their lowest denominator (for example: pennies)"
        },
        "currency": {
          "example": "GBP",
          "description": "Currency of the money"
        },
        "formatted": {
          "example": "£150,000.00",
          "description": "Money amount formatted with currency"
        }
      },
      "family_income_benefit": {
        "amount": {
          "example": "10000000",
          "description": "Money amount at their lowest denominator (for example: pennies)"
        },
        "currency": {
          "example": "GBP",
          "description": "Currency of the money"
        },
        "formatted": {
          "example": "£100,000.00",
          "description": "Money amount formatted with currency"
        }
      }
    },
    "inactive_reason": "claimed",
    "is_group_scheme": false,
    "is_wrap_product": false,
    "latest_valuations": "App\\Http\\Resources\\Plans\\ValuationResource",
    "original_valued_at": "2025-06-25T11:37:03+01:00",
    "proposal_reference": "AB123456",
    "agency_in_your_name": true,
    "external_references": "App\\Http\\Resources\\ExternalReferenceResource",
    "is_sub_group_scheme": false,
    "total_benefit_amount": {
      "amount": {
        "example": "25000000",
        "description": "Money amount at their lowest denominator (for example: pennies)"
      },
      "currency": {
        "example": "GBP",
        "description": "Currency of the money"
      },
      "formatted": {
        "example": "£250,000.00",
        "description": "Money amount formatted with currency"
      }
    },
    "is_group_scheme_member": false,
    "originally_sold_by_firm": true,
    "agency_in_your_name_from": "2024-06-26",
    "contract_enquiry_account": "App\\Http\\Resources\\AccountResource",
    "visible_on_client_portal": true,
    "include_in_client_valuation": true
  },
  "uuid": "4f681283-1dda-4025-b2bc-23c06d31ab93",
  "status": "created",
  "account": {
    "firm": "App\\Http\\Resources\\FirmResource",
    "name": "Gareth Thompson",
    "role": "client",
    "tags": "App\\Http\\Resources\\TagResource",
    "type": "client",
    "uuid": "b2d3aed9-7f71-4623-b20c-21574356250d",
    "email": "gareth@codepotato.co.uk",
    "groups": "App\\Http\\Resources\\GroupResource",
    "owners": "App\\Http\\Resources\\AccountResource",
    "last_name": "Thompson",
    "created_at": "2025-06-26T11:37:03+01:00",
    "first_name": "Gareth",
    "updated_at": "2025-06-26T11:37:03+01:00",
    "with_login": true,
    "inactive_at": "2025-06-26",
    "custom_fields": "App\\Http\\Resources\\CustomFieldValueResource",
    "introduced_by": "App\\Http\\Resources\\AccountResource",
    "primary_email": "App\\Http\\Resources\\ContactDetailResource",
    "can_be_deleted": "false",
    "assigned_adviser": "App\\Http\\Resources\\AccountResource",
    "next_review_date": "2025-06-26T11:37:03+01:00",
    "has_joint_account": true,
    "current_time_entry": "App\\Http\\Resources\\TimeEntryResource",
    "first_contact_date": "2025-06-26T11:37:03+01:00",
    "external_references": "App\\Http\\Resources\\ExternalReferenceResource",
    "assigned_paraplanner": "App\\Http\\Resources\\AccountResource",
    "joint_account_circle": "App\\Http\\Resources\\CircleResource",
    "ownership_percentage": 100,
    "previous_review_date": "2025-06-26T11:37:03+01:00",
    "primary_phone_number": "App\\Http\\Resources\\ContactDetailResource",
    "assigned_administrator": "App\\Http\\Resources\\AccountResource",
    "anniversary_review_date": "2025-06-26T11:37:03+01:00"
  },
  "is_draft": true,
  "platform": "seccl",
  "created_at": "2025-06-26T11:37:03+01:00",
  "updated_at": "2025-06-26T11:37:03+01:00",
  "application": {
    "firm": "App\\Http\\Resources\\FirmResource",
    "name": "Illustration Name",
    "plan": "App\\Http\\Resources\\Plans\\PlanResource",
    "uuid": "0751456b-cf78-48ac-b3a4-92995c5a1c48",
    "client": "App\\Http\\Resources\\MinimalAccountResource",
    "status": "draft",
    "platform": "seccl",
    "created_at": "2025-06-26T11:37:03+01:00",
    "updated_at": "2025-06-26T11:37:03+01:00",
    "generated_at": "2025-06-26T11:37:03+01:00",
    "illustration": "App\\Http\\Resources\\IllustrationResource",
    "request_data": [],
    "requested_by": "App\\Http\\Resources\\MinimalAccountResource",
    "platform_illustration_id": "ABC0123456789"
  },
  "generated_at": "2025-06-26T11:37:03+01:00",
  "request_data": [],
  "requested_by": {
    "firm": "App\\Http\\Resources\\FirmResource",
    "name": "Gareth Thompson",
    "role": "client",
    "tags": "App\\Http\\Resources\\TagResource",
    "type": "client",
    "uuid": "43663dcf-bc99-4ea5-929a-47f84e0ee6e4",
    "email": "gareth@codepotato.co.uk",
    "groups": "App\\Http\\Resources\\GroupResource",
    "owners": "App\\Http\\Resources\\AccountResource",
    "last_name": "Thompson",
    "created_at": "2025-06-26T11:37:03+01:00",
    "first_name": "Gareth",
    "updated_at": "2025-06-26T11:37:03+01:00",
    "with_login": true,
    "inactive_at": "2025-06-26",
    "custom_fields": "App\\Http\\Resources\\CustomFieldValueResource",
    "introduced_by": "App\\Http\\Resources\\AccountResource",
    "primary_email": "App\\Http\\Resources\\ContactDetailResource",
    "can_be_deleted": "false",
    "assigned_adviser": "App\\Http\\Resources\\AccountResource",
    "next_review_date": "2025-06-26T11:37:03+01:00",
    "has_joint_account": true,
    "current_time_entry": "App\\Http\\Resources\\TimeEntryResource",
    "first_contact_date": "2025-06-26T11:37:03+01:00",
    "external_references": "App\\Http\\Resources\\ExternalReferenceResource",
    "assigned_paraplanner": "App\\Http\\Resources\\AccountResource",
    "joint_account_circle": "App\\Http\\Resources\\CircleResource",
    "ownership_percentage": 100,
    "previous_review_date": "2025-06-26T11:37:03+01:00",
    "primary_phone_number": "App\\Http\\Resources\\ContactDetailResource",
    "assigned_administrator": "App\\Http\\Resources\\AccountResource",
    "anniversary_review_date": "2025-06-26T11:37:03+01:00"
  },
  "account_opening_allowed": true,
  "platform_illustration_id": "ABC0123456789"
}