Skip to main content
The Bota API is a RESTful API for managing conversation capture devices, audio uploads, transcription, and summarization. This page covers the fundamentals you need to integrate with the API.

Base URL

All API requests are made to:

Authentication

Authenticate requests using Bearer tokens in the Authorization header:

API Key Types

Never expose secret keys (sk_*) in client-side code, mobile apps, or public repositories.
See Authentication for detailed guidance on key management and security.

Request Format

Headers

Request Body

Send JSON in the request body for POST and PUT requests:

Response Format

All responses return JSON with consistent structure.

Success Response

List Response

List endpoints return paginated results:

Error Response


HTTP Status Codes

See Errors for detailed error codes and handling strategies.

Pagination

List endpoints support cursor-based pagination:
See Pagination for details.

Rate Limits

The API enforces rate limits to ensure fair usage: Rate limit headers are included in every response:
See Rate Limits for handling 429 responses.

Idempotency

For safe retries, include an Idempotency-Key header on POST requests:
Replaying a request with the same key returns the original response without creating duplicates. See Idempotency for best practices.

Versioning

The API uses date-based versioning. Specify a version to pin your integration:
Without a version header, requests use the latest stable version. See Versioning for migration guidance.

Test Mode

Use test API keys (sk_test_*) to develop and test your integration without affecting production data or incurring charges. Test mode features:
  • Data is isolated from production
  • No billing or usage charges
  • Create separate projects for staging/development environments

Core Resources

The API is organized around these resources:

End Users

People who wear devices. Create, list, and delete end users with external ID mapping.

Devices

Physical wearables. Register devices, bind to users, track fleet status.

Recordings

Captured conversations. Create entries, upload audio, track processing status.

Uploads

Audio file ingestion. Get pre-signed URLs for direct S3 upload.

Transcriptions

Speech-to-text processing. Start jobs, get results with speaker diarization.

Summaries

AI-generated summaries. Create summaries from transcriptions.

Webhooks

Event notifications. Set up endpoints for real-time updates.

SDKs & Tools

OpenAPI Spec

Download the OpenAPI 3.0 specification for code generation

Postman Collection

Import our Postman collection for interactive testing
Official SDKs (coming soon):
  • Node.js / TypeScript
  • Python
  • Go

Need Help?

Quickstart

Complete tutorial from first API call to transcription

Support

Contact our team for integration help