Payouts
GET
https://referally.15.204.158.166.sslip.io /v1/tax/1099/preview GET /v1/tax/1099/preview
Parameters
yearintegerqueryrequiredCode samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/tax/1099/preview?year="TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/tax/1099/preview?year=', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/tax/1099/preview?year=",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://referally.15.204.158.166.sslip.io/v1/tax/1099/preview?year=", nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/tax/1099/preview?year=');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/tax/1099/preview?year=')
req = Net::HTTP::Get.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/tax/1099/preview?year="))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"taxYear": 0,
"payerReady": true,
"payerIssues": [
"missing_legal_name"
],
"recipients": [
{
"partnerId": "string",
"name": "string",
"email": "string",
"amountMinor": 0,
"issues": [
"missing_tin"
]
}
]
}Schema
taxYearintegerrequiredpayerReadybooleanrequiredpayerIssuesstring[]requiredrecipientsobject[]requiredShow child parameters
partnerIdstringrequirednamestringrequiredemailstringrequiredamountMinorintegerrequiredInteger minor units (cents).
issuesstring[]requireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
GET
https://referally.15.204.158.166.sslip.io /v1/tax/1099/filings GET /v1/tax/1099/filings
Parameters
yearintegerqueryrequiredCode samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings?year="TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings?year=', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings?year=",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings?year=", nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings?year=');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings?year=')
req = Net::HTTP::Get.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings?year="))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 A page of the list. Under referally-version 2026-10-21 the body is the plain array instead.
Example
{
"object": "string",
"data": [
{
"id": "string",
"taxYear": 0,
"kind": "original",
"provider": "string",
"providerFilingId": "string",
"status": "submitting",
"recipientCount": 0,
"totalMinor": 0,
"error": "string",
"documents": [
{
"id": null,
"partnerId": null,
"amountMinor": null,
"status": null
}
],
"createdAt": "2024-01-01T00:00:00Z"
}
],
"has_more": true,
"next_cursor": "string"
}Schema
objectstringrequireddataobject[]requiredShow child parameters
idstringrequiredtaxYearintegerrequiredkindstringrequiredproviderstringrequiredproviderFilingIdstringrequiredstatusstringrequiredrecipientCountintegerrequiredtotalMinorintegerrequiredInteger minor units (cents).
errorstringrequireddocumentsobject[]requiredShow child parameters
idstringrequiredpartnerIdstringrequiredamountMinorintegerrequiredInteger minor units (cents).
statusstringrequiredcreatedAtstringrequiredhas_morebooleanrequiredWhether another page follows; pass next_cursor as starting_after to get it.
next_cursorstringrequireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
POST
https://referally.15.204.158.166.sslip.io /v1/tax/1099/filings POST /v1/tax/1099/filings
Request body application/json
yearintegerrequired{
"year": 0
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings" \
-H "Content-Type: application/json" \
-d '{"year":0}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"year":0}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings",
headers={
"Content-Type": "application/json",
},
json={"year": 0},
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
req, _ := http.NewRequest("POST", "https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings", strings.NewReader(`{"year":0}`))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"year":0}');
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"year":0}'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"year\":0}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"taxYear": 0,
"kind": "original",
"provider": "string",
"providerFilingId": "string",
"status": "submitting",
"recipientCount": 0,
"totalMinor": 0,
"error": "string",
"documents": [
{
"id": "string",
"partnerId": "string",
"amountMinor": 0,
"status": "string"
}
]
}Schema
idstringrequiredtaxYearintegerrequiredkindstringrequiredproviderstringrequiredproviderFilingIdstringrequiredstatusstringrequiredrecipientCountintegerrequiredtotalMinorintegerrequiredInteger minor units (cents).
errorstringrequireddocumentsobject[]requiredShow child parameters
idstringrequiredpartnerIdstringrequiredamountMinorintegerrequiredInteger minor units (cents).
statusstringrequireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
POST
https://referally.15.204.158.166.sslip.io /v1/tax/1099/filings/{id}/refresh POST /v1/tax/1099/filings/{id}/refresh
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings/{id}/refresh"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings/{id}/refresh', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings/{id}/refresh",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings/{id}/refresh", nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings/{id}/refresh');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings/{id}/refresh')
req = Net::HTTP::Post.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/tax/1099/filings/{id}/refresh"))
.method("POST", BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"status": "submitting"
}Schema
idstringrequiredstatusstringrequireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
POST
https://referally.15.204.158.166.sslip.io /v1/tax/1099/documents/{id}/correct POST /v1/tax/1099/documents/{id}/correct
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/tax/1099/documents/{id}/correct"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/tax/1099/documents/{id}/correct', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/tax/1099/documents/{id}/correct",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "https://referally.15.204.158.166.sslip.io/v1/tax/1099/documents/{id}/correct", nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/tax/1099/documents/{id}/correct');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/tax/1099/documents/{id}/correct')
req = Net::HTTP::Post.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/tax/1099/documents/{id}/correct"))
.method("POST", BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"taxYear": 0,
"kind": "original",
"provider": "string",
"providerFilingId": "string",
"status": "submitting",
"recipientCount": 0,
"totalMinor": 0,
"error": "string",
"documents": [
{
"id": "string",
"partnerId": "string",
"amountMinor": 0,
"status": "string"
}
]
}Schema
idstringrequiredtaxYearintegerrequiredkindstringrequiredproviderstringrequiredproviderFilingIdstringrequiredstatusstringrequiredrecipientCountintegerrequiredtotalMinorintegerrequiredInteger minor units (cents).
errorstringrequireddocumentsobject[]requiredShow child parameters
idstringrequiredpartnerIdstringrequiredamountMinorintegerrequiredInteger minor units (cents).
statusstringrequireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
GET
https://referally.15.204.158.166.sslip.io /v1/payout-runs GET /v1/payout-runs
Code samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/payout-runs"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/payout-runs', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/payout-runs",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://referally.15.204.158.166.sslip.io/v1/payout-runs", nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/payout-runs');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/payout-runs')
req = Net::HTTP::Get.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/payout-runs"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 A page of the list. Under referally-version 2026-10-21 the body is the plain array instead.
Example
{
"object": "string",
"data": [
{
"id": "string",
"status": "string",
"summary": {},
"createdAt": "2024-01-01T00:00:00Z",
"executedAt": "2024-01-01T00:00:00Z"
}
],
"has_more": true,
"next_cursor": "string"
}Schema
objectstringrequireddataPayoutRun[]requiredShow child parameters
idstringrequiredstatusstringrequiredsummaryGetOpenapiJsonResponserequiredcreatedAtstringrequiredexecutedAtstringrequiredhas_morebooleanrequiredWhether another page follows; pass next_cursor as starting_after to get it.
next_cursorstringrequireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
POST
https://referally.15.204.158.166.sslip.io /v1/payout-runs Create a payout run
Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/payout-runs"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/payout-runs', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/payout-runs",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "https://referally.15.204.158.166.sslip.io/v1/payout-runs", nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/payout-runs');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/payout-runs')
req = Net::HTTP::Post.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/payout-runs"))
.method("POST", BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"runId": "string",
"payouts": [
{
"payoutId": "string",
"partnerId": "string",
"amountMinor": 0,
"currency": "string",
"rail": "string",
"fxApplied": [
{
"from": null,
"to": null,
"rate": null,
"ts": null
}
],
"invoice": {
"number": "string",
"issuedAt": "2024-01-01T00:00:00Z",
"lines": [
null
],
"vatNote": "string",
"supplier": {
"name": null,
"address": null,
"country": null,
"vatId": null
},
"customer": {
"name": null,
"address": null,
"country": null,
"vatId": null
},
"currency": "string",
"netMinor": 0,
"vatTreatment": "reverse_charge",
"vatRateBps": null,
"vatMinor": 0,
"grossMinor": 0,
"selfBilling": {
"agreementVersion": null,
"acceptedAt": null
}
}
}
],
"skipped": [
{
"partnerId": "string",
"reason": "missing_tax_form"
}
]
}Schema
runIdstringrequiredpayoutsobject[]requiredShow child parameters
payoutIdstringrequiredpartnerIdstringrequiredamountMinorintegerrequiredInteger minor units (cents).
currencystringrequiredrailstringrequiredfxAppliedobject[]requiredShow child parameters
fromstringrequiredtostringrequiredratenumberrequiredtsstringrequiredinvoiceobjectrequiredShow child parameters
numberstringrequiredSequential per merchant per year: SBI-2026-1, -2, …
issuedAtstringrequiredlinesobject[]requiredvatNotestringrequiredsupplierobjectThe partner. Absent on invoices issued before 2026-10.
customerobjectThe merchant, issuing the invoice on the partner’s behalf.
currencystringnetMinorintegerInteger minor units (cents).
vatTreatmentstringvatRateBpsintegervatMinorintegerInteger minor units (cents).
grossMinorintegerInteger minor units (cents).
selfBillingobjectskippedobject[]requiredShow child parameters
partnerIdstringrequiredreasonstringrequireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
POST
https://referally.15.204.158.166.sslip.io /v1/payout-runs/{id}/execute Execute a payout run
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/execute"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/execute', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/execute",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/execute", nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/execute');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/execute')
req = Net::HTTP::Post.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/execute"))
.method("POST", BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"sent": 0,
"submitted": 0,
"failed": 0
}Schema
sentintegerrequiredsubmittedintegerrequiredfailedintegerrequireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
POST
https://referally.15.204.158.166.sslip.io /v1/payout-runs/{id}/cancel Cancel an unexecuted payout run (releases its lines)
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/cancel"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/cancel', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/cancel",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/cancel", nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/cancel');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/cancel')
req = Net::HTTP::Post.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/payout-runs/{id}/cancel"))
.method("POST", BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"cancelled": 0
}Schema
cancelledintegerrequireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
GET
https://referally.15.204.158.166.sslip.io /v1/tax/1099 1099-NEC data export
Parameters
yearintegerqueryrequiredCode samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/tax/1099?year="TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/tax/1099?year=', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/tax/1099?year=",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://referally.15.204.158.166.sslip.io/v1/tax/1099?year=", nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/tax/1099?year=');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/tax/1099?year=')
req = Net::HTTP::Get.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/tax/1099?year="))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 A page of the list. Under referally-version 2026-10-21 the body is the plain array instead.
Example
{
"object": "string",
"data": [
{
"partnerId": "string",
"taxFormType": "string",
"totalPaidUsdMinor": 0,
"requiresForm": true,
"fxMissingCurrencies": [
"string"
]
}
],
"has_more": true,
"next_cursor": "string"
}Schema
objectstringrequireddataobject[]requiredShow child parameters
partnerIdstringrequiredtaxFormTypestringrequiredtotalPaidUsdMinorintegerrequiredInteger minor units (cents).
requiresFormbooleanrequiredfxMissingCurrenciesstring[]requiredhas_morebooleanrequiredWhether another page follows; pass next_cursor as starting_after to get it.
next_cursorstringrequireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
GET
https://referally.15.204.158.166.sslip.io /v1/fx-rates List FX rates (org + platform fallback)
Parameters
basestringqueryquotestringqueryCode samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/fx-rates?base="e="TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/fx-rates?base="e=', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/fx-rates?base="e=",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://referally.15.204.158.166.sslip.io/v1/fx-rates?base="e=", nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/fx-rates?base="e=');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/fx-rates?base="e=')
req = Net::HTTP::Get.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/fx-rates?base="e="))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 A page of the list. Under referally-version 2026-10-21 the body is the plain array instead.
Example
{
"object": "string",
"data": [
{
"base": "string",
"quote": "string",
"rate": "string",
"effectiveAt": "2024-01-01T00:00:00Z",
"source": "string",
"scope": "org",
"retiredAt": "2024-01-01T00:00:00Z"
}
],
"has_more": true,
"next_cursor": "string"
}Schema
objectstringrequireddataFxRate[]requiredShow child parameters
basestringrequiredquotestringrequiredratestringrequiredDecimal string, never a float.
effectiveAtstringrequiredsourcestringrequired'manual' (your own), 'ecb' (the daily feed), or 'fixture' (platform sample).
scopestringrequiredretiredAtstringrequiredWhen a manual override was cleared, handing the pair back to the feed.
has_morebooleanrequiredWhether another page follows; pass next_cursor as starting_after to get it.
next_cursorstringrequireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
POST
https://referally.15.204.158.166.sslip.io /v1/fx-rates Record an FX rate for cross-currency payouts
Request body application/json
basestringrequiredquotestringrequiredratestring | numberrequiredeffectiveAtstring{
"base": "string",
"quote": "string",
"rate": "string",
"effectiveAt": "2024-01-01T00:00:00Z"
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/fx-rates" \
-H "Content-Type: application/json" \
-d '{"base":"string","quote":"string","rate":"string","effectiveAt":"2024-01-01T00:00:00Z"}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/fx-rates', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"base":"string","quote":"string","rate":"string","effectiveAt":"2024-01-01T00:00:00Z"}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/fx-rates",
headers={
"Content-Type": "application/json",
},
json={"base": "string", "quote": "string", "rate": "string", "effectiveAt": "2024-01-01T00:00:00Z"},
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
req, _ := http.NewRequest("POST", "https://referally.15.204.158.166.sslip.io/v1/fx-rates", strings.NewReader(`{"base":"string","quote":"string","rate":"string","effectiveAt":"2024-01-01T00:00:00Z"}`))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/fx-rates');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"base":"string","quote":"string","rate":"string","effectiveAt":"2024-01-01T00:00:00Z"}');
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/fx-rates')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"base":"string","quote":"string","rate":"string","effectiveAt":"2024-01-01T00:00:00Z"}'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/fx-rates"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"base\":\"string\",\"quote\":\"string\",\"rate\":\"string\",\"effectiveAt\":\"2024-01-01T00:00:00Z\"}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"base": "string",
"quote": "string",
"rate": "string",
"effectiveAt": "2024-01-01T00:00:00Z",
"source": "string",
"scope": "org",
"retiredAt": "2024-01-01T00:00:00Z"
}Schema
basestringrequiredquotestringrequiredratestringrequiredDecimal string, never a float.
effectiveAtstringrequiredsourcestringrequired'manual' (your own), 'ecb' (the daily feed), or 'fixture' (platform sample).
scopestringrequiredretiredAtstringrequiredWhen a manual override was cleared, handing the pair back to the feed.
default Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
POST
https://referally.15.204.158.166.sslip.io /v1/fx-rates/sync POST /v1/fx-rates/sync
Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/fx-rates/sync"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/fx-rates/sync', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/fx-rates/sync",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "https://referally.15.204.158.166.sslip.io/v1/fx-rates/sync", nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/fx-rates/sync');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/fx-rates/sync')
req = Net::HTTP::Post.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/fx-rates/sync"))
.method("POST", BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"orgId": "string",
"date": "string",
"inserted": 0
}Schema
orgIdstringrequireddatestringrequiredinsertedintegerrequireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
POST
https://referally.15.204.158.166.sslip.io /v1/fx-rates/clear-override POST /v1/fx-rates/clear-override
Request body application/json
basestringrequiredquotestringrequired{
"base": "string",
"quote": "string"
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/fx-rates/clear-override" \
-H "Content-Type: application/json" \
-d '{"base":"string","quote":"string"}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/fx-rates/clear-override', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"base":"string","quote":"string"}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/fx-rates/clear-override",
headers={
"Content-Type": "application/json",
},
json={"base": "string", "quote": "string"},
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
req, _ := http.NewRequest("POST", "https://referally.15.204.158.166.sslip.io/v1/fx-rates/clear-override", strings.NewReader(`{"base":"string","quote":"string"}`))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/fx-rates/clear-override');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"base":"string","quote":"string"}');
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/fx-rates/clear-override')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"base":"string","quote":"string"}'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/fx-rates/clear-override"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"base\":\"string\",\"quote\":\"string\"}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"base": "string",
"quote": "string",
"cleared": 0
}Schema
basestringrequiredquotestringrequiredclearedintegerrequireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
POST
https://referally.15.204.158.166.sslip.io /v1/payout-runs/run-scheduled Run due auto-payout schedules
Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/payout-runs/run-scheduled"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/payout-runs/run-scheduled', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/payout-runs/run-scheduled",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "https://referally.15.204.158.166.sslip.io/v1/payout-runs/run-scheduled", nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://referally.15.204.158.166.sslip.io/v1/payout-runs/run-scheduled');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Ruby
require 'net/http'
require 'uri'
uri = URI('https://referally.15.204.158.166.sslip.io/v1/payout-runs/run-scheduled')
req = Net::HTTP::Post.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyJava
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://referally.15.204.158.166.sslip.io/v1/payout-runs/run-scheduled"))
.method("POST", BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
[
{
"orgId": "string",
"runId": "string",
"payouts": 0,
"sent": 0,
"failed": 0
}
]Schema
orgIdstringrequiredrunIdstringrequiredpayoutsintegerrequiredsentintegerrequiredfailedintegerrequireddefault Error
Example
{
"error": {
"code": "string",
"message": "string",
"details": {},
"requestId": "string",
"docs_url": "string"
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsrequestIdstringdocs_urlstringrequiredThe docs entry for this error code: what it means and how to fix it.
Updated