> 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/Segment"}},"excludeSegments":{"type":"array","description":"Segments the campaign audience excludes","items":{"$ref":"#/components/schemas/Segment"}},"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"}}},"Segment":{"type":"object","description":"A segment of the campaign audience. name is the segment'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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
