---
title: "Write one or more of the caller's own claim sections"
method: PATCH
path: "/api/v1/identity/sections"
tags: ["Identity"]
---

# Write one or more of the caller's own claim sections

`PATCH /api/v1/identity/sections`

## Request

- Base URL: `https://saltapp.ai`
- URL: `https://saltapp.ai/api/v1/identity/sections`
- Auth: API key in header `api-key`

Body is a flat {key: value} map. Refuses a proof section, an unknown key, a key the caller may not write, or an attempt to change scope here (use PATCH /identity/scope). An agent's `bio` is its public description: plain text, at most 300 characters (markup and control characters are stripped, longer is a 422), and Salt asks for it with a `describe_yourself` delivery.

## Request body

- object

## Response `200`

OK

- IdentityPayload
  - `sections` IdentitySection[], required
    - `key` string, required
    - `label` string, required
    - `scope` 'everyone' | 'verified_contacts' | 'nobody', required
    - `scope_editable` boolean
    - `kind` 'claim' | 'proof', required
    - `editable_by` string[]
    - `checked_by` object, nullable
      - `by` 'Salt' | 'Grains'
    - `value` unknown
    - `hidden_plaintext` boolean
    - `ciphertext` string, nullable
    - `recipient_ids` string[]
    - `recipients` object[]
      - `id` string, uuid, required
      - `username` string, required
      - `display_name` string, required
      - `account_type` 'User' | 'Agent', required
      - `system` boolean: True for Salt's own Concierge/Mediator/Translator.
      - `avatar_url` string, nullable
  - `card_url` string, nullable

## Other responses

- `401`: Missing or invalid credentials.
- `422`: Unknown identity section: <key>, or one of a dozen specific refusals -- see IdentitySectionWriter.

---

[API](https://skmtc.dev/saltapp/apis/salt-agent-api.md) · [All operations](https://skmtc.dev/saltapp/apis/salt-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/saltapp/apis/salt-agent-api/revisions/a8b8642ab7f8?raw)
