Campaigns

Retrieve a paginated list of campaigns.

get/v1/campaigns

Request

  • Base URL
    https://app.loops.so/api
  • Auth
    HTTP bearer

Query parameters

perPagestring

How many results to return in each request. Must be between 10 and 50. Default is 20.

cursorstring

A cursor to return a specific page of results. Cursors can be found from the pagination.nextCursor value in each response.

campaignGroupIdstring

Only return campaigns in this campaign group. An ID that matches no group returns an empty list.

Response

Successful.

Example response

{
  "pagination": {
    "totalResults": 45,
    "returnedResults": 20,
    "perPage": 20,
    "totalPages": 3,
    "nextCursor": "clp9k2m4n6p8q0r2s4t6u8v0",
    "nextPage": "https://app.loops.so/api/v1/campaigns?cursor=clp9k2m4n6p8q0r2s4t6u8v0&perPage=20"
  },
  "data": [
    {
      "id": "clc4m6n8p0q2r4s6t8u0v2x4",
      "url": "https://app.loops.so/campaigns/clc4m6n8p0q2r4s6t8u0v2x4",
      "name": "Spring announcement",
      "status": "Draft",
      "createdAt": "2025-06-29T07:47:39.370Z",
      "updatedAt": "2025-06-29T07:47:39.370Z",
      "emailMessageId": "cle5f7g9h1i3j5k7l9m1n3p5",
      "campaignGroupId": "clg7n5p3q1r9s7t5u3v1w9y7",
      "mailingListId": "clm2k8j4h6g0f8d6s4a2b0z8",
      "audienceSegmentId": null,
      "audienceFilter": null,
      "scheduling": {
        "method": "now",
        "timestamp": null
      }
    }
  ]
}

Changes

    • info

      added the new optional query request parameter campaignGroupId

    • breaking

      added subschema #1: String subschema #2: Number subschema #3: Date range to the ///////// response property oneOf list for the response status

    • info

      removed subschema #1 subschema #2 subschema #3 from the ///////// response property oneOf list for the response status