---
title: "Behavior Events"
method: POST
path: "/v1/behavior/events"
---

# Behavior Events

`POST /v1/behavior/events`

## Request

- Base URL: `https://api.scriptseen.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.scriptseen.com/v1/behavior/events`
- Auth: none declared

## Request body

- BehaviorBatch
  - `events` BehaviorEvent[], required
    - `schema_version` 1
    - `event_id` string, uuid, required
    - `event_name` 'script_opened' | 'practice_session_started' | 'practice_checkpoint' | 'practice_session_ended' | 'practice_attempt_completed' | 'practice_control_changed' | 'practice_error' | 'live_turn', required
    - `occurred_at` string, date-time, required
    - `installation_id` string, uuid, required
    - `product_session_id` string, uuid, required
    - `script_id` string, required
    - `script_version_id` string, nullable
    - `practice_session_id` string, uuid, nullable
    - `attempt_id` string, uuid, nullable
    - `surface` 'script' | 'teleprompter' | 'line_practice', required
    - `environment` 'production' | 'development' | 'test', required
    - `app_version` string, required
    - `ui_locale` string
    - `device_class` 'mobile' | 'tablet' | 'desktop' | 'unknown'
    - `consent` Consent, required
      - `product_analytics` boolean
      - `model_improvement` boolean
      - `version` string
      - `decided` boolean
    - `properties` object, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/scriptseen/apis/scriptseen-api.md) · [All operations](https://skmtc.dev/scriptseen/apis/scriptseen-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scriptseen/apis/scriptseen-api/revisions/234ca7365a93?raw)
