Skip to main content
Do this once for your integration, then once for each customer who turns on meetings.

Your API key

Keep your key on your backend. Send it bare in Authorization, and pin the API version so the shapes never change under you:
Every example in this guide sends Aefer-Version: 2026-11-13. Your account key (sk_live_…) comes from _æfer; it reaches the workspaces your account creates.

A workspace per customer

Each of your customers gets its own workspace: their users, meetings, recording rules and branding stay apart from every other customer’s. Put your customer’s id in client_reference_id, unique in your account and fixed once set (a duplicate answers 422 taken):
Store the wks_ id next to your customer. Every other call takes it as workspace_id. metadata is yours, on workspaces, members, meetings, calendar events, bots, brand kits and webhook endpoints: up to 50 keys, keys up to 40 characters, string values up to 500 characters. Updates merge; an empty string removes a key. _æfer never acts on it, and it comes back in every webhook that carries the object.

A webhook endpoint

Register your endpoint in the workspace before its users connect a calendar: connecting sends events straight away. Name each event you want; wildcards such as meeting.* are rejected.
Store the secret from the response; it is shown once. Webhooks shows how to verify each request, handle retries, and recover events you missed. Treat each event as a signal: read the resource again and save what the read returns.

Company defaults

Your customer’s admin decides what gets recorded by default and how the notetaker looks in calls.
An admin screen: Default for new users, Record meetings with external guests, and Branding: the notetaker name Acme Notetaker with an avatar. Notes: the company default is the workspace's own settings, created with POST /settings assigned to workspaces:wks_…, and its meetings: categories; Branding is POST /brand_kits and branding.brand_kit_id.

What a new workspace starts with

Until you change them, a workspace and its members start with these defaults: The notetaker joins a scheduled meeting three minutes before it starts.

Which setting wins

For each field of a meeting, the most specific assignment that sets it wins. The full order is in Company settings. Defaults for all your customers go on your account’s settings (accounts:acc_…). One customer’s defaults go on its workspace’s own settings, below.

What gets recorded

A new workspace has no settings of its own: it follows your account’s (accounts:acc_…), which every workspace shares. Give it its own, assigned to the workspace alone:
Keep its id, and change it later with PATCH /settings/{id}. A second POST for the same scope answers 409 scope_taken with the assignment. Never PATCH the settings assigned to accounts:acc_… for one customer: they apply to all of them. recording.enabled: true records every meeting. To record only some, set it to false and record each category with its own assignment:
Each user can then choose their own in meeting settings.

Branding

A brand kit is how the notetaker presents itself in your customer’s calls and in the summary email: its name, its video tile, its chat messages and the email’s look. Build one, show its preview to your customer, and apply it with branding.brand_kit_id in the workspace’s settings: see Branding.