Webhooks and integrations
GET
https://referally.15.204.158.166.sslip.io /v1/webhook-endpoints GET /v1/webhook-endpoints
Code samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints",
)
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/webhook-endpoints", 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/webhook-endpoints');
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/webhook-endpoints')
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/webhook-endpoints"))
.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",
"url": "string",
"topics": [
"string"
],
"programIds": [
null
],
"status": "active",
"legacySignature": true,
"rotation": {
"inProgress": true,
"previousSecretExpiresAt": "2024-01-01T00:00:00Z"
},
"failingSince": "2024-01-01T00:00:00Z",
"disabledAt": "2024-01-01T00:00:00Z",
"disabledReason": "string",
"createdAt": "2024-01-01T00:00:00Z"
}
],
"has_more": true,
"next_cursor": "string"
}Schema
objectstringrequireddataWebhookEndpoint[]requiredShow child parameters
idstringrequiredurlstringrequiredtopicsstring[]requiredprogramIdsstring[]requirednull: every program. Otherwise only events about these programs (org-wide events such as payouts are not sent).
statusstringrequiredlegacySignaturebooleanrequiredAlso send the old body-only x-referally-signature header.
rotationobjectrequiredShow child parameters
inProgressbooleanrequiredpreviousSecretExpiresAtstringfailingSincestringrequiredWhen the current run of failed deliveries began.
disabledAtstringrequireddisabledReasonstringrequiredcreatedAtstringrequiredhas_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/webhook-endpoints Register an outbound webhook endpoint
Request body application/json
urlstringrequiredtopicsstring[]legacySignaturebooleanprogramIdsstring[]{
"url": "string",
"topics": [
"*"
],
"legacySignature": false,
"programIds": [
"string"
]
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints" \
-H "Content-Type: application/json" \
-d '{"url":"string","topics":["*"],"legacySignature":false,"programIds":["string"]}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"url":"string","topics":["*"],"legacySignature":false,"programIds":["string"]}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints",
headers={
"Content-Type": "application/json",
},
json={"url": "string", "topics": ["*"], "legacySignature": False, "programIds": ["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/webhook-endpoints", strings.NewReader(`{"url":"string","topics":["*"],"legacySignature":false,"programIds":["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/webhook-endpoints');
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, '{"url":"string","topics":["*"],"legacySignature":false,"programIds":["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/webhook-endpoints')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"url":"string","topics":["*"],"legacySignature":false,"programIds":["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/webhook-endpoints"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"url\":\"string\",\"topics\":[\"*\"],\"legacySignature\":false,\"programIds\":[\"string\"]}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"url": "string",
"topics": [
"string"
],
"programIds": [
"string"
],
"legacySignature": true,
"secret": "string"
}Schema
idstringrequiredurlstringrequiredtopicsstring[]requiredprogramIdsstring[]requiredlegacySignaturebooleanrequiredsecretstringrequiredReturned only here. whsec_ + base64 key (Standard Webhooks).
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.
GET
https://referally.15.204.158.166.sslip.io /v1/webhook-endpoints/{id} GET /v1/webhook-endpoints/{id}
Parameters
idstringpathrequiredCode samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}",
)
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/webhook-endpoints/{id}", 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/webhook-endpoints/{id}');
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/webhook-endpoints/{id}')
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/webhook-endpoints/{id}"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"url": "string",
"topics": [
"string"
],
"programIds": [
"string"
],
"status": "active",
"legacySignature": true,
"rotation": {
"inProgress": true,
"previousSecretExpiresAt": "2024-01-01T00:00:00Z"
},
"failingSince": "2024-01-01T00:00:00Z",
"disabledAt": "2024-01-01T00:00:00Z",
"disabledReason": "string",
"createdAt": "2024-01-01T00:00:00Z"
}Schema
idstringrequiredurlstringrequiredtopicsstring[]requiredprogramIdsstring[]requirednull: every program. Otherwise only events about these programs (org-wide events such as payouts are not sent).
statusstringrequiredlegacySignaturebooleanrequiredAlso send the old body-only x-referally-signature header.
rotationobjectrequiredShow child parameters
inProgressbooleanrequiredpreviousSecretExpiresAtstringfailingSincestringrequiredWhen the current run of failed deliveries began.
disabledAtstringrequireddisabledReasonstringrequiredcreatedAtstringrequireddefault 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.
DELETE
https://referally.15.204.158.166.sslip.io /v1/webhook-endpoints/{id} DELETE /v1/webhook-endpoints/{id}
Parameters
idstringpathrequiredCode samples
cURL
curl -X DELETE "https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}', {
method: 'DELETE',
});
const data = await res.json();Python
import requests
res = requests.request(
"DELETE",
"https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("DELETE", "https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}", 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/webhook-endpoints/{id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
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/webhook-endpoints/{id}')
req = Net::HTTP::Delete.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/webhook-endpoints/{id}"))
.method("DELETE", BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"ok": true
}Schema
okbooleanrequireddefault 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.
PATCH
https://referally.15.204.158.166.sslip.io /v1/webhook-endpoints/{id} PATCH /v1/webhook-endpoints/{id}
Parameters
idstringpathrequiredRequest body application/json
statusstringurlstringtopicsstring[]legacySignaturebooleanprogramIdsstring[]{
"status": "active",
"url": "string",
"topics": [
"string"
],
"legacySignature": true,
"programIds": [
"string"
]
}Code samples
cURL
curl -X PATCH "https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}" \
-H "Content-Type: application/json" \
-d '{"status":"active","url":"string","topics":["string"],"legacySignature":true,"programIds":["string"]}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"status":"active","url":"string","topics":["string"],"legacySignature":true,"programIds":["string"]}),
});
const data = await res.json();Python
import requests
res = requests.request(
"PATCH",
"https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}",
headers={
"Content-Type": "application/json",
},
json={"status": "active", "url": "string", "topics": ["string"], "legacySignature": True, "programIds": ["string"]},
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
req, _ := http.NewRequest("PATCH", "https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}", strings.NewReader(`{"status":"active","url":"string","topics":["string"],"legacySignature":true,"programIds":["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/webhook-endpoints/{id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"status":"active","url":"string","topics":["string"],"legacySignature":true,"programIds":["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/webhook-endpoints/{id}')
req = Net::HTTP::Patch.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"status":"active","url":"string","topics":["string"],"legacySignature":true,"programIds":["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/webhook-endpoints/{id}"))
.header("Content-Type", "application/json")
.method("PATCH", BodyPublishers.ofString("{\"status\":\"active\",\"url\":\"string\",\"topics\":[\"string\"],\"legacySignature\":true,\"programIds\":[\"string\"]}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"url": "string",
"topics": [
"string"
],
"programIds": [
"string"
],
"status": "active",
"legacySignature": true,
"rotation": {
"inProgress": true,
"previousSecretExpiresAt": "2024-01-01T00:00:00Z"
},
"failingSince": "2024-01-01T00:00:00Z",
"disabledAt": "2024-01-01T00:00:00Z",
"disabledReason": "string",
"createdAt": "2024-01-01T00:00:00Z"
}Schema
idstringrequiredurlstringrequiredtopicsstring[]requiredprogramIdsstring[]requirednull: every program. Otherwise only events about these programs (org-wide events such as payouts are not sent).
statusstringrequiredlegacySignaturebooleanrequiredAlso send the old body-only x-referally-signature header.
rotationobjectrequiredShow child parameters
inProgressbooleanrequiredpreviousSecretExpiresAtstringfailingSincestringrequiredWhen the current run of failed deliveries began.
disabledAtstringrequireddisabledReasonstringrequiredcreatedAtstringrequireddefault 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/webhook-endpoints/{id}/rotate-secret POST /v1/webhook-endpoints/{id}/rotate-secret
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}/rotate-secret"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}/rotate-secret', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}/rotate-secret",
)
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/webhook-endpoints/{id}/rotate-secret", 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/webhook-endpoints/{id}/rotate-secret');
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/webhook-endpoints/{id}/rotate-secret')
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/webhook-endpoints/{id}/rotate-secret"))
.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",
"secret": "string",
"previousSecretExpiresAt": "2024-01-01T00:00:00Z"
}Schema
idstringrequiredsecretstringrequiredThe new secret, shown once. The old one keeps signing until previousSecretExpiresAt.
previousSecretExpiresAtstringrequireddefault 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/webhook-deliveries GET /v1/webhook-deliveries
Code samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/webhook-deliveries"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/webhook-deliveries', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/webhook-deliveries",
)
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/webhook-deliveries", 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/webhook-deliveries');
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/webhook-deliveries')
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/webhook-deliveries"))
.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",
"endpointId": "string",
"topic": "string",
"status": "string",
"attempts": 0,
"lastStatusCode": 0,
"lastAttemptAt": "2024-01-01T00:00:00Z",
"nextAt": "2024-01-01T00:00:00Z",
"createdAt": "2024-01-01T00:00:00Z"
}
],
"has_more": true,
"next_cursor": "string"
}Schema
objectstringrequireddataWebhookDelivery[]requiredShow child parameters
idstringrequiredendpointIdstringrequiredtopicstringrequiredstatusstringrequiredattemptsintegerrequiredlastStatusCodeintegerrequiredlastAttemptAtstringrequirednextAtstringrequiredWhen a pending delivery is next tried; null once settled.
createdAtstringrequiredhas_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/webhook-endpoints/{id}/deliveries GET /v1/webhook-endpoints/{id}/deliveries
Parameters
idstringpathrequiredCode samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}/deliveries"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}/deliveries', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/webhook-endpoints/{id}/deliveries",
)
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/webhook-endpoints/{id}/deliveries", 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/webhook-endpoints/{id}/deliveries');
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/webhook-endpoints/{id}/deliveries')
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/webhook-endpoints/{id}/deliveries"))
.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",
"endpointId": "string",
"topic": "string",
"status": "string",
"attempts": 0,
"lastStatusCode": 0,
"lastAttemptAt": "2024-01-01T00:00:00Z",
"nextAt": "2024-01-01T00:00:00Z",
"createdAt": "2024-01-01T00:00:00Z"
}
],
"has_more": true,
"next_cursor": "string"
}Schema
objectstringrequireddataWebhookDelivery[]requiredShow child parameters
idstringrequiredendpointIdstringrequiredtopicstringrequiredstatusstringrequiredattemptsintegerrequiredlastStatusCodeintegerrequiredlastAttemptAtstringrequirednextAtstringrequiredWhen a pending delivery is next tried; null once settled.
createdAtstringrequiredhas_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/webhook-deliveries/{id} GET /v1/webhook-deliveries/{id}
Parameters
idstringpathrequiredCode samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/webhook-deliveries/{id}"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/webhook-deliveries/{id}', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/webhook-deliveries/{id}",
)
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/webhook-deliveries/{id}", 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/webhook-deliveries/{id}');
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/webhook-deliveries/{id}')
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/webhook-deliveries/{id}"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"endpointId": "string",
"topic": "string",
"status": "string",
"attempts": 0,
"lastStatusCode": 0,
"lastAttemptAt": "2024-01-01T00:00:00Z",
"nextAt": "2024-01-01T00:00:00Z",
"createdAt": "2024-01-01T00:00:00Z",
"eventId": "string",
"payload": {},
"lastResponseBody": "string",
"lastError": "string"
}Schema
idstringrequiredendpointIdstringrequiredtopicstringrequiredstatusstringrequiredattemptsintegerrequiredlastStatusCodeintegerrequiredlastAttemptAtstringrequirednextAtstringrequiredWhen a pending delivery is next tried; null once settled.
createdAtstringrequiredeventIdstringrequiredpayloadobjectrequiredExactly what was sent (the delivery body).
lastResponseBodystringrequiredThe start of the endpoint's last response (up to 2,000 characters).
lastErrorstringrequiredThe network error of the last attempt, when there was no response.
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/webhook-deliveries/{id}/replay Replay a webhook delivery
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/webhook-deliveries/{id}/replay"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/webhook-deliveries/{id}/replay', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/webhook-deliveries/{id}/replay",
)
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/webhook-deliveries/{id}/replay", 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/webhook-deliveries/{id}/replay');
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/webhook-deliveries/{id}/replay')
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/webhook-deliveries/{id}/replay"))
.method("POST", BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"ok": true
}Schema
okbooleanrequireddefault 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/import/{provider} Import a competitor CSV export
Parameters
providerstringpathrequiredprogramIdstringqueryrequireddryRunbooleanquerydestinationUrlstringqueryCode samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/import/{provider}?programId=&dryRun=&destinationUrl="TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/import/{provider}?programId=&dryRun=&destinationUrl=', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/import/{provider}?programId=&dryRun=&destinationUrl=",
)
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/import/{provider}?programId=&dryRun=&destinationUrl=", 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/import/{provider}?programId=&dryRun=&destinationUrl=');
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/import/{provider}?programId=&dryRun=&destinationUrl=')
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/import/{provider}?programId=&dryRun=&destinationUrl="))
.method("POST", BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"partnersCreated": 0,
"partnersSkipped": 0,
"linksCreated": 0,
"couponsCreated": 0,
"codesSkipped": [
"string"
],
"referralParams": [
"string"
],
"unpaidImportedMinor": 0,
"paidImportedMinor": 0
}Schema
partnersCreatedintegerrequiredpartnersSkippedintegerrequiredlinksCreatedintegerrequiredcouponsCreatedintegerrequiredcodesSkippedstring[]requiredCodes another partner in this org already uses.
referralParamsstring[]requiredThe old tool's link parameter, now read by aff.js.
unpaidImportedMinorintegerrequiredInteger minor units (cents).
paidImportedMinorintegerrequiredInteger minor units (cents).
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.
GET
https://referally.15.204.158.166.sslip.io /v1/auth/connections GET /v1/auth/connections
Code samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/auth/connections"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/auth/connections', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/auth/connections",
)
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/auth/connections", 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/auth/connections');
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/auth/connections')
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/auth/connections"))
.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",
"provider": "clerk",
"programId": "string",
"name": "string",
"status": "string",
"createdAt": "2024-01-01T00:00:00Z",
"rotation": {
"inProgress": true,
"previousSecretExpiresAt": "2024-01-01T00:00:00Z"
},
"instanceId": "string",
"autoEnrollUsers": true,
"destinationUrl": "string",
"signatureVersion": "v1+v2",
"requiresV2": true
}
],
"has_more": true,
"next_cursor": "string"
}Schema
objectstringrequireddataAuthConnection[]requiredShow child parameters
idstringrequiredproviderstringrequiredprogramIdstringrequirednamestringrequiredstatusstringrequiredcreatedAtstringrequiredrotationobjectrequiredShow child parameters
inProgressbooleanrequiredpreviousSecretExpiresAtstringinstanceIdstringSigned-protocol connections: the Atlas instance, or a custom label.
autoEnrollUsersbooleandestinationUrlstringsignatureVersionstringrequiresV2booleanTrue once signatureVersion is v2 or the connection has seen a v2 call.
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/auth/connections Connect an auth platform (custom, Atlas, Clerk, Supabase, WorkOS, generic) for auto-attribution
Request body application/json
providerstringrequiredprogramIdstringrequiredinstanceIdstringautoEnrollUsersbooleandestinationUrlstringnamestringsecretstringkeysobjectShow child parameters
referralTokenstringanonIdstringcouponCodestringprogramIdstringautoEnrollstring{
"provider": "clerk",
"programId": "string",
"instanceId": "string",
"autoEnrollUsers": false,
"destinationUrl": "string",
"name": "",
"secret": "string",
"keys": {
"referralToken": "string",
"anonId": "string",
"couponCode": "string",
"programId": "string",
"autoEnroll": "string"
}
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/auth/connections" \
-H "Content-Type: application/json" \
-d '{"provider":"clerk","programId":"string","instanceId":"string","autoEnrollUsers":false,"destinationUrl":"string","name":"","secret":"string","keys":{"referralToken":"string","anonId":"string","couponCode":"string","programId":"string","autoEnroll":"string"}}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/auth/connections', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"provider":"clerk","programId":"string","instanceId":"string","autoEnrollUsers":false,"destinationUrl":"string","name":"","secret":"string","keys":{"referralToken":"string","anonId":"string","couponCode":"string","programId":"string","autoEnroll":"string"}}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/auth/connections",
headers={
"Content-Type": "application/json",
},
json={"provider": "clerk", "programId": "string", "instanceId": "string", "autoEnrollUsers": False, "destinationUrl": "string", "name": "", "secret": "string", "keys": {"referralToken": "string", "anonId": "string", "couponCode": "string", "programId": "string", "autoEnroll": "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/auth/connections", strings.NewReader(`{"provider":"clerk","programId":"string","instanceId":"string","autoEnrollUsers":false,"destinationUrl":"string","name":"","secret":"string","keys":{"referralToken":"string","anonId":"string","couponCode":"string","programId":"string","autoEnroll":"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/auth/connections');
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, '{"provider":"clerk","programId":"string","instanceId":"string","autoEnrollUsers":false,"destinationUrl":"string","name":"","secret":"string","keys":{"referralToken":"string","anonId":"string","couponCode":"string","programId":"string","autoEnroll":"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/auth/connections')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"provider":"clerk","programId":"string","instanceId":"string","autoEnrollUsers":false,"destinationUrl":"string","name":"","secret":"string","keys":{"referralToken":"string","anonId":"string","couponCode":"string","programId":"string","autoEnroll":"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/auth/connections"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"provider\":\"clerk\",\"programId\":\"string\",\"instanceId\":\"string\",\"autoEnrollUsers\":false,\"destinationUrl\":\"string\",\"name\":\"\",\"secret\":\"string\",\"keys\":{\"referralToken\":\"string\",\"anonId\":\"string\",\"couponCode\":\"string\",\"programId\":\"string\",\"autoEnroll\":\"string\"}}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"provider": "string",
"secret": "string",
"webhookUrl": "string",
"metadataKeys": {},
"programId": "string",
"instanceId": "string",
"autoEnrollUsers": true,
"destinationUrl": "string",
"signupsUrl": "string",
"eraseUrl": "string",
"exportUrl": "string"
}Schema
idstringrequiredproviderstringrequiredsecretstringrequiredReturned only here.
webhookUrlstringWebhook connectors: Clerk, Supabase, WorkOS, generic.
metadataKeysobjectprogramIdstringSigned-protocol connections (atlas, custom).
instanceIdstringautoEnrollUsersbooleandestinationUrlstringsignupsUrlstringeraseUrlstringexportUrlstringdefault 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/auth/connections/{id}/rotate-secret POST /v1/auth/connections/{id}/rotate-secret
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/rotate-secret"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/rotate-secret', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/rotate-secret",
)
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/auth/connections/{id}/rotate-secret", 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/auth/connections/{id}/rotate-secret');
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/auth/connections/{id}/rotate-secret')
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/auth/connections/{id}/rotate-secret"))
.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",
"provider": "string",
"secret": "string",
"previousSecretExpiresAt": "2024-01-01T00:00:00Z"
}Schema
idstringrequiredproviderstringrequiredsecretstringrequiredThe new secret, shown once. The previous one keeps working until previousSecretExpiresAt.
previousSecretExpiresAtstringrequireddefault 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.
DELETE
https://referally.15.204.158.166.sslip.io /v1/auth/connections/{id} DELETE /v1/auth/connections/{id}
Parameters
idstringpathrequiredCode samples
cURL
curl -X DELETE "https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}', {
method: 'DELETE',
});
const data = await res.json();Python
import requests
res = requests.request(
"DELETE",
"https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}",
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("DELETE", "https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}", 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/auth/connections/{id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
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/auth/connections/{id}')
req = Net::HTTP::Delete.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/auth/connections/{id}"))
.method("DELETE", BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"ok": true
}Schema
okbooleanrequireddefault 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.
PATCH
https://referally.15.204.158.166.sslip.io /v1/auth/connections/{id} PATCH /v1/auth/connections/{id}
Parameters
idstringpathrequiredRequest body application/json
statusstringnamestringautoEnrollUsersbooleandestinationUrlstringsignatureVersionstring{
"status": "active",
"name": "string",
"autoEnrollUsers": true,
"destinationUrl": "string",
"signatureVersion": "v1+v2"
}Code samples
cURL
curl -X PATCH "https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}" \
-H "Content-Type: application/json" \
-d '{"status":"active","name":"string","autoEnrollUsers":true,"destinationUrl":"string","signatureVersion":"v1+v2"}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"status":"active","name":"string","autoEnrollUsers":true,"destinationUrl":"string","signatureVersion":"v1+v2"}),
});
const data = await res.json();Python
import requests
res = requests.request(
"PATCH",
"https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}",
headers={
"Content-Type": "application/json",
},
json={"status": "active", "name": "string", "autoEnrollUsers": True, "destinationUrl": "string", "signatureVersion": "v1+v2"},
)
data = res.json()Go
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
req, _ := http.NewRequest("PATCH", "https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}", strings.NewReader(`{"status":"active","name":"string","autoEnrollUsers":true,"destinationUrl":"string","signatureVersion":"v1+v2"}`))
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/auth/connections/{id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"status":"active","name":"string","autoEnrollUsers":true,"destinationUrl":"string","signatureVersion":"v1+v2"}');
$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/auth/connections/{id}')
req = Net::HTTP::Patch.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"status":"active","name":"string","autoEnrollUsers":true,"destinationUrl":"string","signatureVersion":"v1+v2"}'
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/auth/connections/{id}"))
.header("Content-Type", "application/json")
.method("PATCH", BodyPublishers.ofString("{\"status\":\"active\",\"name\":\"string\",\"autoEnrollUsers\":true,\"destinationUrl\":\"string\",\"signatureVersion\":\"v1+v2\"}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"provider": "string",
"name": "string",
"status": "active",
"autoEnrollUsers": true,
"destinationUrl": "string",
"signatureVersion": "v1+v2",
"requiresV2": true
}Schema
idstringrequiredproviderstringrequirednamestringrequiredstatusstringrequiredautoEnrollUsersbooleandestinationUrlstringsignatureVersionstringrequiresV2booleandefault 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/auth/connections/{id}/revoke-previous-secret POST /v1/auth/connections/{id}/revoke-previous-secret
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/revoke-previous-secret"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/revoke-previous-secret', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/revoke-previous-secret",
)
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/auth/connections/{id}/revoke-previous-secret", 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/auth/connections/{id}/revoke-previous-secret');
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/auth/connections/{id}/revoke-previous-secret')
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/auth/connections/{id}/revoke-previous-secret"))
.method("POST", BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"ok": true,
"revoked": true
}Schema
okbooleanrequiredrevokedbooleanrequireddefault 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/auth/connections/{id}/signups [signed protocol] Attribute a new user at creation
Parameters
idstringpathrequiredRequest body application/json
customerRefstringrequiredemailstringemailHashstringnamestringipstringuastringsignedUpAtstringrequiredreferralobjectShow child parameters
codestringclickIdstringanonIdstringcapturedAtstringconsentstringriskobjectShow child parameters
botScorenumberdisposableEmailbooleanemailVerifiedbooleanselfReferralbooleanvelocityintegerreasonsstring[]scorenumberlevelstringdroppedbooleanemailDomainstringreferralCodestringautoEnrollbooleantestboolean{
"customerRef": "string",
"email": "string",
"emailHash": "string",
"name": "string",
"ip": "string",
"ua": "string",
"signedUpAt": "2024-01-01T00:00:00Z",
"referral": {
"code": "string",
"clickId": "string",
"anonId": "string",
"capturedAt": "2024-01-01T00:00:00Z",
"consent": "not_required"
},
"risk": {
"botScore": 0,
"disposableEmail": true,
"emailVerified": true,
"selfReferral": true,
"velocity": 0,
"reasons": [
"string"
],
"score": 0,
"level": "low",
"dropped": true
},
"emailDomain": "string",
"referralCode": "string",
"autoEnroll": true,
"test": true
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/signups" \
-H "Content-Type: application/json" \
-d '{"customerRef":"string","email":"string","emailHash":"string","name":"string","ip":"string","ua":"string","signedUpAt":"2024-01-01T00:00:00Z","referral":{"code":"string","clickId":"string","anonId":"string","capturedAt":"2024-01-01T00:00:00Z","consent":"not_required"},"risk":{"botScore":0,"disposableEmail":true,"emailVerified":true,"selfReferral":true,"velocity":0,"reasons":["string"],"score":0,"level":"low","dropped":true},"emailDomain":"string","referralCode":"string","autoEnroll":true,"test":true}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/signups', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"customerRef":"string","email":"string","emailHash":"string","name":"string","ip":"string","ua":"string","signedUpAt":"2024-01-01T00:00:00Z","referral":{"code":"string","clickId":"string","anonId":"string","capturedAt":"2024-01-01T00:00:00Z","consent":"not_required"},"risk":{"botScore":0,"disposableEmail":true,"emailVerified":true,"selfReferral":true,"velocity":0,"reasons":["string"],"score":0,"level":"low","dropped":true},"emailDomain":"string","referralCode":"string","autoEnroll":true,"test":true}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/signups",
headers={
"Content-Type": "application/json",
},
json={"customerRef": "string", "email": "string", "emailHash": "string", "name": "string", "ip": "string", "ua": "string", "signedUpAt": "2024-01-01T00:00:00Z", "referral": {"code": "string", "clickId": "string", "anonId": "string", "capturedAt": "2024-01-01T00:00:00Z", "consent": "not_required"}, "risk": {"botScore": 0, "disposableEmail": True, "emailVerified": True, "selfReferral": True, "velocity": 0, "reasons": ["string"], "score": 0, "level": "low", "dropped": True}, "emailDomain": "string", "referralCode": "string", "autoEnroll": True, "test": True},
)
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/auth/connections/{id}/signups", strings.NewReader(`{"customerRef":"string","email":"string","emailHash":"string","name":"string","ip":"string","ua":"string","signedUpAt":"2024-01-01T00:00:00Z","referral":{"code":"string","clickId":"string","anonId":"string","capturedAt":"2024-01-01T00:00:00Z","consent":"not_required"},"risk":{"botScore":0,"disposableEmail":true,"emailVerified":true,"selfReferral":true,"velocity":0,"reasons":["string"],"score":0,"level":"low","dropped":true},"emailDomain":"string","referralCode":"string","autoEnroll":true,"test":true}`))
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/auth/connections/{id}/signups');
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, '{"customerRef":"string","email":"string","emailHash":"string","name":"string","ip":"string","ua":"string","signedUpAt":"2024-01-01T00:00:00Z","referral":{"code":"string","clickId":"string","anonId":"string","capturedAt":"2024-01-01T00:00:00Z","consent":"not_required"},"risk":{"botScore":0,"disposableEmail":true,"emailVerified":true,"selfReferral":true,"velocity":0,"reasons":["string"],"score":0,"level":"low","dropped":true},"emailDomain":"string","referralCode":"string","autoEnroll":true,"test":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/auth/connections/{id}/signups')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"customerRef":"string","email":"string","emailHash":"string","name":"string","ip":"string","ua":"string","signedUpAt":"2024-01-01T00:00:00Z","referral":{"code":"string","clickId":"string","anonId":"string","capturedAt":"2024-01-01T00:00:00Z","consent":"not_required"},"risk":{"botScore":0,"disposableEmail":true,"emailVerified":true,"selfReferral":true,"velocity":0,"reasons":["string"],"score":0,"level":"low","dropped":true},"emailDomain":"string","referralCode":"string","autoEnroll":true,"test":true}'
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/auth/connections/{id}/signups"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"customerRef\":\"string\",\"email\":\"string\",\"emailHash\":\"string\",\"name\":\"string\",\"ip\":\"string\",\"ua\":\"string\",\"signedUpAt\":\"2024-01-01T00:00:00Z\",\"referral\":{\"code\":\"string\",\"clickId\":\"string\",\"anonId\":\"string\",\"capturedAt\":\"2024-01-01T00:00:00Z\",\"consent\":\"not_required\"},\"risk\":{\"botScore\":0,\"disposableEmail\":true,\"emailVerified\":true,\"selfReferral\":true,\"velocity\":0,\"reasons\":[\"string\"],\"score\":0,\"level\":\"low\",\"dropped\":true},\"emailDomain\":\"string\",\"referralCode\":\"string\",\"autoEnroll\":true,\"test\":true}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"test": true,
"referral": {
"id": "string",
"partnerId": "string",
"partnerExternalRef": "string",
"matchedVia": "string",
"status": "string",
"persisted": true
},
"reasoning": {
"notes": [
"string"
],
"codes": [
"consent_missing"
]
},
"partner": {
"id": "string",
"code": "string",
"link": "string",
"persisted": true
}
}Schema
testbooleanPresent on a test signup ("test": true or atlas-test: 1): answered as a real call, nothing stored.
referralobjectrequiredShow child parameters
idstringrequiredpartnerIdstringrequiredpartnerExternalRefstringrequiredmatchedViastringrequiredstatusstringrequiredpersistedbooleanTest signups only: true when this referral already existed; false when it exists only in this answer.
reasoningobjectShow child parameters
notesstring[]requiredEnglish, for people; wording may change.
codesSignupReasonCode[]requiredOne stable code per distinct reason behind notes, in order.
partnerobjectShow child parameters
idstringrequiredcodestringrequiredlinkstringrequiredThe partner's absolute tracked link (/go/{trackingToken}/{code}), on the org's verified link domain when it has one; null when they have only a coupon.
persistedbooleanTest signups only: true when this partner already existed; false when it exists only in this answer.
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/auth/connections/{id}/erase [signed protocol] Erase a user (customer and partner)
Parameters
idstringpathrequiredRequest body application/json
customerRefstringrequired{
"customerRef": "string"
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/erase" \
-H "Content-Type: application/json" \
-d '{"customerRef":"string"}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/erase', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"customerRef":"string"}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/erase",
headers={
"Content-Type": "application/json",
},
json={"customerRef": "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/auth/connections/{id}/erase", strings.NewReader(`{"customerRef":"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/auth/connections/{id}/erase');
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, '{"customerRef":"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/auth/connections/{id}/erase')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"customerRef":"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/auth/connections/{id}/erase"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"customerRef\":\"string\"}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"ok": true,
"erased": true,
"customer": {
"customerRef": "string",
"pseudonym": "string"
},
"partner": {
"partnerId": "string",
"alreadyForgotten": true
}
}Schema
okbooleanrequirederasedbooleanrequiredFalse when nothing was filed under the customer (a retry settles cleanly).
customerobjectrequiredShow child parameters
customerRefstringrequiredpseudonymstringrequiredpartnerobjectrequiredShow child parameters
partnerIdstringrequiredalreadyForgottenbooleanrequireddefault 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/auth/connections/{id}/export [signed protocol] Export a user (customer and partner)
Parameters
idstringpathrequiredcustomerRefstringqueryrequiredCode samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/export?customerRef="TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/export?customerRef=', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/export?customerRef=",
)
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/auth/connections/{id}/export?customerRef=", 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/auth/connections/{id}/export?customerRef=');
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/auth/connections/{id}/export?customerRef=')
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/auth/connections/{id}/export?customerRef="))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"customer": {
"customerRef": "string",
"referrals": [
{}
],
"associations": [
{}
],
"identityLinks": [
{}
],
"billingEvents": [
{}
],
"conversionEvents": [
{}
]
},
"partner": {
"partner": {},
"enrollments": [
{}
],
"links": [
{}
],
"coupons": [
{}
],
"payoutProfile": {},
"commissionEvents": [
{}
],
"payouts": [
{}
]
}
}Schema
customerobjectrequiredShow child parameters
customerRefstringrequiredreferralsGetOpenapiJsonResponse[]requiredassociationsGetOpenapiJsonResponse[]requiredidentityLinksGetOpenapiJsonResponse[]requiredbillingEventsGetOpenapiJsonResponse[]requiredconversionEventsGetOpenapiJsonResponse[]requiredpartnerPartnerExportrequiredShow child parameters
partnerobjectrequiredenrollmentsGetOpenapiJsonResponse[]requiredlinksGetOpenapiJsonResponse[]requiredcouponsGetOpenapiJsonResponse[]requiredpayoutProfileGetOpenapiJsonResponserequiredcommissionEventsGetOpenapiJsonResponse[]requiredpayoutsGetOpenapiJsonResponse[]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.
POST
https://referally.15.204.158.166.sslip.io /v1/auth/connections/{id}/ping POST /v1/auth/connections/{id}/ping
Parameters
idstringpathrequiredRequest body application/json
{}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/ping" \
-H "Content-Type: application/json" \
-d '{}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/ping', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/ping",
headers={
"Content-Type": "application/json",
},
json={},
)
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/auth/connections/{id}/ping", strings.NewReader(`{}`))
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/auth/connections/{id}/ping');
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, '{}');
$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/auth/connections/{id}/ping')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{}'
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/auth/connections/{id}/ping"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"ok": true,
"connectionId": "string",
"programId": "string",
"orgName": "string",
"autoEnrollUsers": true,
"serverTime": "2024-01-01T00:00:00Z"
}Schema
okbooleanrequiredconnectionIdstringrequiredprogramIdstringrequiredorgNamestringrequiredautoEnrollUsersbooleanrequiredserverTimestringrequireddefault 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/auth/connections/{id}/aliases POST /v1/auth/connections/{id}/aliases
Parameters
idstringpathrequiredRequest body application/json
fromCustomerRefstringrequiredtoCustomerRefstringrequired{
"fromCustomerRef": "string",
"toCustomerRef": "string"
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/aliases" \
-H "Content-Type: application/json" \
-d '{"fromCustomerRef":"string","toCustomerRef":"string"}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/aliases', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"fromCustomerRef":"string","toCustomerRef":"string"}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/aliases",
headers={
"Content-Type": "application/json",
},
json={"fromCustomerRef": "string", "toCustomerRef": "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/auth/connections/{id}/aliases", strings.NewReader(`{"fromCustomerRef":"string","toCustomerRef":"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/auth/connections/{id}/aliases');
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, '{"fromCustomerRef":"string","toCustomerRef":"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/auth/connections/{id}/aliases')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"fromCustomerRef":"string","toCustomerRef":"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/auth/connections/{id}/aliases"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"fromCustomerRef\":\"string\",\"toCustomerRef\":\"string\"}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"ok": true,
"customerRef": "string",
"referralIds": [
"string"
],
"partnerId": "string",
"alreadyAliased": true,
"reprocessedPayments": 0
}Schema
okbooleanrequiredcustomerRefstringrequiredreferralIdsstring[]requiredpartnerIdstringrequiredalreadyAliasedbooleanrequiredreprocessedPaymentsintegerrequireddefault 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/auth/connections/{id}/users POST /v1/auth/connections/{id}/users
Parameters
idstringpathrequiredRequest body application/json
customerRefstringrequiredemailstringnamestringstatusstring{
"customerRef": "string",
"email": "string",
"name": "string",
"status": "active"
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/users" \
-H "Content-Type: application/json" \
-d '{"customerRef":"string","email":"string","name":"string","status":"active"}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/users', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"customerRef":"string","email":"string","name":"string","status":"active"}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/users",
headers={
"Content-Type": "application/json",
},
json={"customerRef": "string", "email": "string", "name": "string", "status": "active"},
)
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/auth/connections/{id}/users", strings.NewReader(`{"customerRef":"string","email":"string","name":"string","status":"active"}`))
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/auth/connections/{id}/users');
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, '{"customerRef":"string","email":"string","name":"string","status":"active"}');
$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/auth/connections/{id}/users')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"customerRef":"string","email":"string","name":"string","status":"active"}'
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/auth/connections/{id}/users"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"customerRef\":\"string\",\"email\":\"string\",\"name\":\"string\",\"status\":\"active\"}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"ok": true,
"deleted": true,
"erased": true,
"customer": {
"customerRef": "string",
"pseudonym": "string"
},
"partner": {
"partnerId": "string",
"alreadyForgotten": true
},
"updated": [
"string"
],
"notes": [
"string"
]
}Schema
okbooleanrequireddeletedbooleanerasedbooleancustomerobjectShow child parameters
customerRefstringrequiredpseudonymstringrequiredpartnerobjectrequiredupdatedstring[]notesstring[]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/auth/connections/{id}/signals POST /v1/auth/connections/{id}/signals
Parameters
idstringpathrequiredRequest body application/json
customerRefstringrequiredsignalstringrequiredatstringdetailsobject{
"customerRef": "string",
"signal": "email_verified",
"at": "2024-01-01T00:00:00Z",
"details": {}
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/signals" \
-H "Content-Type: application/json" \
-d '{"customerRef":"string","signal":"email_verified","at":"2024-01-01T00:00:00Z","details":{}}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/signals', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"customerRef":"string","signal":"email_verified","at":"2024-01-01T00:00:00Z","details":{}}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/auth/connections/{id}/signals",
headers={
"Content-Type": "application/json",
},
json={"customerRef": "string", "signal": "email_verified", "at": "2024-01-01T00:00:00Z", "details": {}},
)
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/auth/connections/{id}/signals", strings.NewReader(`{"customerRef":"string","signal":"email_verified","at":"2024-01-01T00:00:00Z","details":{}}`))
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/auth/connections/{id}/signals');
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, '{"customerRef":"string","signal":"email_verified","at":"2024-01-01T00:00:00Z","details":{}}');
$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/auth/connections/{id}/signals')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"customerRef":"string","signal":"email_verified","at":"2024-01-01T00:00:00Z","details":{}}'
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/auth/connections/{id}/signals"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"customerRef\":\"string\",\"signal\":\"email_verified\",\"at\":\"2024-01-01T00:00:00Z\",\"details\":{}}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"ok": true,
"signal": "email_verified",
"referrals": [
{
"id": "string",
"status": "string"
}
],
"reversed": [
{
"lineId": "string",
"amountMinor": 0,
"currency": "string"
}
],
"partner": {
"id": "string",
"status": "string"
},
"notes": [
"string"
]
}Schema
okbooleanrequiredsignalstringrequiredreferralsobject[]requiredShow child parameters
idstringrequiredstatusstringrequiredreversedobject[]requiredShow child parameters
lineIdstringrequiredamountMinorintegerrequiredInteger minor units (cents).
currencystringrequiredpartnerobjectrequiredShow child parameters
idstringrequiredstatusstringrequirednotesstring[]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 /webhooks/auth/{connectionId} Inbound auth-platform webhook (signups, updates, bans, deletions)
Parameters
connectionIdstringpathrequiredCode samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/webhooks/auth/{connectionId}"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/webhooks/auth/{connectionId}', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/webhooks/auth/{connectionId}",
)
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/webhooks/auth/{connectionId}", 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/webhooks/auth/{connectionId}');
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/webhooks/auth/{connectionId}')
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/webhooks/auth/{connectionId}"))
.method("POST", BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"received": 0,
"results": [
{
"customerRef": "string",
"attributed": true,
"reason": "string",
"partnerId": "string",
"matchedVia": "string"
}
]
}Schema
receivedintegerrequiredresultsobject[]requiredShow child parameters
customerRefstringrequiredattributedbooleanrequiredreasonstringpartnerIdstringmatchedViastringdefault 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