BilbyHelp Center

Create conversation

POST
/api/v1/conversations

Create a conversation.

With no message: 201 and the conversation row. With message: 202 { runId, streamUrl } — observe with Get stream.

Authorization

bearerAuth
headerAuthorizationBearer <token>

Personal API key (Authorization: Bearer pulse_...). Scoped to selected organizations (or all current ones); acts as the creating user. If the key covers more than one organization, pass its organizationId on each request.

Request Body

application/json
  1. body
organizationId?string

Organization to operate in. Optional when the API key is bound to exactly one organization (inferred). Required for keys that cover several or all organizations, and for session cookie auth.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
workspaceId?stringDeprecated

Deprecated: the old name of organizationId, still accepted. If both are sent, they must match.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
title?string
Length1 <= length <= 200
agentId?string

Agent for the new conversation: the organization's assigned agent (default) or a public agent.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
vaultId?unknown
projectId?unknown
message?string
Length1 <= length
attachments?array<>

Files uploaded via POST /attachments/init. Each entry is { objectKey, filename, mediaType, uploadToken } from the init response.

Itemsitems <= 10
operationId?string
Length1 <= length <= 200
locale?string
reasoningEffort?string
Value in"auto""low""medium""high""max"

Response Body

Created conversation (no message)

application/json
  1. response
id*string
Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
userId*string
organizationId*string
Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
workspaceId*stringDeprecated

Deprecated: the same as organizationId, kept for existing callers.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
title*string|null
activeRunId*string|null
activeMessageId*string|null
createdAt*string
Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Formatdate-time
updatedAt*string
Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Formatdate-time
Example Request
curl -X POST 'https://pulse.bilby.ai/api/v1/conversations' \  -H 'Authorization: Bearer YOUR_API_KEY' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "userId": "string",  "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",  "workspaceId": "ef0efa32-d1c1-43d4-a5e2-fe7b4f00403c",  "title": "string",  "activeRunId": "string",  "activeMessageId": "string",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}