Skip to main content
POST
/
api
/
v1
/
capture-session
Capture session
curl --request POST \
  --url https://api.agnost.ai/api/v1/capture-session \
  --header 'Content-Type: application/json' \
  --header 'x-org-id: <x-org-id>' \
  --data '
{
  "session_id": "a3f9c182-7d4e-4b6a-9e21-c5d8f0b4e731",
  "user_data": {
    "user_id": "user-anon-002",
    "email": "[email protected]",
    "user_plan": "pro"
  },
  "metadata": {
    "language": "hi-IN"
  },
  "timestamp": 1714867200000,
  "client_config": "client-segment-001"
}
'
{
  "session_id": "<string>"
}
Call once per conversation. Reuse session_id on every event that follows.

Body

FieldTypeRequiredDescription
session_idstring (UUID)RequiredSession UUID. Reuse on every event in this conversation.
user_dataobjectRequiredEnd-user identity. Must contain user_id; other keys are free-form.
metadataobjectOptionalFree-form session metadata.
timestampinteger (ms)OptionalUnix time in ms when the session began. Defaults to server time.
client_configstringOptionalFree-form client/SDK label.

Headers

x-org-id
string
required

Your organization ID (UUID, case-insensitive).

Example:

"<org-id>"

Body

application/json
session_id
string<uuid>
required

Session UUID. Reuse on every event in this conversation.

Example:

"a3f9c182-7d4e-4b6a-9e21-c5d8f0b4e731"

user_data
object
required

End-user identity. user_id is required; other keys are free-form.

Example:
{
"user_id": "user-anon-002",
"email": "[email protected]",
"user_plan": "pro"
}
metadata
object

Free-form session metadata.

Example:
{ "language": "hi-IN" }
timestamp
integer<int64>

Unix time in ms when the session began. Defaults to server time.

Example:

1714867200000

client_config
string

Free-form client/SDK label.

Example:

"client-segment-001"

Response

Session created

session_id
string