Skip to Content
IntegrationsAPIGET /v1/campaigns

GET /v1/campaigns

Lists the RPG campaigns on the Discord server tied to your API key, sorted by name. Use it to turn a campaign name someone mentions (“The Mystic Triad”) into the numeric id that GET /v1/sessions?campaign_id=… and GET /v1/campaigns/:id take.

Request

GET /v1/campaigns
Authorization: Bearer <token>
QueryRequiredDescription
activeNotrue for active campaigns only, false for inactive only. Leave it out to get both.

No pagination: every campaign on the server comes back in one response. No request body.

Example

Only the campaigns still running:

GET /v1/campaigns?active=true
Authorization: Bearer <token>

Successful response

Status: 200 OK Content-Type: application/json

{
  "campaigns": [
    {
      "id": 42,
      "name": "The Mystic Triad",
      "description": "A heist across three floating cities.",
      "active": true,
      "total_sessions": 18,
      "created_at": "2026-02-11T19:04:22Z",
      "updated_at": "2026-10-12T21:40:05Z"
    }
  ]
}
FieldDescription
idThe campaign’s numeric id, for sessions?campaign_id= and campaigns/:id.
nameThe campaign’s name, as set in the dashboard or with /discmeet campaigns.
descriptionThe campaign’s description, or null.
activeWhether the campaign is active.
total_sessionsHow many sessions the campaign has.
created_at, updated_atISO8601 timestamps.

Errors

Status: 400 Bad Request when active is anything other than true or false:

{ "error": "bad_request", "message": "param is missing or the value is empty: Parameter active must be true or false if present." }

Last updated on