---
title: "Create a campaign under a brand"
method: POST
path: "/messaging-brands/{brand_id}/campaigns"
tags: ["MessagingBrands", "messagingbrands"]
---

# Create a campaign under a brand

`POST /messaging-brands/{brand_id}/campaigns`

## Request

- Base URL: `https://api.fonestorm.com/v2`
- URL: `https://api.fonestorm.com/v2/messaging-brands/{brand_id}/campaigns`
- Auth: API key in header `token`

Creates a new campaign for the specified brand

## Path parameters

- `brand_id` string, required

## Request body

- object
  - `usecase` string, required: The campaign's intended use (e.g., 2FA, MARKETING)
  - `subUsecases` string[]: Sub-use cases for additional campaign context
  - `resellerId` string: ID of reseller (if applicable)
  - `description` string, required: Detailed description of the campaign's purpose
  - `embeddedLink` boolean, required: Whether the campaign uses embedded links
  - `embeddedPhone` boolean, required: Whether the campaign uses embedded phone numbers
  - `termsAndConditions` boolean, required: Agreement to TCR terms
  - `numberPool` boolean, required: Whether campaign uses more than 50 numbers
  - `ageGated` boolean, required: Whether campaign contains age-gated content
  - `directLending` boolean, required: Whether the campaign is for direct lending
  - `subscriberOptin` boolean, required: Whether subscriber opt-in is required
  - `subscriberOptout` boolean, required: Whether subscribers can opt out
  - `subscriberHelp` boolean, required: Whether help options are available
  - `sample1` string, required: Sample message 1
  - `sample2` string: Sample message 2
  - `sample3` string: Sample message 3
  - `sample4` string: Sample message 4
  - `sample5` string: Sample message 5
  - `messageFlow` string, required: Description of subscriber opt-in flow
  - `helpMessage` string, required: Sample help message
  - `autoRenewal` boolean: Whether campaign auto-renews
  - `referenceId` string: CSP-managed reference identifier
  - `mock` boolean: Signifies a mock campaign
  - `optinKeywords` string: Keywords for opt-in
  - `optoutKeywords` string: Keywords for opt-out
  - `helpKeywords` string: Keywords for help
  - `optinMessage` string: Sample opt-in message
  - `optoutMessage` string: Sample opt-out message
  - `privacyPolicyLink` string, uri: Link to privacy policy
  - `termsAndConditionsLink` string, uri: Link to terms and conditions
  - `embeddedLinkSample` string: Sample embedded link
  - `mnoIds` string[]: Specific MNOs to target

## Response `201`

Campaign created

- object
  - `campaign` MessagingCampaigns
    - `campaign_id` string: Unique campaign identifier
    - `status` 'ACTIVE' | 'PENDING_REVIEW' | 'PENDING_UPDATE' | 'EXPIRED' | 'SUBMISSION_FAILED': Current status of the campaign
    - `registered_on` string, date-time: Date and time when the campaign was created
    - `auto_renewal` boolean: Whether campaign auto-renews
    - `billed_date` string, date-time: Date when the campaign was last billed
    - `brand_id` string: ID of the brand this campaign belongs to
    - `vertical` string: The industry vertical for the campaign
    - `usecase` string: The campaign's intended use
    - `sub_usecases` string[]: Sub-use cases for additional campaign context
    - `description` string: Detailed description of the campaign's purpose
    - `embedded_link` boolean: Whether the campaign uses embedded links
    - `embedded_phone` boolean: Whether the campaign uses embedded phone numbers
    - `terms_and_conditions` boolean: Agreement to TCR terms
    - `number_pool` boolean: Whether campaign uses more than 50 numbers
    - `age_gated` boolean: Whether campaign contains age-gated content
    - `direct_lending` boolean: Whether the campaign is for direct lending
    - `subscriber_opt_in` boolean: Whether subscriber opt-in is required
    - `subscriber_opt_out` boolean: Whether subscribers can opt out
    - `subscriber_help` boolean: Whether help options are available
    - `message_sample1` string: Sample message 1
    - `message_sample2` string: Sample message 2
    - `message_sample3` string: Sample message 3
    - `message_sample4` string: Sample message 4
    - `message_sample5` string: Sample message 5
    - `message_flow` string: Description of subscriber opt-in flow
    - `help_message` string: Sample help message
    - `next_renewal_or_expiration_date` string: Date of next renewal or expiration
    - `expiration_date` string: Campaign expiration date
    - `opt_in_keywords` string: Keywords for opt-in
    - `opt_out_keywords` string: Keywords for opt-out
    - `help_keywords` string: Keywords for help
    - `opt_in_message` string: Sample opt-in message
    - `opt_out_message` string: Sample opt-out message
    - `privacy_policy_link` string: Link to privacy policy
    - `terms_and_conditions_link` string: Link to terms and conditions
    - `embedded_link_sample` string: Sample embedded link
    - `monthly_fee` number: Monthly fee for the campaign in USD

## Other responses

- `202`: Campaign creation request pending review
- `400`: Bad Request
- `401`: Unauthorized
- `default`: Error

---

[API](https://skmtc.dev/fonestorm/apis/fractel-api-2-12-87c-hail.md) · [All operations](https://skmtc.dev/fonestorm/apis/fractel-api-2-12-87c-hail/llms.txt) · [OpenAPI document](https://skmtc.dev/fonestorm/apis/fractel-api-2-12-87c-hail/revisions/9738d9b806d4?raw)
