Skip to main content
POST
/
split-marketplace
/
transfers
Create Standalone Transfer
curl --request POST \
  --url https://api-sandbox.y.uno/v1/split-marketplace/transfers \
  --header 'Content-Type: application/json' \
  --header 'PRIVATE-SECRET-KEY: <api-key>' \
  --header 'PUBLIC-API-KEY: <api-key>' \
  --header 'X-Idempotency-Key: <x-idempotency-key>' \
  --data '
{
  "account_id": "<string>",
  "recipient_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "provider_id": "<string>",
  "amount": {
    "value": 150,
    "currency": "USD"
  },
  "description": "<string>",
  "merchant_reference": "<string>",
  "metadata": [
    {
      "key": "<string>",
      "value": "<string>"
    }
  ]
}
'
import requests

url = "https://api-sandbox.y.uno/v1/split-marketplace/transfers"

payload = {
    "account_id": "<string>",
    "recipient_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "provider_id": "<string>",
    "amount": {
        "value": 150,
        "currency": "USD"
    },
    "description": "<string>",
    "merchant_reference": "<string>",
    "metadata": [
        {
            "key": "<string>",
            "value": "<string>"
        }
    ]
}
headers = {
    "X-Idempotency-Key": "<x-idempotency-key>",
    "PUBLIC-API-KEY": "<api-key>",
    "PRIVATE-SECRET-KEY": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'POST',
  headers: {
    'X-Idempotency-Key': '<x-idempotency-key>',
    'PUBLIC-API-KEY': '<api-key>',
    'PRIVATE-SECRET-KEY': '<api-key>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    account_id: '<string>',
    recipient_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
    provider_id: '<string>',
    amount: {value: 150, currency: 'USD'},
    description: '<string>',
    merchant_reference: '<string>',
    metadata: [{key: '<string>', value: '<string>'}]
  })
};

fetch('https://api-sandbox.y.uno/v1/split-marketplace/transfers', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api-sandbox.y.uno/v1/split-marketplace/transfers",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'account_id' => '<string>',
    'recipient_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
    'provider_id' => '<string>',
    'amount' => [
        'value' => 150,
        'currency' => 'USD'
    ],
    'description' => '<string>',
    'merchant_reference' => '<string>',
    'metadata' => [
        [
                'key' => '<string>',
                'value' => '<string>'
        ]
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "PRIVATE-SECRET-KEY: <api-key>",
    "PUBLIC-API-KEY: <api-key>",
    "X-Idempotency-Key: <x-idempotency-key>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api-sandbox.y.uno/v1/split-marketplace/transfers"

	payload := strings.NewReader("{\n  \"account_id\": \"<string>\",\n  \"recipient_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n  \"provider_id\": \"<string>\",\n  \"amount\": {\n    \"value\": 150,\n    \"currency\": \"USD\"\n  },\n  \"description\": \"<string>\",\n  \"merchant_reference\": \"<string>\",\n  \"metadata\": [\n    {\n      \"key\": \"<string>\",\n      \"value\": \"<string>\"\n    }\n  ]\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-Idempotency-Key", "<x-idempotency-key>")
	req.Header.Add("PUBLIC-API-KEY", "<api-key>")
	req.Header.Add("PRIVATE-SECRET-KEY", "<api-key>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api-sandbox.y.uno/v1/split-marketplace/transfers")
  .header("X-Idempotency-Key", "<x-idempotency-key>")
  .header("PUBLIC-API-KEY", "<api-key>")
  .header("PRIVATE-SECRET-KEY", "<api-key>")
  .header("Content-Type", "application/json")
  .body("{\n  \"account_id\": \"<string>\",\n  \"recipient_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n  \"provider_id\": \"<string>\",\n  \"amount\": {\n    \"value\": 150,\n    \"currency\": \"USD\"\n  },\n  \"description\": \"<string>\",\n  \"merchant_reference\": \"<string>\",\n  \"metadata\": [\n    {\n      \"key\": \"<string>\",\n      \"value\": \"<string>\"\n    }\n  ]\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.y.uno/v1/split-marketplace/transfers")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-Idempotency-Key"] = '<x-idempotency-key>'
request["PUBLIC-API-KEY"] = '<api-key>'
request["PRIVATE-SECRET-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"account_id\": \"<string>\",\n  \"recipient_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n  \"provider_id\": \"<string>\",\n  \"amount\": {\n    \"value\": 150,\n    \"currency\": \"USD\"\n  },\n  \"description\": \"<string>\",\n  \"merchant_reference\": \"<string>\",\n  \"metadata\": [\n    {\n      \"key\": \"<string>\",\n      \"value\": \"<string>\"\n    }\n  ]\n}"

response = http.request(request)
puts response.read_body
{ "id": "94036ceb-5cca-4384-b144-e2a5a908af77", "recipient_id": "e56c3329-f3d9-48e5-a677-284b147abf95", "amount": { "currency": "USD", "value": 100 }, "status": "SUCCEEDED", "description": "test transfer", "merchant_reference": "c19e858a-ffd6-4635-8a31-4f60c5becf4d", "metadata": [], "provider": null, "transactions": [ { "code": "7ac2c5f3-7c79-4e99-b45e-aa5952620188", "type": "SPLIT_TRANSFER", "status": "SUCCEEDED", "provider_transfer_id": "tr_1T9eKVIiMnPsFcbbRTb8ObsZ", "provider_response_message": null, "provider_raw_response": "{\n \"id\": \"tr_1T9eKVIiMnPsFcbbRTb8ObsZ\",\n \"object\": \"transfer\",\n \"amount\": 10000,\n \"amount_reversed\": 0,\n \"balance_transaction\": \"txn_1T9eKVIiMnPsFcbbOPnvz3xM\",\n \"created\": 1773203107,\n \"currency\": \"usd\",\n \"description\": \"test transfer\",\n \"destination\": \"acct_1T9PSQIZEg1WWTvj\",\n \"destination_payment\": \"py_1T9eKVIZEg1WWTvjbVjmnzFK\",\n \"livemode\": false,\n \"metadata\": {},\n \"reversals\": {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \"url\": \"/v1/transfers/tr_1T9eKVIiMnPsFcbbRTb8ObsZ/reversals\"\n },\n \"reversed\": false,\n \"source_transaction\": null,\n \"source_type\": \"card\",\n \"transfer_group\": null\n}", "created_at": "2026-03-11T04:25:06.229027Z", "updated_at": "2026-03-11T04:25:07.917364Z" } ], "created_at": "2026-03-11T04:25:06.208761Z", "updated_at": "2026-03-11T04:25:07.928000342Z", "completed_at": "2026-03-11T04:25:07.927971142Z" }
Create a forward transfer to distribute funds from your organization balance to your recipients independently of a payment.

Authorizations

PUBLIC-API-KEY
string
header
required
PRIVATE-SECRET-KEY
string
header
required

Headers

X-Idempotency-Key
string
required

Unique key for request idempotency.

Body

application/json
account_id
string
required

The unique identifier of the account.

recipient_id
string<uuid>
required

The target recipient identifier.

provider_id
string
required

The payment provider code to use (e.g., adyen, stripe).

amount
object
required
description
string

A human-readable description for the transfer (3-255 chars). This is sent to the provider.

merchant_reference
string

Merchant's unique identifier for idempotency and tracking.

metadata
object[]

Response

Created

id
string
Example:

"TRF_7kB2mQ9xPnL4vR"

recipient_id
string<uuid>
Example:

"550e8400-e29b-41d4-a716-446655440000"

amount
object
status
string
Example:

"SUCCEEDED"

reason
string
Example:

"ORDER_CANCELLED"

description
string
Example:

"Weekly marketplace earnings"

merchant_reference
string
Example:

"TRANSFER-2026-02-15-001"

metadata
object[]
provider_data
object
created_at
string<date-time>
Example:

"2026-02-16T10:30:00Z"

updated_at
string<date-time>
Example:

"2026-02-16T10:30:15Z"

completed_at
string<date-time>
Example:

"2026-02-16T10:30:15Z"

provider
string | null
Example:

null

transactions
object[]