Ingestion API
Capture Session
Start a session at the beginning of a conversation
POST
https://api.voxmith.com/api/v1/capture-sessionCall once per conversation. Reuse session_id on every event that follows.
Body
| Field | Type | Required | Description |
|---|---|---|---|
session_id |
string (UUID) |
Required | Session UUID. Reuse on every event in this conversation. |
user_data |
object |
Required | End-user identity. Must contain user_id. |
metadata |
object |
Optional | Free-form session metadata. |
timestamp |
integer (ms) |
Optional | Unix time in ms when the session began. Defaults to server time. |
client_config |
string |
Optional | Free-form client/SDK label. |
Verify
After creating a session and sending at least one event, open Events in Voxmith and confirm the session_id appears on the event.
Troubleshooting
session_idmust be a UUID.user_data.user_idis required.- Reuse the same
session_idfor every event in the conversation.
Next steps
- Capture an event: add activity to the session you created.
- Authentication: review organization routing and API access.
- Ingestion errors: troubleshoot rejected requests.
Headers
x-org-idstringrequiredYour organization ID (UUID, case-insensitive).
Request body
session_idstring · uuidrequiredSession UUID. Reuse on every event in this conversation.
user_dataobjectrequiredEnd-user identity.
user_id is required; other traits are supported for analytics. The example shows shape, but production integrations should prefer a stable pseudonymous ID and avoid raw email, name, phone, or other personal data unless explicitly approved.user_idstringrequiredmetadataobjectFree-form session metadata. Prefer allowlisted operational fields; do not send secrets or sensitive personal data.
timestampinteger · int64Unix time in ms when the session began. Defaults to server time.
client_configstringFree-form client/SDK label.
Responses
200Session created400Invalid request bodyWas this page helpful?