Send Message (Async)
Accepts an inbound customer message and answers immediately without waiting for the agent’s reply. Every reply — and the turn’s completion — is delivered to the agent’s delivery URL instead of riding back on this response.
Requires the agent to have a delivery URL configured; use this endpoint when your integration can’t hold a request open for the length of a turn (e.g. a webhook-based gateway with its own timeout). Otherwise, Send Message is simpler.
Takes the same parameters as Send Message, including idempotency_key, interactive-message fields, and supported_interactions.
Authorizations
16-character API token associated with your OSVI account. Find it in your dashboard under Settings → API.
Body
Unique identifier of the agent handling the conversation.
"agent_IsZ3Q6Sf_60Eh26XQMGbz-R_og"
Your identifier for the customer sending the message. Used to resolve the active session when session_id is omitted.
"+15551112222"
The customer's message text. Required unless type is interaction_response.
"Hi, I need help."
Optional session UUID to route the message to. If omitted, the engine resolves the active/new session for the customer + agent.
"4718a326-417b-4dda-90d0-21fd65a11cb8"
Your identifier for this exact turn. Strongly recommended on this endpoint: since the reply arrives later on the delivery webhook, this is what lets you correlate it back to the request that triggered it (it's echoed on every delivered envelope). A retry with the same key returns the original 202 instead of accepting the turn twice. Can also be sent as an Idempotency-Key header instead of a body field.
"wh-2f8a1c-attempt-1"
Arbitrary key-value object made available to the agent at runtime. Only applied when this request creates a new session.
Initial values for the agent's configured state fields. Only applied when this request creates a new session.
Free-text context entries for a newly created session. Only the most recent 5 non-empty strings are retained. Only applied when this request creates a new session.
message for a normal text message (default). interaction_response to answer an interactive message the agent sent — see Interactive messages.
message, interaction_response "message"
Required when type is interaction_response.
"b6a3e6c2-2d61-4a4b-9c9a-5a2d9f6a2b10"
Shorthand answer for a simple option tap. Send this or response, not both.
"opt_confirm"
Structured answer to a pending interactive message. Send this or option_id, never both. See Interactive messages.
Declares which interactive message types your client can render. See Interactive messages.
Response
Turn accepted. The reply (and every other reply this turn produces) is delivered to the chat delivery webhook, not in this response.
