---
title: "Activate a campaign"
description: "Once properly setup, activate your campaign to start registring donations."
canonical: https://www.charitips.com/docs/api-reference/activate-campaign
---

# Activate a campaign

`POST /v1/campaigns/{campaignId}/activate`

Once properly setup, activate your campaign to start registring donations.

**Authentication**: Bearer access token.

## Parameters

- `campaignId` (string, required)

## Response 200

- `campaignId` (string, required)
- `name` (string, required)
- `type` (CampaignType) One of `TIME_BASED`, `PERMANENT`.
- `amountType` (CampaignAmountType) One of `FIXED_AMOUNT`, `FREE_AMOUNT`.
- `audienceType` (CampaignAudienceType) One of `PRIVATE`, `PUBLIC`.
- `donationType` (CampaignDonationType) One of `FACE_VALUE`, `DISTRIBUTION`.
- `givingType` (GivingType, required) One of `FINANCIAL`, `PAYROLL`, `PAID_TIME_OFF`.
- `recurringType` (RecurringType, required) One of `NONE`, `FREQUENCY`, `MANUAL`.
- `startDate` (string (date-time), required)
- `endDate` (string (date-time))
- `budget` (integer (int64))
- `sendingMode` (CampaignSendingMode) One of `MANUAL`, `EMAIL`, `PHYSICAL`, `SLACK`, `POSTAL`.
- `status` (CampaignStatus) One of `DRAFT`, `PENDING`, `ACTIVE`, `COMPLETE`, `CANCELED`.
- `slug` (string)
- `publicKey` (string, required)
- `withFiscalReceipts` (boolean, required)
- `language` (Language) One of `fr`, `en`.
- `frequency` (string)
- `budgetFrequency` (string)
- `billingStatus` (BillingStatus, required) One of `PENDING`, `BILLED`, `PAID`.
- `defaultHideAmount` (boolean)
- `withHideAmountCustomization` (boolean)
- `withGiftCards` (boolean)
- `withLeadCollection` (boolean)
- `withoutCustomization` (boolean, required)
- `momentType` (MomentType) One of `OCCASION`, `KEY_MOMENT`, `EDITION`.
- `momentSlug` (string)
- `leadCollectionOptions` (object)
- `donationsBilledOn` (DonationBilledOn, required) One of `CREATION`, `CLAIM`.
- `withDonationsValidation` (boolean, required)
- `fiscalReceiptType` (FiscalReceiptType, required) One of `YEARLY`, `SINGLE_DONATION`.
- `fiscalReceiptSendingMode` (FiscalReceiptSendingMode, required) One of `MANUAL`, `EMAIL`.
- `defaultHasBeenCharged` (boolean, required)
- `defaultFeeType` (FeeType, required) One of `EXCLUDED`, `INCLUDED`.
- `donationValidityPeriod` (string, required)
- `template` (string)
- `physicalFormat` (PhysicalFormat) One of `CUSTOM`, `PRINT`, `PARCEL`.
- `withEmailWall` (boolean)
- `postDonationWidgets` (PostDonationWidget[], required)
- `title` (string)
- `description` (string)
- `logoUrl` (string)
- `faviconUrl` (string)
- `titleColor` (string)
- `accentColor` (string)
- `givingTarget` (integer (int64))
- `message` (string)
- `reminderMessage` (string)
- `emailSenderName` (string)
- `emailSenderPictureUrl` (string)
- `emailSubject` (string)
- `emailTemplate` (string)
- `emailReplyTo` (string)
- `emailDisplayCard` (boolean)
- `lastCustomerReminderId` (string)
- `charitiesSelectionId` (string)
- `accountId` (string, required)
- `campaignTemplateId` (string)
- `donorPlatformId` (string)
- `createdAt` (string (date-time), required)
- `updatedAt` (string (date-time), required)

## Errors

- 400 `No charity selection linked to this campaign`: Create a charities selection with at least one charity, set it on the campaign with `charitiesSelectionId`, then activate. See https://www.charitips.com/docs/api-reference/create-charities-selection.md.
- 400 `No budget set for this campaign`: A campaign with `amountType: FIXED_AMOUNT` needs a `budget` in cents, and the API cannot add one after creation. Create the campaign again with its `budget`, then activate it. See https://www.charitips.com/docs/api-reference/create-campaign.md.
- 400 `Campaign budget exceeds payment card amount limit`: The amount to charge (the budget, the usage not billed yet and the fees) is above what the account's payment card can be charged at once. Create the campaign with a lower budget, or switch to another payment method, such as a bank transfer, in the dashboard, under Settings > Billing. The sandbox never returns this error. See https://www.charitips.com/docs/api-reference/create-campaign.md.
- 400 `Campaign budget exceeds SEPA Direct Debit amount limit`: The amount to charge (the budget, the usage not billed yet and the fees) is above what a SEPA direct debit can take at once. Create the campaign with a lower budget, or switch to another payment method, such as a bank transfer, in the dashboard, under Settings > Billing. The sandbox never returns this error. See https://www.charitips.com/docs/api-reference/create-campaign.md.
- 400 `Invoice amount <amount_due> is over the SDD limit <SDD_AMOUNT_LIMIT>`: The budget of the campaign is invoiced at activation, and the invoice is above what a SEPA direct debit can take at once. Create the campaign with a lower budget, or switch to another payment method, such as a bank transfer, in the dashboard, under Settings > Billing. The sandbox never returns this error. See https://www.charitips.com/docs/api-reference/create-campaign.md.
- 400 `Invoice amount <amount_due> is over the payment card limit <PAYMENT_CARD_AMOUNT_LIMIT>`: The budget of the campaign is invoiced at activation, and the invoice is above what the payment card can be charged at once. Create the campaign with a lower budget, or switch to another payment method, such as a bank transfer, in the dashboard, under Settings > Billing. The sandbox never returns this error. See https://www.charitips.com/docs/api-reference/create-campaign.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.
- 402 `No active subscription found`: The account has no active monthly subscription, so the campaign cannot be activated. Contact us if you sandbox account has no subscription. See https://www.charitips.com/docs/overview/plans.md.
- 402 `Missing payment method`: The account that pays for the donations (your (parent) account or a child account if they are billed directly) has no payment method. Add one in the dashboard, under Settings > Billing, then retry. On the sandbox, creating a single donation skips this check, but other calls can still return it, like activating a FIXED_AMOUNT campaign that is billed on order. See https://www.charitips.com/docs/concepts/billing-and-receipts.md#payment-methods.
- 403 `Campaign has ended.`: The campaign is COMPLETE or CANCELED: nothing can be created, claimed or cast on it any more. Use an active campaign. See https://www.charitips.com/docs/api-reference/list-campaigns.md.
- 403 `Campaign is waiting for payment`: The fixed budget of the campaign has been invoiced and is not paid yet. Pay the invoice, then activate. See https://www.charitips.com/docs/api-reference/list-invoices.md.
- 403 `Account not validated`: The account behind your credentials has not finished onboarding. Complete it in the dashboard, or contact us. See https://www.charitips.com/docs/api-reference/troubleshooting.md#calls-answer-403-account-not-active-account-not-validated-or-account-closed.
- 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.
- 403 `Forbidden`: Your credentials cannot perform this action on this resource. An id from another account never answers 403: it is treated as unknown, with a 404 in the path or a 400 `Bad Request` in the body or the query. See https://www.charitips.com/docs/api-reference/errors.md.
- 404 `Not Found`: No resource with this id on your account and environment. An id that belongs to another account answers 404 too when it is in the path. Ids from the sandbox do not exist in production. See https://www.charitips.com/docs/get-started/sandbox.md.

## Example

```bash
curl -X POST https://api.sandbox.charitips.com/v1/campaigns/<campaignId>/activate \
  -H "Authorization: Bearer $CHARITIPS_TOKEN"
```

```javascript
const response = await fetch('https://api.sandbox.charitips.com/v1/campaigns/<campaignId>/activate', {
  method: 'POST',
  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.post(
    "https://api.sandbox.charitips.com/v1/campaigns/<campaignId>/activate",
    headers={"Authorization": f"Bearer {os.environ['CHARITIPS_TOKEN']}"},
)
response.raise_for_status()
data = response.json()
```

## Response example (200, placeholder values)

```json
{
  "campaignId": "<campaignId>",
  "name": "<name>",
  "type": "PERMANENT",
  "amountType": "FREE_AMOUNT",
  "audienceType": "PRIVATE",
  "donationType": "FACE_VALUE",
  "givingType": "FINANCIAL",
  "recurringType": "NONE",
  "status": "ACTIVE"
}
```
