Open app
Moonborn — API · chat

Start a chat session bound to (persona, user, workspace)

POST/v1/personas/{id}/chat/sessionsscope · Bearer (API key or session JWT)
Path parameters
FieldTypeDescription
idreqstringPersona id (e.g. `psn_*`).
Request body
FieldTypeDescription
personaIdreqstring
titlestring

Responses

201Session created
Body
FieldTypeDescription
sessionreqobject
session.sessionIdreqstring
session.orgIdreqstring
session.workspaceIdreqstring
session.personaIdreqstring
session.userIdreqstring
session.titlereqstring
session.statusreqstring · "active" | "ended" | "archived"
session.messageCountreqnumber
session.inputTokensreqnumber
session.outputTokensreqnumber
session.costUsdMicrosreqnumber
session.startedAtreqstring
session.lastActiveAtreqstring
session.endedAtreqstring
401Unauthenticated
Body
FieldTypeDescription
errorreqobject
error.codereqstring
error.messagereqstring
404Persona not found
Body
FieldTypeDescription
errorreqobject
error.codereqstring
error.messagereqstring
422Validation error
Body
FieldTypeDescription
errorreqobject
error.codereqstring
error.messagereqstring

Examples

cURL
curl -X POST https://api.moonborn.co/v1/personas/<id>/chat/sessions \
  -H "Authorization: Bearer $MOONBORN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
      "personaId": "<string>"
    }'
TypeScript
import Moonborn from '@moonborn/sdk';

const client = new Moonborn({ apiKey: process.env.MOONBORN_API_KEY });

const result = await client.chat.startChatSession({
  id: '<id>',
  personaId: "<string>",
});
Python
import os
from moonborn import Moonborn

client = Moonborn(api_key=os.environ["MOONBORN_API_KEY"])

result = client.chat.start_chat_session(
    id="<id>",
    persona_id="<string>",
)