Entity Overview
Platform Entities
These entities represent your relationship with Bota.Organization
An Organization is your company’s account in Bota. It’s the top-level tenant in our multi-tenant architecture.- Created when you sign up for Bota
- Contains one or more Projects
- Has Organization Users (your team members) with dashboard access
Project
A Project is an isolated environment within your organization. All data-plane operations are scoped to a single project.All API calls require a project-scoped API key. You cannot query across projects.
API Key
API Keys authenticate requests to the Bota API. Each key is scoped to a single project.
See Authentication for details on each key type.
Webhook Endpoint
Webhook Endpoints receive real-time notifications when events occur in your project. Supported events:recording.created— New recording createdrecording.uploaded— Audio upload completedtranscription.completed— Transcription finishedtranscription.failed— Transcription failedsummary.completed— Summary generation finished
Customer Entities
These entities represent your users and their data.End User
An EndUser represents a person who wears a Bota device. They are subjects of recordings but don’t have accounts in Bota.- No Bota login — EndUsers don’t authenticate with Bota. Your app handles their identity.
- external_id mapping — Link Bota EndUsers to users in your system via
external_id. - Data ownership — All recordings belong to an EndUser for compliance and access control.
- Deletion support — Delete an EndUser to remove all their data (GDPR, HIPAA compliance).
Device
A Device represents a physical Bota wearable. Each device has a unique serial number.
Device lifecycle:
Key points:
- One user at a time — A device can only be bound to one EndUser. Unbind before reassigning.
- Recordings follow binding — When a device creates a recording, it’s automatically associated with the bound EndUser.
- Token on bind — When a device is bound, a device token (
dtok_*) is issued for direct uploads via WiFi or cellular. - Token rotation — Device tokens are rotated when a device is unbound for security.
Cellular Device Support
Devices with cellular connectivity (e.g., Bota Pin 4G) can upload recordings directly to Bota without a companion mobile app. When a cellular-capable device is bound to an EndUser, it receives a device token (dtok_*) that authenticates direct API calls.
Device token permissions:
Direct upload flow (WiFi/Cellular):
Fleet monitoring:
Cellular-capable devices can report health status via the heartbeat endpoint:
- Battery level
- Storage usage
- Signal strength
- Firmware version
Device tokens have limited permissions compared to API keys. They cannot list recordings, access other users’ data, or perform administrative operations. See Authentication for details.
Device Settings
Device Settings configure device behavior for connectivity, uploads, and processing. Settings use the hierarchical configuration system — defaults can be set at the organization or project level and overridden per end user or device. Settings are organized into three sections:
Example: Upload settings
Overrides at lower levels are deep-merged with parent values. You only need to specify the fields you want to change.
When
streaming_enabled is true, devices with WiFi or cellular connectivity can upload audio in chunks while recording. This enables:
- Real-time processing — Start transcription before recording finishes
- Bandwidth management — Upload in smaller chunks instead of one large file
- Data caps — Respect
daily_data_limit_mblimits to control cellular costs
Recording
A Recording represents a captured conversation. It contains metadata and links to the audio file and transcription.
Key points:
- Upload flow — Create recording → Get upload URL → Upload to S3 → Mark complete
- Automatic user association — If
end_user_idisn’t specified, uses the device’s bound user - Name — Optional human-readable name for easy identification (e.g., “Weekly standup”)
- Metadata — Store custom data like meeting type, location, or CRM opportunity ID
Transcription
A Transcription is the result of processing a recording. It contains the full text and timestamped segments with speaker labels.
Key points:
- Async processing — Transcription is a job. Poll for status or use webhooks.
- Speaker diarization — Enabled by default. Identifies different speakers in the conversation.
- Processing time — Typically 10-30% of audio duration (30 min audio ≈ 3-10 min processing)
Entity Relationships
Project Scoping
All entities belong to a single project. You cannot:- Query EndUsers across projects
- Use a device registered in one project for recordings in another
- Share transcriptions between projects
ID Prefixes
Every entity has a prefixed ID for easy identification:Cascade Behavior
Common Patterns
Mapping Users
Store a mapping between your user IDs and Bota EndUser IDs:external_id to query directly:

