Bots
Cancel a bot
Cancels a bot created through the API, for example when its meeting is cancelled. What happens depends on its status:
| Status | Result |
|---|---|
| queued | The bot is withdrawn, its status becomes cancelled, and bot.cancelled is sent. In the seconds after dispatch, before it joins, it cannot be stopped yet: 409, retry shortly. |
| joining, in_call | The bot leaves the call. Anything it recorded is kept and processed as usual; if it recorded nothing it ends as failed with reason: no_recording. |
| processing, completed | 409: the recording is kept. Delete the conversation instead. |
| failed, cancelled | Nothing changes. |
Returns the bot as it is after the request.
delete/bots/{id}
Request
- Base URLhttps://www.happyscribe.com/api/v1
- AuthAPI key in header Authorization
Path parameters
idstring required
Example:bot_01k0h4r9s8x7c2dvq3m5n6p4ab
Bot ID, beginning with bot_. Treat it as an opaque string.
Headers
Happyscribe-Versionstring date
Example:2026-09-01
Serve this request as the API was on this date. Any ISO date works — it resolves to the newest version on or before it — and it never changes your key's pin. See Versioning.
Response
The bot, with its status after the request.
Example response
{
"id": "bot_01k0h4r9s8x7c2dvq3m5n6p4ab",
"object": "bot",
"meeting_id": "mtg_01k0h4r9s8x7c2dvq3m5n6p4ab",
"meeting_url": "https://zoom.us/j/123456789",
"join_at": "2026-07-20T14:00:00Z",
"status": "queued",
"bot_name": "Acme Notetaker",
"welcome_message": "Recording this meeting for Acme",
"language": "en",
"recording_start": "on_join",
"recording_mode": "audio_only",
"silence_alert": true,
"summary_language": "en",
"summary_template": "discovery_call",
"participants": [
{
"email": "carmen@example.com",
"name": "Carmen"
}
],
"metadata": {
"partner_meeting_id": "meeting-123"
},
"created_at": "2026-07-20T13:58:12Z",
"ended_at": null
}Changes
No recorded changes to this operation across all 1 revision of this API.