Skip to main content
POST
Create Client Token Endpoint

Response Headers

X-Correlation-ID
header
Unique identifier for the request. Include this when contacting support.Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

Headers

X-Client-Request-Id
string

Optional identifier supplied by the client to correlate this request with their own logs. When provided, the value is recorded alongside the server-assigned correlation ID in Interhuman logs to aid lookup and support investigations. This header is not echoed back in the response; the server returns its own correlation ID in the X-Correlation-ID HTTP response header.

Body

application/json

Request schema for minting an ephemeral, capped client token.

api_key
string
required

Your full API key from the Interhuman dashboard.

scopes
enum<string>[]

Scopes to grant the token. Defaults to interhumanai.stream. The key must itself hold every requested scope. The per-token caps are enforced on streaming sessions (stream / real-time); the video budget additionally spans upload.

Minimum array length: 1

Scopes define which endpoints the API key can call.

Options:

  • interhumanai.upload for /v1/upload/analyze
  • interhumanai.stream for /v1/stream/analyze
Available options:
interhumanai.upload,
interhumanai.stream
expires_in
integer | null

Requested time-to-live in seconds. Clamped to the supported range (60–3600s). Omit to use the default. The response expires_in is authoritative.

Required range: x >= 1
max_duration_seconds
integer | null

Maximum wall-clock duration of a stream session opened with this token.

Required range: x >= 1
max_bytes
integer | null

Maximum cumulative video bytes a session opened with this token may send.

Required range: x >= 1
max_concurrent
integer
default:1

Maximum number of concurrent streaming sessions opened with this token. Defaults to 1 (a minted token can drive only one session at a time); raise it only if a single token must power several simultaneous sessions.

Required range: x >= 1
max_video_seconds
integer | null

Maximum total seconds of video the token may process across upload, stream, and real-time combined. Metered server-side; when exhausted, further processing is refused and the client must mint a new token.

Required range: x >= 1
allowed_origins
string[] | null

Allow-list of browser Origin values permitted to use this token. When set, a connection whose Origin is absent or not listed is rejected.

Response

Successful Response

Response schema for a minted ephemeral client token.

access_token
string
required

The generated client token.

expires_in
integer
required

Time in seconds until the token expires.

scope
string
required

Space-separated list of granted scopes.

token_type
string
default:Bearer

Token type. Always Bearer.

max_duration_seconds
integer | null

Per-token max session duration that will be enforced, if any.

max_bytes
integer | null

Per-token max cumulative session bytes that will be enforced, if any.

max_concurrent
integer | null

Per-token max concurrent sessions that will be enforced, if any.

max_video_seconds
integer | null

Per-token total video-seconds budget that will be enforced, if any.

allowed_origins
string[] | null

Per-token allow-list of browser origins that will be enforced, if any.