Skip to main content
POST
Start a conversation
Opens a new shared thread with a hosted agent. Use it when you want a separate thread per task. For a private one-to-one thread, use the agent’s direct conversation instead. Related guide: Agent access: grant credentials to agents. Opens a new, non-direct conversation with a hosted agent. For a private thread with the agent use PUT /agents/{agentId}/conversations/direct instead.
Availability: Cloud · Community (self-hosted) · Enterprise (self-hosted)

Authorizations

Authorization
string
header
required

A workspace API key (oc_…) or organization API key (oc_org_…). Workspace-scoped endpoints called with an organization key also need X-Workspace-Id.

Body

application/json
agentId
string
required
source
enum<string>
default:web

Where the conversation is born. Defaults to web.

Available options:
web,
slack,
cron,
watch,
agent
title
string
Maximum string length: 200
externalRef
string

Your own reference for the thread.

Maximum string length: 500

Response

The conversation

id
string
agentId
string
source
string

Where the conversation was born: web, a channel provider (slack), cron, watch, or agent (an agent-to-agent pair).

externalRef
string | null

The provider-side thread reference for channel conversations.

direct
boolean

True for a person's private direct thread with the agent. Direct threads are visible only to their owner.

userId
string | null

The owner of a direct thread.

title
string | null
createdAt
string<date-time>
updatedAt
string<date-time>