> ## 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.

# Crear un Ledger

> Utilice este endpoint para crear un Ledger.



## OpenAPI

````yaml es/openapi/v3-current/ledger.yaml post /v1/organizations/{organization_id}/ledgers
openapi: 3.1.0
info:
  title: API de Midaz Ledger
  description: >-
    Referencia completa de la API para los servicios de Midaz Ledger, incluyendo
    gestión de organizaciones, operaciones de ledger, activos, segmentos,
    portafolios, cuentas, tipos de cuenta, transacciones, operaciones, saldos,
    rutas de operación, rutas de transacción e índices de metadatos.
  version: 3.7.8
servers:
  - url: https://ledger.sandbox.lerian.net
security: []
tags:
  - name: Organizations API
  - name: Ledgers API
  - name: Assets API
  - name: Segments API
  - name: Portfolios API
  - name: Account Types API
  - name: Accounts API
  - name: Balances API
  - name: Transactions API
  - name: Operations API
  - name: Operation Routes API
  - name: Transaction Routes API
  - name: Metadata Indexes API
  - name: Holders API
  - name: Instruments API
  - name: Billing Packages API
  - name: Packages API
  - name: Billing Calculation API
  - name: Estimation API
  - name: Encryption API
  - name: Protection API
  - name: Asset Rates API
paths:
  /v1/organizations/{organization_id}/ledgers:
    post:
      tags:
        - Ledgers API
      summary: Crear un Ledger
      description: Utilice este endpoint para crear un Ledger.
      parameters:
        - $ref: '#/components/parameters/OrganizationId'
        - $ref: '#/components/parameters/ContentType'
        - $ref: '#/components/parameters/XRequestId'
        - $ref: '#/components/parameters/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLedgerRequest'
            example:
              name: Primary Ledger
              status:
                code: ACTIVE
                description: >-
                  Ledger de producción predeterminado para operaciones
                  financieras
              metadata:
                environment: production
                region: us-east-1
                businessDomain: retail_banking
                supportedInstruments: deposit_accounts,pix_transfers,internal_transfers
                multiCurrency: false
                createdBy: system
                notes: Primary ledger used for customer accounts and daily settlement
      responses:
        '201':
          description: >-
            Indica que la solicitud fue exitosa y la respuesta contiene los
            datos esperados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateLedgerResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0009:
                  $ref: '#/components/examples/Error0009'
                Error0047:
                  $ref: '#/components/examples/Error0047'
                Error0050:
                  $ref: '#/components/examples/Error0050'
                Error0051:
                  $ref: '#/components/examples/Error0051'
                Error0053:
                  $ref: '#/components/examples/Error0053'
                Error0067:
                  $ref: '#/components/examples/Error0067'
                Error0094:
                  $ref: '#/components/examples/Error0094'
        '401':
          description: No autorizado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0041:
                  $ref: '#/components/examples/Error0041'
                Error0042:
                  $ref: '#/components/examples/Error0042'
        '403':
          description: Prohibido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0043:
                  $ref: '#/components/examples/Error0043'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0038:
                  $ref: '#/components/examples/Error0038'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0002:
                  $ref: '#/components/examples/Error0002'
        '500':
          description: Error Interno del Servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0046:
                  $ref: '#/components/examples/Error0046'
components:
  parameters:
    OrganizationId:
      name: organization_id
      in: path
      description: El identificador único de la Organización asociada al Ledger.
      required: true
      example: 019c96a0-0a98-7287-9a31-786e0809c769
      schema:
        type: string
        format: uuid
    ContentType:
      name: Content-Type
      in: header
      description: >-
        El tipo de medio del recurso. El valor recomendado es
        `application/json`.
      required: false
      example: application/json
      schema:
        type: string
    XRequestId:
      name: X-Request-Id
      in: header
      description: Un identificador único utilizado para rastrear y seguir cada solicitud.
      required: false
      example: 019c96a0-0a98-7287-9a31-786e0809c769
      schema:
        type: string
        format: uuid
    Authorization:
      name: Authorization
      in: header
      required: false
      schema:
        type: string
      description: >
        Token JWT bearer para autenticación.

        Requerido cuando `PLUGIN_AUTH_ENABLED=true` (obligatorio en despliegues
        multiinquilino).

        Opcional en el modo OSS de inquilino único predeterminado.

        Formato: `Bearer <token>`
  schemas:
    CreateLedgerRequest:
      type: object
      properties:
        name:
          type: string
          description: El nombre del Ledger.
          maxLength: 256
        status:
          $ref: '#/components/schemas/StatusOrganizationRequest'
        metadata:
          $ref: '#/components/schemas/Metadata'
        settings:
          type: object
          description: >-
            Configuraciones dinámicas opcionales para el Ledger. Cuando se
            omite, se aplican los valores por defecto (todas las validaciones
            deshabilitadas).
          properties:
            accounting:
              type: object
              description: Configuraciones relacionadas con la contabilidad del Ledger.
              properties:
                validateAccountType:
                  type: boolean
                  default: false
                  description: >-
                    Cuando está habilitado, valida que los tipos de cuenta
                    coincidan con las reglas definidas en las rutas de operación
                    durante el procesamiento de transacciones.
                validateRoutes:
                  type: boolean
                  default: false
                  description: >-
                    Cuando está habilitado, cada transacción en este Ledger debe
                    tener una ruta de transacción asociada. Las operaciones
                    también se validan contra las reglas de sus rutas de
                    operación.
      required:
        - name
    CreateLedgerResponse:
      type: object
      properties:
        id:
          type: string
          description: El identificador único del Ledger.
          format: uuid
        organizationId:
          type: string
          format: uuid
          description: El identificador único de la Organización.
        name:
          type: string
          description: El nombre del Ledger.
          maxLength: 256
        status:
          $ref: '#/components/schemas/StatusOrganization'
        metadata:
          $ref: '#/components/schemas/Metadata'
        settings:
          $ref: '#/components/schemas/LedgerSettingsResponse'
        createdAt:
          type: string
          format: date-time
          description: Fecha y hora de creación (UTC).
        updatedAt:
          type: string
          format: date-time
          description: Fecha y hora de la última actualización (UTC).
        deletedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: Fecha y hora de la eliminación lógica, si aplica (UTC).
    ErrorFormat:
      type: object
      description: El mensaje de error de respuesta.
      required:
        - code
        - title
        - message
      properties:
        code:
          type: string
          description: Un identificador único y estable para el error.
        title:
          type: string
          description: Un breve resumen del problema.
        message:
          type: string
          description: Orientación detallada para resolver el error.
        entityType:
          type: string
          description: >-
            El tipo de entidad a la que se refiere el error (p. ej.
            organization, ledger, account, transaction). Opcional.
        fields:
          type: object
          additionalProperties: true
          description: Información adicional sobre los campos que causaron el error.
    StatusOrganizationRequest:
      type: object
      description: >-
        Un objeto que contiene información sobre el estado. **Importante**: Si
        no se proporciona, el estado predeterminado será 'ACTIVE'.
      properties:
        code:
          type: string
          maxLength: 100
          description: El nombre del estado.
        description:
          type:
            - string
            - 'null'
          maxLength: 256
          description: La descripción del estado.
    Metadata:
      type: object
      additionalProperties:
        oneOf:
          - type: string
            maxLength: 2000
          - type: number
          - type: boolean
      description: >-
        Un objeto que contiene pares clave-valor para agregar como metadatos,
        donde el campo `name` es la clave y el campo `value` es el valor. Por
        ejemplo, para agregar un Centro de Costo, use `'costCenter':
        'BR_11101997'`.


        **Restricciones:** las claves deben tener como máximo 100 caracteres;
        los valores de cadena de texto, como máximo 2000 caracteres. No se
        permiten objetos anidados (los valores deben ser cadena de texto, número
        o booleano), la estructura no puede exceder una profundidad máxima de
        10, y se permite un máximo de 100 claves.
    StatusOrganization:
      type: object
      description: Un objeto que contiene información sobre el estado.
      properties:
        code:
          type: string
          maxLength: 100
          description: El nombre del estado.
        description:
          type:
            - string
            - 'null'
          maxLength: 256
          description: La descripción del estado.
    LedgerSettingsResponse:
      type: object
      description: Las configuraciones actuales de un Ledger.
      properties:
        accounting:
          type: object
          description: Configuraciones relacionadas con la contabilidad del Ledger.
          properties:
            validateAccountType:
              type: boolean
              description: >-
                Cuando está habilitado, valida que los tipos de cuenta coincidan
                con las reglas definidas en las rutas de operación durante el
                procesamiento de transacciones.
            validateRoutes:
              type: boolean
              description: >-
                Cuando está habilitado, cada transacción en este Ledger debe
                tener una ruta de transacción asociada. Las operaciones también
                se validan contra las reglas de sus rutas de operación.
  examples:
    Error0009:
      summary: Missing Fields in Request
      value:
        code: 9
        title: Missing Fields in Request
        message: >-
          Your request is missing one or more required fields. Please refer to
          the documentation to ensure all necessary fields are included in your
          request.
        fields:
          metadataKey: metadataKey is a required field
    Error0047:
      summary: Bad Request
      value:
        code: '0047'
        title: Bad Request
        message: >-
          The server could not understand the request due to malformed syntax.
          Please check the listed fields and try again.
    Error0050:
      value:
        code: '0050'
        title: Invalid Metadata
        message: >-
          One or more metadata entries are invalid. Please ensure metadata keys
          and values follow the allowed format.
      summary: Invalid Metadata
    Error0051:
      value:
        code: '0051'
        title: Invalid Metadata Key
        message: >-
          A metadata key contains unsupported characters or exceeds length
          limits. Please correct the key and try again.
      summary: Invalid Metadata Key
    Error0053:
      value:
        code: '0053'
        title: Unexpected Fields in the Request
        message: >-
          The request body contains more fields than expected. Please send only
          the allowed fields as per the documentation. The unexpected fields are
          listed in the fields object.
        fields:
          '{{field}}': '{{value}}'
      summary: Unexpected Fields in the Request
    Error0067:
      value:
        code: '0067'
        title: Invalid Metadata Nesting
        message: >-
          The metadata object cannot contain nested values. Please ensure that
          the value {{value}} is not nested and try again.
      summary: Invalid Metadata Nesting
    Error0094:
      value:
        code: 94
        title: Invalid Request Body
        message: >-
          The request body is invalid or could not be parsed. Please check JSON
          structure and field types.
      summary: Invalid Request Body
    Error0041:
      summary: Token Missing
      value:
        code: '0041'
        title: Token Missing
        message: >-
          A valid token must be provided in the request header. Please include a
          token and try again.
    Error0042:
      summary: Invalid Token
      value:
        code: '0042'
        title: Invalid Token
        message: >-
          The provided token is expired, invalid or malformed. Please provide a
          valid token and try again.
    Error0043:
      summary: Insufficient Privileges
      value:
        code: '0043'
        title: Insufficient Privileges
        message: >-
          You do not have the necessary permissions to perform this action.
          Please contact your administrator if you believe this is an error.
    Error0038:
      summary: Organization ID Not Found
      value:
        code: 38
        title: Organization ID Not Found
        message: >-
          The provided organization ID does not exist in our records. Please
          verify the organization ID and try again.
    Error0002:
      summary: Ledger Name Conflict
      value:
        code: '0002'
        title: Ledger Name Conflict
        message: >-
          A ledger named {{name}} already exists in your organization. Please
          rename the ledger, or if you want to use the same name, consider
          creating a new ledger for a different division.
    Error0046:
      summary: Internal Server Error
      value:
        code: '0046'
        title: Internal Server Error
        message: >-
          The server encountered an unexpected error. Please try again later or
          contact support.

````