logo
CampaignsList campaigns
Campaigns

List campaigns

Returns a paginated list of campaigns for the workspace. Supports filtering by status and searching by name.

curl -X GET "https://api.sendkit.ai/v1/campaigns?status=draft&search=example_string&page=25&limit=42&cursor=example_string" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "success": true,
  "data": [
    {
      "_id": "665a1b2c3d4e5f6a7b8c9d0e",
      "name": "Q1 Outreach Campaign",
      "status": "active",
      "stats": {
        "sent": 150,
        "delivered": 145,
        "opened": 72,
        "clicked": 18,
        "replied": 12,
        "bounced": 5,
        "unsubscribed": 2
      },
      "sequence": [
        {
          "type": "email",
          "name": "Initial Email",
          "order": 0,
          "subject": "Quick question, {{firstName}}",
          "body": "<p>Hi {{firstName}},</p>"
        },
        {
          "type": "wait",
          "name": "Wait 3 days",
          "order": 1,
          "waitDays": 3
        },
        {
          "type": "email",
          "name": "Follow-up",
          "order": 2,
          "subject": "Re: Quick question",
          "body": "<p>Just following up...</p>"
        }
      ],
      "sendingSchedule": {
        "timezone": "America/New_York",
        "startTime": "09:00",
        "endTime": "17:00",
        "workingDays": [
          1,
          2,
          3,
          4,
          5
        ]
      },
      "trackOpens": true,
      "trackClicks": true,
      "stopOnReply": true,
      "startedAt": "2025-06-15T09:00:00.000Z",
      "completedAt": null,
      "createdAt": "2025-06-10T10:30:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 25,
    "total": 1,
    "pages": 1
  }
}
GET
/v1/campaigns
GET
API Key (header: X-Api-Key)
X-Api-Keystring
Required

Platform API key (sk_user_...) or Workspace API key (sk_...)

Platform API key (sk_user_...) or Workspace API key (sk_...)
Bearer Token
Bearer Tokenstring
Required

API key as Bearer token

API key as Bearer token
query
statusstring

Filter campaigns by status

Options: draft, active, paused, completed, archived
query
limitinteger
Min: 1 • Max: 100
query
cursorstring

Cursor ID for cursor-based pagination (use instead of page for large datasets)

Request Preview
Response

Response will appear here after sending the request

Authentication

header
X-Api-Keystring
Required

API Key for authentication. Platform API key (sk_user_...) or Workspace API key (sk_...)

header
Authorizationstring
Required

Bearer token. API key as Bearer token

Query Parameters

statusstring

Filter campaigns by status

Allowed values:draftactivepausedcompletedarchived
cursorstring

Cursor ID for cursor-based pagination (use instead of page for large datasets)

Responses

successboolean
dataarray
paginationobject