Skip to main content

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:

ParameterTypeDefaultDescription
statusstringallFilter: active, paused, draft, archived
pageint1Page number
per_pageint20Results per page (max 100)
sortstringcreated_atSort field: created_at, name, conversions
orderstringdescSort 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

FieldTypeDescription
idstringUnique campaign identifier
namestringCampaign display name
descriptionstringCampaign description
categorystringIndustry category
statusstringdraft, active, paused, archived
commission_modelstringcpa, cpc, cpl, revshare, hybrid
commission_amountstringCommission value (decimal string)
currencystringISO 4217 currency code
cookie_window_daysintAttribution window in days
landing_page_urlstringDefault landing page
approval_modestringauto, manual, invite_only
created_atstringISO 8601 timestamp
updated_atstringISO 8601 timestamp

Next Steps