Initial marketplace with flamenco and kitsu plugins
Bundles the flamenco-api and kitsu-api skills as Claude Code plugins under an "adm-tools" marketplace. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,742 @@
|
||||
# Kitsu API — Complete Endpoint Catalog
|
||||
|
||||
**493 endpoints** across 24 categories. Base URL: `https://<your-kitsu>/api`
|
||||
|
||||
All endpoints require JWT authentication via `Authorization: Bearer <token>` header, except `/auth/login` and `/auth/register`.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Authentication](#authentication) — Login, logout, 2FA, SAML
|
||||
2. [Projects](#projects) — CRUD, settings, team, stats
|
||||
3. [Shots](#shots) — Shots, sequences, episodes, scenes
|
||||
4. [Assets](#assets) — Assets, asset types, instances, sharing
|
||||
5. [Tasks](#tasks) — Tasks, task types, task statuses, assignments, time tracking
|
||||
6. [Comments](#comments) — Comments, replies, attachments
|
||||
7. [Previews](#previews) — Preview files, thumbnails, movies
|
||||
8. [Files](#files) — Working files, output files, software
|
||||
9. [Casting/Breakdown](#casting) — Entity casting, asset instances
|
||||
10. [Persons](#persons) — Users, departments, day-offs, time spents
|
||||
11. [Playlists](#playlists) — Playlists, build jobs
|
||||
12. [Events](#events) — Event log, login logs
|
||||
13. [News](#news) — Activity feed
|
||||
14. [Notifications](#notifications) — User notifications
|
||||
15. [Search](#search) — Full-text search, filters
|
||||
16. [Chat](#chat) — Entity chat, messages
|
||||
17. [Entities](#entities) — Generic entity operations
|
||||
18. [Concepts & Edits](#concepts-edits) — Concept art, edit entities
|
||||
19. [Export/Import](#export-import) — CSV, Kitsu, ShotGrid, OTIO
|
||||
20. [User Context](#user-context) — Current user's data
|
||||
21. [Custom Actions](#custom-actions) — Webhook-like triggers
|
||||
22. [Admin](#admin) — Status, config, organisations, studios
|
||||
23. [Budgets & Scheduling](#budgets-scheduling) — Budgets, milestones, schedule items
|
||||
24. [Media Files](#media-files) — Pictures, movies, thumbnails
|
||||
|
||||
---
|
||||
|
||||
## Authentication
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| POST | `/auth/login` | Login with email/password, returns JWT |
|
||||
| GET | `/auth/logout` | Invalidate current token |
|
||||
| GET | `/auth/authenticated` | Check if token is valid (200/401) |
|
||||
| GET | `/auth/refresh-token` | Get new access token |
|
||||
| POST | `/auth/register` | Register new user |
|
||||
| POST | `/auth/change-password` | Change password (old_password, password, password_2) |
|
||||
| POST | `/auth/reset-password` | Request password reset email |
|
||||
| PUT | `/auth/reset-password` | Complete password reset (token, password) |
|
||||
| PUT/POST/DELETE | `/auth/totp` | Pre-enable/enable/disable TOTP 2FA |
|
||||
| GET/POST/DELETE | `/auth/email-otp` | Email OTP 2FA management |
|
||||
| GET/PUT/POST/DELETE | `/auth/fido` | FIDO/WebAuthn device management |
|
||||
| PUT | `/auth/recovery-codes` | Generate recovery codes |
|
||||
| GET | `/auth/saml/login` | SAML SSO login redirect |
|
||||
| POST | `/auth/saml/sso` | SAML SSO callback |
|
||||
|
||||
## Projects
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/projects` | List all / create project |
|
||||
| GET | `/data/projects/all` | All projects (admin) |
|
||||
| GET | `/data/projects/open` | Open projects only |
|
||||
| GET | `/data/projects/news` | News across all projects |
|
||||
| GET/PUT/DELETE | `/data/projects/{id}` | Get/update/delete project |
|
||||
| GET/POST | `/data/projects/{id}/team` | Get/add team members |
|
||||
| DELETE | `/data/projects/{id}/team/{person_id}` | Remove from team |
|
||||
| GET | `/data/projects/{id}/task-types` | Project task types |
|
||||
| GET | `/data/projects/{id}/asset-types` | Project asset types |
|
||||
| GET | `/data/projects/{id}/assets` | Project assets |
|
||||
| GET | `/data/projects/{id}/comments` | All project comments |
|
||||
| GET | `/data/projects/{id}/preview-files` | All project previews |
|
||||
| GET | `/data/projects/{id}/attachment-files` | All project attachments |
|
||||
| GET | `/data/projects/{id}/output-files` | All project output files |
|
||||
| GET | `/data/projects/{id}/news` | Project news feed |
|
||||
| GET | `/data/projects/{id}/news/{news_id}` | Specific news item |
|
||||
| GET | `/data/projects/{id}/notifications` | Project notifications |
|
||||
| GET | `/data/projects/{id}/playlists` | Project playlists |
|
||||
| GET | `/data/projects/{id}/playlists/all` | All playlists including temp |
|
||||
| POST | `/data/projects/{id}/playlists/temp` | Create temp playlist |
|
||||
| GET | `/data/projects/{id}/subscriptions` | Project subscriptions |
|
||||
| GET | `/data/projects/{id}/tasks` | All project tasks |
|
||||
| GET | `/data/projects/{id}/time-spents` | Project time tracking |
|
||||
| GET | `/data/projects/{id}/entity-links` | Project entity links |
|
||||
| DELETE | `/data/projects/{id}/entity-links/{link_id}` | Remove entity link |
|
||||
| GET | `/data/projects/{id}/build-jobs` | Build jobs for project |
|
||||
| GET | `/data/projects/{id}/day-offs` | Project day offs |
|
||||
|
||||
### Project Settings
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| POST | `/data/projects/{id}/settings/asset-types` | Add asset type to project |
|
||||
| DELETE | `/data/projects/{id}/settings/asset-types/{at_id}` | Remove asset type |
|
||||
| POST | `/data/projects/{id}/settings/task-types` | Add task type to project |
|
||||
| DELETE | `/data/projects/{id}/settings/task-types/{tt_id}` | Remove task type |
|
||||
| GET/POST | `/data/projects/{id}/settings/task-status` | Get/add task statuses |
|
||||
| DELETE | `/data/projects/{id}/settings/task-status/{ts_id}` | Remove task status |
|
||||
| GET/POST | `/data/projects/{id}/settings/status-automations` | Status automations |
|
||||
| DELETE | `/data/projects/{id}/settings/status-automations/{sa_id}` | Remove automation |
|
||||
| GET/POST | `/data/projects/{id}/settings/preview-background-files` | Preview BG files |
|
||||
| DELETE | `/data/projects/{id}/settings/preview-background-files/{pbf_id}` | Remove BG |
|
||||
| POST | `/actions/projects/{id}/set-file-tree` | Set project file tree template |
|
||||
| POST | `/actions/projects/{id}/delete-tasks` | Batch delete tasks |
|
||||
|
||||
### Project Metadata
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/projects/{id}/metadata-descriptors` | Custom metadata fields |
|
||||
| POST | `/data/projects/{id}/metadata-descriptors/reorder` | Reorder descriptors |
|
||||
| GET/PUT/DELETE | `/data/projects/{id}/metadata-descriptors/{desc_id}` | CRUD descriptor |
|
||||
|
||||
### Project Stats & Quotas
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/data/projects/{id}/episodes/stats` | Episode statistics |
|
||||
| GET | `/data/projects/{id}/episodes/retake-stats` | Retake statistics |
|
||||
| GET | `/data/projects/{id}/quotas/{task_type_id}` | Quotas by task type |
|
||||
| GET | `/data/projects/{id}/quotas/persons/{person_id}` | Personal quotas |
|
||||
| GET | `/data/projects/{id}/task-types/{tt_id}/time-spents` | Time by task type |
|
||||
|
||||
## Shots
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/data/shots` | All shots (filterable) |
|
||||
| GET | `/data/shots/all` | All shots (admin) |
|
||||
| GET | `/data/shots/with-tasks` | Shots with embedded tasks |
|
||||
| GET/PUT/DELETE | `/data/shots/{id}` | Get/update/delete shot |
|
||||
| GET | `/data/shots/{id}/tasks` | Shot's tasks |
|
||||
| GET | `/data/shots/{id}/task-types` | Shot's task types |
|
||||
| GET | `/data/shots/{id}/assets` | Assets linked to shot |
|
||||
| GET | `/data/shots/{id}/asset-types` | Asset types in shot |
|
||||
| GET | `/data/shots/{id}/preview-files` | Shot preview files |
|
||||
| GET | `/data/shots/{id}/versions` | Shot versions |
|
||||
| GET/POST | `/data/shots/{id}/asset-instances` | Shot asset instances |
|
||||
| DELETE | `/data/shots/{id}/asset-instances/{ai_id}` | Remove instance |
|
||||
| POST | `/data/projects/{id}/shots` | Create shot in project |
|
||||
|
||||
### Sequences
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/data/sequences` | All sequences |
|
||||
| GET | `/data/sequences/with-tasks` | Sequences with tasks |
|
||||
| GET/DELETE | `/data/sequences/{id}` | Get/delete sequence |
|
||||
| GET | `/data/sequences/{id}/shots` | Shots in sequence |
|
||||
| GET | `/data/sequences/{id}/shot-tasks` | All shot tasks in sequence |
|
||||
| GET | `/data/sequences/{id}/scenes` | Scenes in sequence |
|
||||
| GET | `/data/sequences/{id}/task-types` | Sequence task types |
|
||||
| GET | `/data/sequences/{id}/tasks` | Sequence tasks |
|
||||
| GET/POST | `/data/projects/{id}/sequences` | Project sequences |
|
||||
|
||||
### Episodes
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/data/episodes` | All episodes |
|
||||
| GET | `/data/episodes/with-tasks` | Episodes with tasks |
|
||||
| GET/DELETE | `/data/episodes/{id}` | Get/delete episode |
|
||||
| GET | `/data/episodes/{id}/sequences` | Episode sequences |
|
||||
| GET | `/data/episodes/{id}/shots` | Episode shots |
|
||||
| GET | `/data/episodes/{id}/shot-tasks` | Shot tasks for episode |
|
||||
| GET | `/data/episodes/{id}/asset-tasks` | Asset tasks for episode |
|
||||
| GET | `/data/episodes/{id}/edit-tasks` | Edit tasks for episode |
|
||||
| GET | `/data/episodes/{id}/edits` | Edits for episode |
|
||||
| GET | `/data/episodes/{id}/task-types` | Episode task types |
|
||||
| GET | `/data/episodes/{id}/tasks` | Episode tasks |
|
||||
| GET/POST | `/data/projects/{id}/episodes` | Project episodes |
|
||||
| GET | `/data/projects/{id}/episodes/casting` | All episode casting |
|
||||
| GET | `/data/projects/{id}/episodes/{ep_id}/playlists` | Episode playlists |
|
||||
| GET | `/data/projects/{id}/episodes/{ep_id}/sequences/all/casting` | Casting for all sequences |
|
||||
| GET | `/data/projects/{id}/episodes/{ep_id}/assets/shared-used` | Shared assets in episode |
|
||||
|
||||
### Scenes
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/data/scenes/all` | All scenes |
|
||||
| GET | `/data/scenes/with-tasks` | Scenes with tasks |
|
||||
| GET/DELETE | `/data/scenes/{id}` | Get/delete scene |
|
||||
| GET/POST | `/data/scenes/{id}/asset-instances` | Scene asset instances |
|
||||
| GET | `/data/scenes/{id}/camera-instances` | Camera instances |
|
||||
| GET/POST | `/data/scenes/{id}/shots` | Scene shots |
|
||||
| DELETE | `/data/scenes/{id}/shots/{shot_id}` | Remove shot from scene |
|
||||
| GET | `/data/scenes/{id}/task-types` | Scene task types |
|
||||
| GET | `/data/scenes/{id}/tasks` | Scene tasks |
|
||||
| GET/POST | `/data/projects/{id}/scenes` | Project scenes |
|
||||
|
||||
## Assets
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/data/assets` | All assets (filterable by project_id, asset_type_id) |
|
||||
| GET | `/data/assets/all` | All assets (admin) |
|
||||
| GET | `/data/assets/with-tasks` | Assets with embedded tasks |
|
||||
| GET/DELETE | `/data/assets/{id}` | Get/delete asset (force=true to force) |
|
||||
| GET | `/data/assets/{id}/tasks` | Asset's tasks |
|
||||
| GET | `/data/assets/{id}/task-types` | Asset's task types |
|
||||
| GET | `/data/assets/{id}/assets` | Linked assets |
|
||||
| GET | `/data/assets/{id}/cast-in` | Shots this asset appears in |
|
||||
| GET/PUT | `/data/assets/{id}/casting` | Get/set asset casting |
|
||||
| GET | `/data/assets/{id}/shot-asset-instances` | Instances in shots |
|
||||
| GET | `/data/assets/{id}/scene-asset-instances` | Instances in scenes |
|
||||
| GET/POST | `/data/assets/{id}/asset-asset-instances` | Asset instances |
|
||||
| GET | `/data/asset-types` | All asset types |
|
||||
| GET | `/data/asset-types/{id}` | Specific asset type |
|
||||
| GET | `/data/projects/{id}/asset-types` | Project asset types |
|
||||
| GET | `/data/projects/{id}/asset-types/{at_id}/assets` | Assets of type |
|
||||
| POST | `/data/projects/{id}/asset-types/{at_id}/assets/new` | Create asset |
|
||||
| GET | `/data/projects/{id}/asset-types/{at_id}/casting` | Casting by type |
|
||||
| GET | `/data/projects/{id}/assets` | Project assets |
|
||||
| GET | `/data/projects/{id}/assets/shared-used` | Shared assets |
|
||||
|
||||
### Asset Sharing
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| POST | `/actions/assets/share` | Share assets across projects |
|
||||
| POST | `/actions/projects/{id}/assets/share` | Share project assets |
|
||||
| POST | `/actions/projects/{id}/asset-types/{at_id}/assets/share` | Share by type |
|
||||
|
||||
## Tasks
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/tasks` | List/create tasks |
|
||||
| GET | `/data/tasks/open-tasks` | Open tasks |
|
||||
| GET | `/data/tasks/open-tasks/stats` | Open tasks stats |
|
||||
| GET/PUT/DELETE | `/data/tasks/{id}` | Get/update/delete task |
|
||||
| GET | `/data/tasks/{id}/full` | Full task with all relations |
|
||||
| GET | `/data/tasks/{id}/comments` | Task comments |
|
||||
| GET/DELETE | `/data/tasks/{id}/comments/{cid}` | Get/delete comment |
|
||||
| POST | `/data/tasks/{id}/comments/{cid}/reply` | Reply to comment |
|
||||
| DELETE | `/data/tasks/{id}/comments/{cid}/reply/{rid}` | Delete reply |
|
||||
| POST | `/data/tasks/{id}/comments/{cid}/ack` | Acknowledge comment |
|
||||
| DELETE | `/data/tasks/{id}/comments/{cid}/attachments/{aid}` | Delete attachment |
|
||||
| GET | `/data/tasks/{id}/previews` | Task preview files |
|
||||
| GET | `/data/tasks/{id}/attachment-files` | Task attachments |
|
||||
| GET | `/data/tasks/{id}/working-files` | Task working files |
|
||||
| GET | `/data/tasks/{id}/working-files/last-revisions` | Latest working files |
|
||||
| POST | `/data/tasks/{id}/working-files/new` | Create working file |
|
||||
| POST | `/data/tasks/{id}/working-file-path` | Get working file path |
|
||||
|
||||
### Task Actions
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| POST | `/actions/tasks/{id}/comment` | Add comment to task |
|
||||
| POST | `/actions/tasks/{id}/batch-comment` | Batch comment |
|
||||
| POST | `/actions/tasks/batch-comment` | Batch comment (multi-task) |
|
||||
| PUT | `/actions/tasks/{id}/assign` | Assign task |
|
||||
| PUT | `/actions/tasks/clear-assignation` | Clear assignments |
|
||||
| PUT | `/actions/tasks/{id}/set-main-preview` | Set main preview |
|
||||
| PUT | `/actions/tasks/{id}/to-review` | Send to review |
|
||||
| POST | `/actions/tasks/{id}/comments/{cid}/add-preview` | Add preview to comment |
|
||||
| POST | `/actions/tasks/{id}/comments/{cid}/add-attachment` | Add attachment |
|
||||
| POST/DELETE | `/actions/tasks/{id}/comments/{cid}/preview-files/{pfid}` | Manage previews |
|
||||
| POST | `/actions/projects/{id}/tasks/comment-many` | Comment many tasks |
|
||||
|
||||
### Task Creation (Bulk)
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| POST | `/actions/projects/{id}/task-types/{tt_id}/shots/create-tasks` | Create tasks for all shots |
|
||||
| POST | `/actions/projects/{id}/task-types/{tt_id}/assets/create-tasks` | Create tasks for all assets |
|
||||
| POST | `/actions/projects/{id}/task-types/{tt_id}/edits/create-tasks` | Create tasks for all edits |
|
||||
| POST | `/actions/projects/{id}/task-types/{tt_id}/concepts/create-tasks` | Create tasks for concepts |
|
||||
| DELETE | `/actions/projects/{id}/task-types/{tt_id}/delete-tasks` | Delete all tasks of type |
|
||||
|
||||
### Time Tracking
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/time-spents/` | List/create time spents |
|
||||
| GET/PUT/DELETE | `/data/time-spents/{id}` | CRUD time spent |
|
||||
| GET | `/actions/tasks/{id}/time-spents` | Task time spents |
|
||||
| GET | `/actions/tasks/{id}/time-spents/{date}` | Task time on date |
|
||||
| POST/DELETE | `/actions/tasks/{id}/time-spents/{date}/persons/{pid}` | Set/delete person time |
|
||||
| POST | `/actions/tasks/{id}/time-spents/{date}/persons/{pid}/add` | Add time |
|
||||
|
||||
### Task Types & Statuses
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/task-types` | List/create task types |
|
||||
| GET/PUT/DELETE | `/data/task-types/{id}` | CRUD task type |
|
||||
| GET/POST | `/data/task-status` | List/create task statuses |
|
||||
| GET/PUT/DELETE | `/data/task-status/{id}` | CRUD task status |
|
||||
| POST | `/data/task-type-links` | Link task types |
|
||||
| POST | `/data/task-status-links` | Link task statuses |
|
||||
| POST | `/actions/projects/{id}/task-types/{tt_id}/set-shot-nb-frames` | Set frame counts |
|
||||
|
||||
## Comments
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/comments` | List/create comments |
|
||||
| GET/PUT/DELETE | `/data/comments/{id}` | CRUD comment |
|
||||
|
||||
## Previews
|
||||
|
||||
### Preview Actions
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| PUT | `/actions/preview-files/{id}/set-main-preview` | Set as main preview |
|
||||
| PUT | `/actions/preview-files/{id}/update-annotations` | Update annotations |
|
||||
| PUT | `/actions/preview-files/{id}/update-position` | Update position |
|
||||
| GET | `/actions/preview-files/{id}/extract-frame` | Extract frame |
|
||||
| GET | `/actions/preview-files/{id}/extract-tile` | Extract tile |
|
||||
|
||||
### Preview Data
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/preview-files` | List/create preview files |
|
||||
| GET/PUT/DELETE | `/data/preview-files/{id}` | CRUD preview file |
|
||||
| GET/POST | `/data/preview-background-files` | Background files |
|
||||
| GET/PUT/DELETE | `/data/preview-background-files/{id}` | CRUD background file |
|
||||
|
||||
## Files
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/data/files/{id}` | Get file info |
|
||||
| GET/POST | `/data/working-files` | List/create working files |
|
||||
| GET/PUT/DELETE | `/data/working-files/{id}` | CRUD working file |
|
||||
| GET/POST | `/data/working-files/{id}/file` | Upload/download file |
|
||||
| PUT | `/actions/working-files/{id}/comment` | Comment on working file |
|
||||
| PUT | `/actions/working-files/{id}/modified` | Mark as modified |
|
||||
| GET/POST | `/data/output-files` | List/create output files |
|
||||
| GET/PUT/DELETE | `/data/output-files/{id}` | CRUD output file |
|
||||
| GET/POST | `/data/output-types` | List/create output types |
|
||||
| GET/PUT/DELETE | `/data/output-types/{id}` | CRUD output type |
|
||||
| GET/POST | `/data/attachment-files` | List/create attachments |
|
||||
| GET/PUT/DELETE | `/data/attachment-files/{id}` | CRUD attachment |
|
||||
| GET | `/data/attachment-files/{id}/file/{filename}` | Download attachment |
|
||||
| GET/POST | `/data/softwares` | List/create software entries |
|
||||
| GET/PUT/DELETE | `/data/softwares/{id}` | CRUD software |
|
||||
| GET/POST | `/data/file-status/` | File statuses |
|
||||
| GET/PUT/DELETE | `/data/file-status/{id}` | CRUD file status |
|
||||
|
||||
### Entity File Operations
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/data/entities/{id}/working-files` | Entity working files |
|
||||
| GET | `/data/entities/{id}/output-files` | Entity output files |
|
||||
| GET | `/data/entities/{id}/output-files/last-revisions` | Latest output revisions |
|
||||
| POST | `/data/entities/{id}/output-files/new` | Create output file |
|
||||
| POST | `/data/entities/{id}/output-files/next-revision` | Next revision number |
|
||||
| POST | `/data/entities/{id}/output-file-path` | Get output file path |
|
||||
| GET | `/data/entities/{id}/output-types` | Entity output types |
|
||||
| GET | `/data/entities/{id}/output-types/{ot_id}/output-files` | Files by output type |
|
||||
| GET | `/data/entities/{id}/preview-files` | Entity preview files |
|
||||
|
||||
### Asset Instance File Operations
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/data/asset-instances/{ai_id}/output-files` | Instance output files |
|
||||
| GET | `/data/asset-instances/{ai_id}/entities/{te_id}/output-files/last-revisions` | Latest revisions |
|
||||
| POST | `/data/asset-instances/{ai_id}/entities/{te_id}/output-files/new` | Create output |
|
||||
| POST | `/data/asset-instances/{ai_id}/entities/{te_id}/output-files/next-revision` | Next revision |
|
||||
| POST | `/data/asset-instances/{ai_id}/entities/{te_id}/output-file-path` | Get path |
|
||||
| GET | `/data/asset-instances/{ai_id}/entities/{te_id}/output-types` | Output types |
|
||||
| GET | `/data/asset-instances/{ai_id}/entities/{te_id}/output-types/{ot_id}/output-files` | Files |
|
||||
|
||||
## Casting
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/PUT | `/data/projects/{id}/entities/{eid}/casting` | Entity casting |
|
||||
| GET | `/data/projects/{id}/asset-types/{at_id}/casting` | Casting by asset type |
|
||||
| GET | `/data/projects/{id}/sequences/all/casting` | All sequence casting |
|
||||
| GET | `/data/projects/{id}/sequences/{sid}/casting` | Sequence casting |
|
||||
| GET/POST | `/data/asset-instances/` | Asset instances |
|
||||
| GET/PUT/DELETE | `/data/asset-instances/{id}` | CRUD asset instance |
|
||||
|
||||
## Persons
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/persons` | List/create persons |
|
||||
| GET/PUT/DELETE | `/data/persons/{id}` | CRUD person |
|
||||
| GET | `/data/persons/{id}/tasks` | Person's tasks |
|
||||
| GET | `/data/persons/{id}/done-tasks` | Person's completed tasks |
|
||||
| GET | `/data/persons/{id}/time-spents` | All time spents |
|
||||
| GET | `/data/persons/{id}/time-spents/{date}` | Time on specific date |
|
||||
| GET | `/data/persons/{id}/time-spents/day/{y}/{m}/{d}` | Daily time |
|
||||
| GET | `/data/persons/{id}/time-spents/week/{y}/{w}` | Weekly time |
|
||||
| GET | `/data/persons/{id}/time-spents/month/{y}/{m}` | Monthly time |
|
||||
| GET | `/data/persons/{id}/time-spents/month/all/{y}/{m}` | Monthly all |
|
||||
| GET | `/data/persons/{id}/time-spents/year/{y}` | Yearly time |
|
||||
| GET | `/data/persons/{id}/related-tasks/{tt_id}` | Related tasks |
|
||||
| GET | `/data/persons/{id}/quota-shots/day/{y}/{m}/{d}` | Daily quota |
|
||||
| GET | `/data/persons/{id}/quota-shots/week/{y}/{w}` | Weekly quota |
|
||||
| GET | `/data/persons/{id}/quota-shots/month/{y}/{m}` | Monthly quota |
|
||||
| GET/POST | `/data/persons/{id}/desktop-login-logs` | Login logs |
|
||||
|
||||
### Person Aggregate Tables
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/data/persons/time-spents/day-table/{y}/{m}` | All persons daily |
|
||||
| GET | `/data/persons/time-spents/week-table/{y}` | All persons weekly |
|
||||
| GET | `/data/persons/time-spents/month-table/{y}` | All persons monthly |
|
||||
| GET | `/data/persons/time-spents/year-table/` | All persons yearly |
|
||||
| GET | `/data/persons/task-dates` | All persons task dates |
|
||||
| GET | `/data/persons/presence-logs/{month_date}` | Presence logs |
|
||||
|
||||
### Day Offs
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/day-offs/` | List/create day offs |
|
||||
| GET/PUT/DELETE | `/data/day-offs/{id}` | CRUD day off |
|
||||
| GET | `/data/persons/{id}/day-offs` | Person day offs |
|
||||
| GET | `/data/persons/{id}/day-offs/{date}` | Day offs on date |
|
||||
| GET | `/data/persons/{id}/day-offs/week/{y}/{w}` | Weekly day offs |
|
||||
| GET | `/data/persons/{id}/day-offs/month/{y}/{m}` | Monthly day offs |
|
||||
| GET | `/data/persons/{id}/day-offs/year/{y}` | Yearly day offs |
|
||||
| GET | `/data/persons/day-offs/{y}/{m}` | All persons day offs |
|
||||
|
||||
### Person Actions
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| PUT | `/actions/persons/{id}/assign` | Assign person |
|
||||
| POST | `/actions/persons/{id}/change-password` | Change password |
|
||||
| DELETE | `/actions/persons/{id}/clear-avatar` | Clear avatar |
|
||||
| POST | `/actions/persons/{id}/departments/add` | Add to department |
|
||||
| DELETE | `/actions/persons/{id}/departments/{did}` | Remove from dept |
|
||||
| DELETE | `/actions/persons/{id}/disable-two-factor-authentication` | Disable 2FA |
|
||||
| GET | `/actions/persons/{id}/invite` | Send invite |
|
||||
|
||||
### Departments
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/departments` | List/create departments |
|
||||
| GET/PUT/DELETE | `/data/departments/{id}` | CRUD department |
|
||||
| GET | `/data/departments/hardware-items` | All hardware items |
|
||||
| GET | `/data/departments/software-licenses` | All software licenses |
|
||||
| POST | `/data/departments/{id}/hardware-items` | Add hardware |
|
||||
| GET/DELETE | `/data/departments/{id}/hardware-items/{hid}` | Get/remove |
|
||||
| POST | `/data/departments/{id}/software-licenses` | Add license |
|
||||
| GET/DELETE | `/data/departments/{id}/software-licenses/{sid}` | Get/remove |
|
||||
|
||||
## Playlists
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/playlists/` | List/create playlists |
|
||||
| GET/PUT/DELETE | `/data/playlists/{id}` | CRUD playlist |
|
||||
| GET | `/data/playlists/entities/{eid}/preview-files` | Entity previews in playlists |
|
||||
| GET | `/data/playlists/preview-files/running` | Running preview builds |
|
||||
| GET | `/data/playlists/{id}/build/mp4` | Build MP4 |
|
||||
| GET | `/data/playlists/{id}/download/zip` | Download ZIP |
|
||||
| GET/DELETE | `/data/playlists/{id}/jobs/{jid}` | Build job status |
|
||||
| GET | `/data/playlists/{id}/jobs/{jid}/build/mp4` | Job MP4 |
|
||||
| POST | `/data/playlists/{id}/notify-clients` | Notify clients |
|
||||
| POST | `/actions/playlists/{id}/add-entity` | Add entity to playlist |
|
||||
|
||||
## Events
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/events/` | List/create events |
|
||||
| GET | `/data/events/last` | Recent events (page_size, before, after, only_files) |
|
||||
| GET | `/data/events/login-logs/last` | Recent login logs |
|
||||
| GET/PUT/DELETE | `/data/events/{id}` | CRUD event |
|
||||
|
||||
## News
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/news/` | List/create news |
|
||||
| GET/PUT/DELETE | `/data/news/{id}` | CRUD news |
|
||||
| GET | `/data/entities/{id}/news` | Entity news |
|
||||
|
||||
## Notifications
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/notifications/` | List/create notifications |
|
||||
| GET/PUT/DELETE | `/data/notifications/{id}` | CRUD notification |
|
||||
|
||||
## Search
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| POST | `/data/search` | Full-text search (query, project_id, limit, offset, index_names) |
|
||||
| GET/POST | `/data/search-filters/` | Saved search filters |
|
||||
| GET/PUT/DELETE | `/data/search-filters/{id}` | CRUD search filter |
|
||||
| GET/POST | `/data/search-filter-groups/` | Filter groups |
|
||||
| GET/PUT/DELETE | `/data/search-filter-groups/{id}` | CRUD filter group |
|
||||
|
||||
## Chat
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/chats/` | List/create chats |
|
||||
| GET/PUT/DELETE | `/data/chats/{id}` | CRUD chat |
|
||||
| GET/POST | `/data/chat-messages/` | List/create messages |
|
||||
| GET/PUT/DELETE | `/data/chat-messages/{id}` | CRUD message |
|
||||
| GET | `/data/entities/{eid}/chat` | Entity chat |
|
||||
| GET/POST | `/data/entities/{eid}/chat/messages` | Entity chat messages |
|
||||
| GET/DELETE | `/data/entities/{eid}/chat/messages/{mid}` | Get/delete message |
|
||||
| POST/DELETE | `/actions/user/chats/{eid}/join` | Join/leave entity chat |
|
||||
|
||||
## Entities (Generic)
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/entities` | List/create entities |
|
||||
| GET/PUT/DELETE | `/data/entities/{id}` | CRUD entity |
|
||||
| POST | `/data/entities/guess_from_path` | Guess entity from file path |
|
||||
| GET | `/data/entities/{id}/entities-linked/with-tasks` | Linked entities with tasks |
|
||||
| GET | `/data/entities/{id}/time-spents` | Entity time spents |
|
||||
| GET | `/data/entities/{id}/task-types/{tt_id}/tasks` | Tasks by type |
|
||||
| GET/POST | `/data/entity-links/` | Entity links |
|
||||
| GET/PUT/DELETE | `/data/entity-links/{id}` | CRUD entity link |
|
||||
| GET/POST | `/data/entity-types` | Entity types |
|
||||
| GET/PUT/DELETE | `/data/entity-types/{id}` | CRUD entity type |
|
||||
|
||||
## Concepts & Edits
|
||||
|
||||
### Concepts
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/data/concepts` | All concepts |
|
||||
| GET | `/data/concepts/with-tasks` | Concepts with tasks |
|
||||
| GET/DELETE | `/data/concepts/{id}` | Get/delete concept |
|
||||
| GET | `/data/concepts/{id}/preview-files` | Concept previews |
|
||||
| GET | `/data/concepts/{id}/task-types` | Concept task types |
|
||||
| GET | `/data/concepts/{id}/tasks` | Concept tasks |
|
||||
| GET/POST | `/data/projects/{id}/concepts` | Project concepts |
|
||||
|
||||
### Edits
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/data/edits` | All edits |
|
||||
| GET | `/data/edits/all` | All edits (admin) |
|
||||
| GET | `/data/edits/with-tasks` | Edits with tasks |
|
||||
| GET/DELETE | `/data/edits/{id}` | Get/delete edit |
|
||||
| GET | `/data/edits/{id}/preview-files` | Edit previews |
|
||||
| GET | `/data/edits/{id}/task-types` | Edit task types |
|
||||
| GET | `/data/edits/{id}/tasks` | Edit tasks |
|
||||
| GET | `/data/edits/{id}/versions` | Edit versions |
|
||||
| GET/POST | `/data/projects/{id}/edits` | Project edits |
|
||||
|
||||
## Export/Import
|
||||
|
||||
### CSV Export
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/export/csv/persons.csv` | Export persons |
|
||||
| GET | `/export/csv/projects.csv` | Export projects |
|
||||
| GET | `/export/csv/task-types.csv` | Export task types |
|
||||
| GET | `/export/csv/tasks.csv` | Export tasks |
|
||||
| GET | `/export/csv/time-spents.csv` | Export time spents |
|
||||
| GET | `/export/csv/projects/{id}/assets.csv` | Export assets |
|
||||
| GET | `/export/csv/projects/{id}/shots.csv` | Export shots |
|
||||
| GET | `/export/csv/projects/{id}/edits.csv` | Export edits |
|
||||
| GET | `/export/csv/projects/{id}/casting.csv` | Export casting |
|
||||
| GET | `/export/csv/playlists/{id}` | Export playlist |
|
||||
|
||||
### CSV Import
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| POST | `/import/csv/persons` | Import persons |
|
||||
| POST | `/import/csv/projects/{id}/assets` | Import assets |
|
||||
| POST | `/import/csv/projects/{id}/shots` | Import shots |
|
||||
| POST | `/import/csv/projects/{id}/edits` | Import edits |
|
||||
| POST | `/import/csv/projects/{id}/casting` | Import casting |
|
||||
| POST | `/import/csv/projects/{id}/task-types/{tt_id}/estimations` | Import estimations |
|
||||
| POST | `/import/csv/projects/{id}/episodes/{ep_id}/task-types/{tt_id}/estimations` | Episode estimations |
|
||||
|
||||
### Kitsu Import
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| POST | `/import/kitsu/projects` | Import from Kitsu |
|
||||
| POST | `/import/kitsu/entities` | Import entities |
|
||||
| POST | `/import/kitsu/tasks` | Import tasks |
|
||||
| POST | `/import/kitsu/comments` | Import comments |
|
||||
| POST | `/import/kitsu/entity-links` | Import links |
|
||||
|
||||
### OTIO Import
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| POST | `/import/otio/projects/{id}` | Import OTIO |
|
||||
| POST | `/import/otio/projects/{id}/episodes/{ep_id}` | Import OTIO with episode |
|
||||
|
||||
## User Context (Current User)
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/data/user/context` | Current user context |
|
||||
| GET | `/data/user/tasks` | My tasks |
|
||||
| GET | `/data/user/tasks-to-check` | Tasks to review |
|
||||
| GET | `/data/user/done-tasks` | My completed tasks |
|
||||
| GET | `/data/user/notifications` | My notifications |
|
||||
| GET/PUT | `/data/user/notifications/{id}` | Get/mark notification |
|
||||
| POST | `/actions/user/notifications/mark-all-as-read` | Mark all read |
|
||||
| GET | `/data/user/chats` | My chats |
|
||||
| GET | `/data/user/time-spents` | My time spents |
|
||||
| GET | `/data/user/time-spents/{date}` | My time on date |
|
||||
| GET | `/data/user/day-offs/{date}` | My day offs |
|
||||
| GET/POST | `/data/user/filters` | My saved filters |
|
||||
| PUT/DELETE | `/data/user/filters/{id}` | Update/delete filter |
|
||||
| GET/POST | `/data/user/filter-groups` | My filter groups |
|
||||
| GET/PUT/DELETE | `/data/user/filter-groups/{id}` | CRUD filter group |
|
||||
| GET/POST | `/data/user/desktop-login-logs` | Desktop login logs |
|
||||
| DELETE | `/actions/user/clear-avatar` | Clear my avatar |
|
||||
| GET | `/data/user/projects/open` | My open projects |
|
||||
| GET | `/data/user/projects/{id}/asset-types` | My project asset types |
|
||||
| GET | `/data/user/projects/{id}/asset-types/{at_id}/assets` | My project assets |
|
||||
| GET | `/data/user/projects/{id}/episodes` | My project episodes |
|
||||
| GET | `/data/user/projects/{id}/sequences` | My project sequences |
|
||||
| GET | `/data/user/projects/{id}/task-types/{tt_id}/sequence-subscriptions` | My subscriptions |
|
||||
| GET | `/data/user/assets/{id}/task-types` | My asset task types |
|
||||
| GET | `/data/user/assets/{id}/tasks` | My asset tasks |
|
||||
| GET | `/data/user/shots/{id}/task-types` | My shot task types |
|
||||
| GET | `/data/user/shots/{id}/tasks` | My shot tasks |
|
||||
| GET | `/data/user/sequences/{id}/shots` | My sequence shots |
|
||||
| GET | `/data/user/sequences/{id}/scenes` | My sequence scenes |
|
||||
| GET | `/data/user/sequences/{id}/task-types` | My sequence task types |
|
||||
| GET | `/data/user/sequences/{id}/tasks` | My sequence tasks |
|
||||
| GET | `/data/user/scenes/{id}/task-types` | My scene task types |
|
||||
| GET | `/data/user/scenes/{id}/tasks` | My scene tasks |
|
||||
| GET | `/data/user/entities/{sid}/task-types/{tt_id}/subscribed` | Subscription status |
|
||||
| GET | `/data/user/tasks/{id}/subscribed` | Task subscription status |
|
||||
| GET | `/data/user/tasks/{id}/time-spents/{date}` | My task time |
|
||||
| POST | `/actions/user/tasks/{id}/subscribe` | Subscribe to task |
|
||||
| DELETE | `/actions/user/tasks/{id}/unsubscribe` | Unsubscribe from task |
|
||||
| POST | `/actions/user/sequences/{sid}/task-types/{tt_id}/subscribe` | Subscribe to sequence |
|
||||
| DELETE | `/actions/user/sequences/{sid}/task-types/{tt_id}/unsubscribe` | Unsubscribe |
|
||||
|
||||
## Custom Actions
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/custom-actions/` | List/create custom actions |
|
||||
| GET/PUT/DELETE | `/data/custom-actions/{id}` | CRUD custom action |
|
||||
|
||||
## Admin & System
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/` | API root |
|
||||
| GET | `/config` | Server configuration |
|
||||
| GET | `/stats` | Server statistics |
|
||||
| GET | `/status` | Server status |
|
||||
| GET | `/status.txt` | Status text |
|
||||
| GET | `/status/influx` | InfluxDB metrics |
|
||||
| GET | `/status/resources` | Resource usage |
|
||||
| GET | `/status/test-event` | Test SSE event |
|
||||
| GET/POST | `/data/organisations` | Organisations |
|
||||
| GET/PUT/DELETE | `/data/organisations/{id}` | CRUD organisation |
|
||||
| GET/POST | `/data/studios` | Studios |
|
||||
| GET/PUT/DELETE | `/data/studios/{id}` | CRUD studio |
|
||||
| GET/POST | `/data/project-status` | Project statuses |
|
||||
| GET/PUT/DELETE | `/data/project-status/{id}` | CRUD project status |
|
||||
| GET/POST | `/data/status-automations/` | Status automations |
|
||||
| GET/PUT/DELETE | `/data/status-automations/{id}` | CRUD status automation |
|
||||
| GET/POST | `/data/plugins` | Plugins |
|
||||
| GET/PUT/DELETE | `/data/plugins/{id}` | CRUD plugin |
|
||||
| GET/POST | `/data/subscriptions/` | Subscriptions |
|
||||
| GET/PUT/DELETE | `/data/subscriptions/{id}` | CRUD subscription |
|
||||
| GET/POST | `/data/salary-scales` | Salary scales |
|
||||
| GET/PUT/DELETE | `/data/salary-scales/{id}` | CRUD salary scale |
|
||||
| GET/POST | `/data/hardware-items` | Hardware items |
|
||||
| GET/PUT/DELETE | `/data/hardware-items/{id}` | CRUD hardware item |
|
||||
|
||||
## Budgets & Scheduling
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET/POST | `/data/projects/{id}/budgets` | Project budgets |
|
||||
| GET | `/data/projects/{id}/budgets/time-spents` | Budget time spents |
|
||||
| GET/PUT/DELETE | `/data/projects/{id}/budgets/{bid}` | CRUD budget |
|
||||
| GET/POST | `/data/projects/{id}/budgets/{bid}/entries` | Budget entries |
|
||||
| GET/PUT/DELETE | `/data/projects/{id}/budgets/{bid}/entries/{eid}` | CRUD entry |
|
||||
| GET/POST | `/data/milestones/` | Milestones |
|
||||
| GET/PUT/DELETE | `/data/milestones/{id}` | CRUD milestone |
|
||||
| GET | `/data/projects/{id}/milestones` | Project milestones |
|
||||
| GET/POST | `/data/schedule-items/` | Schedule items |
|
||||
| GET/PUT/DELETE | `/data/schedule-items/{id}` | CRUD schedule item |
|
||||
| GET | `/data/projects/{id}/schedule-items` | Project schedule items |
|
||||
| GET | `/data/projects/{id}/schedule-items/task-types` | Schedule by task type |
|
||||
| GET | `/data/projects/{id}/schedule-items/{tt_id}/asset-types` | By asset type |
|
||||
| GET | `/data/projects/{id}/schedule-items/{tt_id}/episodes` | By episode |
|
||||
| GET | `/data/projects/{id}/schedule-items/{tt_id}/sequences` | By sequence |
|
||||
| GET/POST | `/data/production-schedule-versions` | Schedule versions |
|
||||
| GET/PUT/DELETE | `/data/production-schedule-versions/{id}` | CRUD version |
|
||||
| GET | `/data/production-schedule-versions/{id}/task-links` | Version task links |
|
||||
| GET/POST | `/data/production-schedule-version-task-links` | Task links |
|
||||
| GET/PUT/DELETE | `/data/production-schedule-version-task-links/{id}` | CRUD task link |
|
||||
| POST | `/actions/production-schedule-versions/{id}/apply-to-production` | Apply schedule |
|
||||
| POST | `/actions/production-schedule-versions/{id}/set-task-links-from-production` | Sync from prod |
|
||||
| POST | `/actions/production-schedule-versions/{id}/set-task-links-from-production-schedule-version` | Sync from version |
|
||||
|
||||
## Media Files
|
||||
|
||||
### Pictures
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| POST | `/pictures/preview-files/{id}` | Upload preview image |
|
||||
| GET | `/pictures/originals/preview-files/{id}.png` | Original PNG |
|
||||
| GET | `/pictures/originals/preview-files/{id}.{ext}` | Original (any ext) |
|
||||
| GET | `/pictures/originals/preview-files/{id}/download` | Download original |
|
||||
| GET | `/pictures/previews/preview-files/{id}.png` | Preview size |
|
||||
| GET | `/pictures/thumbnails/preview-files/{id}.png` | Thumbnail |
|
||||
| GET | `/pictures/thumbnails-square/preview-files/{id}.png` | Square thumbnail |
|
||||
| GET | `/pictures/thumbnails/attachment-files/{id}.png` | Attachment thumbnail |
|
||||
| GET/POST | `/pictures/thumbnails/persons/{id}` | Person avatar |
|
||||
| GET/POST | `/pictures/thumbnails/persons/{id}.png` | Person avatar PNG |
|
||||
| GET/POST | `/pictures/thumbnails/projects/{id}` | Project thumbnail |
|
||||
| GET/POST | `/pictures/thumbnails/projects/{id}.png` | Project thumbnail PNG |
|
||||
| GET/POST | `/pictures/thumbnails/organisations/{id}` | Org thumbnail |
|
||||
| GET/POST | `/pictures/thumbnails/organisations/{id}.png` | Org thumbnail PNG |
|
||||
| POST | `/pictures/preview-background-files/{id}` | Upload BG file |
|
||||
| GET | `/pictures/preview-background-files/{id}.{ext}` | Get BG file |
|
||||
| GET/POST | `/pictures/thumbnails/preview-background-files/{id}.png` | BG thumbnail |
|
||||
|
||||
### Movies
|
||||
|
||||
| Method | Path | Description |
|
||||
|--------|------|-------------|
|
||||
| GET | `/movies/originals/preview-files/{id}.mp4` | Original movie |
|
||||
| GET | `/movies/originals/preview-files/{id}/download` | Download movie |
|
||||
| GET | `/movies/low/preview-files/{id}.mp4` | Low-res movie |
|
||||
| GET | `/movies/tiles/preview-files/{id}.png` | Movie tile strip |
|
||||
@@ -0,0 +1,183 @@
|
||||
# Kitsu Event Types
|
||||
|
||||
Events are emitted in real-time via Server-Sent Events (SSE) and stored in the event log.
|
||||
|
||||
## Listening to Events
|
||||
|
||||
```python
|
||||
import gazu
|
||||
|
||||
gazu.set_host("https://kitsu.mystudio.com/api")
|
||||
gazu.set_event_host("https://kitsu.mystudio.com") # no /api suffix
|
||||
gazu.log_in("user@studio.com", "password")
|
||||
|
||||
event_client = gazu.events.init()
|
||||
|
||||
def handler(data):
|
||||
print(data)
|
||||
|
||||
gazu.events.add_listener(event_client, "task:status-changed", handler)
|
||||
gazu.events.run_client(event_client) # blocks
|
||||
```
|
||||
|
||||
Run the listener in a separate thread since `run_client()` blocks.
|
||||
|
||||
## Event Naming Convention
|
||||
|
||||
Pattern: `entity_type:action`
|
||||
|
||||
Entity type is the model name lowercased with spaces replaced by hyphens.
|
||||
|
||||
## Callback Data
|
||||
|
||||
The callback `data` dict always includes:
|
||||
- The entity ID (e.g., `asset_id`, `shot_id`, `task_id`)
|
||||
- `project_id` when relevant
|
||||
|
||||
## Complete Event List
|
||||
|
||||
### Assets
|
||||
- `asset:new` — Asset created
|
||||
- `asset:update` — Asset updated
|
||||
- `asset:delete` — Asset deleted
|
||||
- `asset:new-link` — Asset linked to another entity
|
||||
- `asset:remove-link` — Asset link removed
|
||||
- `asset:casting-update` — Asset casting changed
|
||||
- `asset-type:new` — Asset type created
|
||||
- `asset-type:update` — Asset type updated
|
||||
- `asset-type:delete` — Asset type deleted
|
||||
- `asset-instance:new` — Asset instance created
|
||||
- `asset-instance:update` — Asset instance updated
|
||||
- `asset-instance:delete` — Asset instance deleted
|
||||
|
||||
### Shots / Sequences / Episodes / Scenes
|
||||
- `shot:new` — Shot created
|
||||
- `shot:update` — Shot updated
|
||||
- `shot:delete` — Shot deleted
|
||||
- `shot:casting-update` — Shot casting changed
|
||||
- `sequence:new` — Sequence created
|
||||
- `sequence:update` — Sequence updated
|
||||
- `sequence:delete` — Sequence deleted
|
||||
- `episode:new` — Episode created
|
||||
- `episode:update` — Episode updated
|
||||
- `episode:delete` — Episode deleted
|
||||
- `scene:new` — Scene created
|
||||
- `scene:update` — Scene updated
|
||||
- `scene:delete` — Scene deleted
|
||||
|
||||
### Tasks
|
||||
- `task:new` — Task created
|
||||
- `task:update` — Task updated
|
||||
- `task:delete` — Task deleted
|
||||
- `task:assign` — Person assigned to task
|
||||
- `task:unassign` — Person unassigned from task
|
||||
- `task:status-changed` — Task status changed (via comment)
|
||||
- `task:to-review` — Task sent for review
|
||||
- `task-type:new` — Task type created
|
||||
- `task-type:update` — Task type updated
|
||||
- `task-type:delete` — Task type deleted
|
||||
- `task-status:new` — Task status created
|
||||
- `task-status:update` — Task status updated
|
||||
- `task-status:delete` — Task status deleted
|
||||
|
||||
### Comments
|
||||
- `comment:new` — Comment posted
|
||||
- `comment:update` — Comment edited
|
||||
- `comment:delete` — Comment removed
|
||||
- `comment:reply` — Reply added to comment
|
||||
- `comment:acknowledge` — Comment acknowledged
|
||||
|
||||
### Files
|
||||
- `preview-file:new` — Preview file uploaded
|
||||
- `preview-file:update` — Preview file updated
|
||||
- `working-file:new` — Working file created
|
||||
- `output-file:new` — Output file created
|
||||
- `output-file:update` — Output file updated
|
||||
- `output-file:delete` — Output file deleted
|
||||
|
||||
### Persons
|
||||
- `person:new` — Person created
|
||||
- `person:update` — Person updated
|
||||
- `person:delete` — Person deleted
|
||||
|
||||
### Projects
|
||||
- `project:new` — Project created
|
||||
- `project:update` — Project updated
|
||||
- `project:delete` — Project deleted
|
||||
|
||||
### Edits & Concepts
|
||||
- `edit:new` — Edit created
|
||||
- `edit:update` — Edit updated
|
||||
- `edit:delete` — Edit deleted
|
||||
- `concept:new` — Concept created
|
||||
- `concept:update` — Concept updated
|
||||
- `concept:delete` — Concept deleted
|
||||
|
||||
### Playlists
|
||||
- `playlist:new` — Playlist created
|
||||
- `playlist:update` — Playlist updated
|
||||
- `playlist:delete` — Playlist deleted
|
||||
|
||||
### Notifications
|
||||
- `notification:new` — Notification created
|
||||
- `notification:update` — Notification updated
|
||||
- `notification:delete` — Notification deleted
|
||||
|
||||
### Chat
|
||||
- `chat:new` — Chat created
|
||||
- `chat:update` — Chat updated
|
||||
- `chat:delete` — Chat deleted
|
||||
- `chat-message:new` — Message sent
|
||||
- `chat-message:update` — Message edited
|
||||
- `chat-message:delete` — Message deleted
|
||||
|
||||
### News
|
||||
- `news:new` — News item created
|
||||
- `news:update` — News item updated
|
||||
- `news:delete` — News item deleted
|
||||
|
||||
### Entity Links
|
||||
- `entity-link:new` — Entity link created
|
||||
- `entity-link:delete` — Entity link removed
|
||||
|
||||
### Budget
|
||||
- `budget:new` — Budget created
|
||||
- `budget:update` — Budget updated
|
||||
- `budget:delete` — Budget deleted
|
||||
- `budget-entry:new` — Budget entry created
|
||||
- `budget-entry:update` — Budget entry updated
|
||||
- `budget-entry:delete` — Budget entry deleted
|
||||
|
||||
### Schedule
|
||||
- `schedule-item:new` — Schedule item created
|
||||
- `schedule-item:update` — Schedule item updated
|
||||
- `schedule-item:delete` — Schedule item deleted
|
||||
- `milestone:new` — Milestone created
|
||||
- `milestone:update` — Milestone updated
|
||||
- `milestone:delete` — Milestone deleted
|
||||
|
||||
### Time Tracking
|
||||
- `time-spent:new` — Time entry created
|
||||
- `time-spent:update` — Time entry updated
|
||||
- `time-spent:delete` — Time entry deleted
|
||||
|
||||
### Build Jobs
|
||||
- `build-job:new` — Build job created
|
||||
- `build-job:update` — Build job updated
|
||||
- `build-job:delete` — Build job deleted
|
||||
|
||||
## Reading Event History
|
||||
|
||||
```python
|
||||
# Recent events
|
||||
events = gazu.client.get("data/events/last?page_size=100")
|
||||
|
||||
# Filter by date
|
||||
events = gazu.client.get("data/events/last?page_size=100&before=2024-02-01&after=2024-01-01")
|
||||
|
||||
# File events only
|
||||
events = gazu.client.get("data/events/last?page_size=100&only_files=true")
|
||||
|
||||
# Login logs
|
||||
logs = gazu.client.get("data/events/login-logs/last")
|
||||
```
|
||||
Reference in New Issue
Block a user