Skip to main content
POST
/
v1
/
affiliations
Create
curl --request POST \
  --url https://{defaultHost}/v1/affiliations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "affiliation": {
    "email": "test@example.com",
    "first_name": "Jon",
    "last_name": "Smith",
    "bio": "I have lots of followers!"
  }
}
'
import requests

url = "https://{defaultHost}/v1/affiliations"

payload = { "affiliation": {
"email": "test@example.com",
"first_name": "Jon",
"last_name": "Smith",
"bio": "I have lots of followers!"
} }
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({
affiliation: {
email: 'test@example.com',
first_name: 'Jon',
last_name: 'Smith',
bio: 'I have lots of followers!'
}
})
};

fetch('https://{defaultHost}/v1/affiliations', 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://{defaultHost}/v1/affiliations",
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([
'affiliation' => [
'email' => 'test@example.com',
'first_name' => 'Jon',
'last_name' => 'Smith',
'bio' => 'I have lots of followers!'
]
]),
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://{defaultHost}/v1/affiliations"

payload := strings.NewReader("{\n \"affiliation\": {\n \"email\": \"test@example.com\",\n \"first_name\": \"Jon\",\n \"last_name\": \"Smith\",\n \"bio\": \"I have lots of followers!\"\n }\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://{defaultHost}/v1/affiliations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"affiliation\": {\n \"email\": \"test@example.com\",\n \"first_name\": \"Jon\",\n \"last_name\": \"Smith\",\n \"bio\": \"I have lots of followers!\"\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://{defaultHost}/v1/affiliations")

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 \"affiliation\": {\n \"email\": \"test@example.com\",\n \"first_name\": \"Jon\",\n \"last_name\": \"Smith\",\n \"bio\": \"I have lots of followers!\"\n }\n}"

response = http.request(request)
puts response.read_body
{
  "id": "f014530b-4c7c-4a12-a952-6d514149df30",
  "object": "affiliation",
  "active": true,
  "bio": "I have lots of followers!",
  "code": "DF130498",
  "email": "test@example.com",
  "first_name": "Jon",
  "last_name": "Smith",
  "metadata": {},
  "payout_email": null,
  "url": null,
  "portal_url": "http://app.example.com/portal_redirect/affiliations/f014530b-4c7c-4a12-a952-6d514149df30",
  "referral_urls": [
    "?aff=df130498"
  ],
  "total_commission_amount": 0,
  "total_not_paid_commission_amount": 0,
  "commission_structure": null,
  "discarded_at": null,
  "created_at": 1782485803,
  "updated_at": 1782485803
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
affiliation
object

Response

200 - application/json

Success

id
string | null

The UUID of the specific object.

object
string

A string describing the object type returned.

active
boolean

Whether or not the affiliate is active.

affiliation_products

Expandable – Property not returned unless expanded.

commission_structure

Expandable – The associated commission structure ID.

portal_url
string | null

A URL that will redirect to this affiliation's correct portal page (hosted or external).

referral_url
string

The referral URL with the affiliate's code appended as a query parameter.

total_commission_amount
integer

The total commission amount earned by the affiliate.

total_not_paid_commission_amount
integer

The total commission amount earned by the affiliate that has not been paid out yet.

clicks

Expandable – Property not returned unless expanded.

referrals

Expandable – Property not returned unless expanded.

payouts

Expandable – Property not returned unless expanded.

discarded_at
integer | null

Time at which the object was discarded. Measured in seconds since the Unix epoch.

created_at
integer | null

Time at which the object was created. Measured in seconds since the Unix epoch.

updated_at
integer | null

Time at which the object was last updated. Measured in seconds since the Unix epoch.