---
title: "Create a scheduled event"
method: POST
path: "/ai/assistants/{assistant_id}/scheduled_events"
tags: ["Assistants"]
---

# Create a scheduled event

`POST /ai/assistants/{assistant_id}/scheduled_events`

## Request

- Base URL: `https://api.telnyx.com/v2`
- URL: `https://api.telnyx.com/v2/ai/assistants/{assistant_id}/scheduled_events`
- Auth: HTTP bearer

Create a scheduled event for an assistant

## Path parameters

- `assistant_id` string, required

## Headers

- `Idempotency-Key` string

## Request body

- CreateScheduledEventRequest
  - `telnyx_conversation_channel` 'phone_call' | 'sms_chat', required
  - `telnyx_end_user_target` string, required: The phone number, SIP URI, to schedule the call or text to.
  - `telnyx_agent_target` string, required: The phone number, SIP URI, to schedule the call or text from.
  - `scheduled_at_fixed_datetime` string, date-time, required: The datetime at which the event should be scheduled. Formatted as ISO 8601.
  - `text` string: Required for sms scheduled events. The text to be sent to the end user.
  - `conversation_metadata` object: Metadata associated with the conversation. Telnyx provides several pieces of metadata, but customers can also add their own.
  - `dynamic_variables` object: A map of dynamic variable names to values. These variables can be referenced in the assistant's instructions and messages using {{variable_name}} syntax.
  - `max_retries_client_errors` integer: Configure number of retries on client errors: busy, no-answer, failed, canceled (caller hung up before the callee answered)
  - `retry_interval_secs` integer
  - `call_settings` ScheduledCallSettings: Per-call telephony overrides applied when a scheduled phone-call event dispatches. Phone-call events only. New per-call dispatch options should be added here rather than as top-level event fields.
    - `sip_region` 'US' | 'Europe' | 'Canada' | 'Australia' | 'Middle East': SIP region passed to Telnyx when initiating an outbound call. Values match the Telnyx TeXML `SipRegion` parameter exactly. Telnyx defaults to `US` when omitted.

## Response `201`

Successful Response

- union: Union type for different scheduled event response types
  - ScheduledPhoneCallEventResponse
    - `telnyx_conversation_channel` 'phone_call' | 'sms_chat', required
    - `telnyx_end_user_target` string, required
    - `telnyx_agent_target` string, required
    - `scheduled_at_fixed_datetime` string, date-time, required
    - `assistant_id` string, required
    - `retry_count` integer
    - `retry_attempts` integer
    - `scheduled_event_id` string
    - `conversation_id` string
    - `created_at` string, date-time
    - `status` 'pending' | 'in_progress' | 'completed' | 'failed'
    - `conversation_metadata` object
    - `dynamic_variables` object: A map of dynamic variable names to values. These variables can be referenced in the assistant's instructions and messages using {{variable_name}} syntax.
    - `errors` string[]
    - `call_status` string: Values: busy, canceled, no-answer, ringing, completed, failed, in-progress
    - `call_duration` integer: Duration of the call in seconds
    - `max_retries_client_errors` integer: Configure number of retries on client errors: busy, no-answer, failed, canceled (caller hung up before the callee answered)
    - `retry_interval_secs` integer
    - `call_attempts` AssistantScheduledCallAttempt[]
      - `attempt_number` integer, required
      - `attempted_at` string, date-time, required
      - `call_status` string, required: Values: busy, canceled, no-answer, ringing, completed, failed, in-progress
      - `call_duration` integer: Duration of the call in seconds
      - `telnyx_call_control_id` string
    - `dispatched_at` string, date-time: Date time at which call was sent
    - `call_settings` ScheduledCallSettings: Per-call telephony overrides applied when a scheduled phone-call event dispatches. Phone-call events only. New per-call dispatch options should be added here rather than as top-level event fields.
      - `sip_region` 'US' | 'Europe' | 'Canada' | 'Australia' | 'Middle East': SIP region passed to Telnyx when initiating an outbound call. Values match the Telnyx TeXML `SipRegion` parameter exactly. Telnyx defaults to `US` when omitted.
  - ScheduledSmsEventResponse
    - `telnyx_conversation_channel` 'phone_call' | 'sms_chat', required
    - `telnyx_end_user_target` string, required
    - `telnyx_agent_target` string, required
    - `scheduled_at_fixed_datetime` string, date-time, required
    - `assistant_id` string, required
    - `retry_count` integer
    - `text` string, required
    - `scheduled_event_id` string
    - `conversation_id` string
    - `created_at` string, date-time
    - `status` 'pending' | 'in_progress' | 'completed' | 'failed'
    - `conversation_metadata` object
    - `dynamic_variables` object: A map of dynamic variable names to values. These variables can be referenced in the assistant's instructions and messages using {{variable_name}} syntax.
    - `errors` string[]

## Other responses

- `400`: Bad Request / Validation Failed (10015). Invalid, duplicate, empty, malformed, or overlong Idempotency-Key headers are rejected by Edge with HTTP 400 and error code 10015.
- `409`: A request with the same Idempotency-Key is still being processed (10036). Retry later with the same key and request.
- `413`: Payload Too Large. A request sent with an Idempotency-Key whose body exceeds the endpoint's Edge replay-protection limit (256 KB) is rejected before it reaches the service. Requests sent without the header are not subject to this limit.
- `422`: Validation Error. Reusing an Idempotency-Key with a different request body also returns 422 with error code 10027.
- `503`: Service unavailable (10016), including unavailable Edge idempotency protection for a keyed request.

## Changes

- **2026-10-15** `a72569d69430`: 1 breaking, 1 warning, 7 info
  - the response's body type changed from `object` to no type for status `422`
  - removed the optional property `detail` from the response with the `422` status
  - added the new optional `header` request parameter `Idempotency-Key`
  - added `#/components/schemas/HTTPValidationError, #/components/schemas/inference-embedding_ErrorResponse` to the response body `anyOf` list for the response status `422`
  - …5 more
- **2026-06-11** `81ee1b2477a2`: 2 info
  - added the new optional request property `call_settings`
  - added the optional property `anyOf[subschema #1: ScheduledPhoneCallEventResponse]/call_settings` to the response with the `201` status
- **2026-05-08** `30cb1ddce91b`: 8 info
  - added the new optional request property `max_retries_client_errors`
  - added the new optional request property `retry_interval_secs`
  - added the optional property `anyOf[subschema #1: ScheduledPhoneCallEventResponse]/call_attempts` to the response with the `201` status
  - added the optional property `anyOf[subschema #1: ScheduledPhoneCallEventResponse]/call_duration` to the response with the `201` status
  - …4 more

[Operation history](https://skmtc.dev/team-telnyx/apis/telnyx-api/changes/ai/assistants/:assistant_id/scheduled_events/post.md)

---

[API](https://skmtc.dev/team-telnyx/apis/telnyx-api.md) - [All operations](https://skmtc.dev/team-telnyx/apis/telnyx-api/llms.txt) - [OpenAPI document](https://skmtc.dev/team-telnyx/apis/telnyx-api/revisions/0f17b8167873?raw)
