Campaigns API
Manage affiliate campaigns programmatically. Requires campaigns:read and/or campaigns:write scopes.
List Campaigns
curl https://api.affilync.com/api/campaigns \
-H "Authorization: Bearer YOUR_TOKEN"
Query Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
status | string | all | Filter: active, paused, draft, archived |
page | int | 1 | Page number |
per_page | int | 20 | Results per page (max 100) |
sort | string | created_at | Sort field: created_at, name, conversions |
order | string | desc | Sort order: asc or desc |
Response (200):
{
"data": [
{
"id": "camp_abc123",
"name": "Spring Sale 2026",
"status": "active",
"commission_model": "cpa",
"commission_amount": "25.00",
"currency": "USD",
"cookie_window_days": 30,
"landing_page_url": "https://example.com/spring",
"created_at": "2026-03-01T12:00:00Z",
"updated_at": "2026-03-15T09:30:00Z"
}
],
"meta": {
"page": 1,
"per_page": 20,
"total": 42
}
}
Get a Campaign
curl https://api.affilync.com/api/campaigns/camp_abc123 \
-H "Authorization: Bearer YOUR_TOKEN"
Create a Campaign
curl -X POST https://api.affilync.com/api/campaigns \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Summer Launch",
"description": "Promote our new summer collection",
"category": "ecommerce",
"landing_page_url": "https://example.com/summer",
"commission_model": "cpa",
"commission_amount": "30.00",
"currency": "USD",
"cookie_window_days": 45,
"status": "draft",
"approval_mode": "manual"
}'
Response (201):
{
"id": "camp_def456",
"name": "Summer Launch",
"status": "draft",
"commission_model": "cpa",
"commission_amount": "30.00",
"created_at": "2026-03-21T14:00:00Z"
}
Update a Campaign
curl -X PATCH https://api.affilync.com/api/campaigns/camp_def456 \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "active",
"commission_amount": "35.00"
}'
Delete a Campaign
curl -X DELETE https://api.affilync.com/api/campaigns/camp_def456 \
-H "Authorization: Bearer YOUR_TOKEN"
Returns 204 No Content on success. Active campaigns must be paused or archived before deletion.
Campaign Object Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique campaign identifier |
name | string | Campaign display name |
description | string | Campaign description |
category | string | Industry category |
status | string | draft, active, paused, archived |
commission_model | string | cpa, cpc, cpl, revshare, hybrid |
commission_amount | string | Commission value (decimal string) |
currency | string | ISO 4217 currency code |
cookie_window_days | int | Attribution window in days |
landing_page_url | string | Default landing page |
approval_mode | string | auto, manual, invite_only |
created_at | string | ISO 8601 timestamp |
updated_at | string | ISO 8601 timestamp |