<!-- enhance-docs page=reference/mcp/screen-create -->
<!-- enhance-docs release-sha256=dad2e0623acc56ece15d04a4baaff3f1e1f36c2114941c9e110479ef18927c25 -->

# screen.create

<span class="reference-badge">mutation</span> <span class="reference-badge">write</span>

Use when the requested change exactly matches screen.create; read the current state first when a version or identifier may have changed.

## Before calling

- Authenticate as the accountable Enhance person.
- Use only resource identifiers returned by an earlier capability result or supplied by the person.
- Reuse clientToken only when retrying this exact mutation input.

## Input

<details class="reference-schema">
<summary>Show complete JSON Schema</summary>

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "clientToken": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "provenance": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "sourceRecordingId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "atMs": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "sourceRecordingId",
            "atMs"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "route": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 2048
        },
        {
          "type": "null"
        }
      ]
    },
    "pageTitle": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "viewport": {
      "type": "object",
      "properties": {
        "width": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "height": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "width",
        "height"
      ],
      "additionalProperties": false
    },
    "bytes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "clientToken",
    "provenance",
    "route",
    "pageTitle",
    "viewport",
    "bytes"
  ],
  "additionalProperties": false
}
```
</details>

### Example

<details class="reference-schema">
<summary>Show example input</summary>

```json
{
  "clientToken": "00000000-0000-4000-8000-000000000010",
  "provenance": {
    "sourceRecordingId": "00000000-0000-4000-8000-000000000010",
    "atMs": 0
  },
  "route": "x",
  "pageTitle": "x",
  "viewport": {
    "width": 1,
    "height": 1
  },
  "bytes": 1
}
```
</details>

## Result

Returns a typed screen.create result from the Enhance API without transport-specific prose.

## Recovery

- BAD_REQUEST: correct the named fields and call again.
- UNAUTHORIZED: restore Enhance authentication, then retry once.
- FORBIDDEN or NOT_FOUND: list accessible resources and choose an allowed identifier.
- CONFLICT: read the current resource, merge the intended change, and retry with its version.
- INTERNAL: run Enhance diagnostics, report the failure, and stop repeating the call.

## Continue with

- Read the affected screen resource to confirm the result.

Compatibility: `db90d727a512ff09dc75412f864b960f4f655627c0e1a6d9b95a0b83171cb7da`.
