Skip to main content
POST
/
v1
/
transfers
Create a transfer
curl --request POST \
  --url https://api.getsly.ai/v1/v1/transfers \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "fromAccountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "toAccountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "amount": 123,
  "destinationCurrency": "<string>",
  "quoteId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "description": "<string>"
}
'
{
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "type": "cross_border",
    "status": "pending",
    "amount": "<string>",
    "currency": "<string>",
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "from_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "to_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "from_wallet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "to_wallet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "description": "<string>",
    "memo": "<string>",
    "quote_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "destination_currency": "<string>",
    "initiated_by_type": "user",
    "initiated_by_id": "<string>",
    "protocol": "<string>",
    "protocol_metadata": {},
    "failure_reason": "<string>",
    "completed_at": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

API key (pk_test_* or pk_live_), JWT session, agent token (agent_), Ed25519 session (sess_), or portal token (portal_).

Headers

idempotency-key
string

Prevents duplicate transfers on retry; cached for 24h

Body

application/json
fromAccountId
string<uuid>
required
toAccountId
string<uuid>
required
amount
number
required
destinationCurrency
string
quoteId
string<uuid>

Required for cross-currency transfers; lock FX rate via POST /v1/quotes first

description
string
Maximum string length: 500

Response

Transfer created (may still be pending settlement)

data
object
required