---
title: "Submit Video Info"
method: POST
path: "/api/v1/videos/{video_uuid}/info"
tags: ["Videos"]
---

# Submit Video Info

`POST /api/v1/videos/{video_uuid}/info`

Complete a URL-only submission with its game info and start processing.

Called by the Preciser Stats Breakdown page (JWT-gated BFF) after the end
user fills the video info form. The credit was already charged at submit
time, so this only attaches the info, creates the video records, and kicks
off PBP-AI. 404 when no submission exists, 409 when the info was already
provided or the submission is past 'pending'.

## Path parameters

- `video_uuid` string, required

## Headers

- `x-api-key` string, nullable
- `League` string, nullable

## Request body

- GLVideoInfoSubmitRequest — Request schema for completing a submission's game info (POST /api/v1/videos/{video_uuid}/info). Sent by the Preciser Stats Breakdown page (via its JWT-gated BFF) after the end user fills the video info form. Processing (PBP-AI) starts only once this info lands.
  - `home_team_name` string, required — Home team name
  - `away_team_name` string, required — Away team name
  - `home_team_color` string, required — Home team jersey color (hex, e.g. '#FF0000')
  - `away_team_color` string, required — Away team jersey color (hex, e.g. '#0000FF')
  - `game_date` string, nullable — Game date (YYYY-MM-DD)
  - `description` string — Game/venue description
  - `home_team_uuid` string, uuid, nullable — Home team UUID (kept from submit when omitted)
  - `away_team_uuid` string, uuid, nullable — Away team UUID (kept from submit when omitted)
  - `home_team_score` integer, nullable — Home team score
  - `away_team_score` integer, nullable — Away team score
  - `home_team_roster` GLRosterItem[], nullable — Home team roster
    - `jersey_number` string, required — Player jersey number
  - `away_team_roster` GLRosterItem[], nullable — Away team roster
    - `jersey_number` string, required — Player jersey number
  - `user_id` string, nullable — End-user id (overrides the one stored at submit)

## Response `200`

Successful Response

- GLVideoSubmitResponse — Response schema for Glory League video submission.
  - `success` boolean, required — Whether the submission was successful
  - `video_uuid` string, required — Stable video identifier for status/results calls. Echoes the caller's video_uuid, or contains the server-generated UUID when it was omitted.
  - `message` string, required — Status message
  - `status` string, required — Current processing status
  - `created_at` string, date-time, required — Timestamp of submission

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/preciser/apis/preciser-data-management-api.md) · [All operations](https://skmtc.net/preciser/apis/preciser-data-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/preciser/preciser-data-management-api/versions/c5f6b8674011/schema)
