Skip to main content
Use the quickstart client. Replace uppercase IDs with your resource IDs.

Conversations

Conversation titles have a maximum of 120 characters. A rename requires a nonempty title after trimming. conversations.retrieve returns id, title, and active_response_ids.

Paginate history

Conversation and history list methods return { data, next_cursor }. Page options accept cursor and a limit from 1 to 100.
History items contain id, response_id, and sequence_number. An item’s type determines its payload. input contains a request input, answer contains an input request ID and answer, and output contains an output item. The response ID can be null. See AgentConversationItem. History pagination returns 409 if the underlying snapshot changes. Discard the accumulated pages and restart from the first page.

Fork a conversation

The fork copies settled history through the selected message’s completed turn. Omit atMessageId to copy the available settled history. Active turns are excluded. The optional createProject field controls project creation. Project placement completes asynchronously.

Share a conversation

This replaces the policy. Empty recipient lists allow anyone with the link to access the conversation. Use allowedAccountIds for account access or scopedAccountId with scopedEmails for recipients within one account. The optional expiresAt field accepts an ISO 8601 timestamp. Omitting it or passing null removes expiration. Read the current policy with conversations.sharing.retrieve(id) before replacing it. The result is null when no policy exists.

Delete a conversation

Deletion can return { deleted: false } while running work stops. Repeat the deletion request to complete cleanup.

Recover uncertain writes

Conversation creation is sent once. Rename and deletion can use transport retries. Read the resource after a lost acknowledgement before deciding whether to repeat the write. Request options support signal and timeoutMs.