---
title: "Create a trust"
method: POST
path: "/v1/households/{household_id}/trusts"
tags: ["Trusts"]
---

# Create a trust

`POST /v1/households/{household_id}/trusts`

## Request

- Base URL: `https://api.slant.app`
- URL: `https://api.slant.app/v1/households/{household_id}/trusts`
- Auth: HTTP bearer

Create a new trust for a household

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `name` string, required: Trust name
  - `tax_id` string: Tax ID
  - `custom_fields` object: Custom field values keyed by Trust field_key. Null, blank strings, and empty arrays clear individual values.
  - `additional_info` string: Notes
  - `trust_type` 'revocable' | 'irrevocable', nullable: Trust type
  - `tax_classification` 'grantor' | 'non_grantor', nullable: Tax classification
  - `execution_date` string, date, nullable: Date the trust was executed
  - `governing_law` string, nullable: State of domicile or governing law
  - `trust_purpose` string, nullable: Purpose of the trust
  - `funding_status` 'funded' | 'unfunded', nullable: Funding status
  - `distribution_terms` string, nullable: Distribution terms or provisions
  - `amendment_or_restatement_date` string, date, nullable: Most recent amendment or restatement date

## Response `201`

trust created

- Trust
  - `custom_fields` object: Trust custom field values keyed by field_key
  - `id` string, required: The trust ID
  - `book_id` string, required: The book ID
  - `household_id` string, required: The household ID
  - `name` string, required: Trust name
  - `tax_id` string, nullable: Tax ID
  - `additional_info` string, nullable: Notes
  - `trust_type` 'revocable' | 'irrevocable', nullable: Trust type
  - `tax_classification` 'grantor' | 'non_grantor', nullable: Tax classification
  - `execution_date` string, date, nullable: Date the trust was executed
  - `governing_law` string, nullable: State of domicile or governing law
  - `trust_purpose` string, nullable: Purpose of the trust
  - `funding_status` 'funded' | 'unfunded', nullable: Funding status
  - `distribution_terms` string, nullable: Distribution terms or provisions
  - `amendment_or_restatement_date` string, date, nullable: Most recent amendment or restatement date
  - `created_at` string, date-time, required: When the trust was created
  - `updated_at` string, date-time, required: When the trust was last updated

## 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.
- `422`: unprocessable entity - invalid payload
- `429`: An hourly API rate limit was exceeded. Wait Retry-After seconds before retrying.

## Changes

- **2026-11-03** `173c41bf6be9`: 22 info
  - added the new optional request property `amendment_or_restatement_date`
  - added the new optional request property `custom_fields`
  - added the new optional request property `distribution_terms`
  - added the new optional request property `execution_date`
  - …18 more

[Operation history](https://skmtc.dev/slant/apis/slant-public-api-v1/changes/v1/households/:household_id/trusts/post.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)
