Joseph HENRY 3600c870cd 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>
2026-05-07 17:13:13 +02:00

5.4 KiB

Kitsu Event Types

Events are emitted in real-time via Server-Sent Events (SSE) and stored in the event log.

Listening to Events

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-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

# 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")