cURL
curl --request GET \
--url 'https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50' \
--header 'X-Api-Key: YOUR_API_KEY' \
--header 'X-Platform-Id: YOUR_PLATFORM_ID'
const response = await fetch("https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50", {
method: "GET",
headers: {
"X-Api-Key": "YOUR_API_KEY",
"X-Platform-Id": "YOUR_PLATFORM_ID",
},
});
const data = await response.json();
import requests
response = requests.request(
"GET",
"https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50",
headers={
"X-Api-Key": "YOUR_API_KEY",
"X-Platform-Id": "YOUR_PLATFORM_ID",
},
)
data = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: YOUR_API_KEY",
"X-Platform-Id: YOUR_PLATFORM_ID"
],
]);
$response = curl_exec($curl);
curl_close($curl);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "YOUR_API_KEY")
req.Header.Add("X-Platform-Id", "YOUR_PLATFORM_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
require "uri"
require "net/http"
url = URI("https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP.const_get("GET".capitalize).new(url)
request["X-Api-Key"] = "YOUR_API_KEY"
request["X-Platform-Id"] = "YOUR_PLATFORM_ID"
response = http.request(request)
puts response.read_body
using var client = new HttpClient();
using var request = new HttpRequestMessage(
new HttpMethod("GET"),
"https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50");
request.Headers.TryAddWithoutValidation("X-Api-Key", "YOUR_API_KEY");
request.Headers.TryAddWithoutValidation("X-Platform-Id", "YOUR_PLATFORM_ID");
using var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class BranduoRequest {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50"))
.header("X-Api-Key", "YOUR_API_KEY")
.header("X-Platform-Id", "YOUR_PLATFORM_ID")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
{
"data": [
{
"id": "22222222-2222-2222-2222-222222222222",
"name": "Spring offer",
"status": "active",
"startDate": "2026-03-01T00:00:00",
"endDate": "2026-04-01T00:00:00"
}
],
"totalRows": 1
}
{
"error": "invalid_request",
"message": "status must be draft, active, or closed."
}
{
"error": "unauthorized",
"message": "Invalid or missing API key or access token."
}
Campaigns
Get campaigns
List campaigns for the authenticated brand, optionally filtered by status.
GET
/
campaigns
cURL
curl --request GET \
--url 'https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50' \
--header 'X-Api-Key: YOUR_API_KEY' \
--header 'X-Platform-Id: YOUR_PLATFORM_ID'
const response = await fetch("https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50", {
method: "GET",
headers: {
"X-Api-Key": "YOUR_API_KEY",
"X-Platform-Id": "YOUR_PLATFORM_ID",
},
});
const data = await response.json();
import requests
response = requests.request(
"GET",
"https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50",
headers={
"X-Api-Key": "YOUR_API_KEY",
"X-Platform-Id": "YOUR_PLATFORM_ID",
},
)
data = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: YOUR_API_KEY",
"X-Platform-Id: YOUR_PLATFORM_ID"
],
]);
$response = curl_exec($curl);
curl_close($curl);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "YOUR_API_KEY")
req.Header.Add("X-Platform-Id", "YOUR_PLATFORM_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
require "uri"
require "net/http"
url = URI("https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP.const_get("GET".capitalize).new(url)
request["X-Api-Key"] = "YOUR_API_KEY"
request["X-Platform-Id"] = "YOUR_PLATFORM_ID"
response = http.request(request)
puts response.read_body
using var client = new HttpClient();
using var request = new HttpRequestMessage(
new HttpMethod("GET"),
"https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50");
request.Headers.TryAddWithoutValidation("X-Api-Key", "YOUR_API_KEY");
request.Headers.TryAddWithoutValidation("X-Platform-Id", "YOUR_PLATFORM_ID");
using var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class BranduoRequest {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50"))
.header("X-Api-Key", "YOUR_API_KEY")
.header("X-Platform-Id", "YOUR_PLATFORM_ID")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
{
"data": [
{
"id": "22222222-2222-2222-2222-222222222222",
"name": "Spring offer",
"status": "active",
"startDate": "2026-03-01T00:00:00",
"endDate": "2026-04-01T00:00:00"
}
],
"totalRows": 1
}
{
"error": "invalid_request",
"message": "status must be draft, active, or closed."
}
{
"error": "unauthorized",
"message": "Invalid or missing API key or access token."
}
Returns campaigns across the authenticated brand’s collaborations. Each item includes the campaign name, status, and dates.
cURL
curl --request GET \
--url 'https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50' \
--header 'X-Api-Key: YOUR_API_KEY' \
--header 'X-Platform-Id: YOUR_PLATFORM_ID'
const response = await fetch("https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50", {
method: "GET",
headers: {
"X-Api-Key": "YOUR_API_KEY",
"X-Platform-Id": "YOUR_PLATFORM_ID",
},
});
const data = await response.json();
import requests
response = requests.request(
"GET",
"https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50",
headers={
"X-Api-Key": "YOUR_API_KEY",
"X-Platform-Id": "YOUR_PLATFORM_ID",
},
)
data = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: YOUR_API_KEY",
"X-Platform-Id: YOUR_PLATFORM_ID"
],
]);
$response = curl_exec($curl);
curl_close($curl);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "YOUR_API_KEY")
req.Header.Add("X-Platform-Id", "YOUR_PLATFORM_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
require "uri"
require "net/http"
url = URI("https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP.const_get("GET".capitalize).new(url)
request["X-Api-Key"] = "YOUR_API_KEY"
request["X-Platform-Id"] = "YOUR_PLATFORM_ID"
response = http.request(request)
puts response.read_body
using var client = new HttpClient();
using var request = new HttpRequestMessage(
new HttpMethod("GET"),
"https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50");
request.Headers.TryAddWithoutValidation("X-Api-Key", "YOUR_API_KEY");
request.Headers.TryAddWithoutValidation("X-Platform-Id", "YOUR_PLATFORM_ID");
using var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class BranduoRequest {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.branduo.io/v1/campaigns?status=active&pageIndex=1&pageSize=50"))
.header("X-Api-Key", "YOUR_API_KEY")
.header("X-Platform-Id", "YOUR_PLATFORM_ID")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Authenticate with the API key in the playground, or send an OAuth access token
in
Authorization. See Authentication.Headers
string
The platform UUID we assigned to your integration. Omit this header when we
have not assigned one.
Query parameters
string
Campaign status. One of
draft, active, or closed. When omitted,
campaigns in every status are returned.integer
default:"1"
1-based page number. See Pagination.
integer
default:"50"
Items per page. Maximum
100.Response
object[]
required
integer
required
Total campaigns matching the status filter, across all pages.
Errors
| Status | Cause |
|---|---|
400 Bad Request | status is not a supported value, pageIndex or pageSize is out of range, or X-Platform-Id is not a UUID or not an active platform. |
401 Unauthorized | The API key or access token is missing or invalid. |
500 | The campaign list could not be loaded. |
{
"data": [
{
"id": "22222222-2222-2222-2222-222222222222",
"name": "Spring offer",
"status": "active",
"startDate": "2026-03-01T00:00:00",
"endDate": "2026-04-01T00:00:00"
}
],
"totalRows": 1
}
{
"error": "invalid_request",
"message": "status must be draft, active, or closed."
}
{
"error": "unauthorized",
"message": "Invalid or missing API key or access token."
}

