---
title: "Create a provider"
method: POST
path: "/providers"
tags: ["Providers"]
---

# Create a provider

`POST /providers`

Configures a provider integration from a Courier provider key and its settings. Check the catalog endpoint for the schema each provider expects.

## Headers

- `Idempotency-Key` string
- `x-idempotency-expiration` string

## Request body

- ProvidersCreateRequest — Request body for creating a new provider configuration.
  - `provider` string, required — The provider key identifying the type (e.g. "sendgrid", "twilio"). Must be a known Courier provider — see the catalog endpoint for valid keys.
  - `title` string — Optional display title. Omit to use "Default Configuration".
  - `alias` string — Optional alias for this configuration.
  - `settings` object — Provider-specific settings (snake_case keys). Defaults to an empty object when omitted. Use the catalog endpoint to discover required fields for a given provider — omitting a required field returns a 400 validation error.

## Response `201`

Created

- Provider — A configured provider in the workspace.
  - `id` string, required — A unique identifier for the provider configuration.
  - `title` string, required — Display title. Defaults to "Default Configuration" when not explicitly set.
  - `provider` string, required — The provider key (e.g. "sendgrid", "twilio", "slack").
  - `alias` string — Optional alias for this configuration.
  - `settings` object, required — Provider-specific settings (snake_case keys on the wire).
  - `created` integer, required — Unix timestamp (ms) of when the provider was created.
  - `updated` integer, nullable — Unix timestamp (ms) of when the provider was last updated.

## Other responses

- `400`

## Changes

- **2026-07-29** `f76bed79a913` — 2 info
  - added the new optional `header` request parameter `Idempotency-Key`
  - added the new optional `header` request parameter `x-idempotency-expiration`
- **2026-04-13** `f0ac5c2fa86e` — 1 breaking, 1 info
  - removed the success response with the status `200`
  - added the success response with the status `201`
- **2026-04-02** `b3dde9374868` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/trycourier/apis/courier/changes/providers/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/cb8586034158/schema)
