{"name":"Raster API v2","version":"2.0.0","description":"Multi-tenant API for Cablecast data synchronization and management","timestamp":"2026-05-23T00:17:18.111Z","endpoints":{"health":{"path":"/api/health","method":"GET","description":"Health check endpoint - no authentication required","response":"Returns system health status including Neo4j connectivity"},"organization":{"path":"/api/organization","method":"GET","description":"Get organization information","auth":"API Key required"},"channels":{"path":"/api/channels","method":"GET","description":"Get channels for the organization","auth":"API Key required"},"sync":{"path":"/api/sync/cablecast","method":"POST","description":"Trigger Cablecast data synchronization","auth":"API Key required","options":{"singleOrg":"Include x-org-id header for specific organization","allOrgs":"Omit x-org-id header to sync all active organizations (perfect for CRON jobs)"}},"coordinator":{"path":"/api/jobs/coordinate","method":"POST","description":"Coordinator endpoint for multi-tenant CRON jobs","auth":"System API Key required","body":"{ \"batch\": 5 }","note":"Queries PocketBase for active integrations and triggers per-tenant syncs"},"internalSync":{"path":"/api/jobs/sync?org={orgId}","method":"POST","description":"Internal sync endpoint (called by coordinator)","auth":"HMAC + System Token required","note":"Not for external use - called internally by coordinator"},"graphql":{"path":"/api/graph/graphql","method":"POST","description":"GraphQL endpoint for data queries","auth":"API Key required"}},"features":["Multi-tenant architecture","Cablecast API integration","Neo4j graph database","GraphQL API","Scheduled data synchronization","Producer, Project, Show, Schedule, and Category management"],"documentation":{"github":"https://github.com/trentbrew/api.raster.tv","apiVersion":"v2"}}