Skip to main content

Endpoint

GET /api/v1/bots

Authentication

Requires API key authentication via the Authorization header.
Authorization
string
required
Your API key in the format: Token YOUR_API_KEY_HERE
Content-Type
string
required
Must be application/json

Query Parameters

cursor
string
Cursor for pagination. Use the cursor returned in the response to fetch the next page.
meeting_url
string
Filter bots by meeting URL.Example: https://zoom.us/j/123456789
deduplication_key
string
Filter bots by deduplication key.Example: my-unique-bot-key
states
array
Filter bots by state. Can specify multiple states.Possible values: ready, joining, joined_not_recording, joined_recording, leaving, post_processing, fatal_error, waiting_room, ended, data_deleted, scheduled, staged, joined_recording_paused, joining_breakout_room, leaving_breakout_room, joined_recording_permission_denied
join_at_after
string
Only return bots with join_at after this time.Format: ISO 8601 datetime (e.g., 2024-01-18T12:34:56Z)
join_at_before
string
Only return bots with join_at before this time.Format: ISO 8601 datetime (e.g., 2024-01-18T13:34:56Z)

Response

Returns a paginated list of bot objects.
next
string
Cursor URL for the next page of results, or null if no more results.
previous
string
Cursor URL for the previous page of results, or null if on first page.
results
array
Array of bot objects.
id
string
Unique identifier for the bot (e.g., bot_weIAju4OXNZkDTpZ)
meeting_url
string
The URL of the meeting the bot joined or will join.
state
string
Current state of the bot.
events
array
Array of events that have occurred for this bot.
type
string
Event type (e.g., join_requested, joined_meeting, leave_requested)
sub_type
string | null
Event sub-type with additional context.
created_at
string
ISO 8601 timestamp when the event occurred.
transcription_state
string
Current transcription state (e.g., not_started, in_progress, complete)
recording_state
string
Current recording state (e.g., not_started, in_progress, complete)
join_at
string
ISO 8601 timestamp when the bot joined or will join the meeting.
deduplication_key
string
Optional deduplication key for the bot.
metadata
object
Custom metadata associated with the bot.

Example Request

curl -X GET 'https://api.attendee.dev/api/v1/bots?states=joined_recording&meeting_url=https://zoom.us/j/123456789' \
  -H 'Authorization: Token YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json'

Example Response

{
  "next": "https://api.attendee.dev/api/v1/bots?cursor=cD00ODY%3D",
  "previous": null,
  "results": [
    {
      "id": "bot_weIAju4OXNZkDTpZ",
      "meeting_url": "https://zoom.us/j/123?pwd=456",
      "state": "joined_recording",
      "events": [
        {
          "type": "join_requested",
          "sub_type": null,
          "created_at": "2024-01-18T12:34:56Z"
        },
        {
          "type": "joined_meeting",
          "sub_type": null,
          "created_at": "2024-01-18T12:35:00Z"
        }
      ],
      "transcription_state": "in_progress",
      "recording_state": "in_progress",
      "join_at": "2024-01-18T12:34:56Z",
      "deduplication_key": "my-unique-bot-key",
      "metadata": {
        "customer_id": "abc123"
      }
    }
  ]
}

Error Codes

  • 400 - Invalid request parameters (e.g., invalid state, invalid date format)
  • 401 - Invalid or missing API key

Build docs developers (and LLMs) love