Introduction

The AVStack API gives you programmatic access to nearly everything you can do through the AVStack Console. You can create stacks, modify stack configuration, get details of active and past conferences & participants, start and stop recording, get recording metadata & download URLs, start and stop live streams, get live stream metadata & watcher URLs, get completed transcriptions and more.

Getting Started

Get an API key

API keys are generated in the AVStack Console. In order to generate API keys, your account must be on a paid tier — the free tier does not include API access.

<aside> 💡 We recommend that you generate a separate key for each separate program or deployment that will use the API, to reduce the impact if you need to regenerate a key.

</aside>

Authenticating to the API

The AVStack API requires the use of a time-limited session token for authentication. This session token is obtained via the API, using your API key, and can be re-used for multiple API requests until its expiry time.

<aside> 💡 We recommend storing the session token and re-using it until it is close to expiry. This way, your code won't have to make two requests every time it needs to access the API.

</aside>

Making API requests

API calls that retrieve data without making any modifications use the GET HTTP method. API calls that create a new object use the POST HTTP method. API calls that update an existing object use the PUT HTTP method, and API calls that delete an object use the DELETE HTTP method.

For POST and PUT requests, the body must be encoded as JSON.

Handling API responses

API requests that succeed will return an HTTP response with an appropriate status code in the 2xx range; typically 200 OK, 201 Created or 204 No Content.

Errors in handling the request are indicated using appropriate HTTP response status codes. For example, a malformed request would be indicated by a 400 Bad Request response.

If an API response includes a body, it will be encoded as JSON.

Data types

Fields of type string, boolean and number are encoded using their standard native JSON representations.

Fields of type date-time are encoded as JSON strings in RFC 3339 format, for example 2014-11-28T12:00:09+00:00.

Fields of type bytes are encoded as JSON strings containing base64-encoded binary data.