{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/webex/json-schema/webex-schedule-callback-request-schema.json",
  "title": "ScheduleCallbackRequest",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/webex-callbacks-api-openapi.yml#/components/schemas/ScheduleCallbackRequest",
  "required": [
    "customerName",
    "callbackNumber",
    "timezone",
    "scheduleDate",
    "startTime",
    "endTime",
    "queueId"
  ],
  "type": "object",
  "properties": {
    "customerName": {
      "type": "string",
      "description": "Name of the Customer for which callback has to be scheduled. Max customer name length should be 250 character"
    },
    "callbackNumber": {
      "type": "string",
      "description": "Customer's phone number for the callback. Allows an optional country code followed by digits (0-9) and the special characters: space, hyphen -, parentheses ( and ), and period ., ensuring the total length is between 7 and 15 characters."
    },
    "timezone": {
      "type": "string",
      "description": "Valid IANA timezone name"
    },
    "scheduleDate": {
      "type": "string",
      "format": "date",
      "description": "Scheduled date in ISO-8601 (YYYY-MM-DD) format. This must be a valid date in local time zone and within 31 days from current date"
    },
    "startTime": {
      "type": "string",
      "format": "time",
      "description": "Scheduled start time in ISO-8601 (HH:mm:ss) format. Start time must be at least 30 minutes in the future from current time."
    },
    "endTime": {
      "type": "string",
      "format": "time",
      "description": "Scheduled end time in ISO-8601 (HH:mm:ss) format. End time must be at least 30 minutes after the startTime and must not exceed 8 hours after startTime."
    },
    "queueId": {
      "type": "string",
      "description": "Unique identifier for the queue to which the callback is associated."
    },
    "callbackReason": {
      "type": "string",
      "description": "Reason for the callback request. This is optional and can be used to provide additional context."
    },
    "sourceInteraction": {
      "type": "string",
      "format": "uuid",
      "description": "Source interaction ID for the callback. This is optional and can be used to link the callback to a specific interaction. This should be a valid UUID."
    },
    "assigneeAgent": {
      "type": "string",
      "format": "uuid",
      "description": "The unique identifier of the specific agent (CI userId), who should be assigned to handle the callback. This field is optional and is primarily used for personal callbacks."
    }
  }
}