Skip to main content
POST
/
end-users
curl -X POST https://api.bota.dev/v1/end-users \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "external_id": "user_12345",
    "email": "john@example.com",
    "name": "John Doe",
    "metadata": {
      "plan": "pro",
      "department": "sales"
    }
  }'
{
  "id": "eu_abc123",
  "external_id": "user_12345",
  "email": "john@example.com",
  "name": "John Doe",
  "metadata": {
    "plan": "pro",
    "department": "sales"
  },
  "created_at": "2025-01-15T10:30:00Z"
}
End users represent the people who wear devices and are subjects of recordings. They exist in your Bota project but don’t log into Bota directly.

Authentication

Requires an API key with end_users:write scope.
curl -X POST https://api.bota.dev/v1/end-users \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "external_id": "user_12345",
    "email": "john@example.com",
    "name": "John Doe",
    "metadata": {
      "plan": "pro",
      "department": "sales"
    }
  }'

Request Body

external_id
string
Your system’s unique identifier for this user. Use this to link Bota end users to users in your application.
email
string
User’s email address.
name
string
User’s display name.
metadata
object
Arbitrary key-value metadata for your own use.

Response

Returns the created end user object.
{
  "id": "eu_abc123",
  "external_id": "user_12345",
  "email": "john@example.com",
  "name": "John Doe",
  "metadata": {
    "plan": "pro",
    "department": "sales"
  },
  "created_at": "2025-01-15T10:30:00Z"
}

Response Fields

FieldTypeDescription
idstringUnique identifier for the end user (prefixed with eu_).
external_idstringYour system’s unique identifier for this user.
emailstringUser’s email address.
namestringUser’s display name.
metadataobjectArbitrary key-value metadata.
created_atstringISO 8601 timestamp of when the end user was created.