Skip to main content
POST
/
v0
/
chat
/
sessions
Create Session
curl --request POST \
  --url https://api.sumvin.com/v0/chat/sessions \
  --header 'Content-Type: application/json' \
  --header 'x-juno-jwt: <api-key>' \
  --data '
{
  "id": "<string>",
  "messages": [
    {
      "id": "<string>",
      "role": "<string>",
      "parts": [
        {}
      ],
      "created_at": 123,
      "metadata": {}
    }
  ],
  "title": "<string>"
}
'
{
  "_links": {},
  "session": {
    "id": "<string>",
    "title": "<string>",
    "preview": "<string>",
    "message_count": 123,
    "created_at": 123,
    "updated_at": 123,
    "sv_meta": {},
    "messages": [
      {
        "id": "<string>",
        "message_id": "<string>",
        "role": "<string>",
        "text_content": "<string>",
        "parts": [
          {}
        ],
        "tool_names": [
          "<string>"
        ],
        "extra_metadata": {},
        "sequence": 123,
        "created_at": 123
      }
    ]
  }
}

Authorizations

x-juno-jwt
string
header
required

JWT issued by Dynamic Labs or Privy. Sent in the x-juno-jwt header on every authenticated request.

Headers

x-juno-orgid
string | null

Tenant org ID for multi-tenant auth

x-juno-jwt
string | null

JWT token from x-juno-jwt header

X-Timestamp-Format
string

Controls how timestamp fields are serialized in JSON response bodies.

Default (header omitted or any other value): epoch milliseconds as integers. iso8601: UTC ISO 8601 strings of the form YYYY-MM-DDTHH:MM:SSZ.

Example: with X-Timestamp-Format: iso8601, the field value 1704067200000 becomes "2024-01-01T00:00:00Z".

Affected fields (recursively, in dicts and arrays): any field whose name ends in _at, plus the literal field names timestamp, period_start, and period_end. All other fields are passed through unchanged.

Only iso8601 is recognized. Any other value (or omitting the header) yields the default epoch-ms representation; the server does not reject unknown values, so this is documented as an example rather than an enum to keep generated clients permissive.

Example:

"iso8601"

Body

application/json
id
string
required
Required string length: 1 - 64
messages
MessageInput · object[]
required
Minimum array length: 1
title
string | null
Maximum string length: 255

Response

Session created successfully with initial messages

HAL-style hypermedia links for navigation and available actions.

session
SessionData · object
required