---
title: "List campaign templates"
description: "List all campaign templates."
canonical: https://www.charitips.com/docs/api-reference/list-campaign-templates
---

# List campaign templates

`GET /v1/campaign-templates`

List all campaign templates.

**Authentication**: Bearer access token.

## Parameters

- `limit` (number, integer, minimum 1, maximum 100): The max number of items to return.
- `cursor` (string, UUID): The id of the last item from the previous page. Used to fetch the next page.
- `language` (string): Get templates in a specific language. One of `fr`, `en`.
- `type` (string): Filter by type. One of `GENERIC`, `INDUSTRY_SPECIFIC`.
- `segment` (string): Filter by segment. One of `CSR`, `MARKETING`, `HR`, `SALES`, `COMMUNICATION`, `GLOBAL`, `SMB`.
- `campaignTemplateGoalId` (string, UUID): Filter by goal.
- `slug` (string): Find a campaign template by its slug.
- `includeCampaigns` (boolean): Include campaigns

## Response 200

- `campaignTemplateId` (string, required)
- `name` (string, required)
- `description` (string, required)
- `why` (string, required)
- `donationMethod` (string, required)
- `slug` (string, required)
- `type` (CampaignTemplateType, required) One of `GENERIC`, `INDUSTRY_SPECIFIC`.
- `segment` (CampaignTemplateSegment, required) One of `CSR`, `MARKETING`, `HR`, `SALES`, `COMMUNICATION`, `GLOBAL`, `SMB`.
- `industry` (CampaignTemplateIndustry, required) One of `ALL`, `RETAIL`, `IT`, `FINANCE`, `TRANSPORT`, `ENERGY`, `HOSPITALITY`, `EDUCATION`, `SERVICES`, `WELLNESS`, `ENTERTAINMENT`.
- `isFeatured` (boolean, required)
- `isSelfServe` (boolean, required)
- `isInternal` (boolean, required)
- `causes` (Cause[], required)
- `createdAt` (string (date-time), required)
- `updatedAt` (string (date-time), required)
- `goals` (CampaignTemplateGoal[], required)
  - `campaignTemplateGoalId` (string, required)
  - `label` (string, required)
  - `slug` (string, required)
  - `createdAt` (string (date-time), required)
  - `updatedAt` (string (date-time), required)

## Errors

- 400 `accountId is required when includeCampaigns is true`
- 400 `A field is missing, has the wrong type, or is not part of the request schema.`: `message` lists every problem. Unknown fields are rejected, not ignored: remove them rather than sending extra data. See https://www.charitips.com/docs/api-reference/errors.md.
- 401 `Unauthorized`: The access token is missing, expired or invalid. Create a new one with your client id and secret, send it as `Authorization: Bearer <accessToken>`, then retry once. Sandbox tokens only work on api.sandbox.charitips.com. See https://www.charitips.com/docs/get-started/authentication.md.
- 403 `Account closed`: The account behind these credentials is closed: no token is issued and every call is refused, reads included. Contact Charitips to reopen it. See https://www.charitips.com/docs/api-reference/troubleshooting.md#calls-answer-403-account-not-active-account-not-validated-or-account-closed.

## Example

```bash
curl -X GET https://api.sandbox.charitips.com/v1/campaign-templates \
  -H "Authorization: Bearer $CHARITIPS_TOKEN"
```

```javascript
const response = await fetch('https://api.sandbox.charitips.com/v1/campaign-templates', {
  method: 'GET',
  headers: {
    Authorization: `Bearer ${process.env.CHARITIPS_TOKEN}`,
  },
});
if (!response.ok) throw new Error(`${response.status} ${await response.text()}`);
const data = await response.json();
```

```python
import os, requests

response = requests.get(
    "https://api.sandbox.charitips.com/v1/campaign-templates",
    headers={"Authorization": f"Bearer {os.environ['CHARITIPS_TOKEN']}"},
)
response.raise_for_status()
data = response.json()
```

## Response example (200, placeholder values)

```json
[
  {
    "campaignTemplateId": "<campaignTemplateId>",
    "name": "<name>",
    "description": "<description>",
    "why": "<why>",
    "donationMethod": "<donationMethod>",
    "slug": "<slug>",
    "type": "GENERIC",
    "segment": "CSR"
  }
]
```
