Files

1.8 KiB

Saved Views API

Base path: /api/v1/saved-views

All endpoints require Authorization: Bearer <jwt>.

Related: 02 - Videos API, 11 - Bulk Jobs API


GET /saved-views

List all saved views for the current team.

Response: SavedView[]


GET /saved-views/tabs

List saved views that are pinned as tabs, ordered by tabOrder.

Response: SavedView[]


POST /saved-views

Create a new saved view. Requires EDITOR role.

Request body:

{
  "name": "string",
  "description": "string",
  "isGlobal": false,
  "queryJson": {
    "lintStatus": "ERROR"
  },
  "columnsJson": {
    "visible": [],
    "order": []
  },
  "sortJson": {
    "field": "publishedAt",
    "order": "desc"
  },
  "pinnedAsTab": false,
  "tabOrder": null
}

Field notes:

Field Notes
isGlobal If true, the view is visible to all team members. If false, it is personal.
queryJson Filter parameters — same shape as the query params accepted by GET /videos.
columnsJson Column visibility and order configuration for the video table.
sortJson Default sort field and direction for the view.
pinnedAsTab Whether the view appears as a tab in the video list UI.
tabOrder Integer position in the tab bar. null if not pinned.

PATCH /saved-views/:id

Update a saved view. Requires EDITOR role.

Request body: Same fields as POST /saved-views, all optional.


DELETE /saved-views/:id

Delete a saved view. Requires ADMIN role.


POST /saved-views/:id/execute

Execute the saved view's stored query and return the matching video IDs.

Response:

{ "videoIds": ["cuid", "cuid"] }

The returned videoIds can be passed directly to bulk job endpoints such as POST /bulk-jobs/push-pending or POST /bulk-jobs/preview. See 11 - Bulk Jobs API.