Reject partners in bulk
curl --request POST \
--url https://platform.tolt.dev/v2/partners/bulk/reject \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ids": [
"part_NLYzgNKuSuASvrvoxNtau6SY",
"part_9fQ2xLLmN3kP8dRvT1wYbHcS"
],
"rejection_note": "Site does not match our audience."
}
'import requests
url = "https://platform.tolt.dev/v2/partners/bulk/reject"
payload = {
"ids": ["part_NLYzgNKuSuASvrvoxNtau6SY", "part_9fQ2xLLmN3kP8dRvT1wYbHcS"],
"rejection_note": "Site does not match our audience."
}
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({
ids: ['part_NLYzgNKuSuASvrvoxNtau6SY', 'part_9fQ2xLLmN3kP8dRvT1wYbHcS'],
rejection_note: 'Site does not match our audience.'
})
};
fetch('https://platform.tolt.dev/v2/partners/bulk/reject', 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://platform.tolt.dev/v2/partners/bulk/reject",
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([
'ids' => [
'part_NLYzgNKuSuASvrvoxNtau6SY',
'part_9fQ2xLLmN3kP8dRvT1wYbHcS'
],
'rejection_note' => 'Site does not match our audience.'
]),
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://platform.tolt.dev/v2/partners/bulk/reject"
payload := strings.NewReader("{\n \"ids\": [\n \"part_NLYzgNKuSuASvrvoxNtau6SY\",\n \"part_9fQ2xLLmN3kP8dRvT1wYbHcS\"\n ],\n \"rejection_note\": \"Site does not match our audience.\"\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://platform.tolt.dev/v2/partners/bulk/reject")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ids\": [\n \"part_NLYzgNKuSuASvrvoxNtau6SY\",\n \"part_9fQ2xLLmN3kP8dRvT1wYbHcS\"\n ],\n \"rejection_note\": \"Site does not match our audience.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.tolt.dev/v2/partners/bulk/reject")
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 \"ids\": [\n \"part_NLYzgNKuSuASvrvoxNtau6SY\",\n \"part_9fQ2xLLmN3kP8dRvT1wYbHcS\"\n ],\n \"rejection_note\": \"Site does not match our audience.\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Processed partners",
"data": {
"succeeded": 1,
"failed": 1,
"results": [
{
"id": "part_NLYzgNKuSuASvrvoxNtau6SY",
"status": "ok"
},
{
"id": "part_9fQ2xLLmN3kP8dRvT1wYbHcS",
"status": "error",
"code": "not_found",
"message": "Partner not found"
}
]
}
}{
"success": false,
"message": "ids: Too small: expected array to have >=1 items",
"code": "validation_error",
"doc_url": "https://docs.tolt.com/errors#validation_error",
"errors": [
{
"field": "ids",
"message": "Too small: expected array to have >=1 items"
}
]
}{
"success": false,
"message": "Unauthorized",
"code": "unauthorized",
"doc_url": "https://docs.tolt.com/errors#unauthorized"
}{
"success": false,
"message": "Request body exceeds 1 MB",
"code": "payload_too_large",
"doc_url": "https://docs.tolt.com/errors#payload_too_large"
}{
"success": false,
"message": "Too many requests. Retry after the window resets.",
"code": "rate_limited",
"doc_url": "https://docs.tolt.com/errors#rate_limited"
}Partners
Reject partners in bulk
Rejects up to 100 partners with an optional shared rejection note. Each id is processed on its own and the response reports the outcome per id.
POST
/
v2
/
partners
/
bulk
/
reject
Reject partners in bulk
curl --request POST \
--url https://platform.tolt.dev/v2/partners/bulk/reject \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ids": [
"part_NLYzgNKuSuASvrvoxNtau6SY",
"part_9fQ2xLLmN3kP8dRvT1wYbHcS"
],
"rejection_note": "Site does not match our audience."
}
'import requests
url = "https://platform.tolt.dev/v2/partners/bulk/reject"
payload = {
"ids": ["part_NLYzgNKuSuASvrvoxNtau6SY", "part_9fQ2xLLmN3kP8dRvT1wYbHcS"],
"rejection_note": "Site does not match our audience."
}
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({
ids: ['part_NLYzgNKuSuASvrvoxNtau6SY', 'part_9fQ2xLLmN3kP8dRvT1wYbHcS'],
rejection_note: 'Site does not match our audience.'
})
};
fetch('https://platform.tolt.dev/v2/partners/bulk/reject', 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://platform.tolt.dev/v2/partners/bulk/reject",
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([
'ids' => [
'part_NLYzgNKuSuASvrvoxNtau6SY',
'part_9fQ2xLLmN3kP8dRvT1wYbHcS'
],
'rejection_note' => 'Site does not match our audience.'
]),
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://platform.tolt.dev/v2/partners/bulk/reject"
payload := strings.NewReader("{\n \"ids\": [\n \"part_NLYzgNKuSuASvrvoxNtau6SY\",\n \"part_9fQ2xLLmN3kP8dRvT1wYbHcS\"\n ],\n \"rejection_note\": \"Site does not match our audience.\"\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://platform.tolt.dev/v2/partners/bulk/reject")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ids\": [\n \"part_NLYzgNKuSuASvrvoxNtau6SY\",\n \"part_9fQ2xLLmN3kP8dRvT1wYbHcS\"\n ],\n \"rejection_note\": \"Site does not match our audience.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.tolt.dev/v2/partners/bulk/reject")
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 \"ids\": [\n \"part_NLYzgNKuSuASvrvoxNtau6SY\",\n \"part_9fQ2xLLmN3kP8dRvT1wYbHcS\"\n ],\n \"rejection_note\": \"Site does not match our audience.\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Processed partners",
"data": {
"succeeded": 1,
"failed": 1,
"results": [
{
"id": "part_NLYzgNKuSuASvrvoxNtau6SY",
"status": "ok"
},
{
"id": "part_9fQ2xLLmN3kP8dRvT1wYbHcS",
"status": "error",
"code": "not_found",
"message": "Partner not found"
}
]
}
}{
"success": false,
"message": "ids: Too small: expected array to have >=1 items",
"code": "validation_error",
"doc_url": "https://docs.tolt.com/errors#validation_error",
"errors": [
{
"field": "ids",
"message": "Too small: expected array to have >=1 items"
}
]
}{
"success": false,
"message": "Unauthorized",
"code": "unauthorized",
"doc_url": "https://docs.tolt.com/errors#unauthorized"
}{
"success": false,
"message": "Request body exceeds 1 MB",
"code": "payload_too_large",
"doc_url": "https://docs.tolt.com/errors#payload_too_large"
}{
"success": false,
"message": "Too many requests. Retry after the window resets.",
"code": "rate_limited",
"doc_url": "https://docs.tolt.com/errors#rate_limited"
}Authorizations
Tolt API key sent as a bearer token.
Body
application/json
Ids of the partners to act on, as returned when listing partners. Each one succeeds or fails on its own and gets its own entry in results.
Required array length:
1 - 100 elementsMinimum string length:
1Example:
["part_9fQ2xLL", "part_3RtV9k"]
Reason for the rejection, shown to the partner in the partner portal. Null clears an earlier note.
Maximum string length:
2000Example:
"Site does not match our audience."

