ChatKit
ModelsExpand Collapse
ChatKitWorkflow = object { id, state_variables, tracing, version } Workflow metadata and state returned for the session.
Workflow metadata and state returned for the session.
Identifier of the workflow backing the session.
state_variables: map[string or boolean or number]State variable key-value pairs applied when invoking the workflow. Defaults to null when no overrides were provided.
State variable key-value pairs applied when invoking the workflow. Defaults to null when no overrides were provided.
tracing: object { enabled } Tracing settings applied to the workflow.
Tracing settings applied to the workflow.
Indicates whether tracing is enabled.
Specific workflow version used for the session. Defaults to null when using the latest deployment.
ChatKitSessions
Cancel chat session
Create ChatKit session
ChatKitThreads
List ChatKit thread items
Retrieve ChatKit thread
Delete ChatKit thread
List ChatKit threads
ModelsExpand Collapse
ChatSession = object { id, chatkit_configuration, client_secret, 7 more } Represents a ChatKit session and its resolved configuration.
Represents a ChatKit session and its resolved configuration.
Identifier for the ChatKit session.
Resolved ChatKit feature configuration for the session.
Ephemeral client secret that authenticates session requests.
Unix timestamp (in seconds) for when the session expires.
Convenience copy of the per-minute request limit.
Type discriminator that is always chatkit.session.
Resolved rate limit values.
Current lifecycle state of the session.
User identifier associated with the session.
Workflow metadata for the session.
ChatSessionAutomaticThreadTitling = object { enabled } Automatic thread title preferences for the session.
Automatic thread title preferences for the session.
Whether automatic thread titling is enabled.
ChatSessionChatKitConfiguration = object { automatic_thread_titling, file_upload, history } ChatKit configuration for the session.
ChatKit configuration for the session.
Automatic thread titling preferences.
Upload settings for the session.
History retention configuration.
ChatSessionChatKitConfigurationParam = object { automatic_thread_titling, file_upload, history } Optional per-session configuration settings for ChatKit behavior.
Optional per-session configuration settings for ChatKit behavior.
automatic_thread_titling: optional object { enabled } Configuration for automatic thread titling. When omitted, automatic thread titling is enabled by default.
Configuration for automatic thread titling. When omitted, automatic thread titling is enabled by default.
Enable automatic thread title generation. Defaults to true.
file_upload: optional object { enabled, max_file_size, max_files } Configuration for upload enablement and limits. When omitted, uploads are disabled by default (max_files 10, max_file_size 512 MB).
Configuration for upload enablement and limits. When omitted, uploads are disabled by default (max_files 10, max_file_size 512 MB).
Enable uploads for this session. Defaults to false.
Maximum size in megabytes for each uploaded file. Defaults to 512 MB, which is the maximum allowable size.
Maximum number of files that can be uploaded to the session. Defaults to 10.
history: optional object { enabled, recent_threads } Configuration for chat history retention. When omitted, history is enabled by default with no limit on recent_threads (null).
Configuration for chat history retention. When omitted, history is enabled by default with no limit on recent_threads (null).
Enables chat users to access previous ChatKit threads. Defaults to true.
Number of recent ChatKit threads users have access to. Defaults to unlimited when unset.
ChatSessionExpiresAfterParam = object { anchor, seconds } Controls when the session expires relative to an anchor timestamp.
Controls when the session expires relative to an anchor timestamp.
Base timestamp used to calculate expiration. Currently fixed to created_at.
Number of seconds after the anchor when the session expires.
ChatSessionFileUpload = object { enabled, max_file_size, max_files } Upload permissions and limits applied to the session.
Upload permissions and limits applied to the session.
Indicates if uploads are enabled for the session.
Maximum upload size in megabytes.
Maximum number of uploads allowed during the session.
ChatSessionHistory = object { enabled, recent_threads } History retention preferences returned for the session.
History retention preferences returned for the session.
Indicates if chat history is persisted for the session.
Number of prior threads surfaced in history views. Defaults to null when all history is retained.
ChatSessionRateLimits = object { max_requests_per_1_minute } Active per-minute request limit for the session.
Active per-minute request limit for the session.
Maximum allowed requests per one-minute window.
ChatSessionRateLimitsParam = object { max_requests_per_1_minute } Controls request rate limits for the session.
Controls request rate limits for the session.
Maximum number of requests allowed per minute for the session. Defaults to 10.
ChatSessionStatus = "active" or "expired" or "cancelled"
ChatSessionWorkflowParam = object { id, state_variables, tracing, version } Workflow reference and overrides applied to the chat session.
Workflow reference and overrides applied to the chat session.
Identifier for the workflow invoked by the session.
state_variables: optional map[string or boolean or number]State variables forwarded to the workflow. Keys may be up to 64 characters, values must be primitive types, and the map defaults to an empty object.
State variables forwarded to the workflow. Keys may be up to 64 characters, values must be primitive types, and the map defaults to an empty object.
tracing: optional object { enabled } Optional tracing overrides for the workflow invocation. When omitted, tracing is enabled by default.
Optional tracing overrides for the workflow invocation. When omitted, tracing is enabled by default.
Whether tracing is enabled during the session. Defaults to true.
Specific workflow version to run. Defaults to the latest deployed version.
ChatKitAttachment = object { id, mime_type, name, 2 more } Attachment metadata included on thread items.
Attachment metadata included on thread items.
Identifier for the attachment.
MIME type of the attachment.
Original display name for the attachment.
Preview URL for rendering the attachment inline.
type: "image" or "file"Attachment discriminator.
Attachment discriminator.
ChatKitResponseOutputText = object { annotations, text, type } Assistant response text accompanied by optional annotations.
Assistant response text accompanied by optional annotations.
annotations: array of object { source, type } or object { source, type } Ordered list of annotations attached to the response text.
Ordered list of annotations attached to the response text.
File = object { source, type } Annotation that references an uploaded file.
Annotation that references an uploaded file.
source: object { filename, type } File attachment referenced by the annotation.
File attachment referenced by the annotation.
Filename referenced by the annotation.
Type discriminator that is always file.
Type discriminator that is always file for this annotation.
URL = object { source, type } Annotation that references a URL.
Annotation that references a URL.
source: object { type, url } URL referenced by the annotation.
URL referenced by the annotation.
Type discriminator that is always url.
URL referenced by the annotation.
Type discriminator that is always url for this annotation.
Assistant generated text.
Type discriminator that is always output_text.
ChatKitThread = object { id, created_at, object, 3 more } Represents a ChatKit thread and its current status.
Represents a ChatKit thread and its current status.
Identifier of the thread.
Unix timestamp (in seconds) for when the thread was created.
Type discriminator that is always chatkit.thread.
status: object { type } or object { reason, type } or object { reason, type } Current status for the thread. Defaults to active for newly created threads.
Current status for the thread. Defaults to active for newly created threads.
Active = object { type } Indicates that a thread is active.
Indicates that a thread is active.
Status discriminator that is always active.
Locked = object { reason, type } Indicates that a thread is locked and cannot accept new input.
Indicates that a thread is locked and cannot accept new input.
Reason that the thread was locked. Defaults to null when no reason is recorded.
Status discriminator that is always locked.
Closed = object { reason, type } Indicates that a thread has been closed.
Indicates that a thread has been closed.
Reason that the thread was closed. Defaults to null when no reason is recorded.
Status discriminator that is always closed.
Optional human-readable title for the thread. Defaults to null when no title has been generated.
Free-form string that identifies your end user who owns the thread.
ChatKitThreadAssistantMessageItem = object { id, content, created_at, 3 more } Assistant-authored message within a thread.
Assistant-authored message within a thread.
Identifier of the thread item.
Ordered assistant response segments.
Ordered assistant response segments.
annotations: array of object { source, type } or object { source, type } Ordered list of annotations attached to the response text.
Ordered list of annotations attached to the response text.
File = object { source, type } Annotation that references an uploaded file.
Annotation that references an uploaded file.
source: object { filename, type } File attachment referenced by the annotation.
File attachment referenced by the annotation.
Filename referenced by the annotation.
Type discriminator that is always file.
Type discriminator that is always file for this annotation.
URL = object { source, type } Annotation that references a URL.
Annotation that references a URL.
source: object { type, url } URL referenced by the annotation.
URL referenced by the annotation.
Type discriminator that is always url.
URL referenced by the annotation.
Type discriminator that is always url for this annotation.
Assistant generated text.
Type discriminator that is always output_text.
Unix timestamp (in seconds) for when the item was created.
Type discriminator that is always chatkit.thread_item.
Identifier of the parent thread.
Type discriminator that is always chatkit.assistant_message.
ChatKitThreadItemList = object { data, first_id, has_more, 2 more } A paginated list of thread items rendered for the ChatKit API.
A paginated list of thread items rendered for the ChatKit API.
data: array of ChatKitThreadUserMessageItem { id, attachments, content, 5 more } or ChatKitThreadAssistantMessageItem { id, content, created_at, 3 more } or ChatKitWidgetItem { id, created_at, object, 3 more } or 3 moreA list of items
A list of items
ChatKitThreadUserMessageItem = object { id, attachments, content, 5 more } User-authored messages within a thread.
User-authored messages within a thread.
Identifier of the thread item.
Attachments associated with the user message. Defaults to an empty list.
Attachments associated with the user message. Defaults to an empty list.
Identifier for the attachment.
MIME type of the attachment.
Original display name for the attachment.
Preview URL for rendering the attachment inline.
type: "image" or "file"Attachment discriminator.
Attachment discriminator.
content: array of object { text, type } or object { text, type } Ordered content elements supplied by the user.
Ordered content elements supplied by the user.
InputText = object { text, type } Text block that a user contributed to the thread.
Text block that a user contributed to the thread.
Plain-text content supplied by the user.
Type discriminator that is always input_text.
QuotedText = object { text, type } Quoted snippet that the user referenced in their message.
Quoted snippet that the user referenced in their message.
Quoted text content.
Type discriminator that is always quoted_text.
Unix timestamp (in seconds) for when the item was created.
inference_options: object { model, tool_choice } Inference overrides applied to the message. Defaults to null when unset.
Inference overrides applied to the message. Defaults to null when unset.
Model name that generated the response. Defaults to null when using the session default.
tool_choice: object { id } Preferred tool to invoke. Defaults to null when ChatKit should auto-select.
Preferred tool to invoke. Defaults to null when ChatKit should auto-select.
Identifier of the requested tool.
Type discriminator that is always chatkit.thread_item.
Identifier of the parent thread.
ChatKitThreadAssistantMessageItem = object { id, content, created_at, 3 more } Assistant-authored message within a thread.
Assistant-authored message within a thread.
Identifier of the thread item.
Ordered assistant response segments.
Ordered assistant response segments.
annotations: array of object { source, type } or object { source, type } Ordered list of annotations attached to the response text.
Ordered list of annotations attached to the response text.
File = object { source, type } Annotation that references an uploaded file.
Annotation that references an uploaded file.
source: object { filename, type } File attachment referenced by the annotation.
File attachment referenced by the annotation.
Filename referenced by the annotation.
Type discriminator that is always file.
Type discriminator that is always file for this annotation.
URL = object { source, type } Annotation that references a URL.
Annotation that references a URL.
source: object { type, url } URL referenced by the annotation.
URL referenced by the annotation.
Type discriminator that is always url.
URL referenced by the annotation.
Type discriminator that is always url for this annotation.
Assistant generated text.
Type discriminator that is always output_text.
Unix timestamp (in seconds) for when the item was created.
Type discriminator that is always chatkit.thread_item.
Identifier of the parent thread.
Type discriminator that is always chatkit.assistant_message.
ChatKitWidgetItem = object { id, created_at, object, 3 more } Thread item that renders a widget payload.
Thread item that renders a widget payload.
Identifier of the thread item.
Unix timestamp (in seconds) for when the item was created.
Type discriminator that is always chatkit.thread_item.
Identifier of the parent thread.
Type discriminator that is always chatkit.widget.
Serialized widget payload rendered in the UI.
ChatKitClientToolCall = object { id, arguments, call_id, 7 more } Record of a client side tool invocation initiated by the assistant.
Record of a client side tool invocation initiated by the assistant.
Identifier of the thread item.
JSON-encoded arguments that were sent to the tool.
Identifier for the client tool call.
Unix timestamp (in seconds) for when the item was created.
Tool name that was invoked.
Type discriminator that is always chatkit.thread_item.
JSON-encoded output captured from the tool. Defaults to null while execution is in progress.
status: "in_progress" or "completed"Execution status for the tool call.
Execution status for the tool call.
Identifier of the parent thread.
Type discriminator that is always chatkit.client_tool_call.
ChatKitTask = object { id, created_at, heading, 5 more } Task emitted by the workflow to show progress and status updates.
Task emitted by the workflow to show progress and status updates.
Identifier of the thread item.
Unix timestamp (in seconds) for when the item was created.
Optional heading for the task. Defaults to null when not provided.
Type discriminator that is always chatkit.thread_item.
Optional summary that describes the task. Defaults to null when omitted.
task_type: "custom" or "thought"Subtype for the task.
Subtype for the task.
Identifier of the parent thread.
Type discriminator that is always chatkit.task.
ChatKitTaskGroup = object { id, created_at, object, 3 more } Collection of workflow tasks grouped together in the thread.
Collection of workflow tasks grouped together in the thread.
Identifier of the thread item.
Unix timestamp (in seconds) for when the item was created.
Type discriminator that is always chatkit.thread_item.
tasks: array of object { heading, summary, type } Tasks included in the group.
Tasks included in the group.
Optional heading for the grouped task. Defaults to null when not provided.
Optional summary that describes the grouped task. Defaults to null when omitted.
type: "custom" or "thought"Subtype for the grouped task.
Subtype for the grouped task.
Identifier of the parent thread.
Type discriminator that is always chatkit.task_group.
The ID of the first item in the list.
Whether there are more items available.
The ID of the last item in the list.
The type of object returned, must be list.
ChatKitThreadUserMessageItem = object { id, attachments, content, 5 more } User-authored messages within a thread.
User-authored messages within a thread.
Identifier of the thread item.
Attachments associated with the user message. Defaults to an empty list.
Attachments associated with the user message. Defaults to an empty list.
Identifier for the attachment.
MIME type of the attachment.
Original display name for the attachment.
Preview URL for rendering the attachment inline.
type: "image" or "file"Attachment discriminator.
Attachment discriminator.
content: array of object { text, type } or object { text, type } Ordered content elements supplied by the user.
Ordered content elements supplied by the user.
InputText = object { text, type } Text block that a user contributed to the thread.
Text block that a user contributed to the thread.
Plain-text content supplied by the user.
Type discriminator that is always input_text.
QuotedText = object { text, type } Quoted snippet that the user referenced in their message.
Quoted snippet that the user referenced in their message.
Quoted text content.
Type discriminator that is always quoted_text.
Unix timestamp (in seconds) for when the item was created.
inference_options: object { model, tool_choice } Inference overrides applied to the message. Defaults to null when unset.
Inference overrides applied to the message. Defaults to null when unset.
Model name that generated the response. Defaults to null when using the session default.
tool_choice: object { id } Preferred tool to invoke. Defaults to null when ChatKit should auto-select.
Preferred tool to invoke. Defaults to null when ChatKit should auto-select.
Identifier of the requested tool.
Type discriminator that is always chatkit.thread_item.
Identifier of the parent thread.
ChatKitWidgetItem = object { id, created_at, object, 3 more } Thread item that renders a widget payload.
Thread item that renders a widget payload.
Identifier of the thread item.
Unix timestamp (in seconds) for when the item was created.
Type discriminator that is always chatkit.thread_item.
Identifier of the parent thread.
Type discriminator that is always chatkit.widget.
Serialized widget payload rendered in the UI.