1.8 KiB
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
videoIdscan be passed directly to bulk job endpoints such asPOST /bulk-jobs/push-pendingorPOST /bulk-jobs/preview. See 11 - Bulk Jobs API.