Skip to content

Changelog

The Protoface API follows an additive-only compatibility commitment. Once an endpoint, request/response field, header, error code, enum value, or webhook event type ships, it is part of the contract: we add alongside, we never rename or remove. New response enum values and webhook event types may appear at any time — clients must tolerate unknown values.

First public release of the Protoface realtime avatar API (/v1).

Endpoints

  • GET /v1/status — unauthenticated platform health roll-up.
  • POST /v1/sessions — create a realtime avatar session.
  • GET /v1/sessions — list sessions (cursor pagination, status filters).
  • GET /v1/sessions/{session_id} — retrieve a session.
  • POST /v1/sessions/{session_id}/end — end a session (idempotent).
  • GET /v1/avatars — list avatars.
  • GET /v1/avatars/{avatar_id} — retrieve an avatar.
  • POST /v1/avatars — upload a custom avatar (contract reserved; pipeline lands later).
  • GET /v1/usage — aggregated usage summary.

Transports

  • livekit (BYO) available. websocket and pipecat reserved in the contract, not yet available.

Platform

  • API-key auth (sk_live_...), environment-scoped.
  • Optional Idempotency-Key on creates (24h window).
  • Uniform error envelope with stable error.code.
  • Limits & quotas published.
  • Official TypeScript SDK (@protoface/sdk).
  • Runs against the deterministic mock avatar runtime — see Known limitations.