Opportunities
Your campaigns with their briefs, compensation, deliverables and every host assignment, so you can track a program from your own systems.
On this page
An opportunity is a campaign: a brief, the compensation you offered, the deliverables you asked for, and the hosts working on it. Each host's place in the campaign is an assignment, which moves through DRAFT, READY, PROPOSED, ACTIVE and COMPLETED, or ends at DECLINED.
The list gives you each campaign with a count of assignments by status. Retrieve one campaign to get its deliverables and every assignment. Internal comments, decline reasons, invite codes and campaign links stay in the console.
List opportunities#
Your campaigns, newest first, with a count of host assignments in each state.
- pageintegeroptionaldefault 1The page to return, starting at 1. At most 10,000.
- per_pageintegeroptionaldefault 25Items per page, between 1 and 100.
- statuscsv of enumsoptionalOnly campaigns in these states. Comma-separated, case-insensitive:
status=active,completed.DRAFTREADYPROPOSEDACTIVECOMPLETEDDECLINEDARCHIVED
A page of opportunity objects. data is an array of objects with these attributes, and the body carries pagination.
- idstringThe opportunity id (UUID).
- titlestringCampaign title.
- descriptionstringnullableThe brief hosts read.
- project_detailsstringnullableLonger project notes in the brief.
- statusenumDRAFT, READY, PROPOSED, ACTIVE, COMPLETED, DECLINED or ARCHIVED.
- listing_typestringnullableHow the campaign is offered to hosts.
- deadlinedatenullableWhen deliverables are due.
- application_deadlinedatenullableWhen applications close.
- target_urlstringnullableWhere the campaign sends shoppers.
- paymentobjectnullableThe compensation terms you wrote. Only these keys are returned, each when set.
- flatFeenumberA fixed fee per host.
- commissionnumberA commission rate, as a percentage.
- bonusesarrayBonus terms.
- termsstringPayment terms in prose.
- totalPotentialnumberThe most a host can earn.
- commission_ratenumbernullableThe campaign’s commission override, as a percentage.
- content_typesarray of stringsThe content you asked for, such as reel or story.
- categoryarray of stringsCampaign categories.
- attachmentsarray of objectsFiles attached to the brief.
- urlstringnullableFile URL.
- filenamestringnullableOriginal file name.
- mime_typestringnullableMIME type.
- file_size_bytesintegernullableSize in bytes.
- assignment_countsobjectHost assignments by status, such as
{ "ACTIVE": 4, "COMPLETED": 2 }. Statuses with none are omitted. - created_attimestampWhen the campaign was created.
- updated_attimestampWhen it last changed.
curl 'https://api.rendezvu.co/api/brand/v1/opportunities?status=active,completed&per_page=1' \
-H "Authorization: Bearer $RENDEZVU_BRAND_API_KEY"{
"success": true,
"data": [
{
"id": "8a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d",
"title": "Fall trail series",
"description": "Run the Ridgeline 30L on a long day out and show us how you pack it.",
"project_details": "One reel and three stories per host, posted between October 10 and 24.",
"status": "ACTIVE",
"listing_type": null,
"deadline": "2026-10-24",
"application_deadline": null,
"target_url": "https://northforkgear.com/products/ridgeline-30",
"payment": {
"flatFee": 500,
"commission": 12,
"terms": "Paid on approval of all deliverables."
},
"commission_rate": 12,
"content_types": [
"reel",
"story"
],
"category": [
"trail running"
],
"attachments": [],
"assignment_counts": {
"ACTIVE": 4,
"COMPLETED": 2
},
"created_at": "2026-09-15T18:20:00.000Z",
"updated_at": "2026-10-02T09:11:43.000Z"
}
],
"pagination": {
"page": 1,
"per_page": 1,
"total_items": 9,
"total_pages": 9,
"has_next": true,
"has_prev": false
},
"_timing": {
"duration_ms": 42
}
}Retrieve an opportunity#
One campaign with its deliverables and every host assignment. Internal comments, decline reasons, invite codes and campaign links are not included.
- idstringrequiredpathThe opportunity id (UUID).
An opportunity object, as in List opportunities, with two more arrays.
- ...opportunityEvery attribute of the opportunity object above.
- deliverablesarray of objectsWhat each host owes.
- idstringDeliverable id.
- titlestringWhat is due.
- descriptionstringnullableDetail.
- due_datedatenullableWhen it is due.
- completed_attimestampnullableWhen it was marked done.
- assignmentsarray of objectsOne row per host on the campaign.
- idstringAssignment id.
- statusenumWhere the host is: DRAFT, READY, PROPOSED, ACTIVE, COMPLETED or DECLINED.
- brand_payment_statestringnullableYour side of the payment: NOT_INVOICED, INVOICED, PAYMENT_PENDING, PAID, FAILED or REFUNDED.
- athlete_payment_statestringnullableThe host’s payout: NOT_EARNED, EARNED, SCHEDULED_FOR_PAYOUT, PAID, ON_HOLD or FAILED.
- accepted_attimestampnullableWhen the host accepted.
- declined_attimestampnullableWhen the host declined.
- completed_attimestampnullableWhen the assignment completed.
- created_attimestampWhen the host was added.
- updated_attimestampWhen it last changed.
- hostobjectnullableThe host’s public identity.
- idstringThe host’s Rendezvu user id (UUID).
- usernamestringnullableThe host’s handle, as in rendezvu.co/username.
- first_namestringnullableFirst name.
- last_namestringnullableLast name.
- profile_photostringnullableURL of the host’s profile photo.
- 404Not FoundNo opportunity with this id belongs to your brand.
curl 'https://api.rendezvu.co/api/brand/v1/opportunities/8a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d' \
-H "Authorization: Bearer $RENDEZVU_BRAND_API_KEY"{
"success": true,
"data": {
"id": "8a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d",
"title": "Fall trail series",
"status": "ACTIVE",
"deadline": "2026-10-24",
"assignment_counts": {
"ACTIVE": 1
},
"deliverables": [
{
"id": "d1e2f3a4-b5c6-4d7e-8f9a-0b1c2d3e4f5a",
"title": "One Instagram reel",
"description": "Show the pack on the trail, tag @northforkgear.",
"due_date": "2026-10-24",
"completed_at": null
}
],
"assignments": [
{
"id": "f0e1d2c3-b4a5-4968-8776-655443322110",
"status": "ACTIVE",
"brand_payment_state": "PAID",
"athlete_payment_state": "NOT_EARNED",
"accepted_at": "2026-09-18T14:02:00.000Z",
"declined_at": null,
"completed_at": null,
"created_at": "2026-09-16T10:00:00.000Z",
"updated_at": "2026-09-18T14:02:00.000Z",
"host": {
"id": "6f1c2a9e-3b4d-4e1f-9a8b-2c7d5e6f7a81",
"username": "jordanalpine",
"first_name": "Jordan",
"last_name": "Reyes",
"profile_photo": "https://media.rendezvu.co/6f1c2a9e_profile.jpg"
}
}
]
},
"_timing": {
"duration_ms": 42
}
}