Skip to content
Primary navigation

Cancel chat session

beta.chatkit.sessions.cancel(strsession_id) -> ChatSession
POST/chatkit/sessions/{session_id}/cancel

Cancel an active ChatKit session and return its most recent metadata.

Cancelling prevents new requests from using the issued client secret.

ParametersExpand Collapse
session_id: str
ReturnsExpand Collapse
class ChatSession: …

Represents a ChatKit session and its resolved configuration.

id: str

Identifier for the ChatKit session.

chatkit_configuration: ChatSessionChatKitConfiguration

Resolved ChatKit feature configuration for the session.

automatic_thread_titling: ChatSessionAutomaticThreadTitling

Automatic thread titling preferences.

enabled: bool

Whether automatic thread titling is enabled.

Upload settings for the session.

enabled: bool

Indicates if uploads are enabled for the session.

max_file_size: Optional[int]

Maximum upload size in megabytes.

max_files: Optional[int]

Maximum number of uploads allowed during the session.

History retention configuration.

enabled: bool

Indicates if chat history is persisted for the session.

recent_threads: Optional[int]

Number of prior threads surfaced in history views. Defaults to null when all history is retained.

client_secret: str

Ephemeral client secret that authenticates session requests.

expires_at: int

Unix timestamp (in seconds) for when the session expires.

max_requests_per_1_minute: int

Convenience copy of the per-minute request limit.

object: Literal["chatkit.session"]

Type discriminator that is always chatkit.session.

Resolved rate limit values.

max_requests_per_1_minute: int

Maximum allowed requests per one-minute window.

Current lifecycle state of the session.

Accepts one of the following:
"active"
"expired"
"cancelled"
user: str

User identifier associated with the session.

workflow: ChatKitWorkflow

Workflow metadata for the session.

id: str

Identifier of the workflow backing the session.

state_variables: Optional[Dict[str, Union[str, bool, float]]]

State variable key-value pairs applied when invoking the workflow. Defaults to null when no overrides were provided.

Accepts one of the following:
str
bool
float
tracing: Tracing

Tracing settings applied to the workflow.

enabled: bool

Indicates whether tracing is enabled.

version: Optional[str]

Specific workflow version used for the session. Defaults to null when using the latest deployment.

Cancel chat session

from openai import OpenAI

client = OpenAI()
chat_session = client.beta.chatkit.sessions.cancel(
    "cksess_123",
)
print(chat_session.id)
{
  "id": "cksess_123",
  "object": "chatkit.session",
  "workflow": {
    "id": "workflow_alpha",
    "version": "1"
  },
  "scope": {
    "customer_id": "cust_456"
  },
  "max_requests_per_1_minute": 30,
  "ttl_seconds": 900,
  "status": "cancelled",
  "cancelled_at": 1712345678
}
Returns Examples
{
  "id": "cksess_123",
  "object": "chatkit.session",
  "workflow": {
    "id": "workflow_alpha",
    "version": "1"
  },
  "scope": {
    "customer_id": "cust_456"
  },
  "max_requests_per_1_minute": 30,
  "ttl_seconds": 900,
  "status": "cancelled",
  "cancelled_at": 1712345678
}