> ## 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 una Transacción de Salida

> Usa este endpoint para iniciar una transacción de salida, abstrayendo el proceso de mover fondos desde cuentas internas del Ledger hacia el mundo externo.
<p>En lugar de requerir todos los detalles de la transacción, solo necesita proporcionar las cuentas de origen. Según el activo proporcionado, el sistema incluye automáticamente la cuenta externa correspondiente en la sección distribute de la transacción.</p>




## OpenAPI

````yaml es/openapi/v3-current/ledger.yaml post /v1/organizations/{organization_id}/ledgers/{ledger_id}/transactions/outflow
openapi: 3.1.0
info:
  title: API de Midaz Ledger
  version: 4.0.0
servers:
  - url: /
security: []
tags:
  - name: Tipos de cuenta (v1)
  - name: Tipos de cuenta (v2)
  - name: Cuentas (v1)
  - name: Cuentas (v2)
  - name: Tasas de activos (v1)
  - name: Activos (v1)
  - name: Activos (v2)
  - name: Saldos (v1)
  - name: Saldos (v2)
  - name: Cálculo de facturación (v2)
  - name: Paquetes de facturación (v2)
  - name: Composición (v2)
  - name: Cifrado (v2)
  - name: Comisiones (v2)
  - name: Titulares (v2)
  - name: Instrumentos (v2)
  - name: Ledgers (v1)
  - name: Ledgers (v2)
  - name: Índices de metadatos (v1)
  - name: Índices de metadatos (v2)
  - name: Rutas de operaciones (v1)
  - name: Rutas de operaciones (v2)
  - name: Operaciones (v1)
  - name: Operaciones (v2)
  - name: Organizaciones (v1)
  - name: Organizaciones (v2)
  - name: Paquetes (v2)
  - name: Carteras (v1)
  - name: Carteras (v2)
  - name: Protección (v2)
  - name: Segmentos (v1)
  - name: Segmentos (v2)
  - name: Rutas de transacciones (v1)
  - name: Rutas de transacciones (v2)
  - name: Transacciones (v1)
  - name: Transacciones (v2)
paths:
  /v1/organizations/{organization_id}/ledgers/{ledger_id}/transactions/outflow:
    post:
      tags:
        - Transacciones (v1)
      summary: Crear una Transacción de Salida
      description: >
        Usa este endpoint para iniciar una transacción de salida, abstrayendo el
        proceso de mover fondos desde cuentas internas del Ledger hacia el mundo
        externo.

        <p>En lugar de requerir todos los detalles de la transacción, solo
        necesita proporcionar las cuentas de origen. Según el activo
        proporcionado, el sistema incluye automáticamente la cuenta externa
        correspondiente en la sección distribute de la transacción.</p>
      operationId: createTransactionOutflow
      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: >-
            Idempotency key to safely retry the create; an identical retry
            returns the original transaction
          in: header
          name: X-Idempotency
          schema:
            description: >-
              Idempotency key to safely retry the create; an identical retry
              returns the original transaction
            type: string
        - description: Idempotency slot TTL in seconds (default 300)
          in: header
          name: X-TTL
          schema:
            description: Idempotency slot TTL in seconds (default 300)
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTransactionOutflowInput'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
          description: Created
          headers:
            X-Idempotency-Replayed:
              schema:
                type: string
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
          description: Error
      deprecated: true
      security:
        - BearerAuth: []
components:
  schemas:
    CreateTransactionOutflowInput:
      additionalProperties: false
      properties:
        chartOfAccountsGroupName:
          examples:
            - WITHDRAWAL
          maxLength: 256
          type: string
        code:
          examples:
            - TR12345
          maxLength: 100
          type: string
        description:
          examples:
            - New Outflow Transaction
          maxLength: 256
          type: string
        metadata:
          additionalProperties: {}
          type: object
        pending:
          default: false
          examples:
            - true
          type: boolean
        route:
          examples:
            - 00000000-0000-0000-0000-000000000000
          type: string
        routeId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        send:
          $ref: '#/components/schemas/SendOutflow'
        skip:
          $ref: '#/components/schemas/TransactionSkip'
        transactionDate:
          examples:
            - '2021-01-01T00:00:00Z'
          format: date-time
          type: string
      required:
        - pending
        - metadata
        - send
      type: object
    Transaction:
      additionalProperties: false
      properties:
        amount:
          examples:
            - '1500'
          minimum: 0
          type:
            - string
            - 'null'
        assetCode:
          examples:
            - BRL
          maxLength: 10
          minLength: 2
          type: string
        chartOfAccountsGroupName:
          examples:
            - Chart of accounts group name
          maxLength: 256
          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'
        description:
          examples:
            - Transaction description
          maxLength: 256
          type: string
        destination:
          examples:
            - - '@person2'
          items:
            type: string
          type:
            - array
            - '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
        operations:
          items:
            $ref: '#/components/schemas/Operation'
          type:
            - array
            - 'null'
        organizationId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        parentTransactionId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        route:
          examples:
            - 00000000-0000-0000-0000-000000000000
          maxLength: 250
          type: string
        routeId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        source:
          examples:
            - - '@person1'
          items:
            type: string
          type:
            - array
            - 'null'
        status:
          $ref: '#/components/schemas/TransactionStatus'
        updatedAt:
          examples:
            - '2021-01-01T00:00:00Z'
          format: date-time
          type: string
      required:
        - id
        - description
        - status
        - amount
        - assetCode
        - chartOfAccountsGroupName
        - source
        - destination
        - ledgerId
        - organizationId
        - route
        - createdAt
        - updatedAt
        - deletedAt
        - operations
      type: object
    LegacyError:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable midaz error code. Identical to the code /v2
            returns for the same condition.
          examples:
            - '0065'
          type: string
        entityType:
          description: >-
            The domain entity the error concerns. Present only on
            field-validation errors.
          examples:
            - Account
          type: string
        fields:
          additionalProperties: {}
          description: >-
            Per-field validation detail, keyed by field name. The value is the
            violation message for a known field and the offending value for an
            unexpected one, so it is not always a string. The /v2 contract
            carries these as the 'errors' array.
          type: object
        message:
          description: >-
            Human-readable explanation of this occurrence. The /v2 contract
            carries this as 'detail'.
          type: string
        title:
          description: Short, human-readable summary of the error.
          examples:
            - Invalid Path Parameter
          type: string
      required:
        - title
        - message
        - code
      type: object
    SendOutflow:
      additionalProperties: false
      properties:
        asset:
          examples:
            - BRL
          type: string
        source:
          $ref: '#/components/schemas/Source'
        value:
          examples:
            - '1000'
          type: string
      type: object
    TransactionSkip:
      additionalProperties: false
      properties:
        fees:
          examples:
            - false
          type: boolean
        tracer:
          examples:
            - false
          type: boolean
      type: object
    Operation:
      additionalProperties: false
      properties:
        accountAlias:
          examples:
            - '@person1'
          maxLength: 256
          type: string
        accountId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        amount:
          $ref: '#/components/schemas/OperationAmount'
        assetCode:
          examples:
            - BRL
          maxLength: 10
          minLength: 2
          type: string
        balance:
          $ref: '#/components/schemas/OperationBalance'
        balanceAffected:
          examples:
            - true
          format: boolean
          type: boolean
        balanceAfter:
          $ref: '#/components/schemas/OperationBalance'
        balanceId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        balanceKey:
          examples:
            - asset-freeze
          maxLength: 100
          type: string
        chartOfAccounts:
          examples:
            - '1000'
          maxLength: 20
          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'
        description:
          examples:
            - Credit card operation
          maxLength: 256
          type: string
        direction:
          examples:
            - debit
          maxLength: 50
          type: string
        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
        organizationId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        route:
          examples:
            - 00000000-0000-0000-0000-000000000000
          maxLength: 250
          type: string
        routeCode:
          examples:
            - ROUTE-001
          maxLength: 100
          type: string
        routeDescription:
          examples:
            - Settlement route for service charges
          maxLength: 250
          type: string
        routeId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        status:
          $ref: '#/components/schemas/OperationStatus'
        transactionId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        type:
          examples:
            - DEBIT
          maxLength: 50
          type: string
        updatedAt:
          examples:
            - '2021-01-01T00:00:00Z'
          format: date-time
          type: string
      required:
        - id
        - transactionId
        - description
        - type
        - assetCode
        - chartOfAccounts
        - amount
        - balance
        - balanceAfter
        - status
        - accountId
        - accountAlias
        - balanceKey
        - balanceId
        - organizationId
        - ledgerId
        - route
        - balanceAffected
        - createdAt
        - updatedAt
        - deletedAt
        - metadata
      type: object
    TransactionStatus:
      additionalProperties: false
      properties:
        code:
          examples:
            - ACTIVE
          maxLength: 100
          type: string
        description:
          examples:
            - Active status
          maxLength: 256
          type:
            - string
            - 'null'
      required:
        - code
        - description
      type: object
    Source:
      additionalProperties: false
      properties:
        from:
          items:
            $ref: '#/components/schemas/FromTo'
          type:
            - array
            - 'null'
        remaining:
          examples:
            - remaining
          type: string
      type: object
    OperationAmount:
      additionalProperties: false
      properties:
        value:
          examples:
            - '1500'
          minimum: 0
          type:
            - string
            - 'null'
      required:
        - value
      type: object
    OperationBalance:
      additionalProperties: false
      properties:
        available:
          examples:
            - '1500'
          minimum: 0
          type:
            - string
            - 'null'
        onHold:
          examples:
            - '500'
          minimum: 0
          type:
            - string
            - 'null'
        overdraftUsed:
          examples:
            - '130'
          minimum: 0
          type: string
        version:
          examples:
            - 2
          format: int64
          minimum: 0
          type:
            - integer
            - 'null'
      required:
        - available
        - onHold
        - version
        - overdraftUsed
      type: object
    OperationStatus:
      additionalProperties: false
      properties:
        code:
          examples:
            - ACTIVE
          maxLength: 100
          type: string
        description:
          examples:
            - Active status
          maxLength: 256
          type:
            - string
            - 'null'
      required:
        - code
        - description
      type: object
    FromTo:
      additionalProperties: false
      properties:
        accountAlias:
          examples:
            - '@person1'
          type: string
        amount:
          $ref: '#/components/schemas/Amount'
        balanceKey:
          examples:
            - asset-freeze
          type: string
        chartOfAccounts:
          examples:
            - '1000'
          type: string
        description:
          examples:
            - description
          type: string
        isFrom:
          examples:
            - true
          type: boolean
        metadata:
          additionalProperties: {}
          type: object
        rate:
          $ref: '#/components/schemas/Rate'
        remaining:
          examples:
            - remaining
          type: string
        route:
          examples:
            - 00000000-0000-0000-0000-000000000000
          type: string
        routeId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          format: uuid
          type: string
        share:
          $ref: '#/components/schemas/Share'
      required:
        - chartOfAccounts
        - metadata
      type: object
    Amount:
      additionalProperties: false
      properties:
        asset:
          examples:
            - BRL
          type: string
        value:
          examples:
            - '1000'
          type: string
      type: object
    Rate:
      additionalProperties: false
      properties:
        externalId:
          examples:
            - 00000000-0000-0000-0000-000000000000
          type: string
        from:
          examples:
            - BRL
          type: string
        to:
          examples:
            - USDe
          type: string
        value:
          examples:
            - '1000'
          type: string
      required:
        - from
        - to
        - value
        - externalId
      type: object
    Share:
      additionalProperties: false
      properties:
        percentage:
          format: int64
          type: integer
        percentageOfPercentage:
          format: int64
          type: integer
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````