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

# Criar um Ativo

> Use este endpoint para criar o Ativo que será utilizado nas transações. Você pode criar múltiplos Ativos. No entanto, os Ativos devem ser criados um de cada vez, com cada Ativo exigindo configurações específicas de casas decimais e outros parâmetros individuais a serem definidos durante o processo de criação.

**Código do ativo:** deve conter **apenas letras maiúsculas** (A-Z). Isso se aplica a todos os tipos de ativo, não apenas a moedas; códigos contendo dígitos ou símbolos são rejeitados.

**Efeito colateral:** criar um Ativo provisiona automaticamente uma conta externa dedicada (alias `@external/<CODE>`, tipo `external`) junto com seu saldo padrão. Esses recursos gerenciados pelo sistema dão suporte a movimentações externas (fora do ledger) do ativo.



## OpenAPI

````yaml pt/openapi/v3-current/ledger.yaml post /v2/organizations/{organization_id}/ledgers/{ledger_id}/assets
openapi: 3.1.0
info:
  title: API Midaz Ledger
  version: 4.0.0
servers:
  - url: /
security: []
tags:
  - name: Tipos de conta (v1)
  - name: Tipos de conta (v2)
  - name: Contas (v1)
  - name: Contas (v2)
  - name: Taxas de ativos (v1)
  - name: Ativos (v1)
  - name: Ativos (v2)
  - name: Saldos (v1)
  - name: Saldos (v2)
  - name: Cálculo de cobrança (v2)
  - name: Pacotes de cobrança (v2)
  - name: Composição (v2)
  - name: Criptografia (v2)
  - name: Taxas (v2)
  - name: Titulares (v2)
  - name: Instrumentos (v2)
  - name: Ledgers (v1)
  - name: Ledgers (v2)
  - name: Índices de metadados (v1)
  - name: Índices de metadados (v2)
  - name: Rotas de operação (v1)
  - name: Rotas de operação (v2)
  - name: Operações (v1)
  - name: Operações (v2)
  - name: Organizações (v1)
  - name: Organizações (v2)
  - name: Pacotes (v2)
  - name: Portfólios (v1)
  - name: Portfólios (v2)
  - name: Proteção (v2)
  - name: Segmentos (v1)
  - name: Segmentos (v2)
  - name: Rotas de transação (v1)
  - name: Rotas de transação (v2)
  - name: Transações (v1)
  - name: Transações (v2)
paths:
  /v2/organizations/{organization_id}/ledgers/{ledger_id}/assets:
    post:
      tags:
        - Ativos (v2)
      summary: Criar um Ativo
      description: >-
        Use este endpoint para criar o Ativo que será utilizado nas transações.
        Você pode criar múltiplos Ativos. No entanto, os Ativos devem ser
        criados um de cada vez, com cada Ativo exigindo configurações
        específicas de casas decimais e outros parâmetros individuais a serem
        definidos durante o processo de criação.


        **Código do ativo:** deve conter **apenas letras maiúsculas** (A-Z).
        Isso se aplica a todos os tipos de ativo, não apenas a moedas; códigos
        contendo dígitos ou símbolos são rejeitados.


        **Efeito colateral:** criar um Ativo provisiona automaticamente uma
        conta externa dedicada (alias `@external/<CODE>`, tipo `external`) junto
        com seu saldo padrão. Esses recursos gerenciados pelo sistema dão
        suporte a movimentações externas (fora do ledger) do ativo.
      operationId: createAssetV2
      parameters:
        - description: Organization ID (UUID)
          in: path
          name: organization_id
          required: true
          schema:
            description: Organization ID (UUID)
            type: string
        - description: Ledger ID (UUID)
          in: path
          name: ledger_id
          required: true
          schema:
            description: Ledger ID (UUID)
            type: string
        - description: Bearer token (forwarded to the service)
          in: header
          name: Authorization
          schema:
            description: Bearer token (forwarded to the service)
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAssetInput'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Asset'
          description: Created
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    CreateAssetInput:
      additionalProperties: false
      properties:
        code:
          examples:
            - USD
          type: string
        metadata:
          additionalProperties: {}
          type: object
        name:
          examples:
            - US Dollar
          type: string
        status:
          $ref: '#/components/schemas/Status'
        type:
          examples:
            - currency
          type: string
      required:
        - name
        - type
        - code
        - status
        - metadata
      type: object
    Asset:
      additionalProperties: false
      properties:
        code:
          examples:
            - USD
          maxLength: 100
          type: string
        createdAt:
          examples:
            - '2021-01-01T00:00:00Z'
          format: date-time
          type: string
        deletedAt:
          examples:
            - '2021-01-01T00:00:00Z'
          format: date-time
          type:
            - string
            - 'null'
        id:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        ledgerId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        metadata:
          additionalProperties: {}
          type: object
        name:
          examples:
            - US Dollar
          maxLength: 256
          type: string
        organizationId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        status:
          $ref: '#/components/schemas/Status'
        type:
          examples:
            - currency
          type: string
        updatedAt:
          examples:
            - '2021-01-01T00:00:00Z'
          format: date-time
          type: string
      required:
        - id
        - name
        - type
        - code
        - status
        - ledgerId
        - organizationId
        - createdAt
        - updatedAt
        - deletedAt
      type: object
    Error:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          examples:
            - ERR-0001
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
        upstream:
          $ref: '#/components/schemas/Upstream'
          description: >-
            RFC 9457 extension member: the error a proxied third-party provider
            reported. Absent unless the emitting service explicitly surfaced
            one.
      type: object
    Status:
      additionalProperties: false
      properties:
        code:
          enum:
            - ACTIVE
            - INACTIVE
            - PENDING
            - SUSPENDED
            - DELETED
          examples:
            - ACTIVE
          maxLength: 100
          type: string
        description:
          examples:
            - Active status
          maxLength: 256
          type:
            - string
            - 'null'
      required:
        - code
        - description
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    Upstream:
      additionalProperties: false
      properties:
        code:
          description: The upstream provider's own error code, verbatim.
          examples:
            - E4001
          type: string
        message:
          description: >-
            The upstream provider's own error message, verbatim (bounded, never
            its raw response body).
          examples:
            - account not found at provider
          type: string
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````