Succession Wills LLM API Docs Docs Preview

Generate a will from URL parameters

The Succession Wills LLM API lets an agent or developer create a complete Last Will and Testament by providing the same fields used in our Will Builder — directly in a URL query string. This page is the human- and machine-readable specification.

Base: app.successionwills.com/api/v1/llm Method: GET Format: query params + JSON

Quickstart

Minimum call for a married person with one child, one executor, and residue to spouse then children:

Example request

GET https://app.successionwills.com/api/v1/llm?first_name=John&last_name=Smith&address_street=123%20Maple%20Street&address_city=Springfield&address_state=IL&address_country=United%20States&address_zip=62701&marital_status=1&spouse_first_name=Sarah&spouse_last_name=Smith&has_children=true&children=%5B%7B%22first_name%22%3A%22Emily%22%2C%22last_name%22%3A%22Smith%22%7D%5D&executors=%5B%7B%22first_name%22%3A%22David%22%2C%22last_name%22%3A%22Wilson%22%2C%22relationship%22%3A%22friend%22%7D%5D&residue_bens=%5B%7B%22selection%22%3A%22spouse%22%2C%22place%22%3A0%7D%2C%7B%22selection%22%3A%22children%22%2C%22place%22%3A1%7D%5D

Readable (unencoded) form of the same request:

https://app.successionwills.com/api/v1/llm
  ?first_name=John
  &last_name=Smith
  &address_street=123 Maple Street
  &address_city=Springfield
  &address_state=IL
  &address_country=United States
  &address_zip=62701
  &marital_status=1
  &spouse_first_name=Sarah
  &spouse_last_name=Smith
  &has_children=true
  &children=[{"first_name":"Emily","last_name":"Smith"}]
  &executors=[{"first_name":"David","last_name":"Wilson","relationship":"friend"}]
  &residue_bens=[{"selection":"spouse","place":0},{"selection":"children","place":1}]

API status

Live Generate endpoint is available at https://app.successionwills.com/api/v1/llm (also via https://successionwills.com/api/v1/llm). Browser requests redirect to a clean WillDocument page; add format=json for an API payload.

Generate will

GET https://app.successionwills.com/api/v1/llm

Accepts Will Builder variables as query parameters, creates a will document, and redirects to a clean page that renders it with the same WillDocument component as the Will Builder (no nav, buttons, or marketing chrome). Use format=json for a machine response.

Alternative path style

Some clients may prefer a slash-prefixed style for logging. Both forms are reserved:

https://app.successionwills.com/api/v1/llm?first_name=John&last_name=Smith&...
https://app.successionwills.com/api/v1/llm/first_name=John&last_name=Smith&...

Prefer the standard query-string form (?key=value) for maximum HTTP client compatibility.

Parameter encoding

  • Scalars — plain query values: first_name=John, has_children=true, marital_status=1
  • Booleanstrue / false (lowercase)
  • Numbers — unquoted digits: marital_status=1, amount=10000
  • Arrays & objects — JSON text, then URL-encoded in the query string
  • Spaces — encode as %20 (or +)
Nested JSON tip for LLMs Build the nested structures as JSON first, then percent-encode the whole JSON string as the parameter value. Do not leave raw [ ] { } " unencoded in production URLs.

Response shape

Success responses follow the Succession Wills API envelope:

{
  "status": 200,
  "success": true,
  "data": {
    "document_id": "690f6f706504a191df2a2975",
    "document_progress": "standard_complete",
    "download_pdf": "https://app.successionwills.com/api/v1/documents/{id}/download-pdf",
    "fields_applied": { "...": "echo of normalized input" }
  }
}

Required fields

These fields are required for a standard complete will (same gates as the Will Builder).

Parameter Type Required Description
first_name string required Testator first name
last_name string required Testator last name
address_street string required Street address
address_city string required City
address_state string required State / province (e.g. IL, Ontario)
address_country string required Usually United States or Canada
address_zip string required ZIP / postal code
marital_status number required See enums
has_children boolean required true or false
executors JSON array required At least one executor
residue_bens JSON array required At least one residue beneficiary tier

Conditionally required

When Also require
marital_status is 1, 3, or 4 spouse_first_name, spouse_last_name
has_children=true children array with names
include_minors=true first_name_primary_guardian, last_name_primary_guardian, primary_guardian_relationship

Personal & address fields

Parameter Type Required Notes
first_namestringrequiredTestator
middle_namestringoptional
last_namestringrequired
aka_namestringoptionalAlso known as
address_streetstringrequired
address_citystringrequired
address_statestringrequiredJurisdiction
address_countrystringrequired
address_zipstringrequired
marital_statusnumberrequired1–4
spouse_first_namestringconditionalIf married / common-law / soon
spouse_last_namestringconditional
spouse_middle_namestringoptional
spouse_aka_namestringoptional
spouse_mirrorbooleanoptionalMirror will for spouse

Family & guardians

Parameter Type Required Notes
has_childrenbooleanrequired
childrenJSON arrayconditionalSee object shape below
include_minorsbooleanoptionalTriggers guardian fields
include_step_childrenbooleanoptional
first_name_primary_guardianstringconditional
last_name_primary_guardianstringconditional
primary_guardianstringoptionalFull name (recommended)
primary_guardian_relationshipstringconditionale.g. brother
first_name_backup_guardianstringoptional
last_name_backup_guardianstringoptional
backup_guardianstringoptionalFull name
backup_guardian_relationshipstringoptional

children[] object

{
  "first_name": "Emily",
  "last_name": "Smith",
  "name": "Emily Smith",
  "exclude": false,
  "exclude_issue": false,
  "order": 1
}

Executors

executors is required and must contain at least one person. sub_executors is optional.

// executors / sub_executors item
{
  "first_name": "David",
  "last_name": "Wilson",
  "name": "David Wilson",
  "email": "david@example.com",
  "relationship": "friend",
  "order": 1
}
Parameter Type Required Notes
executorsJSON arrayrequired≥ 1
sub_executorsJSON arrayoptionalSubstitutes / backups
manner_of_substringoptionalsub (default) or fill

Beneficiaries (residue)

residue_bens defines who receives the residue of the estate, ordered by place (lower number = higher priority). Each tier is either a shortcut selection or a custom others group.

// Common pattern: spouse, then children
[
  { "selection": "spouse", "place": 0 },
  { "selection": "children", "place": 1 }
]

// Custom percentage split
[
  {
    "selection": "other",
    "place": 0,
    "others": [
      {
        "type": "Person",
        "name": "Jane Doe",
        "first_name": "Jane",
        "last_name": "Doe",
        "relationship": "friend",
        "percent": 50,
        "consequence": "Gift to Issue"
      },
      {
        "type": "Charity",
        "name": "Red Cross",
        "percent": 50,
        "consequence": ""
      }
    ]
  }
]

selection values: spouse, children, other.

Optional advanced fields

Parameter Type Description
burial_selectionstringburied, cremated, executors_decide
funeral_instructionsstringFree text
has_petsboolean
petsJSON array{ first_name, last_name, description } (name / type)
pet_guardianstringFull name
pet_guardian_relationshipstring
pet_fundboolean
pet_fund_amountnumber
cash_bensJSON arrayCash legacies
bequestsJSON arraySpecific gifts
age_benchmarksJSON array[{ "age": 25 }]
wedlock_requirement_enableboolean
wedlock_requirementstringSee enums
attorneysJSON arrayPower of Attorney agents

cash_bens[] / bequests[]

// cash legacy
{
  "type": "Person",
  "first_name": "John",
  "last_name": "Doe",
  "name": "John Doe",
  "relationship": "friend",
  "amount": 10000,
  "consequence": "Gift to Issue",
  "order": 0
}

// specific bequest
{
  "type": "Person",
  "first_name": "John",
  "last_name": "Doe",
  "relationship": "child",
  "description": "Grandfather's gold watch",
  "consequence": "Gift to Issue"
}

Enums

Field Allowed values
marital_status 1 Married · 2 Not Married · 3 Getting Married Soon · 4 Common-Law
burial_selection buried, cremated, executors_decide
manner_of_sub sub, fill
Person/Charity type Person, Charity
consequence "", Lapse, Gift to Issue
Residue selection spouse, children, other
relationship (common) spouse, child, parent, sibling, friend, other (lowercase preferred)

Full examples

1. Unmarried, no children

https://app.successionwills.com/api/v1/llm
  ?first_name=Alex
  &last_name=Rivera
  &address_street=88 Oak Ave
  &address_city=Chicago
  &address_state=IL
  &address_country=United States
  &address_zip=60601
  &marital_status=2
  &has_children=false
  &executors=[{"first_name":"Pat","last_name":"Lee","relationship":"friend"}]
  &residue_bens=[{"selection":"other","place":0,"others":[{"type":"Person","name":"Pat Lee","percent":100,"relationship":"friend","consequence":"Lapse"}]}]

2. Married with minor children + guardian

https://app.successionwills.com/api/v1/llm
  ?first_name=John
  &last_name=Smith
  &address_street=123 Maple Street
  &address_city=Toronto
  &address_state=Ontario
  &address_country=Canada
  &address_zip=M5V%202T6
  &marital_status=1
  &spouse_first_name=Sarah
  &spouse_last_name=Smith
  &has_children=true
  &include_minors=true
  &children=[{"first_name":"Emily","last_name":"Smith"},{"first_name":"Noah","last_name":"Smith"}]
  &first_name_primary_guardian=Robert
  &last_name_primary_guardian=Johnson
  &primary_guardian=Robert%20Johnson
  &primary_guardian_relationship=brother
  &executors=[{"first_name":"Sarah","last_name":"Smith","relationship":"spouse"}]
  &sub_executors=[{"first_name":"Robert","last_name":"Johnson","relationship":"brother"}]
  &residue_bens=[{"selection":"spouse","place":0},{"selection":"children","place":1}]
  &burial_selection=executors_decide

3. curl

curl -G 'https://app.successionwills.com/api/v1/llm' \
  --data-urlencode 'first_name=John' \
  --data-urlencode 'last_name=Smith' \
  --data-urlencode 'address_street=123 Maple Street' \
  --data-urlencode 'address_city=Springfield' \
  --data-urlencode 'address_state=IL' \
  --data-urlencode 'address_country=United States' \
  --data-urlencode 'address_zip=62701' \
  --data-urlencode 'marital_status=1' \
  --data-urlencode 'spouse_first_name=Sarah' \
  --data-urlencode 'spouse_last_name=Smith' \
  --data-urlencode 'has_children=true' \
  --data-urlencode 'children=[{"first_name":"Emily","last_name":"Smith"}]' \
  --data-urlencode 'executors=[{"first_name":"David","last_name":"Wilson","relationship":"friend"}]' \
  --data-urlencode 'residue_bens=[{"selection":"spouse","place":0},{"selection":"children","place":1}]'

Errors

Error responses use the same envelope with success: false:

{
  "status": 400,
  "success": false,
  "data": {
    "code": 400,
    "message": "Missing required field: executors",
    "missing": ["executors"]
  }
}
Status Meaning
400Validation / missing required fields / invalid JSON
401Authentication required (when API keys are enabled)
429Rate limited
500Server / generation failure
503Endpoint not enabled yet

Machine-readable resources

For crawlers and LLM tools:

Field parity Parameter names mirror the production Will Builder document model used at successionwills.com/will-builder.