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

# Resolve a funding transfer held for compliance review (sandbox only)

> Resolves the transfer into this order's funding address that is currently held for compliance review. The transfer is itself a readable `deposit` transaction on `GET /v2/transactions`, but this lever takes the order id, the same handle as the funding lever — the decision applies to the transfer the order is waiting on. `outcome: "approve"` clears the hold and the transfer goes on to fund the order; it is available only while the review is still pending, and returns 409 once the review has already rejected the transfer, matching production. `outcome: "reject"` holds the funds permanently — they neither fund the order nor go back — and the order goes unfunded and expires at its deadline. Returns 202: the resolution is applied asynchronously, and the body is the order as of the call, so poll `GET /v2/orders/{orderId}` for the outcome. Repeating the call while the review is still open is safe; once it has resolved, a repeat is a 409.



## OpenAPI

````yaml https://api.sandbox.conduit.financial/v2/api-docs/openapi.json post /sandbox/orders/{orderId}/deposits/simulate/compliance-decision
openapi: 3.0.0
info:
  title: Conduit Sandbox API
  description: >-
    **Sandbox API** — clients integrate against this surface to exercise happy
    and unhappy paths without consuming real KYC/PSP credits or moving real
    money. Customer KYC, banking partners, and crypto custody are stubbed;
    org-level KYB runs against real providers. Simulation endpoints under
    `/v2/sandbox/*` drive specific scenarios.


    Internal and portal endpoints are excluded from this spec.
  version: '2.0'
  contact: {}
servers:
  - url: https://api.sandbox.conduit.financial/v2
    description: Sandbox
  - url: https://api.conduit.financial/v2
    description: Production
security:
  - api-key: []
tags:
  - name: Customers
  - name: Registered Addresses
  - name: Wallets
  - name: Wallet Signers
  - name: Signing Quorum
  - name: Virtual Accounts
  - name: Applications
  - name: Documents
  - name: Verifications
  - name: Signing Requests
  - name: Transactions
  - name: Payouts
  - name: Whitelist Recipients
  - name: Orders
  - name: RFIs
  - name: Webhook Endpoints
  - name: Webhook Deliveries
  - name: Webhook Event Types
  - name: Features
  - name: Customer Onboarding
  - name: Sandbox
paths:
  /sandbox/orders/{orderId}/deposits/simulate/compliance-decision:
    post:
      tags:
        - Sandbox
      summary: Resolve a funding transfer held for compliance review (sandbox only)
      description: >-
        Resolves the transfer into this order's funding address that is
        currently held for compliance review. The transfer is itself a readable
        `deposit` transaction on `GET /v2/transactions`, but this lever takes
        the order id, the same handle as the funding lever — the decision
        applies to the transfer the order is waiting on. `outcome: "approve"`
        clears the hold and the transfer goes on to fund the order; it is
        available only while the review is still pending, and returns 409 once
        the review has already rejected the transfer, matching production.
        `outcome: "reject"` holds the funds permanently — they neither fund the
        order nor go back — and the order goes unfunded and expires at its
        deadline. Returns 202: the resolution is applied asynchronously, and the
        body is the order as of the call, so poll `GET /v2/orders/{orderId}` for
        the outcome. Repeating the call while the review is still open is safe;
        once it has resolved, a repeat is a 409.
      operationId: >-
        OrdersSimulateDepositSandboxController_simulateFundingComplianceDecision_v2
      parameters:
        - name: orderId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SimulateComplianceDecisionDtoClass'
      responses:
        '202':
          description: The order as of the compliance resolution
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderExternalResponseDto'
        '400':
          description: >-
            **INVALID_OID_FORMAT**: A path or query parameter expected a valid
            object identifier but received a value that does not match the
            expected format.


            **VALIDATION_ERROR**: The request body or query parameters failed
            validation. One or more fields have invalid values, missing required
            properties, or incorrect types. Multipart file uploads that fail at
            the multipart-parser layer (unexpected form-field name, too many
            parts) carry an extra 'field' member naming the offending
            form-field.


            **MALFORMED_JSON**: The request body could not be parsed as JSON.
            Bodies declared as 'application/json' — and bodies with no
            Content-Type header, which are assumed to be JSON — must contain
            syntactically valid JSON.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorDto'
              example:
                type: INVALID_OID_FORMAT
                title: Invalid Object ID Format
                status: 400
                detail: >-
                  A path or query parameter expected a valid object identifier
                  but received a value that does not match the expected format.
                resolution: >-
                  Verify that all IDs in the request URL and query parameters
                  are correctly formatted. IDs are typically prefixed strings
                  like 'cus_...', 'app_...', or 'doc_...'.
                docs: https://conduit-v2.mintlify.app/errors#invalid-oid-format
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '401':
          description: >-
            **API_KEY_MISSING**: The request did not include an API key. All API
            requests must be authenticated.


            **API_KEY_INVALID**: The provided API key is not recognized or has
            been revoked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: API_KEY_MISSING
                title: API Key Missing
                status: 401
                detail: >-
                  The request did not include an API key. All API requests must
                  be authenticated.
                resolution: >-
                  Include your API key in the 'x-api-key' header with every
                  request.
                docs: https://conduit-v2.mintlify.app/errors#api-key-missing
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '403':
          description: >-
            **API_KEY_READ_ONLY**: This API key has read-only access and cannot
            perform write operations. Read-only keys may make read requests
            (GET, HEAD, OPTIONS) only.


            **FEATURE_NOT_ENABLED**: Your account does not have access to this
            feature. Features are enabled on a per-account basis.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: API_KEY_READ_ONLY
                title: API Key Is Read-Only
                status: 403
                detail: >-
                  This API key has read-only access and cannot perform write
                  operations. Read-only keys may make read requests (GET, HEAD,
                  OPTIONS) only.
                resolution: >-
                  Use a read-write API key for this request, or have an
                  organization admin mint one from the dashboard.
                docs: https://conduit-v2.mintlify.app/errors#api-key-read-only
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '404':
          description: >-
            **ORDER_NOT_FOUND**: No order exists with the specified ID, or the
            order has expired.


            **SANDBOX_ORDER_NO_PARKED_FUNDING**: No transfer into this order's
            funding address is currently held for compliance review. It may not
            have landed yet, it may have cleared on its own, or it may already
            have reached a terminal state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: ORDER_NOT_FOUND
                title: Order Not Found
                status: 404
                detail: >-
                  No order exists with the specified ID, or the order has
                  expired.
                resolution: >-
                  Verify the order ID is correct. Orders have a limited validity
                  period; create a new order if the previous one has expired.
                docs: https://conduit-v2.mintlify.app/errors#order-not-found
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '409':
          description: >-
            **SANDBOX_ORDER_NOT_DEPOSIT_FUNDED**: The order names its own
            funding source, so it publishes no Conduit-managed funding address.
            Only a deposit-funded order has one to deposit to.


            **CONFLICT**: The request conflicts with the current state of the
            resource. This usually means a duplicate or a state transition that
            is not allowed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: SANDBOX_ORDER_NOT_DEPOSIT_FUNDED
                title: Order has no funding address to deposit to
                status: 409
                detail: >-
                  The order names its own funding source, so it publishes no
                  Conduit-managed funding address. Only a deposit-funded order
                  has one to deposit to.
                resolution: >-
                  Fund the named source directly, or create the order without a
                  `source` so it returns a funding address in
                  `depositInstructions`.
                docs: >-
                  https://conduit-v2.mintlify.app/errors#sandbox-order-not-deposit-funded
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '415':
          description: >-
            **UNSUPPORTED_MEDIA_TYPE**: The request carries a body with a
            Content-Type this endpoint cannot parse. JSON endpoints accept
            'application/json'; a body with no Content-Type header at all is
            assumed to be JSON. File-upload endpoints accept only
            'multipart/form-data' — JSON or undeclared bodies are rejected
            there.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: UNSUPPORTED_MEDIA_TYPE
                title: Unsupported Media Type
                status: 415
                detail: >-
                  The request carries a body with a Content-Type this endpoint
                  cannot parse. JSON endpoints accept 'application/json'; a body
                  with no Content-Type header at all is assumed to be JSON.
                  File-upload endpoints accept only 'multipart/form-data' — JSON
                  or undeclared bodies are rejected there.
                resolution: >-
                  Send the request body with the 'Content-Type:
                  application/json' header. For file uploads, use 'Content-Type:
                  multipart/form-data' — upload endpoints accept no other body
                  type.
                docs: https://conduit-v2.mintlify.app/errors#unsupported-media-type
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '429':
          description: >-
            **RATE_LIMITED**: Too many requests. This error is returned by three
            independent checks: the per-organization bucket applied to every
            authenticated API request; the per-IP bucket applied to
            unauthenticated traffic before an API key is validated; and the
            per-IP bucket applied when repeated invalid API keys are submitted
            from the same address. Honor the Retry-After header (also exposed as
            retryAfterSeconds in the body) before retrying. Current limits and
            remaining budget are visible in X-RateLimit-Limit,
            X-RateLimit-Remaining, and X-RateLimit-Reset on rate-limited route
            responses.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitedErrorDto'
              example:
                type: RATE_LIMITED
                title: Rate Limited
                status: 429
                detail: >-
                  Too many requests. This error is returned by three independent
                  checks: the per-organization bucket applied to every
                  authenticated API request; the per-IP bucket applied to
                  unauthenticated traffic before an API key is validated; and
                  the per-IP bucket applied when repeated invalid API keys are
                  submitted from the same address. Honor the Retry-After header
                  (also exposed as retryAfterSeconds in the body) before
                  retrying. Current limits and remaining budget are visible in
                  X-RateLimit-Limit, X-RateLimit-Remaining, and
                  X-RateLimit-Reset on rate-limited route responses.
                resolution: >-
                  Sleep until Retry-After seconds have elapsed, then retry. For
                  sustained workloads exceeding the per-organization defaults,
                  request a rate-limit increase through your support contact.
                docs: https://conduit-v2.mintlify.app/errors#rate-limited
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
                retryAfterSeconds: 3
        '500':
          description: >-
            **INTERNAL_ERROR**: An unexpected error occurred while processing
            your request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: INTERNAL_ERROR
                title: Internal Error
                status: 500
                detail: An unexpected error occurred while processing your request.
                resolution: >-
                  Retry the request after a brief delay. If the error persists,
                  contact support and include the correlationId from the error
                  response for investigation.
                docs: https://conduit-v2.mintlify.app/errors#internal-error
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
        '503':
          description: >-
            **SERVICE_UNAVAILABLE**: The service is temporarily unable to handle
            your request due to maintenance or capacity constraints.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailDto'
              example:
                type: SERVICE_UNAVAILABLE
                title: Service Unavailable
                status: 503
                detail: >-
                  The service is temporarily unable to handle your request due
                  to maintenance or capacity constraints.
                resolution: >-
                  Retry the request using exponential backoff. Check the status
                  page for any ongoing incidents.
                docs: https://conduit-v2.mintlify.app/errors#service-unavailable
                instance: /v2/...
                correlationId: req_a1b2c3d4
                timestamp: '2026-01-15T09:30:00.000Z'
components:
  schemas:
    SimulateComplianceDecisionDtoClass:
      type: object
      properties:
        outcome:
          type: string
          enum:
            - approve
            - reject
          description: >-
            `approve` clears the compliance hold and the transaction resumes
            (deposit credits / withdrawal proceeds). `reject` terminalizes the
            transaction using the transaction type's default compliance terminal
            (deposit → frozen, withdrawal → rejected).
      required:
        - outcome
      additionalProperties: false
    OrderExternalResponseDto:
      type: object
      properties:
        id:
          type: string
          pattern: ^ord_[0-9A-Za-z]{22}$
        customerId:
          type: string
          pattern: ^cus_[0-9A-Za-z]{22}$
          nullable: true
        clientReferenceId:
          type: string
          pattern: ^[A-Za-z0-9_\-:.]{1,255}$
          description: >-
            Client-supplied reference, unique per resource within your
            organization. 1-255 characters from A-Za-z, 0-9, underscore, hyphen,
            colon, and period — no spaces.
        status:
          type: string
          enum:
            - pending
            - succeeded
            - failed
            - cancelled
        type:
          type: string
          enum:
            - onramp
            - offramp
            - conversion
        source:
          description: >-
            The funding resource, when the order named one. Omitted entirely on
            a deposit-funded order (created without a `source`): the funding
            wallet is Conduit-managed infrastructure with no client-resolvable
            id, and `depositInstructions` carries the address to fund at
            instead. The presence of `depositInstructions` is the discriminator.
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                id:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
              required:
                - type
                - id
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                id:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
              required:
                - type
                - id
        destination:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - wallet
                id:
                  type: string
                  pattern: ^wlt_[0-9A-Za-z]{22}$
              required:
                - type
                - id
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - virtual_account
                id:
                  type: string
                  pattern: ^vac_[0-9A-Za-z]{22}$
              required:
                - type
                - id
        sourceAsset:
          type: object
          properties:
            code:
              type: string
              enum:
                - USD
                - EUR
                - GBP
                - CHF
                - JPY
                - CAD
                - AUD
                - NZD
                - SGD
                - HKD
                - CNY
                - KRW
                - INR
                - BRL
                - MXN
                - ARS
                - CLP
                - COP
                - PEN
                - ZAR
                - NGN
                - KES
                - GHS
                - EGP
                - AED
                - SAR
                - ILS
                - TRY
                - PLN
                - CZK
                - HUF
                - SEK
                - NOK
                - DKK
                - THB
                - IDR
                - MYR
                - PHP
                - VND
                - TWD
                - USDC
                - USDT
                - DAI
                - EURC
                - PYUSD
                - BTC
                - ETH
                - SOL
                - TRX
              description: Asset code (USDC, USD, etc.)
            chain:
              description: Chain when the asset is on-chain; omitted for fiat.
              type: string
              enum:
                - ethereum
                - base
                - solana
                - polygon
                - arbitrum
                - optimism
                - avalanche
                - tron
                - stellar
                - bsc
                - bitcoin
            amount:
              type: string
              description: Decimal string, asset-precision rounded
          required:
            - code
            - amount
          additionalProperties: false
        destinationAsset:
          type: object
          properties:
            code:
              type: string
              enum:
                - USD
                - EUR
                - GBP
                - CHF
                - JPY
                - CAD
                - AUD
                - NZD
                - SGD
                - HKD
                - CNY
                - KRW
                - INR
                - BRL
                - MXN
                - ARS
                - CLP
                - COP
                - PEN
                - ZAR
                - NGN
                - KES
                - GHS
                - EGP
                - AED
                - SAR
                - ILS
                - TRY
                - PLN
                - CZK
                - HUF
                - SEK
                - NOK
                - DKK
                - THB
                - IDR
                - MYR
                - PHP
                - VND
                - TWD
                - USDC
                - USDT
                - DAI
                - EURC
                - PYUSD
                - BTC
                - ETH
                - SOL
                - TRX
              description: Asset code (USDC, USD, etc.)
            chain:
              description: Chain when the asset is on-chain; omitted for fiat.
              type: string
              enum:
                - ethereum
                - base
                - solana
                - polygon
                - arbitrum
                - optimism
                - avalanche
                - tron
                - stellar
                - bsc
                - bitcoin
            amount:
              type: string
              description: Decimal string, asset-precision rounded
          required:
            - code
            - amount
          additionalProperties: false
        lockSide:
          type: string
          enum:
            - source
            - destination
        autoPayout:
          type: object
          properties:
            recipient:
              oneOf:
                - oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        accountNumber:
                          type: string
                          minLength: 4
                          maxLength: 64
                        routingNumber:
                          type: string
                        accountType:
                          type: string
                          enum:
                            - checking
                            - savings
                        bankName:
                          type: string
                          maxLength: 140
                        bankAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                        phone:
                          description: >-
                            Recipient contact phone. Optional; forwarded to the
                            banking partner when provided.
                          type: string
                          maxLength: 40
                        type:
                          type: string
                          enum:
                            - individual
                        firstName:
                          type: string
                          maxLength: 70
                        lastName:
                          type: string
                          maxLength: 70
                        dateOfBirth:
                          type: string
                          format: date
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                        countryOfCitizenship:
                          type: string
                        postalAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                      required:
                        - rail
                        - accountNumber
                        - routingNumber
                        - accountType
                        - bankAddress
                        - type
                        - firstName
                        - lastName
                        - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - us
                        accountNumber:
                          type: string
                          minLength: 4
                          maxLength: 64
                        routingNumber:
                          type: string
                        accountType:
                          type: string
                          enum:
                            - checking
                            - savings
                        bankName:
                          type: string
                          maxLength: 140
                        bankAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                        phone:
                          description: >-
                            Recipient contact phone. Optional; forwarded to the
                            banking partner when provided.
                          type: string
                          maxLength: 40
                        type:
                          type: string
                          enum:
                            - business
                        legalName:
                          type: string
                          maxLength: 140
                        countryOfRegistration:
                          type: string
                        postalAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                      required:
                        - rail
                        - accountNumber
                        - routingNumber
                        - accountType
                        - bankAddress
                        - type
                        - legalName
                        - postalAddress
                - oneOf:
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        accountNumber:
                          type: string
                          minLength: 4
                          maxLength: 64
                        iban:
                          type: string
                        bic:
                          type: string
                        bankName:
                          type: string
                          maxLength: 140
                        bankAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                        phone:
                          description: >-
                            Recipient contact phone. Optional; forwarded to the
                            banking partner when provided.
                          type: string
                          maxLength: 40
                        type:
                          type: string
                          enum:
                            - individual
                        firstName:
                          type: string
                          maxLength: 70
                        lastName:
                          type: string
                          maxLength: 70
                        dateOfBirth:
                          type: string
                          format: date
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                        countryOfCitizenship:
                          type: string
                        postalAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                      required:
                        - rail
                        - bic
                        - bankAddress
                        - type
                        - firstName
                        - lastName
                        - postalAddress
                    - type: object
                      properties:
                        rail:
                          type: string
                          enum:
                            - swift
                        accountNumber:
                          type: string
                          minLength: 4
                          maxLength: 64
                        iban:
                          type: string
                        bic:
                          type: string
                        bankName:
                          type: string
                          maxLength: 140
                        bankAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                        phone:
                          description: >-
                            Recipient contact phone. Optional; forwarded to the
                            banking partner when provided.
                          type: string
                          maxLength: 40
                        type:
                          type: string
                          enum:
                            - business
                        legalName:
                          type: string
                          maxLength: 140
                        countryOfRegistration:
                          type: string
                        postalAddress:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 120
                            addressLine2:
                              type: string
                              maxLength: 120
                            city:
                              type: string
                              maxLength: 80
                            state:
                              type: string
                              maxLength: 80
                            postalCode:
                              type: string
                              maxLength: 32
                            country:
                              type: string
                          required:
                            - addressLine1
                            - city
                            - country
                          additionalProperties: false
                      required:
                        - rail
                        - bic
                        - bankAddress
                        - type
                        - legalName
                        - postalAddress
                - type: object
                  properties:
                    rail:
                      type: string
                      enum:
                        - crypto
                    chain:
                      type: string
                      enum:
                        - ethereum
                        - base
                        - solana
                        - polygon
                        - arbitrum
                        - optimism
                        - avalanche
                        - tron
                        - stellar
                        - bsc
                        - bitcoin
                    address:
                      type: string
                    attestation:
                      type: object
                      properties:
                        custody:
                          type: string
                          enum:
                            - self
                            - third_party
                      required:
                        - custody
                      additionalProperties: false
                    type:
                      type: string
                      enum:
                        - individual
                        - business
                    firstName:
                      type: string
                    lastName:
                      type: string
                    legalName:
                      type: string
                    dateOfBirth:
                      type: string
                    countryOfCitizenship:
                      type: string
                    countryOfRegistration:
                      type: string
                    postalAddress:
                      type: object
                      properties:
                        addressLine1:
                          type: string
                          maxLength: 120
                        addressLine2:
                          type: string
                          maxLength: 120
                        city:
                          type: string
                          maxLength: 80
                        state:
                          type: string
                          maxLength: 80
                        postalCode:
                          type: string
                          maxLength: 32
                        country:
                          type: string
                      required:
                        - addressLine1
                        - city
                        - country
                      additionalProperties: false
                    phone:
                      type: string
                  required:
                    - rail
                    - chain
                    - address
                    - attestation
            rail:
              type: string
              enum:
                - rtp
                - fedwire
                - ach
                - swift
                - fednow
            ach:
              type: object
              properties:
                authorizationType:
                  type: string
                  enum:
                    - corporate_agreement
                    - written
                    - web
              required:
                - authorizationType
            swift:
              type: object
              properties:
                purposeOfPayment:
                  type: string
                  maxLength: 140
            instant:
              type: object
              properties:
                receiverNetworkPreference:
                  type: string
                  enum:
                    - tch
                    - fednow
            remittance:
              type: object
              properties:
                reference:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 280
          required:
            - recipient
          description: >-
            AutoPayout payload. Crypto recipients omit
            `rail`/`ach`/`swift`/`instant`/`remittance`; fiat (us|swift)
            recipients require `rail` and may carry the matching per-rail
            context block.
        rate:
          type: object
          properties:
            referenceRate:
              type: string
              description: Market reference rate at quote time
            totalSpreadBps:
              type: string
              description: >-
                Combined spread (FX markup + take rate) in basis points, integer
                as string
            endUserRate:
              type: string
              description: Effective rate the customer is transacting at
          required:
            - referenceRate
            - totalSpreadBps
            - endUserRate
        fees:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                  - fixed
              assetAmount:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - arbitrum
                      - optimism
                      - avalanche
                      - tron
                      - stellar
                      - bsc
                      - bitcoin
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
            required:
              - type
              - assetAmount
        totalDebit:
          type: object
          properties:
            code:
              type: string
              enum:
                - USD
                - EUR
                - GBP
                - CHF
                - JPY
                - CAD
                - AUD
                - NZD
                - SGD
                - HKD
                - CNY
                - KRW
                - INR
                - BRL
                - MXN
                - ARS
                - CLP
                - COP
                - PEN
                - ZAR
                - NGN
                - KES
                - GHS
                - EGP
                - AED
                - SAR
                - ILS
                - TRY
                - PLN
                - CZK
                - HUF
                - SEK
                - NOK
                - DKK
                - THB
                - IDR
                - MYR
                - PHP
                - VND
                - TWD
                - USDC
                - USDT
                - DAI
                - EURC
                - PYUSD
                - BTC
                - ETH
                - SOL
                - TRX
              description: Asset code (USDC, USD, etc.)
            chain:
              description: Chain when the asset is on-chain; omitted for fiat.
              type: string
              enum:
                - ethereum
                - base
                - solana
                - polygon
                - arbitrum
                - optimism
                - avalanche
                - tron
                - stellar
                - bsc
                - bitcoin
            amount:
              type: string
              description: Decimal string, asset-precision rounded
          required:
            - code
            - amount
          additionalProperties: false
        lockExpiresAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        autoExecute:
          type: boolean
        executedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        executionTrigger:
          type: string
          enum:
            - client
            - auto
        cancelledAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp
          example: '2026-01-15T09:30:00.000Z'
        cancellationReason:
          type: string
          enum:
            - expired
            - client_cancelled
        failureCode:
          type: string
          enum:
            - insufficient_funds
            - provider_unavailable
            - provider_rejected
            - internal_error
            - cancelled
        failureMessage:
          type: string
        linkedTransactionIds:
          type: array
          items:
            type: string
            pattern: ^txn_[0-9A-Za-z]{22}$
        depositInstructions:
          minItems: 1
          maxItems: 1
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                description: >-
                  Discriminator for this deposit block: send crypto to an
                  on-chain address.
                enum:
                  - crypto_address
              address:
                type: string
                description: Conduit-managed deposit address for funding this order.
              chain:
                type: string
                enum:
                  - ethereum
                  - base
                  - solana
                  - polygon
                  - arbitrum
                  - optimism
                  - avalanche
                  - tron
                  - stellar
                  - bsc
                  - bitcoin
                description: >-
                  Blockchain network to send the funding deposit on. Sending on
                  any other chain will not fund the order.
              asset:
                type: string
                enum:
                  - USD
                  - EUR
                  - GBP
                  - CHF
                  - JPY
                  - CAD
                  - AUD
                  - NZD
                  - SGD
                  - HKD
                  - CNY
                  - KRW
                  - INR
                  - BRL
                  - MXN
                  - ARS
                  - CLP
                  - COP
                  - PEN
                  - ZAR
                  - NGN
                  - KES
                  - GHS
                  - EGP
                  - AED
                  - SAR
                  - ILS
                  - TRY
                  - PLN
                  - CZK
                  - HUF
                  - SEK
                  - NOK
                  - DKK
                  - THB
                  - IDR
                  - MYR
                  - PHP
                  - VND
                  - TWD
                  - USDC
                  - USDT
                  - DAI
                  - EURC
                  - PYUSD
                  - BTC
                  - ETH
                  - SOL
                  - TRX
                description: Asset code to send.
              expiresAt:
                type: string
                format: date-time
                description: >-
                  Funding deadline; the order is cancelled if unfunded by this
                  time.
                example: '2026-01-15T09:30:00.000Z'
            required:
              - type
              - address
              - chain
              - asset
              - expiresAt
          description: >-
            Where to send funds to fund this order. Exactly one `crypto_address`
            block.
        fundedBy:
          description: >-
            Transfers that funded this order, with how much of each it draws.
            Present on the order detail read for an order funded at a Conduit
            funding address; omitted on the list read and on an order that names
            its own source.
          type: array
          items:
            type: object
            properties:
              transactionId:
                type: string
                pattern: ^txn_[0-9A-Za-z]{22}$
              amount:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - USD
                      - EUR
                      - GBP
                      - CHF
                      - JPY
                      - CAD
                      - AUD
                      - NZD
                      - SGD
                      - HKD
                      - CNY
                      - KRW
                      - INR
                      - BRL
                      - MXN
                      - ARS
                      - CLP
                      - COP
                      - PEN
                      - ZAR
                      - NGN
                      - KES
                      - GHS
                      - EGP
                      - AED
                      - SAR
                      - ILS
                      - TRY
                      - PLN
                      - CZK
                      - HUF
                      - SEK
                      - NOK
                      - DKK
                      - THB
                      - IDR
                      - MYR
                      - PHP
                      - VND
                      - TWD
                      - USDC
                      - USDT
                      - DAI
                      - EURC
                      - PYUSD
                      - BTC
                      - ETH
                      - SOL
                      - TRX
                    description: Asset code (USDC, USD, etc.)
                  chain:
                    description: Chain when the asset is on-chain; omitted for fiat.
                    type: string
                    enum:
                      - ethereum
                      - base
                      - solana
                      - polygon
                      - arbitrum
                      - optimism
                      - avalanche
                      - tron
                      - stellar
                      - bsc
                      - bitcoin
                  amount:
                    type: string
                    description: Decimal string, asset-precision rounded
                required:
                  - code
                  - amount
                additionalProperties: false
            required:
              - transactionId
              - amount
      required:
        - id
        - customerId
        - status
        - type
        - destination
        - sourceAsset
        - destinationAsset
        - lockSide
        - rate
        - fees
        - totalDebit
        - lockExpiresAt
        - createdAt
        - autoExecute
        - linkedTransactionIds
    ValidationErrorDto:
      type: object
      properties:
        type:
          type: string
          description: Machine-readable error code
          example: CUSTOMER_NOT_FOUND
        title:
          type: string
          description: Human-readable error type label
          example: Customer Not Found
        status:
          type: number
          description: HTTP status code
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence
          example: Customer with id cus_abc123 not found
        resolution:
          type: string
          description: What the developer should do to resolve this error
          example: >-
            Verify the customer ID. Check you are using the correct API key for
            this organization.
        docs:
          type: string
          description: URL to error documentation
          example: https://conduit-v2.mintlify.app/errors#customer-not-found
        instance:
          type: string
          description: Request path that produced the error
          example: /v2/customers/cus_abc123
        correlationId:
          description: Request correlation ID
          example: req_a1b2c3d4
          type: string
        timestamp:
          type: string
          description: ISO 8601 UTC timestamp
          example: '2026-04-27T20:00:00.000Z'
        details:
          description: >-
            Additional structured data for domain-specific errors (e.g. missing
            field lists, pair info)
        errors:
          type: array
          items:
            type: object
            properties:
              pointer:
                type: string
                description: JSON pointer to the invalid field
                example: /email
              detail:
                type: string
                description: What is wrong with this field
                example: Invalid email format
              allowedValues:
                description: The values this field accepts, when it is a closed set
                example:
                  - ach
                  - fedwire
                  - rtp
                type: array
                items:
                  type: string
              category:
                description: >-
                  Class of blocker (requirements-validator output only). 'field'
                  = form-field gap, 'document' = missing or insufficient
                  document (including per-UBO document slots), 'individual' =
                  required person missing.
                example: field
                type: string
                enum:
                  - field
                  - document
                  - individual
            required:
              - pointer
              - detail
      required:
        - type
        - title
        - status
        - detail
        - resolution
        - docs
        - instance
        - timestamp
    ProblemDetailDto:
      type: object
      properties:
        type:
          type: string
          description: Machine-readable error code
          example: CUSTOMER_NOT_FOUND
        title:
          type: string
          description: Human-readable error type label
          example: Customer Not Found
        status:
          type: number
          description: HTTP status code
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence
          example: Customer with id cus_abc123 not found
        resolution:
          type: string
          description: What the developer should do to resolve this error
          example: >-
            Verify the customer ID. Check you are using the correct API key for
            this organization.
        docs:
          type: string
          description: URL to error documentation
          example: https://conduit-v2.mintlify.app/errors#customer-not-found
        instance:
          type: string
          description: Request path that produced the error
          example: /v2/customers/cus_abc123
        correlationId:
          description: Request correlation ID
          example: req_a1b2c3d4
          type: string
        timestamp:
          type: string
          description: ISO 8601 UTC timestamp
          example: '2026-04-27T20:00:00.000Z'
        details:
          description: >-
            Additional structured data for domain-specific errors (e.g. missing
            field lists, pair info)
      required:
        - type
        - title
        - status
        - detail
        - resolution
        - docs
        - instance
        - timestamp
    RateLimitedErrorDto:
      type: object
      properties:
        type:
          type: string
          description: Machine-readable error code
          example: CUSTOMER_NOT_FOUND
        title:
          type: string
          description: Human-readable error type label
          example: Customer Not Found
        status:
          type: number
          description: HTTP status code
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence
          example: Customer with id cus_abc123 not found
        resolution:
          type: string
          description: What the developer should do to resolve this error
          example: >-
            Verify the customer ID. Check you are using the correct API key for
            this organization.
        docs:
          type: string
          description: URL to error documentation
          example: https://conduit-v2.mintlify.app/errors#customer-not-found
        instance:
          type: string
          description: Request path that produced the error
          example: /v2/customers/cus_abc123
        correlationId:
          description: Request correlation ID
          example: req_a1b2c3d4
          type: string
        timestamp:
          type: string
          description: ISO 8601 UTC timestamp
          example: '2026-04-27T20:00:00.000Z'
        details:
          description: >-
            Additional structured data for domain-specific errors (e.g. missing
            field lists, pair info)
        retryAfterSeconds:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          maximum: 9007199254740991
          description: Seconds to wait before retrying
          example: 3
      required:
        - type
        - title
        - status
        - detail
        - resolution
        - docs
        - instance
        - timestamp
        - retryAfterSeconds
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: x-api-key

````