Campaigns
Request Campaign Access
Submit an access request for a private campaign - one where access_status is not_applied. Once submitted, it moves to pending until the advertiser approves or rejects.
POST
/pub_api/v3/campaigns/:id/request_access
read:campaigns
Path Parameters
|
idrequired
integer
|
Campaign ID to request access for. |
Body Parameters (JSON)
|
promotion_detailsoptional
string
|
How you plan to promote this campaign. A clear answer here significantly improves approval rates. Free-form text. |
|
channel_idoptional
integer
|
Your channel to associate with this request. Omit to use your default or first approved channel. Must belong to your publisher account - returns 422 otherwise. |
Business rules
ConditionStatusBehaviour
Campaign is open (approved_for_all)
422
Returns error - open campaigns don't need an application. Use the tracking_url directly.
Campaign is paused or deleted
422
Not accepting new requests.
Already pending
422
Duplicate request blocked. Wait for advertiser response.
Already approved
422
You already have access.
Rejected, still in cooldown
422
Returns "You can re-apply after {date}" with the exact cooldown date.
Rejected, cooldown passed
200
Previous request reset to pending with updated details. Returns 200 (not 201).
Daily limit exceeded
429
Each publisher can request access to up to 100 campaigns per day. Resets at 00:00 UTC. Response includes
limit, used, and resets_at.
Response fields
FieldTypeDescription
id
integer
Access request ID.
campaign_id
integer
The campaign this request is for.
channel_id
integer
The channel associated with this request.
promotion_details
string
The promotion details you submitted.
status
string
Always
"pending" on creation.
created_at
datetime
ISO 8601 timestamp of when the request was submitted.
Request
curl -X POST \ https://developers.cuelinks.com/pub_api/v3/campaigns/4821/request_access \ -H "Authorization: Token YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "promotion_details": "Cashback blog, 50k MAU. Plan to feature in weekly roundups.", "channel_id": 456 }'
201 Created
201
{ "data": { "id": 9934, "campaign_id": 4821, "channel_id": 456, "promotion_details": "Cashback blog, 50k MAU.", "status": "pending", "created_at": "2026-03-23T08:30:00Z" } }
422 - Common errors
422
{ "error": "Access request already pending" } { "error": "Campaign is open — no access request needed" } { "error": "You can re-apply after June 22, 2026" }
429 Too Many Requests
429
{ "error": "Daily limit reached. You can request access to up to 100 campaigns per day. Try again after 2026-03-24.", "limit": 100, "used": 100, "resets_at": "2026-03-24T00:00:00+00:00" }