Create a new PartnerUserClient instance.
Configured OAuthClient with access token
Optionalconfig: ClientConfig
Optional client configuration (baseURL, timeout, etc.)
ProtectedaddInternal
Add authorization headers, automatically refreshing the token if expired.
Add a participant to a meeting.
The meeting ID to add the participant to
Participant data including email, name, and role
Optionaloptions: RequestOptions
Optional request options
The newly added participant
Assign a backlog item onto a meeting agenda.
Creates a new agenda item on the destination meeting and closes the backlog item, so it subsequently reads as 404 and appears in backlog history.
The backlog item ID to assign
Assignment request with destination meeting ID
Optionaloptions: RequestOptions
Request options
IDs of the created agenda item and the closed backlog item
ProtectedbuildBuild axios config with optional per-request overrides (timezone, idempotency key).
Optionaloptions: RequestOptionsOptionalbaseConfig: AxiosRequestConfig<any, any>Create a new action item.
Action item creation data
Optionaldescription?: stringOptionaldue_date?: stringOptionalpartner_context?: Record<string, unknown>Optionalstatus?: ActionItemStatusOptionaloptions: RequestOptions
Optional request options
The newly created action item
Create a new agenda item for a meeting.
The meeting ID to add the agenda item to
Agenda item creation data
Optionaloptions: RequestOptions
Optional request options
The newly created agenda item
Create a new backlog item.
Backlog item creation data
Optionaloptions: RequestOptions
Request options
The newly created backlog item
Create a new chat session and submit the first user message.
The agent begins processing immediately. The response includes the session
and the initial user turn as current_turn. Listen for a
session.turn.completed webhook to know when the agent response is ready,
then call getSession to retrieve it.
Requires the chat:write OAuth scope.
Session creation data including the meeting ID and opening message
Optionaloptions: RequestOptions
Optional request options
The newly created session with current_turn populated
Create a new meeting.
Meeting creation data
Optionaloptions: RequestOptions
Optional request options
The newly created meeting
Create a new meeting from a calendar event.
Automatically populates meeting details from the calendar event including title, time, and participants.
The calendar event ID to create a meeting from
Optionaloptions: RequestOptions
Optional request options
The newly created meeting linked to the calendar event
Optionaloptions: RequestOptionsTrigger a new manual workflow run.
The workflow run creation request
Optionaloptions: RequestOptions
Request options
The created workflow run
ProtecteddeleteMake a DELETE request
Optionaloptions: RequestOptionsDelete an action item.
The unique action item ID to delete
Optionaloptions: RequestOptions
Optional request options
Delete an agenda item.
The meeting ID the agenda item belongs to
The agenda item ID to delete
Optionaloptions: RequestOptions
Optional request options
Remove a backlog item.
The item remains in backlog history.
The backlog item ID to delete
Optionaloptions: RequestOptions
Request options
Delete a meeting attachment.
The meeting ID
The attachment ID
Optionaloptions: RequestOptions
Request options
Delete a context document from a meeting.
This performs a soft-delete — the document's deleted_at timestamp is
set and it will no longer appear in list results or be available for
download.
The meeting ID the document belongs to (UUID format)
The context document ID to delete (UUID format)
Optionaloptions: RequestOptions
Optional request options
Download a meeting attachment.
The meeting ID
The attachment ID
Optionaloptions: RequestOptions
Request options
The attachment file bytes and metadata
Download the raw content of a context document.
Returns the file bytes along with metadata extracted from the response
headers (filename, content type, size). The data field is an
ArrayBuffer that can be written to disk, converted to a Buffer,
or processed in-memory.
The meeting ID the document belongs to (UUID format)
The context document ID to download (UUID format)
Optionaloptions: RequestOptions
Optional request options (e.g., timezone override)
Structured response containing the file bytes and metadata
Ensure the OAuth access token is valid, refreshing if necessary.
Call this before making API requests if you want to proactively refresh expired tokens rather than handling refresh on error.
Execute a next step for a meeting.
Triggers the AI-powered execution of a next step, which may generate content based on the meeting transcript and the step's AI prompt.
The meeting ID
The next step ID to execute
Optionaldata: ExecuteNextStepRequest
Optional execution parameters
Optionaloptions: RequestOptions
Request options
Execution response with result ID for tracking
Export a meeting transcript as an SRT file.
Requires the Elite plan and a meetings:read OAuth scope.
The meeting ID
Optionalparams: ExportMeetingTranscriptParams
Optional export parameters
Optionaloptions: RequestOptions
Request options
The transcript content as a plain-text SRT string
ProtectedgetMake a GET request
Optionalparams: objectOptionaloptions: RequestOptionsGet a specific action item by ID.
The unique action item ID (UUID format)
Optionaloptions: RequestOptions
Optional request options
The action item with full details
Get a paginated list of action items for the authenticated user.
Optionalparams: ActionItemListParams
Optional pagination and filter parameters
Optionaloptions: RequestOptions
Optional request options (e.g., timezone override)
Paginated action item list with total count
// Get all incomplete action items
const items = await user.getActionItems({ is_completed: false });
// Get action items for a specific meeting
const meetingItems = await user.getActionItems({ meeting_id: 'meeting-uuid' });
// Get action items within a date range
const recent = await user.getActionItems({
start_date: '2026-01-01',
end_date: '2026-01-31',
});
Get all action items by automatically paginating through all pages.
Use this when you need to fetch all action items without manually handling pagination.
For large datasets, consider using getActionItems() with pagination for better control.
Optionalparams: Omit<ActionItemListParams, "limit" | "offset">
Optional filter parameters (limit/offset are managed automatically)
Optionaloptions: RequestOptions
Optional request options (e.g., timezone override)
Array of all action items matching the filter criteria
Get all backlog history items by automatically paginating through all pages.
Optionalparams: Omit<BacklogItemHistoryListParams, "limit" | "offset">
Optional sort parameters (limit/offset are managed automatically)
Optionaloptions: RequestOptions
Request options
Array of all backlog history items
Get all active backlog items by automatically paginating through all pages.
Optionalparams: Omit<BacklogItemListParams, "limit" | "offset">
Optional filter and sort parameters (limit/offset are managed automatically)
Optionaloptions: RequestOptions
Request options
Array of all active backlog items
Get all calendar events within a date range by automatically paginating through all pages.
Required date range, optional direction (limit/offset managed automatically)
Optionaloptions: RequestOptions
Optional request options (e.g., timezone override)
Array of all calendar events within the date range
Get all attachments for a meeting by automatically paginating through all pages.
The meeting ID
Optionaloptions: RequestOptions
Request options
Array of all meeting attachments
Get all context documents for a meeting by automatically paginating through all pages.
The meeting ID to list context documents for (UUID format)
Optionaloptions: RequestOptions
Optional request options (e.g., timezone override)
Array of all context documents for the meeting
Get all meetings by automatically paginating through all pages.
Optionalparams: Omit<MeetingListParams, "limit" | "offset">
Optional filter parameters (limit/offset are managed automatically)
Optionaloptions: RequestOptions
Optional request options
Array of all meetings matching the filter criteria
Get a specific backlog item by ID.
The unique backlog item ID
Optionaloptions: RequestOptions
Request options
The backlog item
List backlog items that have left the backlog (assigned or removed).
Optionalparams: BacklogItemHistoryListParams
Optional pagination and sort parameters
Optionaloptions: RequestOptions
Request options
Paginated list of backlog history entries
List the authenticated user's active backlog items.
Optionalparams: BacklogItemListParams
Optional pagination and sort parameters
Optionaloptions: RequestOptions
Request options
Paginated list of backlog items
Get detailed information about a specific calendar event.
The calendar event ID to retrieve
Optionaloptions: RequestOptions
Optional request options
Complete calendar event details
Get calendar events for the authenticated user within a time range.
Requires the user to have connected their calendar via OAuth.
Filter parameters
Optionaldirection?: stringSort direction: asc or desc (default: asc)
Optionalend?: stringEnd time in RFC3339 format
Optionalend_date?: stringEnd date/time in ISO 8601 format (preferred over end)
Optionallimit?: numberNumber of results per page (default 25, max 100)
Optionaloffset?: numberPagination offset (default 0)
Optionalstart?: stringStart time in RFC3339 format
Optionalstart_date?: stringStart date/time in ISO 8601 format (preferred over start)
Optionaloptions: RequestOptions
Optional request options
List of calendar events within the specified range
Get a specific chat session by ID, including its turns.
By default returns only turns not yet seen by the caller (include: 'undelivered').
Pass include: 'all_turns' to retrieve the full conversation history.
Requires the chat:read OAuth scope.
The unique session ID (UUID format)
Optionalparams: GetChatSessionParams
Optional query parameters (include, turn_limit, turn_offset)
Optionaloptions: RequestOptions
Optional request options
The session with its turns
Get a paginated list of chat sessions for the authenticated user.
Requires the chat:read OAuth scope.
Optionalparams: ChatSessionListParams
Optional filter and pagination parameters
Optionaloptions: RequestOptions
Optional request options
Paginated session list with total count
Retrieve a specific turn by ID within a session.
This is useful when a turn_id is received via webhook and the partner
wants to fetch only that turn instead of the full session history.
Requires the chat:read OAuth scope.
The session ID that contains the turn
The turn ID to retrieve
Optionaloptions: RequestOptions
Optional request options
The requested turn with full details
Get a specific meeting by ID.
Automatically follows smart-redirect references (CON-1640) — if the meeting has been merged or moved, the response from the canonical meeting is returned transparently.
The unique meeting ID (UUID format)
Optionaloptions: RequestOptions
Optional request options
The meeting with full details
Get action buttons available for a meeting.
Returns action buttons that can be triggered for the meeting, typically associated with next steps.
The meeting ID
Optionalparams: MeetingActionButtonListParams
Optional pagination parameters
Optionaloptions: RequestOptions
Request options
Paginated list of action buttons
Get agenda items for a specific meeting.
The meeting ID to get agenda items for
Optionaloptions: RequestOptions
Optional request options
List of agenda items for the meeting
Get a specific meeting attachment.
The meeting ID
The attachment ID
Optionaloptions: RequestOptions
Request options
The attachment metadata
List attachments for a meeting.
The meeting ID
Optionalparams: MeetingAttachmentListParams
Optional pagination parameters
Optionaloptions: RequestOptions
Request options
Paginated list of meeting attachments
Get a specific context document by ID.
The meeting ID the document belongs to (UUID format)
The context document ID to retrieve (UUID format)
Optionaloptions: RequestOptions
Optional request options (e.g., timezone override)
The context document with full metadata
Get a paginated list of context documents for a meeting.
Returns only documents uploaded by the current partner application — documents created by other partners or by users directly are not visible.
The meeting ID to list context documents for (UUID format)
Optionalparams: MeetingContextListParams
Optional pagination parameters
Pagination parameters for listing meeting context documents.
Optionallimit?: numberMaximum number of documents to return (default: 25, max: 100)
Optionaloffset?: numberNumber of documents to skip for pagination (default: 0)
Optionaloptions: RequestOptions
Optional request options (e.g., timezone override)
Paginated list of context documents with total count
Get next steps for a specific meeting.
Returns the next steps associated with the meeting, including any available action buttons for each next step.
The meeting ID
Optionalparams: MeetingNextStepListParams
Optional pagination parameters
Optionaloptions: RequestOptions
Request options
Paginated list of next steps
Get participants for a specific meeting.
The meeting ID to get participants for
Optionaloptions: RequestOptions
Optional request options
List of meeting participants with their roles
Get a paginated list of meetings for the authenticated user.
Optionalparams: MeetingListParams
Optional pagination and filter parameters
Optionaloptions: RequestOptions
Optional request options (e.g., timezone override)
Paginated meeting list with total count
Get a specific meeting template.
The unique template ID
Optionaloptions: RequestOptions
Request options
The meeting template with full details
Get meeting templates available to the user.
Returns templates that the user can use to create meetings, including associated next steps and action buttons.
Optionalparams: UserMeetingTemplateListParams
Optional pagination parameters
Optionaloptions: RequestOptions
Request options
Paginated list of meeting templates
Get the result of a next step execution.
The result ID from executeNextStep
Optionaloptions: RequestOptions
Request options
The next step execution result
ProtectedgetMake a GET request that returns the full AxiosResponse, including
headers and raw data.
Use this for endpoints that return binary content (e.g. file downloads)
where the caller needs access to response headers such as
Content-Disposition or Content-Type.
Request path relative to the client's base URL
Optionalparams: object
Optional query parameters
Optionaloptions: RequestOptions
Optional per-request options (e.g. timezone override)
Axios response type (default: 'arraybuffer')
The full axios response
Get a specific toolkit with installation status.
The unique toolkit ID
Optionaloptions: RequestOptions
Request options
The toolkit with installation status
Get available toolkits with installation status.
Returns toolkits that are active and available to install, along with installation status for the user's workspace.
Optionalparams: ToolkitListParams
Optional pagination parameters
Optionaloptions: RequestOptions
Request options
Paginated list of toolkits with installation status
Get the authenticated user's profile.
Optionaloptions: RequestOptions
Optional request options
The user's profile including name, email, and preferences
Get a workflow run by ID.
The unique workflow run ID
Optionaloptions: RequestOptions
Request options
The workflow run with full details
Install a toolkit in the user's workspace.
Creates all toolkit entities (templates, next steps, action buttons) in the user's workspace based on the toolkit manifest.
The unique toolkit ID to install
Optionalparams: InstallToolkitParamsOptionaloptions: RequestOptions
Request options
The installation record
Link a calendar event to an existing meeting.
The meeting ID to link to
Calendar event linking data
Optionaloptions: RequestOptions
Optional request options
Confirmation of the link with event details
List workflow runs in the authenticated user's workspace.
Optionalparams: WorkflowRunListParams
Optional filter and pagination parameters
Optionaloptions: RequestOptions
Request options
Paginated list of workflow runs
ProtectedpatchMake a PATCH request
Optionaldata: unknownOptionaloptions: RequestOptionsProtectedpostMake a POST request
Optionaldata: unknownOptionaloptions: RequestOptionsProtectedpostMake a POST request with multipart/form-data.
Overrides the default application/json content type so that axios
sets the correct multipart/form-data boundary automatically.
Request path relative to the client's base URL
A FormData instance containing the fields and files to upload
Optionaloptions: RequestOptions
Optional per-request options (e.g. timezone override)
Parsed response body
ProtectedputMake a PUT request
Optionaldata: unknownOptionaloptions: RequestOptionsRemove a participant from a meeting.
The meeting ID to remove the participant from
The participant ID to remove
Optionaloptions: RequestOptions
Optional request options
Enqueue a new user message as the next turn in an existing session.
Returns immediately with the queued turn and its position in the processing
queue. The agent processes all queued turns sequentially — wait for a
session.turn.completed webhook before calling getChatSession.
Requires the chat:write OAuth scope.
The session ID to add a message to
The message to send
Optionaloptions: RequestOptions
Optional request options
The queued turn and its position in the processing queue
Trigger an action button for a meeting.
Executes the action associated with the button, which may send an email, create a document, trigger a webhook, or perform other actions.
The meeting ID
The action button ID to trigger
Optionaldata: TriggerActionButtonRequest
Optional trigger parameters
Optionaloptions: RequestOptions
Request options
Trigger response with result information
Uninstall a toolkit from the user's workspace.
Removes all toolkit-created entities from the user's workspace.
The unique toolkit ID to uninstall
Optionaloptions: RequestOptions
Request options
Update an existing action item.
The unique action item ID to update
Fields to update (all optional)
Optionaloptions: RequestOptions
Optional request options
The updated action item
Update an existing agenda item.
The meeting ID the agenda item belongs to
The agenda item ID to update
Fields to update
Optionaloptions: RequestOptions
Optional request options
The updated agenda item
Update an existing backlog item.
The backlog item ID to update
Fields to update
Optionaloptions: RequestOptions
Request options
The updated backlog item
Update an existing meeting.
The meeting ID to update
Fields to update (all optional)
Optionaloptions: RequestOptions
Optional request options
The updated meeting
Upload a file attachment to a meeting.
Attachments are stored as-is and are not normalized or PII-scrubbed; use the Context endpoints for material the Contio AI agent should read.
The meeting ID
Attachment upload data
Optionaloptions: RequestOptions
Request options
The created attachment metadata
Upload a context document to a meeting.
The file is sent as multipart/form-data. The SDK handles FormData
construction automatically — callers supply a plain request object.
The meeting ID to attach the document to (UUID format)
Upload parameters including the file, source format, and optional metadata
Parameters for uploading a meeting context document.
The file field accepts any Blob-compatible value — in Node.js ≥ 22 this
includes Buffer, File, and Blob instances. The SDK converts the
request into a multipart/form-data upload automatically.
Optionalcontext_type?: stringLogical context type — a free-form partner-defined category.
Document file contents
Source format of the file.
Must match the actual content — the server validates the file against this declaration.
Optionaltitle?: stringHuman-readable document title (defaults to the filename if omitted)
Optionaloptions: RequestOptions
Optional request options (e.g., timezone override)
The newly created context document
import { readFile } from 'node:fs/promises';
const buffer = await readFile('./agenda.md');
const doc = await user.uploadMeetingContextDocument('meeting-id', {
file: new Blob([buffer]),
source_format: 'md',
title: 'Sprint planning agenda',
context_type: 'agenda',
});
console.log(`Uploaded: ${doc.id}`);
Partner User API client for OAuth-authenticated user endpoints.
Provides access to meetings, action items, calendar events, and user profile for the authenticated user. Requires an OAuth access token.
Example