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

# Create Sub-Account

> Requests creation of a known-taxpayer individual sub-account under the authenticated partner account. Request-first: the request enters compliance review and the sub-account is provisioned on approval. Requires the manage-holders capability.



## OpenAPI

````yaml POST /api/v1/accounts
openapi: 3.1.0
info:
  title: Crown API & Webhooks
  version: 1.0.0
  description: >-
    Open API 3 docs for Crown API


    Webhook events that Crown will POST to your configured endpoint URL. All
    webhooks expect a 200 OK response. Payloads use kebab-case for all keys to
    match the Crown API conventions.
servers:
  - url: https://app.crown-brlv.com
    description: Production server
security: []
paths:
  /api/v1/accounts:
    post:
      summary: Create a sub-account
      description: >-
        Requests creation of a known-taxpayer individual sub-account under the
        authenticated partner account. Request-first: the request enters
        compliance review and the sub-account is provisioned on approval.
        Requires the manage-holders capability.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                tax-id:
                  type: string
                  description: Sub-account holder's tax id
                  example: '12345678901'
                first-name:
                  type: string
                  description: >-
                    Sub-account holder's given name (input to AML name
                    screening)
                  example: Maria
                last-name:
                  type: string
                  description: >-
                    Sub-account holder's family name (input to AML name
                    screening)
                  example: Silva
                tax-document-type:
                  type: string
                  enum:
                    - passport
                    - national-id
                    - cpf
                  description: Identity document backing the tax id (individuals only)
                tax-residence:
                  type: string
                  description: Tax residence country, ISO-3
                  example: BRA
                kyc-attestation-id:
                  type: string
                  description: Partner's reference to its own completed KYC of the holder
                reward-tier:
                  type: number
                  format: double
                  enum:
                    - 93.5
                    - 90
                    - 97
                  description: >-
                    CDI reward tier (%) for the sub-account. The parent account
                    must hold the matching subaccounts-<tier>-tier capability.
                  example: 97
                external-wallets:
                  type: array
                  items:
                    type: object
                    properties:
                      address:
                        type: string
                        description: On-chain destination address
                        example: 0xabc...
                      custody-country:
                        oneOf:
                          - type: string
                          - type: 'null'
                        description: Custodian country, ISO-3
                        example: BRA
                      custody-type:
                        oneOf:
                          - type: string
                            enum:
                              - self
                              - exchange
                          - type: 'null'
                        description: Self-custody or exchange custody
                      custodian-name:
                        oneOf:
                          - type: string
                          - type: 'null'
                        description: Custodian/exchange name
                    additionalProperties: false
                    required:
                      - address
              additionalProperties: false
              required:
                - tax-id
                - first-name
                - last-name
                - tax-document-type
                - tax-residence
                - kyc-attestation-id
                - reward-tier
      responses:
        '200':
          description: An equivalent non-terminal request already exists
          content:
            application/json:
              schema:
                type: object
                properties:
                  account:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the account
                        example: 019712cf-c86d-703f-85b8-bdaa4fc8d254
                      alias:
                        oneOf:
                          - type: string
                          - type: 'null'
                        description: Human-readable alias for the account
                        example: Trading account
                      status:
                        type: string
                        description: >-
                          Current status of the account. A provisioned account
                          is 'pending-setup' or 'active'. A sub-account still in
                          creation is projected as a pending account carrying
                          its request status: 'pending', 'rejected', or
                          'provisioning-failed' (see ADR-0008).
                        example: active
                      external-id:
                        oneOf:
                          - type: string
                          - type: 'null'
                        description: External identifier associated with the account
                        example: ext-12345
                      parent-id:
                        oneOf:
                          - type: string
                            format: uuid
                          - type: 'null'
                        description: >-
                          Parent account id when this is a sub-account; null for
                          top-level
                      created-at:
                        type: string
                        example: '2024-01-15T10:30:00Z'
                        format: date-time
                    additionalProperties: false
                    required:
                      - id
                      - alias
                      - status
                      - external-id
                      - created-at
                additionalProperties: false
                required:
                  - account
        '201':
          description: Sub-account creation requested
          content:
            application/json:
              schema:
                type: object
                properties:
                  account:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the account
                        example: 019712cf-c86d-703f-85b8-bdaa4fc8d254
                      alias:
                        oneOf:
                          - type: string
                          - type: 'null'
                        description: Human-readable alias for the account
                        example: Trading account
                      status:
                        type: string
                        description: >-
                          Current status of the account. A provisioned account
                          is 'pending-setup' or 'active'. A sub-account still in
                          creation is projected as a pending account carrying
                          its request status: 'pending', 'rejected', or
                          'provisioning-failed' (see ADR-0008).
                        example: active
                      external-id:
                        oneOf:
                          - type: string
                          - type: 'null'
                        description: External identifier associated with the account
                        example: ext-12345
                      parent-id:
                        oneOf:
                          - type: string
                            format: uuid
                          - type: 'null'
                        description: >-
                          Parent account id when this is a sub-account; null for
                          top-level
                      created-at:
                        type: string
                        example: '2024-01-15T10:30:00Z'
                        format: date-time
                    additionalProperties: false
                    required:
                      - id
                      - alias
                      - status
                      - external-id
                      - created-at
                additionalProperties: false
                required:
                  - account
        '400':
          description: Bad request - Invalid input parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      message:
                        type: string
                      code:
                        type: string
                    additionalProperties: false
                    required:
                      - type
                      - message
                      - code
                    description: Bad request error details
                additionalProperties: false
                required:
                  - error
        '403':
          description: Forbidden - Access denied
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      message:
                        type: string
                      code:
                        type: string
                    additionalProperties: false
                    required:
                      - type
                      - message
                      - code
                    description: Forbidden access error details
                additionalProperties: false
                required:
                  - error
        '404':
          description: Not found - Resource does not exist
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      message:
                        type: string
                      code:
                        type: string
                    additionalProperties: false
                    required:
                      - type
                      - message
                      - code
                    description: Resource not found error details
                additionalProperties: false
                required:
                  - error
        '422':
          description: Unprocessable entity - Validation failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      message:
                        type: string
                      code:
                        type: string
                    additionalProperties: false
                    required:
                      - type
                      - message
                      - code
                    description: Validation error details
                additionalProperties: false
                required:
                  - error

````