curl -X POST "https://api.affonso.io/v1/program/campaigns/cmretainer01camp0001/applications/cmapp01retainer0001/accept" \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"has_condition": true,
"condition": "Post at least 2 Shorts per week mentioning our product"
}'
curl -X POST "https://api.affonso.io/v1/program/campaigns/cmretainer01camp0001/applications/cmapp01retainer0002/accept" \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"has_condition": false
}'
{
"success": true,
"data": {
"id": "cmapp01retainer0001",
"campaign_id": "cmretainer01camp0001",
"affiliate_id": "aff_abc123",
"affiliate": {
"id": "aff_abc123",
"name": "Jane Smith",
"email": "jane@example.com"
},
"answers": "I publish weekly Shorts to 40k followers",
"status": "ACCEPTED",
"reviewed_at": "2026-10-12T16:00:00.000Z",
"retainer_has_condition": true,
"retainer_condition": "Post at least 2 Shorts per week mentioning our product",
"retainer_ended_at": null,
"retainer_resumed_at": null,
"created_at": "2026-10-10T12:00:00.000Z",
"updated_at": "2026-10-12T16:00:00.000Z"
}
}
Campaigns
Accept Campaign Application
Accept a pending campaign application, including retainer conditions
POST
/
v1
/
program
/
campaigns
/
{id}
/
applications
/
{applicationId}
/
accept
curl -X POST "https://api.affonso.io/v1/program/campaigns/cmretainer01camp0001/applications/cmapp01retainer0001/accept" \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"has_condition": true,
"condition": "Post at least 2 Shorts per week mentioning our product"
}'
curl -X POST "https://api.affonso.io/v1/program/campaigns/cmretainer01camp0001/applications/cmapp01retainer0002/accept" \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"has_condition": false
}'
{
"success": true,
"data": {
"id": "cmapp01retainer0001",
"campaign_id": "cmretainer01camp0001",
"affiliate_id": "aff_abc123",
"affiliate": {
"id": "aff_abc123",
"name": "Jane Smith",
"email": "jane@example.com"
},
"answers": "I publish weekly Shorts to 40k followers",
"status": "ACCEPTED",
"reviewed_at": "2026-10-12T16:00:00.000Z",
"retainer_has_condition": true,
"retainer_condition": "Post at least 2 Shorts per week mentioning our product",
"retainer_ended_at": null,
"retainer_resumed_at": null,
"created_at": "2026-10-10T12:00:00.000Z",
"updated_at": "2026-10-12T16:00:00.000Z"
}
}
Accept a pending application. Assignment only: no earnings and no budget reserve. Only accepted partners may submit proof when
application_required is true. Requires write:affiliates.
For retainer campaigns, the body must include has_condition (true or false). When has_condition is true, condition is required (max 2000 characters). For non-retainer campaigns, omit both fields.
Path Parameters
string
required
Encoded campaign id
string
required
Encoded application id
Body Parameters
Body is optional for non-retainer campaigns. For retainer,has_condition is required.
boolean
Retainer only. Required. Choose whether this retainer has a condition.
string | null
Retainer only. Required when
has_condition is true. Trimmed text, maximum 2000 characters. Cleared when has_condition is false.Response
Returns the accepted application object.boolean
Always
true for successful responsesobject
The application.
Show Data Object Properties
Show Data Object Properties
string
Encoded application id
string
Encoded campaign id
string
Affiliate id
object
Nested affiliate summary with
id, name, and emailstring
Application answers submitted by the affiliate
string
Application status. After accept this is
"ACCEPTED". Valid values: PENDING, ACCEPTED, REJECTED.string | null
ISO 8601 review timestamp
boolean
Whether this accepted retainer has a condition
string | null
Condition text, or
nullstring | null
ISO 8601 timestamp when the partner retainer was ended, or
nullstring | null
ISO 8601 timestamp when an ended partner retainer was resumed, or
nullstring
ISO 8601 creation timestamp
string
ISO 8601 update timestamp
curl -X POST "https://api.affonso.io/v1/program/campaigns/cmretainer01camp0001/applications/cmapp01retainer0001/accept" \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"has_condition": true,
"condition": "Post at least 2 Shorts per week mentioning our product"
}'
curl -X POST "https://api.affonso.io/v1/program/campaigns/cmretainer01camp0001/applications/cmapp01retainer0002/accept" \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"has_condition": false
}'
{
"success": true,
"data": {
"id": "cmapp01retainer0001",
"campaign_id": "cmretainer01camp0001",
"affiliate_id": "aff_abc123",
"affiliate": {
"id": "aff_abc123",
"name": "Jane Smith",
"email": "jane@example.com"
},
"answers": "I publish weekly Shorts to 40k followers",
"status": "ACCEPTED",
"reviewed_at": "2026-10-12T16:00:00.000Z",
"retainer_has_condition": true,
"retainer_condition": "Post at least 2 Shorts per week mentioning our product",
"retainer_ended_at": null,
"retainer_resumed_at": null,
"created_at": "2026-10-10T12:00:00.000Z",
"updated_at": "2026-10-12T16:00:00.000Z"
}
}
Notes
- Requires
write:affiliates. - Sending
has_conditionorconditionon a non-retainer campaign returns a validation error. - Already
ACCEPTEDapplications are returned unchanged (idempotent, HTTP 200).REJECTEDapplications returnCONFLICT.
Was this page helpful?
