Skip to main content

TypeScript and Node.js

The server client covers control-plane resources, participant session creation, results, continuous evaluation, analytics, and webhooks.
@apart-ai/synapse@0.1.0 currently requires access to the project’s GitHub Packages registry and Node.js 20 or newer.

Create a client

expiresInSeconds defaults to one hour and accepts 300 seconds up to ten years (315360000). Resending the same launch with a new idempotency key while its session is still open returns that session and extends expires_at to at least expiresInSeconds from now; only the expiry may differ, and it is never shortened.

Namespaces

Builder workflow

Environment keys may create and validate drafts. Publication, activation, evaluation release, and report-share management require an authenticated owner/admin session.

Errors, retries, and pages

  • Persist caller-generated idempotency keys across restarts. Automatic keys protect only one invocation.
  • List methods return { items, next_cursor }. Use the namespace’s listAll* helper when available.
  • Respect retryAfter for 429, and retry only transport errors plus supported 408, 425, 429, and 5xx responses.
Continue with browser and React integration or inspect the wire contract.