> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trylath.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Every Lath operation is POST https://platform.trylath.com/<operation name with dots replaced by slashes>, with a JSON body and `Authorization: Bearer <key>`. `email.send` is POST /email/send.
> Branch on `error.code`, never on `error.message`. Every refusal also carries `error.fix`, which names the next step.
> Send an `Idempotency-Key` header on any operation that is not retry-safe, so a retry cannot run it twice.
> A `lath_test_` key emails only the account's own members and sends no SMS; a `lath_live_` key reaches real recipients and is billed.
> The OpenAPI document, generated from the same registry as the routes, is at https://platform.trylath.com/openapi.json.

# account.theme.set

> Writes a new draft of the project's theme by merging the given tokens and copy over the current draft (or the published version if no draft exists). A key you omit is left alone, a string sets it, and null removes that one override so the key goes back to the default. Refuses any text colour pair below WCAG AA and returns the nearest passing values. Nothing changes for end users until account.theme.publish.



## OpenAPI

````yaml /api-reference/openapi.json post /account/theme/set
openapi: 3.1.0
info:
  title: Lath API
  version: 0.1.0
  description: >-
    Every operation is one POST. The same set is reachable over MCP, the SDK and
    the CLI; nothing is dashboard-only.
servers:
  - url: https://platform.trylath.com
    description: This deployment
security: []
paths:
  /account/theme/set:
    post:
      tags:
        - account
      summary: account.theme.set
      description: >-
        Writes a new draft of the project's theme by merging the given tokens
        and copy over the current draft (or the published version if no draft
        exists). A key you omit is left alone, a string sets it, and null
        removes that one override so the key goes back to the default. Refuses
        any text colour pair below WCAG AA and returns the nearest passing
        values. Nothing changes for end users until account.theme.publish.
      operationId: account.theme.set
      parameters:
        - name: Idempotency-Key
          in: header
          required: false
          schema:
            type: string
          description: >-
            Replays the stored response for the same key and input; refuses
            different input.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                tokens:
                  type: object
                  properties:
                    bg-canvas:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    bg-surface:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    bg-surface-hover:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    bg-inset:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    border-hairline:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    border-strong:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    fg-primary:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    fg-secondary:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    fg-faint:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    action-primary-bg:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    fg-on-action:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    focus-ring:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    danger-fg:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    danger-bg:
                      anyOf:
                        - type: string
                          pattern: ^#([0-9a-fA-F]{6})$
                        - type: 'null'
                    font-ui:
                      anyOf:
                        - type: string
                          minLength: 1
                          maxLength: 200
                        - type: 'null'
                    font-mono:
                      anyOf:
                        - type: string
                          minLength: 1
                          maxLength: 200
                        - type: 'null'
                    radius-sm:
                      anyOf:
                        - type: string
                          pattern: ^\d{1,3}px$
                        - type: 'null'
                    radius-md:
                      anyOf:
                        - type: string
                          pattern: ^\d{1,3}px$
                        - type: 'null'
                    radius-lg:
                      anyOf:
                        - type: string
                          pattern: ^\d{1,3}px$
                        - type: 'null'
                    logo-url:
                      anyOf:
                        - anyOf:
                            - type: string
                              const: ''
                            - type: string
                              format: uri
                        - type: 'null'
                  additionalProperties: false
                copy:
                  type: object
                  properties:
                    signin.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.email.label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.email.placeholder:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.phone.label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.phone.placeholder:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.sms.submit:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.submit:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.code.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.code.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.code.label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.code.resend:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.code.resend_in:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.code.expires_in:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.code.expired:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.link.sent:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.link.spent:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.link.again:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.google:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.microsoft:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.github:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.footer:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    preferences.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    preferences.unsubscribe_all:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    preferences.saved:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    device.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    device.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    device.code.label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    device.continue:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    device.email.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    device.approve:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    device.deny:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    device.approved:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    device.denied:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.addresses:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.primary:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.remove:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.last:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.add.label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.add.submit:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.add.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.added:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.removed:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.done:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.back:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.remove_label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.unavailable:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.unavailable_fix:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.method_off:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.method_off_fix:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.offline:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.offline_fix:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.phone.label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.phone.placeholder:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.phone.use_phone:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.phone.use_email:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.phone.invalid:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.phone.invalid_fix:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.phone.code.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.phone.add.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    recovery.reauth:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.password.label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.password.submit:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.password.use:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.code.use:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.passkey.submit:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.or:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.submit:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.have_account:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.name.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.name.label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.name.placeholder:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.password.label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.passkey.offer:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.passkey.add:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.finish:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.skip:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.done:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.code.label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.recovery.use:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.recovery.label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.recovery.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.code.use:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.submit:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.enrol.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.enrol.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.enrol.secret:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.enrol.code.label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.enrol.submit:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.recovery.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.recovery.explain:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.recovery.saved:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.recovery.regenerate:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    mfa.recovery.left:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.name.label:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.name.save:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.addresses.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.addresses.add:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.addresses.primary:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.addresses.remove:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.passkeys.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.passkeys.empty:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.passkeys.add:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.passkeys.remove:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.passkeys.last_used:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.passkeys.never_used:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.password.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.password.none:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.password.set:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.password.change:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.password.remove:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.password.new:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.password.save:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.mfa.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.mfa.off:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.mfa.on:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.mfa.enable:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.mfa.disable:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.reauth:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.cancel:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    profile.saved:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.personal:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.switch:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.create:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.create.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.create.name:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.create.submit:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.none:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.role.owner:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.role.admin:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.role.member:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.members:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.invites:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.invite.email:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.invite.role:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.invite.submit:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.invite.revoke:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.member.remove:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.member.you:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.leave:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.left:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.settings.mfa:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.mfa_required:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.invite.accept.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.invite.accept.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.invite.accept.submit:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.invite.accept.signin:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.invite.accept.done:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    orgs.invite.accept.joined:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    error.generic:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.signout:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.link.submit:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.offline:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.no_methods:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signup.closed:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    signin.signed_in_as:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    email.footer:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    email.legal_address:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    email.unsubscribe:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    email.preferences:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    preferences.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    preferences.save:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    page.lang:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    preferences.channel.email:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    preferences.channel.sms:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    preferences.no_topics:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    preferences.save_failed:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    preferences.invalid.title:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    preferences.invalid.body:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    preferences.unsubscribed_all:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                  additionalProperties: false
              additionalProperties: false
      responses:
        '200':
          description: '{ activityId, result }. activityId is empty for reads.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  activityId:
                    type: string
                    description: The activity this call created, or empty for a read.
                  result:
                    $schema: https://json-schema.org/draft/2020-12/schema
                    type: object
                    properties:
                      draft:
                        type: object
                        properties:
                          version:
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                          tokens:
                            type: object
                            propertyNames:
                              type: string
                            additionalProperties:
                              type: string
                          copy:
                            type: object
                            propertyNames:
                              type: string
                            additionalProperties:
                              type: string
                        required:
                          - version
                          - tokens
                          - copy
                        additionalProperties: {}
                    required:
                      - draft
                    additionalProperties: {}
                required:
                  - activityId
                  - result
        '400':
          description: invalid_input or invalid_json
        '401':
          description: unauthenticated
        '403':
          description: forbidden
        '404':
          description: not_found
        '409':
          description: 'conflict: idempotency_mismatch, email_taken, last_key'
        '413':
          description: body_too_large
        '429':
          description: rate_limited
      security:
        - bearer: []
components:
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: >-
        A Lath API key: lath_live_sk… or lath_test_sk… on a server,
        lath_live_pk… or lath_test_pk… in a browser.

````