Create a payout
curl --request POST \
--url https://api.stage.rocka.live/api/payouts \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"amount": 50,
"currency": "EUR",
"iban": "DE75512108001245126199",
"beneficiaryName": "Mark Schmidt",
"webhookUrl": "https://example.com/webhookUrl",
"requestId": "payout1794"
}
'import requests
url = "https://api.stage.rocka.live/api/payouts"
payload = {
"amount": 50,
"currency": "EUR",
"iban": "DE75512108001245126199",
"beneficiaryName": "Mark Schmidt",
"webhookUrl": "https://example.com/webhookUrl",
"requestId": "payout1794"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 50,
currency: 'EUR',
iban: 'DE75512108001245126199',
beneficiaryName: 'Mark Schmidt',
webhookUrl: 'https://example.com/webhookUrl',
requestId: 'payout1794'
})
};
fetch('https://api.stage.rocka.live/api/payouts', 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.stage.rocka.live/api/payouts",
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([
'amount' => 50,
'currency' => 'EUR',
'iban' => 'DE75512108001245126199',
'beneficiaryName' => 'Mark Schmidt',
'webhookUrl' => 'https://example.com/webhookUrl',
'requestId' => 'payout1794'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-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.stage.rocka.live/api/payouts"
payload := strings.NewReader("{\n \"amount\": 50,\n \"currency\": \"EUR\",\n \"iban\": \"DE75512108001245126199\",\n \"beneficiaryName\": \"Mark Schmidt\",\n \"webhookUrl\": \"https://example.com/webhookUrl\",\n \"requestId\": \"payout1794\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-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.stage.rocka.live/api/payouts")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 50,\n \"currency\": \"EUR\",\n \"iban\": \"DE75512108001245126199\",\n \"beneficiaryName\": \"Mark Schmidt\",\n \"webhookUrl\": \"https://example.com/webhookUrl\",\n \"requestId\": \"payout1794\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stage.rocka.live/api/payouts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 50,\n \"currency\": \"EUR\",\n \"iban\": \"DE75512108001245126199\",\n \"beneficiaryName\": \"Mark Schmidt\",\n \"webhookUrl\": \"https://example.com/webhookUrl\",\n \"requestId\": \"payout1794\"\n}"
response = http.request(request)
puts response.read_body{
"iban": "DE75512108001245126199",
"beneficiaryName": "Mark Schmidt",
"beneficiaryRef": "BC83DF4B0A634 OU",
"id": "e01186ef9a1442afb924a8ad60d24390",
"status": "Processing",
"createdAt": "2026-05-08T11:26:10.455Z",
"amount": 50,
"currency": "EUR",
"requestId": "payout1794"
}Payouts
Create a payout
POST
/
api
/
payouts
Create a payout
curl --request POST \
--url https://api.stage.rocka.live/api/payouts \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"amount": 50,
"currency": "EUR",
"iban": "DE75512108001245126199",
"beneficiaryName": "Mark Schmidt",
"webhookUrl": "https://example.com/webhookUrl",
"requestId": "payout1794"
}
'import requests
url = "https://api.stage.rocka.live/api/payouts"
payload = {
"amount": 50,
"currency": "EUR",
"iban": "DE75512108001245126199",
"beneficiaryName": "Mark Schmidt",
"webhookUrl": "https://example.com/webhookUrl",
"requestId": "payout1794"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 50,
currency: 'EUR',
iban: 'DE75512108001245126199',
beneficiaryName: 'Mark Schmidt',
webhookUrl: 'https://example.com/webhookUrl',
requestId: 'payout1794'
})
};
fetch('https://api.stage.rocka.live/api/payouts', 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.stage.rocka.live/api/payouts",
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([
'amount' => 50,
'currency' => 'EUR',
'iban' => 'DE75512108001245126199',
'beneficiaryName' => 'Mark Schmidt',
'webhookUrl' => 'https://example.com/webhookUrl',
'requestId' => 'payout1794'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-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.stage.rocka.live/api/payouts"
payload := strings.NewReader("{\n \"amount\": 50,\n \"currency\": \"EUR\",\n \"iban\": \"DE75512108001245126199\",\n \"beneficiaryName\": \"Mark Schmidt\",\n \"webhookUrl\": \"https://example.com/webhookUrl\",\n \"requestId\": \"payout1794\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-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.stage.rocka.live/api/payouts")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 50,\n \"currency\": \"EUR\",\n \"iban\": \"DE75512108001245126199\",\n \"beneficiaryName\": \"Mark Schmidt\",\n \"webhookUrl\": \"https://example.com/webhookUrl\",\n \"requestId\": \"payout1794\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stage.rocka.live/api/payouts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 50,\n \"currency\": \"EUR\",\n \"iban\": \"DE75512108001245126199\",\n \"beneficiaryName\": \"Mark Schmidt\",\n \"webhookUrl\": \"https://example.com/webhookUrl\",\n \"requestId\": \"payout1794\"\n}"
response = http.request(request)
puts response.read_body{
"iban": "DE75512108001245126199",
"beneficiaryName": "Mark Schmidt",
"beneficiaryRef": "BC83DF4B0A634 OU",
"id": "e01186ef9a1442afb924a8ad60d24390",
"status": "Processing",
"createdAt": "2026-05-08T11:26:10.455Z",
"amount": 50,
"currency": "EUR",
"requestId": "payout1794"
}Authorizations
Body
application/json
Data needed to create a new payout
The total amount to be transferred, in decimal format.
The payout's unique identifier (to prevent duplicate requests).
Payment currency. Currently accepted: EUR.
Recipient's IBAN (International Bank Account Number).
Recipient's full name.
The URL that'll be used to fetch payout status updates.
Response
This payout's unique ID in Rocka's records.
Payout amount.
Payout currency.
Date and time when the payout was registered by Rocka.
Payout status.
Available options:
Processing, Executing, Failed, Done Recipient's IBAN (International Bank Account Number).
Recipient's full name.
Bank reference, which appears on the beneficiary's bank statement once the payout arrives.
The payout's unique identifier (to prevent duplicate requests).
Last modified on August 4, 2026
Was this page helpful?
⌘I