BilbyHelp Center

Send message

POST
/api/v1/conversations/{id}

Append a user message and admit an assistant turn.

Body is { message, attachments?, locale?, reasoningEffort? }. History is server-side. Returns 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.

Path Parameters

id*string

Query Parameters

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
runId?string
cursor?string

Request Body

application/json
  1. body
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
locale?string
reasoningEffort?string
Value in"auto""low""medium""high""max"
inputResponses?array<unknown>

Response Body

Turn accepted

application/json
  1. response
ok*boolean
conversationId*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
status*string
runId*string
streamUrl*string
Example Request
curl -X POST 'https://pulse.bilby.ai/api/v1/conversations/string' \  -H 'Authorization: Bearer YOUR_API_KEY' \  -H 'Content-Type: application/json' \  -d '{  "message": "string"}'
Example Response
{  "ok": true,  "conversationId": "ee6e55e8-45fe-4a3e-9bc8-4669f9fdf77a",  "status": "accepted",  "runId": "string",  "streamUrl": "string"}