Tracking and attribution
GET
https://referally.15.204.158.166.sslip.io /v1/links GET /v1/links
Code samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/links"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/links', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/links",
)
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/links", 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/links');
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/links')
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/links"))
.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",
"programId": "string",
"partnerId": "string",
"code": "string",
"destinationUrl": "string",
"shortUrl": "string",
"clicks": 0,
"createdAt": "2024-01-01T00:00:00Z"
}
],
"has_more": true,
"next_cursor": "string"
}Schema
objectstringrequireddataLink[]requiredShow child parameters
idstringrequiredprogramIdstringrequiredpartnerIdstringrequiredcodestringrequiredLowercase; matched case-insensitively.
destinationUrlstringrequiredshortUrlstringrequiredAbsolute link, on the org's verified link domain when it has one.
clicksintegerrequiredcreatedAtstringrequiredhas_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/links Create a tracked link
Request body application/json
programIdstringrequiredpartnerIdstringrequiredcodestringdestinationUrlstringrequired{
"programId": "string",
"partnerId": "string",
"code": "string",
"destinationUrl": "string"
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/links" \
-H "Content-Type: application/json" \
-d '{"programId":"string","partnerId":"string","code":"string","destinationUrl":"string"}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/links', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"programId":"string","partnerId":"string","code":"string","destinationUrl":"string"}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/links",
headers={
"Content-Type": "application/json",
},
json={"programId": "string", "partnerId": "string", "code": "string", "destinationUrl": "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/links", strings.NewReader(`{"programId":"string","partnerId":"string","code":"string","destinationUrl":"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/links');
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, '{"programId":"string","partnerId":"string","code":"string","destinationUrl":"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/links')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"programId":"string","partnerId":"string","code":"string","destinationUrl":"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/links"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"programId\":\"string\",\"partnerId\":\"string\",\"code\":\"string\",\"destinationUrl\":\"string\"}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"programId": "string",
"partnerId": "string",
"code": "string",
"destinationUrl": "string",
"shortUrl": "string"
}Schema
idstringrequiredprogramIdstringrequiredpartnerIdstringrequiredcodestringrequireddestinationUrlstringrequiredshortUrlstringdefault 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/links/{id}/qr GET /v1/links/{id}/qr
Parameters
idstringpathrequiredCode samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/links/{id}/qr"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/links/{id}/qr', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/links/{id}/qr",
)
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/links/{id}/qr", 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/links/{id}/qr');
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/links/{id}/qr')
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/links/{id}/qr"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 QR code for the short link.
"string"
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/coupons GET /v1/coupons
Code samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/coupons"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/coupons', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/coupons",
)
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/coupons", 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/coupons');
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/coupons')
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/coupons"))
.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",
"programId": "string",
"partnerId": "string",
"code": "string",
"createdAt": "2024-01-01T00:00:00Z"
}
],
"has_more": true,
"next_cursor": "string"
}Schema
objectstringrequireddataCoupon[]requiredShow child parameters
idstringrequiredprogramIdstringrequiredpartnerIdstringrequiredcodestringrequiredcreatedAtstringrequiredhas_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/coupons Create a coupon code
Request body application/json
programIdstringrequiredpartnerIdstringrequiredcodestringrequired{
"programId": "string",
"partnerId": "string",
"code": "string"
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/coupons" \
-H "Content-Type: application/json" \
-d '{"programId":"string","partnerId":"string","code":"string"}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/coupons', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"programId":"string","partnerId":"string","code":"string"}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/coupons",
headers={
"Content-Type": "application/json",
},
json={"programId": "string", "partnerId": "string", "code": "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/coupons", strings.NewReader(`{"programId":"string","partnerId":"string","code":"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/coupons');
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, '{"programId":"string","partnerId":"string","code":"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/coupons')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"programId":"string","partnerId":"string","code":"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/coupons"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"programId\":\"string\",\"partnerId\":\"string\",\"code\":\"string\"}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"code": "string"
}Schema
idstringrequiredcodestringrequireddefault 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/referrals/associate Attribute a new customer (the key server-side call)
Request body application/json
programIdstringrequiredcustomerRefstringrequiredanonIdstringreferralTokenstringcouponCodestringemailHashstringipstringuastringidempotencyKeystringoccurredAtstringemailDomainstring{
"programId": "string",
"customerRef": "string",
"anonId": "string",
"referralToken": "string",
"couponCode": "string",
"emailHash": "string",
"ip": "string",
"ua": "string",
"idempotencyKey": "string",
"occurredAt": "2024-01-01T00:00:00Z",
"emailDomain": "string"
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/referrals/associate" \
-H "Content-Type: application/json" \
-d '{"programId":"string","customerRef":"string","anonId":"string","referralToken":"string","couponCode":"string","emailHash":"string","ip":"string","ua":"string","idempotencyKey":"string","occurredAt":"2024-01-01T00:00:00Z","emailDomain":"string"}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/referrals/associate', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"programId":"string","customerRef":"string","anonId":"string","referralToken":"string","couponCode":"string","emailHash":"string","ip":"string","ua":"string","idempotencyKey":"string","occurredAt":"2024-01-01T00:00:00Z","emailDomain":"string"}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/referrals/associate",
headers={
"Content-Type": "application/json",
},
json={"programId": "string", "customerRef": "string", "anonId": "string", "referralToken": "string", "couponCode": "string", "emailHash": "string", "ip": "string", "ua": "string", "idempotencyKey": "string", "occurredAt": "2024-01-01T00:00:00Z", "emailDomain": "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/referrals/associate", strings.NewReader(`{"programId":"string","customerRef":"string","anonId":"string","referralToken":"string","couponCode":"string","emailHash":"string","ip":"string","ua":"string","idempotencyKey":"string","occurredAt":"2024-01-01T00:00:00Z","emailDomain":"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/referrals/associate');
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, '{"programId":"string","customerRef":"string","anonId":"string","referralToken":"string","couponCode":"string","emailHash":"string","ip":"string","ua":"string","idempotencyKey":"string","occurredAt":"2024-01-01T00:00:00Z","emailDomain":"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/referrals/associate')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"programId":"string","customerRef":"string","anonId":"string","referralToken":"string","couponCode":"string","emailHash":"string","ip":"string","ua":"string","idempotencyKey":"string","occurredAt":"2024-01-01T00:00:00Z","emailDomain":"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/referrals/associate"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"programId\":\"string\",\"customerRef\":\"string\",\"anonId\":\"string\",\"referralToken\":\"string\",\"couponCode\":\"string\",\"emailHash\":\"string\",\"ip\":\"string\",\"ua\":\"string\",\"idempotencyKey\":\"string\",\"occurredAt\":\"2024-01-01T00:00:00Z\",\"emailDomain\":\"string\"}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"referral": {
"id": "string",
"programId": "string",
"partnerId": "string",
"customerRef": "string",
"source": "string",
"matchedVia": "string",
"confidence": 0,
"clickId": "string",
"linkId": "string",
"status": "active",
"ts": "2024-01-01T00:00:00Z",
"windowExpiresAt": "2024-01-01T00:00:00Z",
"touchCredits": [
{
"partnerId": null,
"weight": null,
"clickId": null
}
],
"reasoning": {
"model": "string",
"consideredTouchpoints": 0,
"windowDays": 0,
"notes": [
null
],
"noteCodes": [
null
]
},
"orgId": "string"
},
"reasoning": {
"notes": [
"string"
]
}
}Schema
referralobjectrequirednull when no partner matched (not an error).
Show child parameters
idstringrequiredprogramIdstringrequiredpartnerIdstringrequiredcustomerRefstringrequiredsourcestringrequiredmatchedViastringrequiredconfidencenumberrequiredclickIdstringrequiredlinkIdstringrequiredstatusstringrequiredtsstringrequiredwindowExpiresAtstringrequiredtouchCreditsobject[]requiredShow child parameters
partnerIdstringrequiredweightnumberrequiredclickIdstringrequiredreasoningobjectrequiredShow child parameters
modelstringconsideredTouchpointsintegerwindowDaysintegernotesstring[]noteCodesReasonNote[]orgIdstringrequiredreasoningobjectShow child parameters
notesstring[]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/referrals List referrals
Code samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/referrals"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/referrals', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/referrals",
)
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/referrals", 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/referrals');
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/referrals')
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/referrals"))
.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",
"programId": "string",
"partnerId": "string",
"customerRef": "string",
"source": "string",
"matchedVia": "string",
"confidence": 0,
"clickId": "string",
"linkId": "string",
"status": "active",
"ts": "2024-01-01T00:00:00Z",
"windowExpiresAt": "2024-01-01T00:00:00Z",
"touchCredits": [
{
"partnerId": null,
"weight": null,
"clickId": null
}
],
"reasoning": {
"model": "string",
"consideredTouchpoints": 0,
"windowDays": 0,
"notes": [
null
],
"noteCodes": [
null
]
}
}
],
"has_more": true,
"next_cursor": "string"
}Schema
objectstringrequireddataReferral[]requiredShow child parameters
idstringrequiredprogramIdstringrequiredpartnerIdstringrequiredcustomerRefstringrequiredsourcestringrequiredmatchedViastringrequiredconfidencenumberrequiredclickIdstringrequiredlinkIdstringrequiredstatusstringrequiredtsstringrequiredwindowExpiresAtstringrequiredtouchCreditsobject[]requiredShow child parameters
partnerIdstringrequiredweightnumberrequiredclickIdstringrequiredreasoningobjectrequiredShow child parameters
modelstringconsideredTouchpointsintegerwindowDaysintegernotesstring[]noteCodesReasonNote[]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.
GET
https://referally.15.204.158.166.sslip.io /v1/referrals/{id} GET /v1/referrals/{id}
Parameters
idstringpathrequiredCode samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/referrals/{id}"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/referrals/{id}', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/referrals/{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/referrals/{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/referrals/{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/referrals/{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/referrals/{id}"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"programId": "string",
"partnerId": "string",
"customerRef": "string",
"source": "string",
"matchedVia": "string",
"confidence": 0,
"clickId": "string",
"linkId": "string",
"status": "active",
"ts": "2024-01-01T00:00:00Z",
"windowExpiresAt": "2024-01-01T00:00:00Z",
"touchCredits": [
{
"partnerId": "string",
"weight": 0,
"clickId": "string"
}
],
"reasoning": {
"model": "string",
"consideredTouchpoints": 0,
"windowDays": 0,
"notes": [
"string"
],
"noteCodes": [
{
"code": "outside_window",
"values": {}
}
]
}
}Schema
idstringrequiredprogramIdstringrequiredpartnerIdstringrequiredcustomerRefstringrequiredsourcestringrequiredmatchedViastringrequiredconfidencenumberrequiredclickIdstringrequiredlinkIdstringrequiredstatusstringrequiredtsstringrequiredwindowExpiresAtstringrequiredtouchCreditsobject[]requiredShow child parameters
partnerIdstringrequiredweightnumberrequiredclickIdstringrequiredreasoningobjectrequiredShow child parameters
modelstringconsideredTouchpointsintegerwindowDaysintegernotesstring[]noteCodesReasonNote[]Show child parameters
codestringrequiredvaluesobjectdefault 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/referrals/{id} PATCH /v1/referrals/{id}
Parameters
idstringpathrequiredRequest body application/json
statusstringrequired{
"status": "paused"
}Code samples
cURL
curl -X PATCH "https://referally.15.204.158.166.sslip.io/v1/referrals/{id}" \
-H "Content-Type: application/json" \
-d '{"status":"paused"}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/referrals/{id}', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"status":"paused"}),
});
const data = await res.json();Python
import requests
res = requests.request(
"PATCH",
"https://referally.15.204.158.166.sslip.io/v1/referrals/{id}",
headers={
"Content-Type": "application/json",
},
json={"status": "paused"},
)
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/referrals/{id}", strings.NewReader(`{"status":"paused"}`))
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/referrals/{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":"paused"}');
$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/referrals/{id}')
req = Net::HTTP::Patch.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"status":"paused"}'
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/referrals/{id}"))
.header("Content-Type", "application/json")
.method("PATCH", BodyPublishers.ofString("{\"status\":\"paused\"}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"programId": "string",
"partnerId": "string",
"customerRef": "string",
"source": "string",
"matchedVia": "string",
"confidence": 0,
"clickId": "string",
"linkId": "string",
"status": "active",
"ts": "2024-01-01T00:00:00Z",
"windowExpiresAt": "2024-01-01T00:00:00Z",
"touchCredits": [
{
"partnerId": "string",
"weight": 0,
"clickId": "string"
}
],
"reasoning": {
"model": "string",
"consideredTouchpoints": 0,
"windowDays": 0,
"notes": [
"string"
],
"noteCodes": [
{
"code": "outside_window",
"values": {}
}
]
}
}Schema
idstringrequiredprogramIdstringrequiredpartnerIdstringrequiredcustomerRefstringrequiredsourcestringrequiredmatchedViastringrequiredconfidencenumberrequiredclickIdstringrequiredlinkIdstringrequiredstatusstringrequiredtsstringrequiredwindowExpiresAtstringrequiredtouchCreditsobject[]requiredShow child parameters
partnerIdstringrequiredweightnumberrequiredclickIdstringrequiredreasoningobjectrequiredShow child parameters
modelstringconsideredTouchpointsintegerwindowDaysintegernotesstring[]noteCodesReasonNote[]Show child parameters
codestringrequiredvaluesobjectdefault 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/referrals/{id}/journey Full attribution journey with reasoning
Parameters
idstringpathrequiredCode samples
cURL
curl -X GET "https://referally.15.204.158.166.sslip.io/v1/referrals/{id}/journey"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/referrals/{id}/journey', {
method: 'GET',
});
const data = await res.json();Python
import requests
res = requests.request(
"GET",
"https://referally.15.204.158.166.sslip.io/v1/referrals/{id}/journey",
)
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/referrals/{id}/journey", 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/referrals/{id}/journey');
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/referrals/{id}/journey')
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/referrals/{id}/journey"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"programId": "string",
"partnerId": "string",
"customerRef": "string",
"source": "string",
"matchedVia": "string",
"confidence": 0,
"clickId": "string",
"linkId": "string",
"status": "active",
"ts": "2024-01-01T00:00:00Z",
"windowExpiresAt": "2024-01-01T00:00:00Z",
"touchCredits": [
{
"partnerId": "string",
"weight": 0,
"clickId": "string"
}
],
"reasoning": {
"model": "string",
"consideredTouchpoints": 0,
"windowDays": 0,
"notes": [
"string"
],
"noteCodes": [
{
"code": "outside_window",
"values": {}
}
]
},
"touchpoints": [
{
"clickId": "string",
"ts": "2024-01-01T00:00:00Z",
"url": "string",
"linkId": "string",
"fraudScore": 0,
"eligible": true,
"weight": 0,
"winner": true
}
]
}Schema
idstringrequiredprogramIdstringrequiredpartnerIdstringrequiredcustomerRefstringrequiredsourcestringrequiredmatchedViastringrequiredconfidencenumberrequiredclickIdstringrequiredlinkIdstringrequiredstatusstringrequiredtsstringrequiredwindowExpiresAtstringrequiredtouchCreditsobject[]requiredShow child parameters
partnerIdstringrequiredweightnumberrequiredclickIdstringrequiredreasoningobjectrequiredShow child parameters
modelstringconsideredTouchpointsintegerwindowDaysintegernotesstring[]noteCodesReasonNote[]Show child parameters
codestringrequiredvaluesobjecttouchpointsobject[]requiredShow child parameters
clickIdstringrequiredtsstringrequiredurlstringrequiredlinkIdstringrequiredfraudScoreintegerrequiredeligiblebooleanrequiredweightnumberrequiredwinnerbooleanrequireddefault 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/referrals/{id}/void POST /v1/referrals/{id}/void
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/referrals/{id}/void"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/referrals/{id}/void', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/referrals/{id}/void",
)
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/referrals/{id}/void", 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/referrals/{id}/void');
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/referrals/{id}/void')
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/referrals/{id}/void"))
.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",
"programId": "string",
"partnerId": "string",
"customerRef": "string",
"source": "string",
"matchedVia": "string",
"confidence": 0,
"clickId": "string",
"linkId": "string",
"status": "active",
"ts": "2024-01-01T00:00:00Z",
"windowExpiresAt": "2024-01-01T00:00:00Z",
"touchCredits": [
{
"partnerId": "string",
"weight": 0,
"clickId": "string"
}
],
"reasoning": {
"model": "string",
"consideredTouchpoints": 0,
"windowDays": 0,
"notes": [
"string"
],
"noteCodes": [
{
"code": "outside_window",
"values": {}
}
]
}
}Schema
idstringrequiredprogramIdstringrequiredpartnerIdstringrequiredcustomerRefstringrequiredsourcestringrequiredmatchedViastringrequiredconfidencenumberrequiredclickIdstringrequiredlinkIdstringrequiredstatusstringrequiredtsstringrequiredwindowExpiresAtstringrequiredtouchCreditsobject[]requiredShow child parameters
partnerIdstringrequiredweightnumberrequiredclickIdstringrequiredreasoningobjectrequiredShow child parameters
modelstringconsideredTouchpointsintegerwindowDaysintegernotesstring[]noteCodesReasonNote[]Show child parameters
codestringrequiredvaluesobjectdefault 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/referrals/{id}/reassign POST /v1/referrals/{id}/reassign
Parameters
idstringpathrequiredRequest body application/json
partnerIdstringrequired{
"partnerId": "string"
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/referrals/{id}/reassign" \
-H "Content-Type: application/json" \
-d '{"partnerId":"string"}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/referrals/{id}/reassign', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"partnerId":"string"}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/referrals/{id}/reassign",
headers={
"Content-Type": "application/json",
},
json={"partnerId": "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/referrals/{id}/reassign", strings.NewReader(`{"partnerId":"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/referrals/{id}/reassign');
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, '{"partnerId":"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/referrals/{id}/reassign')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"partnerId":"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/referrals/{id}/reassign"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"partnerId\":\"string\"}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"id": "string",
"programId": "string",
"partnerId": "string",
"customerRef": "string",
"source": "string",
"matchedVia": "string",
"confidence": 0,
"clickId": "string",
"linkId": "string",
"status": "active",
"ts": "2024-01-01T00:00:00Z",
"windowExpiresAt": "2024-01-01T00:00:00Z",
"touchCredits": [
{
"partnerId": "string",
"weight": 0,
"clickId": "string"
}
],
"reasoning": {
"model": "string",
"consideredTouchpoints": 0,
"windowDays": 0,
"notes": [
"string"
],
"noteCodes": [
{
"code": "outside_window",
"values": {}
}
]
}
}Schema
idstringrequiredprogramIdstringrequiredpartnerIdstringrequiredcustomerRefstringrequiredsourcestringrequiredmatchedViastringrequiredconfidencenumberrequiredclickIdstringrequiredlinkIdstringrequiredstatusstringrequiredtsstringrequiredwindowExpiresAtstringrequiredtouchCreditsobject[]requiredShow child parameters
partnerIdstringrequiredweightnumberrequiredclickIdstringrequiredreasoningobjectrequiredShow child parameters
modelstringconsideredTouchpointsintegerwindowDaysintegernotesstring[]noteCodesReasonNote[]Show child parameters
codestringrequiredvaluesobjectdefault 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/referrals/{id}/approve POST /v1/referrals/{id}/approve
Parameters
idstringpathrequiredCode samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/referrals/{id}/approve"TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/referrals/{id}/approve', {
method: 'POST',
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/referrals/{id}/approve",
)
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/referrals/{id}/approve", 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/referrals/{id}/approve');
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/referrals/{id}/approve')
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/referrals/{id}/approve"))
.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",
"programId": "string",
"partnerId": "string",
"customerRef": "string",
"source": "string",
"matchedVia": "string",
"confidence": 0,
"clickId": "string",
"linkId": "string",
"status": "active",
"ts": "2024-01-01T00:00:00Z",
"windowExpiresAt": "2024-01-01T00:00:00Z",
"touchCredits": [
{
"partnerId": "string",
"weight": 0,
"clickId": "string"
}
],
"reasoning": {
"model": "string",
"consideredTouchpoints": 0,
"windowDays": 0,
"notes": [
"string"
],
"noteCodes": [
{
"code": "outside_window",
"values": {}
}
]
}
}Schema
idstringrequiredprogramIdstringrequiredpartnerIdstringrequiredcustomerRefstringrequiredsourcestringrequiredmatchedViastringrequiredconfidencenumberrequiredclickIdstringrequiredlinkIdstringrequiredstatusstringrequiredtsstringrequiredwindowExpiresAtstringrequiredtouchCreditsobject[]requiredShow child parameters
partnerIdstringrequiredweightnumberrequiredclickIdstringrequiredreasoningobjectrequiredShow child parameters
modelstringconsideredTouchpointsintegerwindowDaysintegernotesstring[]noteCodesReasonNote[]Show child parameters
codestringrequiredvaluesobjectdefault 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/attribution/replay Deterministically recompute attribution
Request body application/json
programIdstringrequired{
"programId": "string"
}Code samples
cURL
curl -X POST "https://referally.15.204.158.166.sslip.io/v1/attribution/replay" \
-H "Content-Type: application/json" \
-d '{"programId":"string"}'TypeScript
const res = await fetch('https://referally.15.204.158.166.sslip.io/v1/attribution/replay', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({"programId":"string"}),
});
const data = await res.json();Python
import requests
res = requests.request(
"POST",
"https://referally.15.204.158.166.sslip.io/v1/attribution/replay",
headers={
"Content-Type": "application/json",
},
json={"programId": "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/attribution/replay", strings.NewReader(`{"programId":"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/attribution/replay');
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, '{"programId":"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/attribution/replay')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"programId":"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/attribution/replay"))
.header("Content-Type", "application/json")
.method("POST", BodyPublishers.ofString("{\"programId\":\"string\"}"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Responses
200 OK
Example
{
"recomputed": 0,
"changed": 0
}Schema
recomputedintegerrequiredchangedintegerrequireddefault 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