Transfers

Submit travel-rule data for a transfer

Attaches originator/beneficiary travel-rule information to a transfer whose destination is an external crypto address. Required by policy above a server-enforced amount threshold; it may also be supplied inline on POST /transfers. Returns the updated Transfer. Crypto-address transfer legs remain gated until enabled.

post/transfers/{transfer_id}/travel-rule

Request

  • Base URL
    https://developers.ozav.io/v2
  • Auth
    • API key in header X-API-Key
    • or HTTP bearer

Path parameters

transfer_idstring required

The opaque transfer id (ozav_tr_...).

Request body

Example request

{
  "originator": {
    "identity_documents": [
      {
        "type": "cpf",
        "number": "11144477735",
        "issuing_country": "BR"
      }
    ],
    "address": {
      "country": "BR"
    }
  },
  "beneficiary": {
    "identity_documents": [
      {
        "type": "cpf",
        "number": "11144477735",
        "issuing_country": "BR"
      }
    ],
    "address": {
      "country": "BR"
    }
  }
}

Response

Travel-rule data accepted.

idstring required

Opaque transfer identifier, prefixed ozav_tr_.

object'transfer' required

Resource type discriminator; always the literal transfer.

customer_idstring

The ozav_cus_ id of the customer this transfer is for.

quote_idstring

The ozav_q_ id of the executed quote, when the transfer references one.

status'awaiting_payment' | 'payment_confirmed' | 'converting' | 'payout_initiated' | 'completed' | 'failed' | 'cancelled' | 'expired' | 'needs_review' | 'awaiting_approval' required

Canonical transfer state machine. A successful FX transfer walks awaiting_payment → payment_confirmed → converting → payout_initiated → completed; the remaining states are terminal failures or attention states.

ValueMeaning
awaiting_paymentTransfer created; awaiting the customer's inbound payment.
payment_confirmedThe inbound payment has been confirmed.
convertingFunds are in flight and the FX conversion is underway (not yet confirmed).
payout_initiatedThe payout to the destination has been initiated.
completedTerminal success - funds delivered to the destination.
failedTerminal failure - no funds delivered.
cancelledTerminal - the transfer was cancelled.
expiredTerminal - the transfer expired before completing.
needs_reviewStuck and needs attention (e.g. underfunded, returned, in review); not terminal.
awaiting_approvalNot returned: no transfer waits on approver keys.
approval_idstring

Not returned. No transfer waits on approver keys.

created_atstring date-time

When the transfer was created (RFC 3339 / ISO 8601, UTC).

updated_atstring date-time

When the transfer was last updated (RFC 3339 / ISO 8601, UTC).

completed_atstring date-time

When the transfer reached a terminal state (RFC 3339 / ISO 8601, UTC). Present once status is terminal.

metadataMetadata

Free-form string map (max 50 keys).

Example response

{
  "amounts": {
    "source": {
      "amount": "1250.00"
    },
    "target": {
      "amount": "1250.00"
    }
  },
  "travel_rule": {
    "originator": {
      "identity_documents": [
        {
          "type": "cpf",
          "number": "11144477735",
          "issuing_country": "BR"
        }
      ],
      "address": {
        "country": "BR"
      }
    },
    "beneficiary": {
      "identity_documents": [
        {
          "type": "cpf",
          "number": "11144477735",
          "issuing_country": "BR"
        }
      ],
      "address": {
        "country": "BR"
      }
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.