Passo Developers
Api

Send a message

POST
/conversations/messages

Sends a message in a conversation and returns the thread it landed in (conversationId, the cnv_ id that existed or was just opened) plus the created message. Body: body (required, non-empty) and EITHER conversationId (reply to an existing thread by its cnv_ id) OR creatorId (open-or-reuse the thread with that creator in the caller's resolved workspace — see Passo-Workspace — and send the first message). The caller must be a member of the workspace and is recorded as the author. 404 if the referenced thread doesn't exist or you can't see it.

Authorization

oauthJwt
AuthorizationBearer <token>

A Supabase-issued OAuth user access token. On collection endpoints, pair with a Passo-Workspace header to pick a workspace.

In: header

Header Parameters

Passo-Workspace?string

The workspace's public id (e.g. wsp_abc) to operate in. OAuth callers with more than one workspace must send it; a single-workspace caller may omit it. Ignored for API keys (the key is pinned to its workspace). A uuid or another resource's id is rejected with a 400.

Match^wsp_

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/conversations/messages" \  -H "Content-Type: application/json" \  -d '{    "body": "string"  }'
{  "conversationId": "string",  "message": {    "id": "string",    "body": "string",    "authorUserId": "string",    "createdAt": "string"  }}