Create a settlement instruction
curl --request POST \
--url https://api.custody.api-zodia.io/v3/api/interchange/settlement/create \
--header 'Content-Type: application/json' \
--data '
{
"header": {
"status": "SETTLEMENT_INITIATED",
"venueId": "<string>",
"errors": "<string>",
"settlementRequestId": "<string>",
"requestDateTime": "<string>",
"receivableAddresses": [
{
"address": "<string>",
"ledger": "<string>",
"destinationTag": 2147483647,
"memo": "<string>"
}
],
"instructionCount": 123
},
"settlements": [
{
"counterparty": {
"type": "WALLET_ID",
"value": "<string>"
},
"currency": "ETH",
"ledger": "ETH",
"amount": "<string>",
"externalSettlementId": "<string>",
"executionDate": "<string>"
}
],
"netSettlements": [
{
"currency": "ETH",
"ledger": "ETH",
"amount": "<string>"
}
]
}
'import requests
url = "https://api.custody.api-zodia.io/v3/api/interchange/settlement/create"
payload = {
"header": {
"status": "SETTLEMENT_INITIATED",
"venueId": "<string>",
"errors": "<string>",
"settlementRequestId": "<string>",
"requestDateTime": "<string>",
"receivableAddresses": [
{
"address": "<string>",
"ledger": "<string>",
"destinationTag": 2147483647,
"memo": "<string>"
}
],
"instructionCount": 123
},
"settlements": [
{
"counterparty": {
"type": "WALLET_ID",
"value": "<string>"
},
"currency": "ETH",
"ledger": "ETH",
"amount": "<string>",
"externalSettlementId": "<string>",
"executionDate": "<string>"
}
],
"netSettlements": [
{
"currency": "ETH",
"ledger": "ETH",
"amount": "<string>"
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
header: {
status: 'SETTLEMENT_INITIATED',
venueId: '<string>',
errors: '<string>',
settlementRequestId: '<string>',
requestDateTime: '<string>',
receivableAddresses: [
{
address: '<string>',
ledger: '<string>',
destinationTag: 2147483647,
memo: '<string>'
}
],
instructionCount: 123
},
settlements: [
{
counterparty: {type: 'WALLET_ID', value: '<string>'},
currency: 'ETH',
ledger: 'ETH',
amount: '<string>',
externalSettlementId: '<string>',
executionDate: '<string>'
}
],
netSettlements: [{currency: 'ETH', ledger: 'ETH', amount: '<string>'}]
})
};
fetch('https://api.custody.api-zodia.io/v3/api/interchange/settlement/create', 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.custody.api-zodia.io/v3/api/interchange/settlement/create",
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([
'header' => [
'status' => 'SETTLEMENT_INITIATED',
'venueId' => '<string>',
'errors' => '<string>',
'settlementRequestId' => '<string>',
'requestDateTime' => '<string>',
'receivableAddresses' => [
[
'address' => '<string>',
'ledger' => '<string>',
'destinationTag' => 2147483647,
'memo' => '<string>'
]
],
'instructionCount' => 123
],
'settlements' => [
[
'counterparty' => [
'type' => 'WALLET_ID',
'value' => '<string>'
],
'currency' => 'ETH',
'ledger' => 'ETH',
'amount' => '<string>',
'externalSettlementId' => '<string>',
'executionDate' => '<string>'
]
],
'netSettlements' => [
[
'currency' => 'ETH',
'ledger' => 'ETH',
'amount' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.custody.api-zodia.io/v3/api/interchange/settlement/create"
payload := strings.NewReader("{\n \"header\": {\n \"status\": \"SETTLEMENT_INITIATED\",\n \"venueId\": \"<string>\",\n \"errors\": \"<string>\",\n \"settlementRequestId\": \"<string>\",\n \"requestDateTime\": \"<string>\",\n \"receivableAddresses\": [\n {\n \"address\": \"<string>\",\n \"ledger\": \"<string>\",\n \"destinationTag\": 2147483647,\n \"memo\": \"<string>\"\n }\n ],\n \"instructionCount\": 123\n },\n \"settlements\": [\n {\n \"counterparty\": {\n \"type\": \"WALLET_ID\",\n \"value\": \"<string>\"\n },\n \"currency\": \"ETH\",\n \"ledger\": \"ETH\",\n \"amount\": \"<string>\",\n \"externalSettlementId\": \"<string>\",\n \"executionDate\": \"<string>\"\n }\n ],\n \"netSettlements\": [\n {\n \"currency\": \"ETH\",\n \"ledger\": \"ETH\",\n \"amount\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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.custody.api-zodia.io/v3/api/interchange/settlement/create")
.header("Content-Type", "application/json")
.body("{\n \"header\": {\n \"status\": \"SETTLEMENT_INITIATED\",\n \"venueId\": \"<string>\",\n \"errors\": \"<string>\",\n \"settlementRequestId\": \"<string>\",\n \"requestDateTime\": \"<string>\",\n \"receivableAddresses\": [\n {\n \"address\": \"<string>\",\n \"ledger\": \"<string>\",\n \"destinationTag\": 2147483647,\n \"memo\": \"<string>\"\n }\n ],\n \"instructionCount\": 123\n },\n \"settlements\": [\n {\n \"counterparty\": {\n \"type\": \"WALLET_ID\",\n \"value\": \"<string>\"\n },\n \"currency\": \"ETH\",\n \"ledger\": \"ETH\",\n \"amount\": \"<string>\",\n \"externalSettlementId\": \"<string>\",\n \"executionDate\": \"<string>\"\n }\n ],\n \"netSettlements\": [\n {\n \"currency\": \"ETH\",\n \"ledger\": \"ETH\",\n \"amount\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.custody.api-zodia.io/v3/api/interchange/settlement/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"header\": {\n \"status\": \"SETTLEMENT_INITIATED\",\n \"venueId\": \"<string>\",\n \"errors\": \"<string>\",\n \"settlementRequestId\": \"<string>\",\n \"requestDateTime\": \"<string>\",\n \"receivableAddresses\": [\n {\n \"address\": \"<string>\",\n \"ledger\": \"<string>\",\n \"destinationTag\": 2147483647,\n \"memo\": \"<string>\"\n }\n ],\n \"instructionCount\": 123\n },\n \"settlements\": [\n {\n \"counterparty\": {\n \"type\": \"WALLET_ID\",\n \"value\": \"<string>\"\n },\n \"currency\": \"ETH\",\n \"ledger\": \"ETH\",\n \"amount\": \"<string>\",\n \"externalSettlementId\": \"<string>\",\n \"executionDate\": \"<string>\"\n }\n ],\n \"netSettlements\": [\n {\n \"currency\": \"ETH\",\n \"ledger\": \"ETH\",\n \"amount\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"settlementRequestId": "<string>",
"settlementTrackingId": "<string>",
"status": "SETTLEMENT_INITIATED",
"errors": {
"message": "Available methods : GET,POST",
"code": "ER-204"
}
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}Interchange-V3
Create a settlement instruction
POST
/
v3
/
api
/
interchange
/
settlement
/
create
Create a settlement instruction
curl --request POST \
--url https://api.custody.api-zodia.io/v3/api/interchange/settlement/create \
--header 'Content-Type: application/json' \
--data '
{
"header": {
"status": "SETTLEMENT_INITIATED",
"venueId": "<string>",
"errors": "<string>",
"settlementRequestId": "<string>",
"requestDateTime": "<string>",
"receivableAddresses": [
{
"address": "<string>",
"ledger": "<string>",
"destinationTag": 2147483647,
"memo": "<string>"
}
],
"instructionCount": 123
},
"settlements": [
{
"counterparty": {
"type": "WALLET_ID",
"value": "<string>"
},
"currency": "ETH",
"ledger": "ETH",
"amount": "<string>",
"externalSettlementId": "<string>",
"executionDate": "<string>"
}
],
"netSettlements": [
{
"currency": "ETH",
"ledger": "ETH",
"amount": "<string>"
}
]
}
'import requests
url = "https://api.custody.api-zodia.io/v3/api/interchange/settlement/create"
payload = {
"header": {
"status": "SETTLEMENT_INITIATED",
"venueId": "<string>",
"errors": "<string>",
"settlementRequestId": "<string>",
"requestDateTime": "<string>",
"receivableAddresses": [
{
"address": "<string>",
"ledger": "<string>",
"destinationTag": 2147483647,
"memo": "<string>"
}
],
"instructionCount": 123
},
"settlements": [
{
"counterparty": {
"type": "WALLET_ID",
"value": "<string>"
},
"currency": "ETH",
"ledger": "ETH",
"amount": "<string>",
"externalSettlementId": "<string>",
"executionDate": "<string>"
}
],
"netSettlements": [
{
"currency": "ETH",
"ledger": "ETH",
"amount": "<string>"
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
header: {
status: 'SETTLEMENT_INITIATED',
venueId: '<string>',
errors: '<string>',
settlementRequestId: '<string>',
requestDateTime: '<string>',
receivableAddresses: [
{
address: '<string>',
ledger: '<string>',
destinationTag: 2147483647,
memo: '<string>'
}
],
instructionCount: 123
},
settlements: [
{
counterparty: {type: 'WALLET_ID', value: '<string>'},
currency: 'ETH',
ledger: 'ETH',
amount: '<string>',
externalSettlementId: '<string>',
executionDate: '<string>'
}
],
netSettlements: [{currency: 'ETH', ledger: 'ETH', amount: '<string>'}]
})
};
fetch('https://api.custody.api-zodia.io/v3/api/interchange/settlement/create', 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.custody.api-zodia.io/v3/api/interchange/settlement/create",
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([
'header' => [
'status' => 'SETTLEMENT_INITIATED',
'venueId' => '<string>',
'errors' => '<string>',
'settlementRequestId' => '<string>',
'requestDateTime' => '<string>',
'receivableAddresses' => [
[
'address' => '<string>',
'ledger' => '<string>',
'destinationTag' => 2147483647,
'memo' => '<string>'
]
],
'instructionCount' => 123
],
'settlements' => [
[
'counterparty' => [
'type' => 'WALLET_ID',
'value' => '<string>'
],
'currency' => 'ETH',
'ledger' => 'ETH',
'amount' => '<string>',
'externalSettlementId' => '<string>',
'executionDate' => '<string>'
]
],
'netSettlements' => [
[
'currency' => 'ETH',
'ledger' => 'ETH',
'amount' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.custody.api-zodia.io/v3/api/interchange/settlement/create"
payload := strings.NewReader("{\n \"header\": {\n \"status\": \"SETTLEMENT_INITIATED\",\n \"venueId\": \"<string>\",\n \"errors\": \"<string>\",\n \"settlementRequestId\": \"<string>\",\n \"requestDateTime\": \"<string>\",\n \"receivableAddresses\": [\n {\n \"address\": \"<string>\",\n \"ledger\": \"<string>\",\n \"destinationTag\": 2147483647,\n \"memo\": \"<string>\"\n }\n ],\n \"instructionCount\": 123\n },\n \"settlements\": [\n {\n \"counterparty\": {\n \"type\": \"WALLET_ID\",\n \"value\": \"<string>\"\n },\n \"currency\": \"ETH\",\n \"ledger\": \"ETH\",\n \"amount\": \"<string>\",\n \"externalSettlementId\": \"<string>\",\n \"executionDate\": \"<string>\"\n }\n ],\n \"netSettlements\": [\n {\n \"currency\": \"ETH\",\n \"ledger\": \"ETH\",\n \"amount\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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.custody.api-zodia.io/v3/api/interchange/settlement/create")
.header("Content-Type", "application/json")
.body("{\n \"header\": {\n \"status\": \"SETTLEMENT_INITIATED\",\n \"venueId\": \"<string>\",\n \"errors\": \"<string>\",\n \"settlementRequestId\": \"<string>\",\n \"requestDateTime\": \"<string>\",\n \"receivableAddresses\": [\n {\n \"address\": \"<string>\",\n \"ledger\": \"<string>\",\n \"destinationTag\": 2147483647,\n \"memo\": \"<string>\"\n }\n ],\n \"instructionCount\": 123\n },\n \"settlements\": [\n {\n \"counterparty\": {\n \"type\": \"WALLET_ID\",\n \"value\": \"<string>\"\n },\n \"currency\": \"ETH\",\n \"ledger\": \"ETH\",\n \"amount\": \"<string>\",\n \"externalSettlementId\": \"<string>\",\n \"executionDate\": \"<string>\"\n }\n ],\n \"netSettlements\": [\n {\n \"currency\": \"ETH\",\n \"ledger\": \"ETH\",\n \"amount\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.custody.api-zodia.io/v3/api/interchange/settlement/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"header\": {\n \"status\": \"SETTLEMENT_INITIATED\",\n \"venueId\": \"<string>\",\n \"errors\": \"<string>\",\n \"settlementRequestId\": \"<string>\",\n \"requestDateTime\": \"<string>\",\n \"receivableAddresses\": [\n {\n \"address\": \"<string>\",\n \"ledger\": \"<string>\",\n \"destinationTag\": 2147483647,\n \"memo\": \"<string>\"\n }\n ],\n \"instructionCount\": 123\n },\n \"settlements\": [\n {\n \"counterparty\": {\n \"type\": \"WALLET_ID\",\n \"value\": \"<string>\"\n },\n \"currency\": \"ETH\",\n \"ledger\": \"ETH\",\n \"amount\": \"<string>\",\n \"externalSettlementId\": \"<string>\",\n \"executionDate\": \"<string>\"\n }\n ],\n \"netSettlements\": [\n {\n \"currency\": \"ETH\",\n \"ledger\": \"ETH\",\n \"amount\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"settlementRequestId": "<string>",
"settlementTrackingId": "<string>",
"status": "SETTLEMENT_INITIATED",
"errors": {
"message": "Available methods : GET,POST",
"code": "ER-204"
}
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}Body
application/json
Response
OK
Status of settlement request
Available options:
SETTLEMENT_RECEIVED, SETTLEMENT_INITIATED, SETTLEMENT_AWAITING_FUNDS, SETTLEMENT_PAY_IN, SETTLEMENT_PAY_OUT, SETTLEMENT_COMPLETE, SETTLEMENT_REJECTED, SETTLEMENT_FAILED Example:
"SETTLEMENT_INITIATED"
One or more details about the error
Show child attributes
Show child attributes
⌘I