{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/webex/json-schema/webex-callback-schedule-update-request-schema.json",
  "title": "CallbackScheduleUpdateRequest",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/webex-callbacks-api-openapi.yml#/components/schemas/CallbackScheduleUpdateRequest",
  "allOf": [
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "Unique identifier for the scheduled callback."
        }
      },
      "required": [
        "id"
      ]
    },
    {
      "$ref": "#/$defs/ScheduleCallbackRequest"
    }
  ],
  "$defs": {
    "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."
        }
      }
    }
  }
}