---
title: "Update annuity contract"
method: PATCH
path: "/v1/annuity_contracts/{id}"
tags: ["Annuity Contracts"]
---

# Update annuity contract

`PATCH /v1/annuity_contracts/{id}`

## Request

- Base URL: `https://api.slant.app`
- URL: `https://api.slant.app/v1/annuity_contracts/{id}`
- Auth: HTTP bearer

Financial terms and values; no custodian data or attachments. Numbers are masked. Imported annuity terms and parties are read-only except notes. Values use dollars; balances use cents. Party arrays replace submitted roles or accessible annuity parties. Only advisor valuations can be edited.

## Headers

- `Authorization` string
- `Idempotency-Key` string

## Request body

- object
  - `carrier_key` string, nullable
  - `carrier_name` string
  - `contract_number` string
  - `contract_type` 'variable_annuity' | 'other_annuity'
  - `product_code` string, nullable
  - `product_name` string, nullable
  - `status` string, nullable
  - `tax_status` string, nullable
  - `established_on` string, date, nullable
  - `issued_on` string, date, nullable
  - `anniversary_on` string, date, nullable
  - `matures_on` string, date, nullable
  - `notes` string, nullable
  - `parties` object[]
    - `role` 'owner' | 'joint_owner' | 'annuitant' | 'joint_annuitant' | 'insured' | 'secondary_insured' | 'primary_beneficiary' | 'contingent_beneficiary' | 'other', required
    - `display_name` string, nullable
    - `participant_type` 'Person' | 'Business' | 'Trust', nullable
    - `participant_id` string, nullable
  - `book_id` string: Optional book context; must match the household.

## Response `200`

Successful financial resource access

- object
  - `carrier_key` string, nullable
  - `carrier_name` string
  - `contract_number` string: Masked contract number; the full number is never returned.
  - `contract_type` 'variable_annuity' | 'other_annuity'
  - `product_code` string, nullable
  - `product_name` string, nullable
  - `status` string, nullable
  - `tax_status` string, nullable
  - `established_on` string, date, nullable
  - `issued_on` string, date, nullable
  - `anniversary_on` string, date, nullable
  - `matures_on` string, date, nullable
  - `notes` string, nullable
  - `parties` object[]
    - `role` 'owner' | 'joint_owner' | 'annuitant' | 'joint_annuitant' | 'insured' | 'secondary_insured' | 'primary_beneficiary' | 'contingent_beneficiary' | 'other', required
    - `display_name` string, nullable
    - `participant_type` 'Person' | 'Business' | 'Trust', nullable
    - `participant_id` string, nullable
    - `id` string
  - `id` string, required
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `term_authority` 'advisor' | 'integration'
  - `data_provider` string, nullable
  - `last_synced_at` string, date-time, nullable
  - `registration_type` string, nullable
  - `placements` object[]: Only placements in accessible books.
    - `id` string
    - `book_id` string
    - `household_id` string, nullable
    - `business_id` string, nullable
    - `trust_id` string, nullable
    - `placement_authority` 'advisor' | 'integration'
  - `current_values` object
  - `values` object[]
    - `kind` 'accumulation_value' | 'surrender_value' | 'surrender_charge' | 'death_benefit' | 'premiums_paid_to_date' | 'cash_value' | 'loan_value'
    - `amount` string, nullable: Money in dollars as a decimal string.
    - `as_of_date` string, date
    - `id` string, required
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `annuity_contract_id` string
    - `source_kind` 'integration' | 'statement' | 'advisor'

## Other responses

- `400`: Bad Request - malformed JSON, invalid filters, or missing required book context
- `401`: Unauthorized - missing or invalid token
- `403`: Access denied. Policy and membership failures may have an empty body. A read-only personal token cannot perform writes.
- `429`: An hourly API rate limit was exceeded. Wait Retry-After seconds before retrying.

## Changes

- **2026-11-03** `173c41bf6be9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/slant/apis/slant-public-api-v1/changes/v1/annuity_contracts/:id/patch.md)

---

[API](https://skmtc.dev/slant/apis/slant-public-api-v1.md) - [All operations](https://skmtc.dev/slant/apis/slant-public-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/slant/apis/slant-public-api-v1/revisions/173c41bf6be9?raw)
