In-app assistant

POST /assistant/sessions/{id}/messages Session or API key

Send a message and stream the turn as Server-Sent Events.

Body is {"text": "..."} (max ~8000 characters, deployment-configured). The response is text/event-stream, not JSON: each frame is event: <kind> plus a data: line carrying the JSON event (whose own type field repeats the kind). Kinds: queued (this turn waited for one already running), user_prompt, assistant_text / assistant_thought (streamed deltas), tool_use / tool_result, usage, and exactly one terminal result carrying stop_reason (completed, cancelled, or error). The turn keeps running even if you stop reading — stopping it is a separate call to .../cancel.

Path parameters

id string (UUID) required
The session id.

Body

text string required
Your message.Example Should I relocate for this role?
curl
curl -N -X POST "https://freehire.me/api/v1/assistant/sessions/<id>/messages" \
  -H "Authorization: Bearer $HIREALL_API_KEY" -H 'Content-Type: application/json' \
  -d '{"text":"Should I relocate for this role?"}'
json — response
event: user_prompt
data: {"type":"user_prompt","text":"Should I relocate for this role?"}

event: assistant_text
data: {"type":"assistant_text","text":"Based on the salary range..."}

event: result
data: {"type":"result","stop_reason":"completed"}

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of HireAll is available