TaadDocs
Help CenterAPIPolicies
Reference

Webhook events

A recording sent through the API was taken and is queued, or a recording was moved into this workspace. Its status says where it is; recording.ready follows.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/recording.created

Transcribed, its speakers told apart and its notes written. Carries the transcript and the notes, so you needn't call back.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/recording.ready

It couldn't be transcribed: object.failure says why. A recording sent through the API that failed is not charged.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/recording.failed

Its title, transcript, notes or speakers changed after it was ready, or it was filed into or out of a folder (changed says which), at most every 30 seconds per recording. Carries the transcript and notes as they are now.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/recording.updated

Deleted, merged into another recording, or moved out of this workspace (reason). Earlier events forget its transcript and notes.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/recording.removed

Added in the apps or through the API, heard in a recording, or moved into this workspace.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/todo.created

Any of its fields changed; being marked done says todo.completed instead.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/todo.updated

Marked done.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/todo.completed

Deleted, or moved out of this workspace. Only its id is left.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/todo.deleted

Added in the apps or through the API, heard in a recording, or moved into this workspace.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/calendar_event.created

Any of its fields changed.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/calendar_event.updated

Deleted, or moved out of this workspace. Only its id is left.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/calendar_event.deleted

A PDF asked for with POST /v1/recordings/{id}/exports has been printed: object.download_url downloads it until expires_at (GET /v1/exports/{id} gives a fresh link). Markdown and text are in the call's own answer, so they send nothing.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/export.ready

The PDF couldn't be printed. Ask for it again.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/export.failed

It went under $1 after a charge. Sent at most once a week, with an email to whoever holds the wallet.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/usage.balance_low

It reached $0 after a charge: paid calls are refused until money is added. Sent at most once a week, with an email.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/usage.exhausted

Sent once, seven days before it stops working, with an email and an inbox notice; again if its expiry is changed. Give it a later expiry in Settings → Developers, or make a new key (rolling keeps the expiry).

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/key.expiring

endpoint.test: A test

Sent only by POST /v1/webhook_endpoints/{id}/test, to that endpoint.

Header Parameters

webhook-id*string

The event's id, the same on every retry of it: drop one you've had already.

webhook-timestamp*string

When this delivery was signed, in Unix seconds. Refuse one more than five minutes from your clock.

webhook-signature*string

v1, and the base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} with the endpoint's secret (the part after whsec_, base64-decoded); two of them, space-separated, for 24 hours after a rotation. Any Standard Webhooks library checks it.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/endpoint.test