---
title: "Create a bulk job"
method: POST
path: "/bulk"
tags: ["Bulk"]
---

# Create a bulk job

`POST /bulk`

## Request body

- object
  - `message` union, required
    - InboundBulkTemplateMessage
      - `template` string, required
    - InboundBulkContentMessage
      - `content` union, required
        - ElementalContentSugar — Syntactic sugar to provide a fast shorthand for Courier Elemental Blocks.
          - `title` string, required — Title/subject displayed by supported channels.
          - `body` string, required — The text content displayed in the notification.
        - ElementalContent
          - `version` string, required — For example, "2022-01-01"
          - `brand` string, nullable
          - `elements` ElementalNode[], required
            - union
              - …

## Response `200`

- BulkCreateJobResponse
  - `jobId` string, required

## Other responses

- `400`

## Changes

- **2025-10-10** `1cc4508dc9f8` — 17 breaking, 2 warning
  - added `#/components/schemas/ElementalBaseNode` to the `message/allOf[subschema #1: InboundBulkMessageV2]/oneOf[subschema #2: InboundBulkContentMessage]/content/oneOf[subschema #2: ElementalContent]/elements/items/oneOf[subschema #5]/allOf[subschema #2: ElementalActionNode]/` request property `allOf` list
  - added `#/components/schemas/IActionButtonStyle` to the `message/allOf[subschema #1: InboundBulkMessageV2]/oneOf[subschema #2: InboundBulkContentMessage]/content/oneOf[subschema #2: ElementalContent]/elements/items/oneOf[subschema #5]/allOf[subschema #2: ElementalActionNode]/style` request property `allOf` list
  - added `#/components/schemas/IAlignment` to the `message/allOf[subschema #1: InboundBulkMessageV2]/oneOf[subschema #2: InboundBulkContentMessage]/content/oneOf[subschema #2: ElementalContent]/elements/items/oneOf[subschema #5]/allOf[subschema #2: ElementalActionNode]/align` request property `allOf` list
  - added `#/components/schemas/Locales` to the `message/allOf[subschema #1: InboundBulkMessageV2]/oneOf[subschema #2: InboundBulkContentMessage]/content/oneOf[subschema #2: ElementalContent]/elements/items/oneOf[subschema #5]/allOf[subschema #2: ElementalActionNode]/locales` request property `allOf` list
  - …15 more
- …earlier changes not shown

[Full history](https://skmtc.dev/trycourier/apis/courier/changes/bulk/post.md)

---

[API](https://skmtc.dev/trycourier/apis/courier.md) · [All operations](https://skmtc.dev/trycourier/apis/courier/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/trycourier/courier/revisions/71020f2e0980/schema)
