> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zixflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Screen

> Record a mobile screen view

#### Description

Record a mobile screen view. Used by mobile SDKs automatically when screen auto-tracking is enabled, or manually when you want to attach screen-specific properties.

Short alias: `POST /v1/s`

**When to use:**

* Mobile apps to track navigation flow
* Attribute screen-level data (product ID, category) to the view event

#### Headers

<ParamField header="Authorization" type="string" required placeholder="Basic <base64(api_key:)>">
  HTTP Basic Auth. See [Events Authentication](/api-reference/zixflow-ai/events/authentication).
</ParamField>

<ParamField header="Content-Type" type="string" required default="application/json">
  Must be `application/json`.
</ParamField>

#### Body

<ParamField body="userId" type="string" placeholder="user_12345">
  Identified user ID. At least one of `userId` or `anonymousId` is required.
</ParamField>

<ParamField body="anonymousId" type="string" placeholder="anon_abc-123">
  Anonymous user ID. Required if `userId` is not provided.
</ParamField>

<ParamField body="name" type="string" placeholder="Product Detail">
  Screen name (for example `"Product Detail"`).
</ParamField>

<ParamField body="category" type="string" placeholder="Footwear">
  Screen category.
</ParamField>

<ParamField body="properties" type="object">
  Screen-specific properties (for example `product_id`, `category`, `price`).
</ParamField>

<ParamField body="timestamp" type="string" placeholder="2026-05-04T14:32:15.000Z">
  When the screen view occurred, as ISO 8601.
</ParamField>

<ParamField body="context" type="object">
  Optional environment metadata (device, OS, app, IP, locale, and more). SDKs populate this automatically. See [Context Object](/api-reference/zixflow-ai/events/context).
</ParamField>

#### Response

Successful requests return `HTTP 200` with an empty JSON object.

<ResponseExample>
  ```json 200-Success theme={null}
  {}
  ```

  ```json 400-Bad Request theme={null}
  {
    "error": "VALIDATION_FAILED",
    "details": [
      {
        "reason": "REQUIRED",
        "field": "userId",
        "message": "userId is required"
      }
    ]
  }
  ```

  ```json 401-Unauthorised theme={null}
  {
    "error": "UNAUTHORIZED",
    "details": []
  }
  ```
</ResponseExample>
