---
title: "List submissions"
method: GET
path: "/clips/{videoId}/submissions"
tags: ["Submissions"]
---

# List submissions

`GET /clips/{videoId}/submissions`

## Request

- Base URL: `https://api.cut.pro/api/v1`
- URL: `https://api.cut.pro/api/v1/clips/{videoId}/submissions`
- Auth: API key in header `X-Api-Key`

Returns a paginated list of all clipping submissions for a video, newest first. Use this to audit past runs, find a specific submission ID, or check whether a job is still in progress.

## Path parameters

- `videoId` string, required

## Query parameters

- `page` number: Page number (default: 1)
- `limit` number: Items per page (default: 20, max: 100)

## Response `200`

Response for status 200

- object
  - `submissions` object[], required
    - `id` string, required: Unique submission ID
    - `status` 'queued' | 'downloading' | 'transcribing' | 'video_analysis' | 'analyzing' | 'finalizing' | 'completed' | 'failed', required
    - `error_code` 'DOWNLOAD_FAILED' | 'DOWNLOAD_ACCESS_DENIED' | 'DOWNLOAD_MEMBERS_ONLY' | 'DOWNLOAD_PRIVATE_VIDEO' | 'DOWNLOAD_GEO_RESTRICTED' | 'DOWNLOAD_TIMEOUT' | 'DOWNLOAD_NETWORK' | 'DOWNLOAD_NO_AUDIO' | 'DOWNLOAD_NOT_AVAILABLE' | 'DOWNLOAD_REMOVED_BY_UPLOADER' | 'DOWNLOAD_PREMIERE_NOT_STARTED' | 'DOWNLOAD_LIVE_IN_PROGRESS' | 'TRANSCRIBE_FAILED' | 'VIDEO_ANALYSIS_FAILED' | 'ANALYZE_FAILED' | 'GENERATE_FAILED' | 'EMPTY_TRANSCRIPT' | 'UPLOAD_CORRUPTED' | 'UNKNOWN', nullable, required
    - `estimated_time` number, nullable, required: Estimated seconds until completion; `null` once processing has started
    - `queue_position` number, nullable, required: Position in the processing queue; `null` once processing has started
    - `is_priority` boolean, required: `true` if this submission has priority processing
    - `strategy_id` string, nullable, required: ID of the clipping strategy used; `null` for default settings
    - `timeframe` object, nullable, required: Portion of the video that was processed; `null` if the full video was submitted
      - `start` number, required: Start offset in seconds
      - `end` number, required: End offset in seconds
    - `credit_cost` number, nullable, required: What this submission is worth in credits. Not what was billed: free usage windows charge nothing
    - `is_reclip` boolean, required: `true` if this video was re-submitted — a discounted rate may have applied
    - `clips_count` number, required: Number of AI-generated clips available; only meaningful when `status` is `completed`
    - `created_at` string, required: ISO 8601 timestamp of when this submission was created
    - `completed_at` string, nullable, required: ISO 8601 timestamp of when this submission finished, or `null` if still running
  - `pagination` object, required
    - `current_page` number, required: Current page number (1-based)
    - `total_pages` number, required: Total number of pages
    - `total_count` number, required: Total number of items across all pages
    - `has_next_page` boolean, required
    - `has_previous_page` boolean, required
    - `limit` number, required: Items per page used for this response

## Other responses

- `404`: Response for status 404

---

[API](https://skmtc.dev/cut/apis/cutpro-api.md) · [All operations](https://skmtc.dev/cut/apis/cutpro-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cut/apis/cutpro-api/revisions/89d0bafe529c?raw)
