Skip to main content

Access

  • Your API key stays on your backend, never in a browser or an app.
  • The key is an owner or admin of every customer workspace.
  • Every request sends Happyscribe-Version: 2026-10-12.

Each customer

  • One workspace per customer, with your customer id in metadata.
  • A webhook endpoint in the workspace, with each event named in enabled_events (calendar_connection.* and meeting.* events, and bot.* if you use them).
  • The company recording default set in the workspace’s settings.
  • A brand kit, so the notetaker joins with their name and avatar.
  • A plan with notetaker customization, or defaults and branding answer 403.

Your users

  • The first connect comes from a call to action, with member_data carrying your user id.
  • You store member_id from the return (or the calendar_connection.connected webhook).
  • Reconnect uses member_id, never member_data again.
  • calendar_connection.error shows a Reconnect button.
  • Users who send bots without a calendar get a member from POST /members first.

Meetings and results

  • Your receiver verifies X-HappyScribe-Signature, stores the event, and answers 2xx within 10 seconds.
  • On each event you read the resource again and save what the read returns.
  • Labels follow the label table: phase and settings.recording before and during the call, results.status after it.
  • Results are read after meeting.finished, and media is downloaded within the hour.
  • After an outage, you recover missed events with GET /webhook_events?delivery_status=failed.

Limits

A 429 carries Retry-After: wait that long and send the same request again. Your users record calls with people outside your product. Tell them, and their guests, that calls are recorded.