Skip to main content
POST
/
training
Create a training
curl --request POST \
  --url https://api.open.cx/training \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "<string>",
  "content": "<string>",
  "type": "BEHAVIORAL",
  "is_draft": true,
  "directory_id": "<string>",
  "restricted_to_channels": [
    "web"
  ],
  "restricted_to_segments": [
    "<string>"
  ]
}
'
{
  "id": "<string>",
  "title": "<string>",
  "content": "<string>",
  "type": "BEHAVIORAL",
  "is_draft": true,
  "directory_id": "<string>",
  "restricted_to_channels": [
    "web"
  ],
  "restricted_to_segments": [
    "<string>"
  ],
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}

Body

application/json
title
string
required

The scenario title or trigger phrase

content
string
required

The instruction body — how the AI should respond

type
enum<string>

BEHAVIORAL (always active) or SCENARIO_SPECIFIC (semantic match, default)

Available options:
BEHAVIORAL,
SCENARIO_SPECIFIC
is_draft
boolean

If true, saved as draft and not used by the AI

directory_id
string | null

Directory ID to organize into

restricted_to_channels
enum<string>[]

Limit to specific channels (empty = all)

Available options:
web,
email,
phone_voice,
slack,
sms,
whatsapp,
instagram,
messenger,
api,
web_voice
restricted_to_segments
string[]

Limit to specific segments (empty = all)

Response

Default Response

id
string
required

Unique training ID

title
string
required

The scenario title or trigger phrase

content
string
required

The instruction body — how the AI should respond

type
enum<string>
required

BEHAVIORAL (always active) or SCENARIO_SPECIFIC (semantic match)

Available options:
BEHAVIORAL,
SCENARIO_SPECIFIC
is_draft
boolean
required

Draft trainings are saved but not used by the AI

directory_id
string | null
required

Directory this training belongs to

restricted_to_channels
enum<string>[]
required

Channels this applies to (empty = all)

Available options:
web,
email,
phone_voice,
slack,
sms,
whatsapp,
instagram,
messenger,
api,
web_voice
restricted_to_segments
string[]
required

Contact segments this applies to (empty = all)

created_at
string<date-time>
required
updated_at
string<date-time>
required