---
title: "Validate storyboard document"
method: POST
path: "/api/v1/storyboards/validate"
tags: ["Storyboards"]
---

# Validate storyboard document

`POST /api/v1/storyboards/validate`

## Request

- Base URL: `https://api.studio.kaitoi.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.studio.kaitoi.io/api/v1/storyboards/validate`
- Auth: HTTP bearer

Validates a Kaitoi Storyboard Document v1 against the same schema enforced by the backend.

## Headers

- `authorization` string, nullable

## Request body

- PublicStoryboardValidateRequest
  - `document` object, required: Kaitoi Storyboard Document v1 JSON.

## Response `200`

Validated storyboard document and derived summary.

- PublicStoryboardValidationResponse
  - `valid` boolean, required: Always true when the request succeeds.
  - `document` object, required: Validated, normalized Kaitoi Storyboard Document v1.
  - `summary` PublicStoryboardSummary, required
    - `sceneCount` integer, required: Number of sequences/scenes in the storyboard.
    - `shotCount` integer, required: Number of shots/frames in the storyboard.
    - `mediaCount` integer, required: Number of panel and audio media references.

## Other responses

- `400`: The storyboard document is invalid.
- `401`: Missing, malformed, expired, or revoked bearer token.
- `403`: The API key lacks the required scope or account capability.
- `422`: Validation Error
- `429`: The client or API key exceeded the REST API rate limit.
- `503`: The shared REST API rate limiter is temporarily unavailable.

---

[API](https://skmtc.dev/kaitoi/apis/kaitoi-rest-api.md) · [All operations](https://skmtc.dev/kaitoi/apis/kaitoi-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kaitoi/apis/kaitoi-rest-api/revisions/239a74aa2c64?raw)
