Campaigns

List campaigns

Lists campaigns in the authenticated account. Results are paginated and can optionally include soft-deleted campaigns.

GET/v1/campaigns

Authorization

bearerAuth
AuthorizationBearer <token>

Use an account API key in the Authorization header: Authorization: Bearer f_....

In: header

Query Parameters

limit?integer

Number of rows to return. Defaults to 20; maximum 100.

Range0 <= value <= 100
Default20
offset?integer

Zero-based offset for pagination.

Range0 <= value
Default0
q?string

Case-insensitive prefix search across thread subject, participants, lead name/email/company, campaign name, thread tags, and message bodies (min 2 characters).

status?string

Campaign status filter.

Value in

  • "draft"
  • "scheduled"
  • "running"
  • "paused"
  • "stopped"
tag_ids?string

Comma-separated campaign tag ids. Returns campaigns that have any of the listed tags.

include_deleted?boolean

When true, includes campaigns with deleted_at set.

Defaultfalse
curl -X GET "https://example.com/v1/campaigns"
{  "data": [    {      "id": "1d8dc901-3d2d-4d9f-9dcc-4f8b3aa1a1fb",      "name": "Q2 Pipeline",      "status": "running",      "source": "manual",      "created_at": "2026-05-21T18:00:00.000Z"    }  ],  "limit": 20,  "offset": 0,  "total_count": 1}
{  "error": {    "type": "authentication_error",    "code": "invalid_api_key",    "message": "A valid Furnace API key is required"  }}
{  "error": {    "type": "rate_limit_error",    "code": "rate_limit_exceeded",    "message": "Rate limit exceeded for this account"  }}
{  "error": {    "type": "api_error",    "code": "internal_error",    "message": "Internal server error"  }}