Skip to main content
GET
/
v1
/
campaigns
List Campaigns
curl --request GET \
  --url https://api.example.com/v1/campaigns
{
  "data": {
    "campaigns": [
      {
        "id": "<string>",
        "name": "<string>",
        "status": "<string>",
        "list_id": "<string>",
        "created_at": "<string>",
        "stats": {
          "sent": 123,
          "opened": 123,
          "replied": 123
        }
      }
    ]
  }
}

Request

Headers

Authorization: Bearer wbk_your_api_key_here

Response

data
object
curl https://nbkxaqxwvkgbddekwsma.supabase.co/functions/v1/api-gateway/v1/campaigns \
  -H "Authorization: Bearer wbk_your_api_key_here"

Example Response

{
  "data": {
    "campaigns": [
      {
        "id": "campaign-uuid-1",
        "name": "Q1 Outreach",
        "status": "active",
        "list_id": "list-uuid-1",
        "created_at": "2026-02-01T10:00:00Z",
        "stats": {
          "sent": 120,
          "opened": 45,
          "replied": 12
        }
      },
      {
        "id": "campaign-uuid-2",
        "name": "Legal Tech Demo",
        "status": "draft",
        "list_id": "list-uuid-2",
        "created_at": "2026-02-20T14:30:00Z",
        "stats": {
          "sent": 0,
          "opened": 0,
          "replied": 0
        }
      }
    ]
  }
}

Campaign Statuses

StatusDescription
draftCampaign created but not started
pending_approvalSent to Lexi AI for review
activeCurrently sending emails
pausedTemporarily stopped
completedAll emails sent

Errors

StatusCodeDescription
401invalid_keyInvalid API key
403insufficient_permissionsMissing read permission
429rate_limitedRate limit exceeded