curl -X POST "https://api.affonso.io/v1/program/campaigns/cmlaunch01camp0001/applications" \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"affiliate_id": "aff_abc123",
"answers": "Draft review: https://example.com/review-draft"
}'
{
"success": true,
"data": {
"id": "cmapp01launch00001",
"campaign_id": "cmlaunch01camp0001",
"affiliate_id": "aff_abc123",
"affiliate": {
"id": "aff_abc123",
"name": "Jane Smith",
"email": "jane@example.com"
},
"answers": "Draft review: https://example.com/review-draft",
"status": "PENDING",
"reviewed_at": null,
"retainer_has_condition": false,
"retainer_condition": null,
"retainer_ended_at": null,
"retainer_resumed_at": null,
"created_at": "2026-10-05T10:00:00.000Z",
"updated_at": "2026-10-05T10:00:00.000Z"
}
}
Campaigns
Apply to Campaign
Submit a campaign application on behalf of one of your affiliates
POST
/
v1
/
program
/
campaigns
/
{id}
/
applications
curl -X POST "https://api.affonso.io/v1/program/campaigns/cmlaunch01camp0001/applications" \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"affiliate_id": "aff_abc123",
"answers": "Draft review: https://example.com/review-draft"
}'
{
"success": true,
"data": {
"id": "cmapp01launch00001",
"campaign_id": "cmlaunch01camp0001",
"affiliate_id": "aff_abc123",
"affiliate": {
"id": "aff_abc123",
"name": "Jane Smith",
"email": "jane@example.com"
},
"answers": "Draft review: https://example.com/review-draft",
"status": "PENDING",
"reviewed_at": null,
"retainer_has_condition": false,
"retainer_condition": null,
"retainer_ended_at": null,
"retainer_resumed_at": null,
"created_at": "2026-10-05T10:00:00.000Z",
"updated_at": "2026-10-05T10:00:00.000Z"
}
}
Submit an application for an affiliate on your team. The affiliate must be an approved partner of the campaign’s program. Requires
write:affiliates.
The same operation is available through the affonso_apply_to_campaign MCP tool.
Path Parameters
string
required
Encoded campaign id
Body Parameters
Unknown body fields are rejected.string
required
Id of an affiliate on your team
string
required
The affiliate’s answer to the campaign’s
application_prompt. Trimmed, 1 to 10,000 characters.Response
Returns the created or updated application object (HTTP 201).boolean
Always
true for successful responsesobject
The application. Fields match the application object in List Campaign Applications. A new or reset application has
status "PENDING" and reviewed_at null.curl -X POST "https://api.affonso.io/v1/program/campaigns/cmlaunch01camp0001/applications" \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"affiliate_id": "aff_abc123",
"answers": "Draft review: https://example.com/review-draft"
}'
{
"success": true,
"data": {
"id": "cmapp01launch00001",
"campaign_id": "cmlaunch01camp0001",
"affiliate_id": "aff_abc123",
"affiliate": {
"id": "aff_abc123",
"name": "Jane Smith",
"email": "jane@example.com"
},
"answers": "Draft review: https://example.com/review-draft",
"status": "PENDING",
"reviewed_at": null,
"retainer_has_condition": false,
"retainer_condition": null,
"retainer_ended_at": null,
"retainer_resumed_at": null,
"created_at": "2026-10-05T10:00:00.000Z",
"updated_at": "2026-10-05T10:00:00.000Z"
}
}
Notes
- Requires
write:affiliates. - The campaign must have
application_requiredset totrueand astatusofSCHEDULEDorACTIVE. Otherwise the call returnsVALIDATION_ERROR(HTTP 400). - The affiliate must belong to your team (
AFFILIATE_NOT_FOUND, HTTP 404) and be an approved partner of the campaign’s program whose affiliate status is notINACTIVE,REJECTED, orBANNED(FORBIDDEN, HTTP 403). - Re-applying overwrites
answersand resets aPENDINGorREJECTEDapplication toPENDING, clearingreviewed_at. AnACCEPTEDapplication returnsCONFLICT(HTTP 409).
Was this page helpful?
