Skip to main content
POST
Create dedicated integration

Restrictions

Usage

  • These APIs manage channel-owned dedicated integrations; use /integration/* for public integrations.
  • The App Key’s api_scopes must allow the operation; permissions follow the user who owns the key.
  • You also need management access to the target channel: the account owner, an Admin, the channel creator, or a managing-team member. The owning team applies when no managing team is set.
  • Creating the integration does not independently grant channel management access; Integrations Manage does not grant access to this endpoint.
  • The channel must be enabled; the integration type must be enabled, belong to event.alert, and be supported by your subscription.
  • If you know the plugin_type, create the integration directly without querying types first. You can optionally query POST /integration/type/list for alert types with Channels Read, Channels Manage, or Integrations Read; the App Key’s api_scopes must also allow integration.api:read:typeList.
  • An omitted name uses the integration type default; an omitted integration_key is generated. A supplied key must have 35 characters, match the account suffix, and not be used by another integration.
  • Success returns integration_id and integration_key; use that integration_id for subsequent operations.
  • Every call is recorded in the account audit log.
  • Concurrent changes to integrations in the same channel return RequestLocked; retry after the current change completes.

Authorizations

app_key
string
query
required

APP Key created in the Flashduty console under My → APP Key. Send it as the app_key query parameter or in the Fd-App-Key request header. Its effective access is the intersection of the key's permission scope and the creator's current role permissions. Keep it secret.

Body

application/json

Creates a dedicated integration in an enabled channel.

channel_id
integer<int64>
required

Target channel ID; the channel must be enabled.

Required range: x >= 1
Example:

20001

plugin_type
string
required

Enabled alert integration type identifier, such as standard.alert.

name

Integration name, 2–49 characters when supplied; omitted or empty uses the integration type default.

description
string

Description, at most 499 characters.

Maximum string length: 499
integration_key

Optional supplied integration key. A non-empty value must have 35 characters, match the account suffix, and be unique.

settings
object

Integration-type-specific configuration; saved secret values in responses are masked as ******.

Response

Success

Success response envelope. On every 2xx response, request_id identifies the call (also mirrored in the Flashcat-Request-Id header) and data holds the endpoint-specific payload. Failure responses use a different shape — see ErrorResponse.

request_id
string
required

Unique ID for this request. Mirrored in the Flashcat-Request-Id response header. Include it when reporting issues.

Example:

"01HK8XQE3Z7JM2NTFQ5YJ8P9R4"

data
object

The created dedicated integration and its ingestion key.