Docs
Analytics API

List campaigns and automations

Find the ids to pass to the stats routes.

GET /api/v1/campaigns
GET /api/v1/automations

Both list the account's campaigns or automations, newest first.

Query

ParamNotes
per_page1 to 100, default 25.
pagePage number, default 1.

Request

curl "https://api.getkanal.com/api/v1/campaigns?per_page=50&page=2" \
  -H "Authorization: Bearer 8fK2pX9mWq4Ld7Vb3Nc6Ts1Z"

Response 200 OK

Campaigns:

{
  "data": [
    {
      "id": 812,
      "name": "Black Friday",
      "status": "SENDED",
      "scheduled_at": "2026-11-28T08:00:00+00:00",
      "created_at": "2026-11-20T14:12:09+00:00"
    }
  ],
  "meta": { "current_page": 2, "per_page": 50, "last_page": 3, "total": 128 }
}

status is the campaign stage: CREATED (draft), CONTACTS_UPLOADED (audience set, not scheduled), SCHEDULED, SENDING, PAUSED or SENDED (sent).

Automations:

{
  "data": [
    {
      "id": 77,
      "name": "Abandoned cart",
      "trigger_type": "shopify_abandoned_checkout",
      "is_active": true,
      "created_at": "2026-03-02T09:41:55+00:00"
    }
  ],
  "meta": { "current_page": 1, "per_page": 25, "last_page": 1, "total": 9 }
}

Dates are ISO 8601 in UTC. Page through until current_page equals last_page.

On this page