---
title: "Create campaign"
method: POST
path: "/1/newsletters/{domain}/campaigns"
tags: ["Campaigns"]
---

# Create campaign

`POST /1/newsletters/{domain}/campaigns`

Create a campaign with the given parameters

## Path parameters

- `domain` integer, required

## Request body

- object
  - `content_html` string
  - `email_from_addr` string, required
  - `email_from_name` string, required
  - `force_sended` boolean, nullable — deprecated
  - `lang` 'de_DE' | 'en_GB' | 'es_ES' | 'fr_FR' | 'it_IT', required
  - `preheader` string
  - `recipients` object
    - `all_subscribers` boolean
    - `emails` string[]
    - `expert` object
      - `conditions` object, nullable
        - `closure` 'OR' — Defines the logical operator applied to the conditions array (conds) <br> "OR" means at least one condition must match
        - `conds` object[]
          - `closure` 'AND', required — Logical operator for nested conditions <br> "AND" means all inner conditions must match
          - `conds` object[], required
            - `actionId` 'all' | 'any' | 'custom' | 'last5' — Defines which campaigns to consider.<br><ul><li><strong>all</strong>: any campaign ever</li><li><strong>any</strong>: any campaign in the last 30 days</li><li><strong>last5</strong>: one of the last 5 campaigns</li><li><strong>custom</strong>: a specific campaign (requires campaign_id)</li></ul><em>Required only when type = "campaign"</em>
            - `campaign_id` integer — ID of the specific campaign to check.<br><em>Required only if actionId = "custom"</em><br>
            - `date1` string — Start date for subscription date filter (format: Y-m-d).<br><em>Required when type = "created_at"</em>
            - `date2` string, nullable — End date for date range filtering.<br><em>Required only when operator = "between"</em><br><em>Must be after or equal to date1</em><br>
            - `mailinglist_id` integer — ID of the mailing list to check subscription status.<br><em>Required when type = "mailinglist"</em>
            - `meta_id` integer — ID of the subscriber custom field (meta field).<br><em>Required when type = "meta"</em>
            - `operator` '<' | '<>' | '=' | '>' | 'between' | 'click' | 'exclude' | 'finish' | 'include' | 'like' | 'noclick' | 'noopen' | 'nosent' | 'not like' | 'open' | 'sent' | 'start', required — Logical operator for the condition, varies by type:<br><ul><li><strong>campaign:</strong> "open", "click", "sent", "noopen", "noclick", "nosent"</li><li><strong>created_at:</strong> "=", ">", "<", "between"</li><li><strong>meta:</strong> "=", "<>", "like", "not like", "start", "finish"</li><li><strong>mailinglist:</strong> "include", "exclude"</li></ul>
            - `type` 'campaign' | 'created_at' | 'mailinglist' | 'meta', required
            - `value` string — Value to compare against the meta field.<br>Used with operators like "=", "like", etc.<br><em>Required when type = "meta"</em>
      - `id` integer, nullable — Unique identifier of the resource `{name}`
    - `groups` object
      - `exclude` integer[]
      - `include` integer[]
    - `segments` object
      - `exclude` integer[]
      - `include` integer[]
  - `subject` string, required
  - `template_id` integer
  - `tracking_link` boolean
  - `tracking_opening` boolean
  - `tracking_utm` object, nullable
    - `utm_campaign` string
    - `utm_medium` string
    - `utm_source` string
  - `unsub_link` boolean, nullable — deprecated

## Response `201`

Created

- object
  - `result` 'success' | 'error' | 'asynchronous', required — Result of the HTTP request
  - `data` 78d6c681Campaign
    - `id` integer, required — Unique identifier of the resource `Campaign`
    - `domain` string
    - `status` string, required — Status of the resource `Campaign`
    - `sending_batch` string, nullable, required
    - `lang` string, required
    - `subject` string, required
    - `preheader` string, required
    - `email_from_name` string, required
    - `email_from_addr` string, required
    - `tracking_link` boolean, required
    - `tracking_opening` boolean, required
    - `tracking_utm` unknown[], required
      - unknown
    - `thumbnail_url` string, nullable
    - `designer_url` string, nullable
    - `preview_url` string
    - `content` string
    - `recipients` unknown[]
      - unknown
    - `subscribers_count` integer
    - `limit_by_hour` integer
    - `limit_by_hour_reached` string
    - `limit_by_day` integer
    - `limit_by_day_reached` string
    - `next_step` string, required
    - `unsub_link` string, nullable
    - `force_sended` string, nullable
    - `started_at` integer, required — Timestamp `Campaign` has been started
    - `created_at` integer, required — Timestamp `Campaign` has been created
    - `statistics` object
      - `sent_count` integer, required — Number of emails sent
      - `open_count` integer, required — Number of emails opened
      - `click_count` integer, required — Number of emails clicked
      - `delivery_count` integer, required
      - `complaint_count` integer, required
      - `bounce_count` integer, required
      - `soft_bounce_count` integer, required
      - `unsubscribe_count` integer, required
      - `open_rate` number, required — value between 0-100
      - `click_rate` number, required — value between 0-100
      - `delivery_rate` number, required
      - `complaint_rate` number, required
      - `bounce_rate` number, required
      - `soft_bounce_rate` number, required
      - `unsubscribe_rate` number, required
    - `advanced_statistics` object
      - `mobile` object, required
      - `browser` object, required

---

[API](https://skmtc.dev/infomaniak/apis/api-reference-developer-tools.md) · [All operations](https://skmtc.dev/infomaniak/apis/api-reference-developer-tools/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/infomaniak/api-reference-developer-tools/revisions/158a854b0c7d/schema)
