curl --request POST \
--url https://api.dub.co/partners/attribute-referring-partner \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"partnerId": "<string>",
"tenantId": "<string>",
"referredByPartnerId": "<string>",
"referredByTenantId": "<string>",
"createCommissionsForPastEvents": false
}
'import requests
url = "https://api.dub.co/partners/attribute-referring-partner"
payload = {
"partnerId": "<string>",
"tenantId": "<string>",
"referredByPartnerId": "<string>",
"referredByTenantId": "<string>",
"createCommissionsForPastEvents": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
partnerId: '<string>',
tenantId: '<string>',
referredByPartnerId: '<string>',
referredByTenantId: '<string>',
createCommissionsForPastEvents: false
})
};
fetch('https://api.dub.co/partners/attribute-referring-partner', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dub.co/partners/attribute-referring-partner",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'partnerId' => '<string>',
'tenantId' => '<string>',
'referredByPartnerId' => '<string>',
'referredByTenantId' => '<string>',
'createCommissionsForPastEvents' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dub.co/partners/attribute-referring-partner"
payload := strings.NewReader("{\n \"partnerId\": \"<string>\",\n \"tenantId\": \"<string>\",\n \"referredByPartnerId\": \"<string>\",\n \"referredByTenantId\": \"<string>\",\n \"createCommissionsForPastEvents\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dub.co/partners/attribute-referring-partner")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"partnerId\": \"<string>\",\n \"tenantId\": \"<string>\",\n \"referredByPartnerId\": \"<string>\",\n \"referredByTenantId\": \"<string>\",\n \"createCommissionsForPastEvents\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dub.co/partners/attribute-referring-partner")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"partnerId\": \"<string>\",\n \"tenantId\": \"<string>\",\n \"referredByPartnerId\": \"<string>\",\n \"referredByTenantId\": \"<string>\",\n \"createCommissionsForPastEvents\": false\n}"
response = http.request(request)
puts response.read_body{
"partnerId": "<string>",
"referredByPartnerId": "<string>"
}{
"error": {
"code": "bad_request",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#bad-request"
}
}{
"error": {
"code": "unauthorized",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#unauthorized"
}
}{
"error": {
"code": "forbidden",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#forbidden"
}
}{
"error": {
"code": "not_found",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#not-found"
}
}{
"error": {
"code": "conflict",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#conflict"
}
}{
"error": {
"code": "invite_expired",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#invite-expired"
}
}{
"error": {
"code": "unprocessable_entity",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#unprocessable-entity"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#rate-limit_exceeded"
}
}{
"error": {
"code": "internal_server_error",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#internal-server_error"
}
}Attribute a referring partner
Attribute a partner to the partner who referred them. Both partners must be approved in your program, and a partner can only be attributed once. When createCommissionsForPastEvents is true and the referring partner has a referral reward, referral commissions for eligible past events are created asynchronously.
curl --request POST \
--url https://api.dub.co/partners/attribute-referring-partner \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"partnerId": "<string>",
"tenantId": "<string>",
"referredByPartnerId": "<string>",
"referredByTenantId": "<string>",
"createCommissionsForPastEvents": false
}
'import requests
url = "https://api.dub.co/partners/attribute-referring-partner"
payload = {
"partnerId": "<string>",
"tenantId": "<string>",
"referredByPartnerId": "<string>",
"referredByTenantId": "<string>",
"createCommissionsForPastEvents": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
partnerId: '<string>',
tenantId: '<string>',
referredByPartnerId: '<string>',
referredByTenantId: '<string>',
createCommissionsForPastEvents: false
})
};
fetch('https://api.dub.co/partners/attribute-referring-partner', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dub.co/partners/attribute-referring-partner",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'partnerId' => '<string>',
'tenantId' => '<string>',
'referredByPartnerId' => '<string>',
'referredByTenantId' => '<string>',
'createCommissionsForPastEvents' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dub.co/partners/attribute-referring-partner"
payload := strings.NewReader("{\n \"partnerId\": \"<string>\",\n \"tenantId\": \"<string>\",\n \"referredByPartnerId\": \"<string>\",\n \"referredByTenantId\": \"<string>\",\n \"createCommissionsForPastEvents\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dub.co/partners/attribute-referring-partner")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"partnerId\": \"<string>\",\n \"tenantId\": \"<string>\",\n \"referredByPartnerId\": \"<string>\",\n \"referredByTenantId\": \"<string>\",\n \"createCommissionsForPastEvents\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dub.co/partners/attribute-referring-partner")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"partnerId\": \"<string>\",\n \"tenantId\": \"<string>\",\n \"referredByPartnerId\": \"<string>\",\n \"referredByTenantId\": \"<string>\",\n \"createCommissionsForPastEvents\": false\n}"
response = http.request(request)
puts response.read_body{
"partnerId": "<string>",
"referredByPartnerId": "<string>"
}{
"error": {
"code": "bad_request",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#bad-request"
}
}{
"error": {
"code": "unauthorized",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#unauthorized"
}
}{
"error": {
"code": "forbidden",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#forbidden"
}
}{
"error": {
"code": "not_found",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#not-found"
}
}{
"error": {
"code": "conflict",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#conflict"
}
}{
"error": {
"code": "invite_expired",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#invite-expired"
}
}{
"error": {
"code": "unprocessable_entity",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#unprocessable-entity"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#rate-limit_exceeded"
}
}{
"error": {
"code": "internal_server_error",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#internal-server_error"
}
}Authorizations
Default authentication mechanism
Body
The ID of the partner to attribute to a referring partner. Takes precedence over tenantId if both are provided.
The ID in your system of the partner to attribute to a referring partner. Either partnerId or tenantId is required.
The ID of the referring partner. Takes precedence over referredByTenantId if both are provided.
The ID in your system of the referring partner. Either referredByPartnerId or referredByTenantId is required.
Whether to create referral commissions for the partner's eligible past events. Skipped when the referring partner has no referral reward.
Was this page helpful?