List campaigns
Retrieves campaigns including cadence, billing anchor, and rule metadata for the current organization.
Request
- Base URL: https://viral.app/api/v1
- URL: https://viral.app/api/v1/campaigns
- Auth: API key in header x-api-key
Query parameters
Search by campaign name or description
Filter campaigns by one or more derived statuses: upcoming (validFrom in future), active (started with no end date), closing (has end date in present/future), ended (validUntil in the past). When omitted defaults to current campaigns (upcoming, active, closing).
[ "upcoming", "active", "closing" ]
Filter campaigns by creators they are assigned to
[ "orgcre_ABC123", "orgcre_XYZ789" ]
Filter to specific campaigns by ID. Unlike the status default in UI listings, an explicit ID lookup returns the campaign regardless of status.
[ "orgcamp_RwmraAffhMt9" ]
Page number (1-based index)
Number of items per page (1-100)
Sort column
Sort direction
Response
OK
Example response
{
"data": [
{
"id": "orgcamp_ABC123456789",
"name": "Monthly Retainer",
"description": "Baseline cadence for recurring creators",
"currency": "USD",
"interval": "month",
"intervalCount": 1,
"billingAnchor": "fixed",
"timeZone": "UTC",
"videoTarget": 4,
"validFrom": "2025-01-01",
"validUntil": null,
"createdAt": "2025-01-02T15:00:00.000Z",
"updatedAt": "2025-02-15T11:30:00.000Z",
"orgId": "org_1234567890",
"userId": "user_0987654321",
"actorType": "user",
"rules": [],
"spec": {
"name": "Monthly Retainer",
"description": "Baseline cadence for recurring creators",
"currency": "USD",
"schedule": {
"interval": "month",
"intervalCount": 1,
"anchor": "fixed",
"startsOn": "2025-01-01"
},
"videoTarget": 4,
"payouts": {
"fixedSalary": {
"amount": 400
},
"basePayouts": [],
"cpmPayouts": [],
"flatBonuses": [],
"eligibility": {
"windowDays": 31,
"publicationScope": "include_earlier"
}
}
},
"headline": "$400.00 / month · monthly, fixed",
"compensation": {
"fixedSalary": 400
},
"createdByUser": {
"id": "user_0987654321",
"name": "Alex Johnson",
"email": "alex@example.com",
"image": null
},
"warnings": []
}
],
"pageCount": 1,
"totalRows": 1
}Changes
No recorded changes to this operation across all 1 revision of this API.