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

# Accept Quote

> Accepts a quote and initiates a transfer.

This endpoint allows accepting a previously obtained quote to initiate a transfer
to the specified destination. The transfer will debit the source account and
initiate the transfer to the destination according to the quote details.



## OpenAPI

````yaml service-openapi POST /v1/service/transfer/quote/accept
openapi: 3.0.0
info:
  title: Service API
  version: 0.0.0
servers:
  - url: https://api.nxos.io
    description: single server endpoint
    variables: {}
security: []
tags: []
paths:
  /v1/service/transfer/quote/accept:
    post:
      summary: Accept quote
      description: >-
        Accepts a quote and initiates a transfer.


        This endpoint allows accepting a previously obtained quote to initiate a
        transfer

        to the specified destination. The transfer will debit the source account
        and

        initiate the transfer to the destination according to the quote details.
      operationId: Transfer_acceptQuote
      parameters: []
      requestBody:
        description: >-
          The details for accepting the quote, including the quote ID and
          payment information.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AcceptQuoteRequest'
      responses:
        '200':
          description: The ledger transaction created as part of accepting the quote.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
components:
  schemas:
    AcceptQuoteRequest:
      type: object
      required:
        - quote_id
        - value
        - info
        - transaction
      properties:
        quote_id:
          type: string
          description: The unique identifier of the quote to accept.
        provider:
          type: string
          description: |-
            The provider to use for the transfer (e.g., "coinsph", "ebury").
            Must match the provider used to obtain the quote.
        value:
          type: object
          properties:
            asset:
              type: string
              description: >-
                The asset code for the transfer, including scale (e.g.,
                "USD:2").
            amount:
              type: string
              description: The amount to transfer.
          required:
            - asset
            - amount
          description: The value of the transfer (asset and amount).
        info:
          type: object
          additionalProperties: {}
          description: >-
            Payment information required for the transfer.

            For Ebury, this includes beneficiary details like name, address, and
            bank information.

            The specific fields required depend on the provider and destination
            country.
        transaction:
          allOf:
            - $ref: '#/components/schemas/CreateTransactionRequest'
          description: |-
            Transaction details for ledger accounting.
            This creates the ledger transaction that reflects the transfer.
      description: Request model for accepting a quote and initiating a transfer.
    Transaction:
      type: object
      required:
        - transaction_id
        - asset_moves
        - created_at
        - updated_at
      properties:
        transaction_id:
          type: string
          format: uuid
          description: The unique internally assigned identifier of the transaction
        transaction_ref:
          type: string
          description: The externally defined reference of the transaction
        asset_moves:
          type: array
          items:
            $ref: '#/components/schemas/AssetMove'
          description: The asset moves for the transaction
        metadata:
          type: object
          additionalProperties: {}
          description: Additional, optional, metadata for the transaction
        created_at:
          type: string
          format: date-time
          description: The created at timestamp
        updated_at:
          type: string
          format: date-time
          description: The updated at timestamp
    CreateTransactionRequest:
      type: object
      required:
        - asset_moves
      properties:
        transaction_ref:
          type: string
          minLength: 1
          description: >-
            The reference of the transaction - needs to be unique for the
            transaction, can be anything from a UUID to a reference of your
            choice. This is the reference you will use to interact with the
            transaction.

            This reference also guarantees idempotency, so if you send the same
            transaction reference twice, the second request will be ignored.
        asset_moves:
          type: array
          items:
            $ref: '#/components/schemas/AssetMoveRequest'
          description: The asset moves for the transaction
        metadata:
          type: object
          additionalProperties: {}
          description: Additional, optional, metadata for the transaction
    AssetMove:
      type: object
      required:
        - asset_move_ref
        - source_account
        - destination_account
        - asset_code
        - amount
        - status
        - type
        - created_at
        - updated_at
      properties:
        asset_move_ref:
          type: string
          format: uuid
          description: >-
            The unique reference of the asset move, set by you when creating the
            asset move
        source_account:
          allOf:
            - $ref: '#/components/schemas/AssetMoveAccount'
          description: The representation of the source account
        destination_account:
          allOf:
            - $ref: '#/components/schemas/AssetMoveAccount'
          description: The represantation of the destination account
        asset_code:
          type: string
          minLength: 1
          description: The reference of the asset
        amount:
          type: string
          description: The amount of the asset to move
        status:
          allOf:
            - $ref: '#/components/schemas/AssetMoveStatus'
          description: The status of the asset move
        type:
          type: string
          minLength: 1
          description: The type of the asset move
        decline_type:
          type: string
          description: >-
            the specific decline reason for the asset move in case the
            asset-move has been declined.

            This can be a system-defined reason such as INSUFFICIENT_FUNDS, or
            LIMIT_EXCEEDED, or it can be

            a custom defined type of so set during the transaction creation
        categories:
          type: array
          items:
            type: string
          description: The categories of the asset move
        metadata:
          type: object
          additionalProperties: {}
          description: Additional, optional, metadata for the asset move
        created_at:
          type: string
          format: date-time
          description: The created at timestamp
        updated_at:
          type: string
          format: date-time
          description: The updated at timestamp
    AssetMoveRequest:
      type: object
      required:
        - source_account
        - destination_account
        - asset_code
        - amount
      properties:
        asset_move_ref:
          type: string
          minLength: 1
          description: >-
            The reference of the asset move - needs to be unique for the asset
            move, can be anything from a UUID to a reference of your choice.
            This is the reference you will use to interact with the asset move.
        source_account:
          allOf:
            - $ref: '#/components/schemas/AssetMoveAccount'
          description: The representation of the source account
        destination_account:
          allOf:
            - $ref: '#/components/schemas/AssetMoveAccount'
          description: The represantation of the destination account
        asset_code:
          type: string
          minLength: 1
          description: The reference of the asset
        amount:
          type: string
          description: The amount of the asset to move
        type:
          type: string
          minLength: 1
          description: >-
            The type of the asset move - as defined by the client, defaults to
            "TRANSFER"
        categories:
          type: array
          items:
            type: string
          description: >-
            Additional, optional, categories to classify the asset move, such as
            'CARD' or 'BANK'
        metadata:
          type: object
          additionalProperties: {}
          description: >-
            Additional, optional, metadata for the asset move, this can include
            things like external stripe-ids, or other data you would like to
            store with the asset-move
    AssetMoveAccount:
      type: object
      properties:
        ref:
          type: string
          description: The user-defined reference of the account.
        id:
          type: string
          description: The system-generated ID of the account.
      description: >-
        Represents an account reference for asset moves.

        Used to specify source or destination accounts in asset movement
        operations.

        Exactly one of 'ref' or 'id' must be provided.
    AssetMoveStatus:
      type: string
      enum:
        - EXPECTED
        - LOCKED
        - COMPLETED
        - DECLINED
        - REFUNDED
      description: >-
        Represents the current status of an asset move.

        Asset moves are transfers of assets between accounts and form the basis
        of transactions.

        Note: LOCKED and COMPLETED statuses affect account balances, while

        EXPECTED, DECLINED, and REFUNDED do not impact or release cap

````