> For the complete documentation index, see [llms.txt](https://help.recart.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.recart.com/developers/public-api/flow/retrieve-list-of-campaigns.md).

# Retrieve list of campaigns

The site's campaigns — configuration only, no statistics. Default page size 100.

```json
{"openapi":"3.1.0","info":{"title":"Recart API","version":"2023-12"},"tags":[{"name":"Flow","description":"Flows"}],"servers":[{"url":"https://api.recart.com/app-integrations/2023-12","description":"Production"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-Recart-API-Key","description":"It can be obtained in Recart account after contacting Support"}},"schemas":{"Campaign":{"type":["object"],"required":["type","attributes"],"properties":{"type":{"type":"string","enum":["campaigns"]},"attributes":{"$ref":"#/components/schemas/CampaignAttributes"}}},"CampaignAttributes":{"type":"object","required":["id","name","status","campaignType"],"properties":{"id":{"type":"string","description":"ID of the campaign"},"name":{"type":"string","description":"Name of the campaign"},"status":{"type":"string","description":"The dashboard's send status of the campaign","enum":["draft","scheduled","processing","sending","sent","failed","cancelled","evaluating","noWinner"]},"campaignType":{"type":"string","description":"Whether the campaign sends one message or runs an adaptive test across variants","enum":["standard","adaptive"]},"scheduledFor":{"type":"string","format":"date-time","nullable":true,"description":"When the campaign is scheduled to send; null when not scheduled"},"scheduleType":{"type":"string","description":"Whether scheduledFor is interpreted in the site's timezone or in each subscriber's own timezone","enum":["siteTimezone","subscriberTimezone"]},"sentAt":{"type":"string","format":"date-time","description":"When the campaign was actually sent"},"deliveredSubscriberCount":{"type":"integer","description":"Number of subscribers the campaign was delivered to"},"includeSegments":{"type":"array","description":"Segments the campaign audience includes","items":{"$ref":"#/components/schemas/SegmentReference"}},"excludeSegments":{"type":"array","description":"Segments the campaign audience excludes","items":{"$ref":"#/components/schemas/SegmentReference"}},"isQuietHoursEnabled":{"type":"boolean","description":"Whether messages from this campaign are held during the subscriber's quiet hours"},"adaptiveTest":{"description":"Adaptive test state (campaignType=adaptive only)","$ref":"#/components/schemas/CampaignAdaptiveTest"},"discountUsage":{"type":"array","description":"Discounts the campaign's messages reference. referenceCount is the\nnumber of places in the campaign that reference the discount —\nconfiguration, not code consumption.\n","items":{"type":"object","required":["id","referenceCount"],"properties":{"id":{"type":"string"},"referenceCount":{"type":"integer"}}}},"discountCodePoolUsage":{"type":"array","description":"Discount code pools the campaign's messages reference. referenceCount\nis the number of places in the campaign that reference the pool —\nconfiguration, not code consumption.\n","items":{"type":"object","required":["id","referenceCount"],"properties":{"id":{"type":"string"},"referenceCount":{"type":"integer"}}}},"failedReason":{"type":"string","description":"Why the campaign send failed (status=failed only)"},"failedAt":{"type":"string","format":"date-time","description":"When the campaign send failed (status=failed only)"},"cancelledAt":{"type":"string","format":"date-time","description":"When the campaign was cancelled (status=cancelled only)"},"createdAt":{"type":"string","format":"date-time","description":"When the campaign was created"},"updatedAt":{"type":"string","format":"date-time","description":"When the campaign was last updated"}}},"SegmentReference":{"type":"object","description":"A segment of the campaign audience, or a resolved value of an\nexpression condition. name is the referenced entity's current\nname, or an empty string when it could not be resolved (for\nexample a deleted segment).\n","required":["id","name"],"properties":{"id":{"type":"string","description":"ID of the segment"},"name":{"type":"string","description":"Current name of the segment, empty when unresolved"}}},"CampaignAdaptiveTest":{"type":"object","description":"Adaptive test state of a campaign","properties":{"adaptiveTestStatus":{"type":"string","description":"running while the test variants are being evaluated;\ncomplete_with_winner when a variant won and was rolled out;\ncomplete_no_winner when no variant stood out; complete_control_kept\nwhen the control message beat every variant and was kept.\n","enum":["running","complete_with_winner","complete_no_winner","complete_control_kept"]},"adaptiveTestResult":{"type":"object","description":"Outcome of the test, present once evaluated","properties":{"winnerFlowItemId":{"type":"string","description":"ID of the winning variant's flow item"},"wasTiebroken":{"type":"boolean"},"completedAt":{"type":"string","format":"date-time"}}},"testVariantsDispatchedAt":{"type":"string","format":"date-time","description":"When the test variants were sent to the sample audience"}}},"HttpErrorBody":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["id","code","title","detail"],"properties":{"id":{"type":"string"},"code":{"type":"string"},"title":{"type":"string"},"detail":{"type":"string"}}}}}}},"responses":{"HttpError":{"description":"HTTP Error response","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/HttpErrorBody"}}}}}},"paths":{"/campaign-flows":{"get":{"summary":"Retrieve list of campaigns","tags":["Flow"],"operationId":"listCampaigns","description":"The site's campaigns — configuration only, no statistics. Default\npage size 100.\n","parameters":[{"name":"limit","in":"query","description":"Maximum number of campaigns to return","schema":{"type":"integer","minimum":1,"maximum":100,"default":100}},{"name":"offset","in":"query","description":"Number of campaigns to skip, for pagination","schema":{"type":"integer","minimum":0,"default":0}},{"name":"status","in":"query","description":"Filter by the dashboard's send status","schema":{"type":"array","items":{"type":"string","enum":["draft","scheduled","processing","sending","sent","failed","cancelled","evaluating","noWinner"]}}},{"name":"campaignType","in":"query","description":"Filter by campaign type","schema":{"type":"array","items":{"type":"string","enum":["standard","adaptive"]}}},{"name":"segmentId","in":"query","description":"Filter to campaigns whose audience includes or excludes this segment ID","schema":{"type":"string"}},{"name":"scheduledFrom","in":"query","description":"Filter to campaigns scheduled at or after this time (inclusive)","schema":{"type":"string","format":"date-time"}},{"name":"scheduledTo","in":"query","description":"Filter to campaigns scheduled at or before this time (inclusive)","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Ok","content":{"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Campaign"}}}}}}},"4XX":{"$ref":"#/components/responses/HttpError"},"5XX":{"$ref":"#/components/responses/HttpError"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.recart.com/developers/public-api/flow/retrieve-list-of-campaigns.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
