Skip to main content

API surfaces

One babelconnect.v1 protobuf contract defines commands, agent state and reference-data RPCs. Choose the surface that matches your integration:

SurfaceUseReference
Connect / gRPC-webLive Subscribe stream, unary Send commands and data fetchesProtocol
REST / OpenAPI 3.1Annotated unary operations over HTTP/JSONREST reference
Events / AsyncAPISchemas describing the server's StateUpdate streamEvents reference

How they relate

All current SDKs use server-streaming Subscribe plus unary Send. TypeScript uses gRPC-web; Go uses Connect over HTTP/1.1. The bidirectional Session RPC and separate native listener were retired. The handler also understands native gRPC, but the current server listener has no TLS/h2c and does not serve HTTP/2; a native gRPC client cannot use it directly. A unary acknowledgement confirms command delivery, not its outcome: effects arrive as state patches and rejections as stream errors.

REST exposes the annotated unary calls, not the live stream. GET /v1/agent/state returns the current authoritative view when a session exists. Without a session, it assembles agent, presence, wrap-up and SMS state, but has no live calls. AsyncAPI describes stream messages; it is not a separate subscription service.

Download the self-contained OpenAPI JSON or AsyncAPI YAML for tooling. A REST-generated client can make those unary calls; live updates require a client that implements Subscribe and the snapshot/patch model.

All authenticated surfaces accept Authorization: Bearer …; see Authentication. SDKs attach the header for you. Start with TypeScript for browser audio or check Go availability and transport limits for a service or terminal client.