Creators

List campaigns

Retrieves campaigns including cadence, billing anchor, and rule metadata for the current organization.

get/campaigns

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

searchstring

Search by campaign name or description

Example:Retention
statusesstring[]

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"
]
creatorIdsstring[]

Filter campaigns by creators they are assigned to

[
  "orgcre_ABC123",
  "orgcre_XYZ789"
]
campaignIdsstring[]

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"
]
pagenumber

Page number (1-based index)

Example:1
perPagenumber

Number of items per page (1-100)

Example:10
sortColstring

Sort column

Example:publishedAt
sortDir'asc' | 'desc'

Sort direction

Example:asc

Response

OK

pageCountnumber required

Total number of pages

totalRowsnumber required

Total number of rows

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.