{"openapi":"3.0.0","paths":{"/v1/health":{"get":{"operationId":"HealthController_liveness","parameters":[],"responses":{"200":{"description":""}},"summary":"Liveness probe","tags":["health"]}},"/v1/health/ready":{"get":{"operationId":"HealthController_readiness","parameters":[],"responses":{"200":{"description":""}},"summary":"Readiness probe (checks downstream deps)","tags":["health"]}},"/v1/admin/auth/login":{"post":{"operationId":"AdminAuthController_login","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminLoginDto"}}}},"responses":{"201":{"description":""}},"summary":"Super admin login","tags":["admin/auth"]}},"/v1/admin/auth/me":{"get":{"operationId":"AdminAuthController_me","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Current admin (verified via JWT)","tags":["admin/auth"]}},"/v1/admin/dashboard/kpis":{"get":{"operationId":"AdminDashboardController_kpis","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Top-line numbers — tenants, streams, recordings, signups","tags":["admin/dashboard"]}},"/v1/admin/dashboard/plan-distribution":{"get":{"operationId":"AdminDashboardController_planDist","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Tenant count by plan tier","tags":["admin/dashboard"]}},"/v1/admin/dashboard/revenue":{"get":{"operationId":"AdminDashboardController_revenue","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"MRR / ARR / invoice status snapshot (stub until billing wired)","tags":["admin/dashboard"]}},"/v1/admin/dashboard/recent-activity":{"get":{"operationId":"AdminDashboardController_recent","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Latest audit-log entries (cross-tenant)","tags":["admin/dashboard"]}},"/v1/admin/dashboard/growth":{"get":{"operationId":"AdminDashboardController_growth","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"New-tenant signups grouped by day","tags":["admin/dashboard"]}},"/v1/admin/tenants":{"get":{"operationId":"AdminTenantsController_list","parameters":[{"name":"q","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"plan","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"List tenants with filters and pagination","tags":["admin/tenants"]}},"/v1/admin/tenants/{id}":{"get":{"operationId":"AdminTenantsController_detail","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Tenant detail with users, keys, recent streams, audit","tags":["admin/tenants"]}},"/v1/admin/tenants/{id}/suspend":{"post":{"operationId":"AdminTenantsController_suspend","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuspendDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"Suspend tenant (kicks active streams, blocks new auth)","tags":["admin/tenants"]}},"/v1/admin/tenants/{id}/unsuspend":{"post":{"operationId":"AdminTenantsController_unsuspend","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"Reactivate a suspended tenant","tags":["admin/tenants"]}},"/v1/admin/tenants/{id}/plan":{"patch":{"operationId":"AdminTenantsController_changePlan","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePlanDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Change tenant plan immediately (proration handled by billing)","tags":["admin/tenants"]}},"/v1/admin/streams/live":{"get":{"operationId":"AdminStreamsController_live","parameters":[{"name":"tenantId","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"All currently-LIVE streams across all tenants","tags":["admin/streams"]}},"/v1/admin/streams/history":{"get":{"operationId":"AdminStreamsController_history","parameters":[{"name":"tenantId","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Stream history (any status)","tags":["admin/streams"]}},"/v1/admin/streams/{id}":{"get":{"operationId":"AdminStreamsController_detail","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/streams"]}},"/v1/admin/streams/{id}/force-stop":{"post":{"operationId":"AdminStreamsController_forceStop","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForceStopDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"Force-end a live stream (kicks publisher, marks ENDED, audited)","tags":["admin/streams"]}},"/v1/me/billing/status":{"get":{"operationId":"BillingController_status","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/billing"]}},"/v1/me/billing/usage":{"get":{"operationId":"BillingController_usageSummary","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/billing"]}},"/v1/me/billing/checkout":{"post":{"operationId":"BillingController_checkout","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/billing"]}},"/v1/me/billing/portal":{"post":{"operationId":"BillingController_portal","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/billing"]}},"/v1/billing/webhook":{"post":{"operationId":"BillingWebhookController_webhook","parameters":[],"responses":{"201":{"description":""}},"tags":["billing"]}},"/v1/auth/login":{"post":{"operationId":"TenantAuthController_login","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantLoginDto"}}}},"responses":{"201":{"description":""}},"summary":"Tenant user login (returns JWT)","tags":["auth"]}},"/v1/auth/register":{"post":{"operationId":"TenantAuthController_register","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantRegisterDto"}}}},"responses":{"201":{"description":""}},"summary":"Public self-signup — creates Tenant + first OWNER user, auto-logs in (no email verification)","tags":["auth"]}},"/v1/auth/send-code":{"post":{"operationId":"TenantAuthController_sendCode","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendVerificationCodeDto"}}}},"responses":{"201":{"description":""}},"summary":"Step 1 of email-verified signup — emails a 6-digit code, stashes form for 15min","tags":["auth"]}},"/v1/auth/verify-and-register":{"post":{"operationId":"TenantAuthController_verifyAndRegister","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyAndRegisterDto"}}}},"responses":{"201":{"description":""}},"summary":"Step 2 of email-verified signup — confirms code, creates tenant, auto-logs in","tags":["auth"]}},"/v1/auth/resend-code":{"post":{"operationId":"TenantAuthController_resendCode","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResendVerificationCodeDto"}}}},"responses":{"201":{"description":""}},"summary":"Re-send the 6-digit code (rate-limited to once per 30s)","tags":["auth"]}},"/v1/auth/me":{"get":{"operationId":"TenantAuthController_me","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["auth"]}},"/v1/admin/system/health":{"get":{"operationId":"AdminSystemController_health","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Live health check across DB, Redis, SFU, etc.","tags":["admin/system"]}},"/v1/admin/system/database/stats":{"get":{"operationId":"AdminSystemController_dbStats","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Row counts and storage sizes for every public table","tags":["admin/system"]}},"/v1/admin/system/settings":{"get":{"operationId":"AdminSystemController_settings","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"List all system settings","tags":["admin/system"]}},"/v1/admin/system/settings/{key}":{"put":{"operationId":"AdminSystemController_upsert","parameters":[{"name":"key","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertSettingDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Upsert a system setting (audited)","tags":["admin/system"]}},"/v1/admin/audit":{"get":{"operationId":"AdminAuditController_list","parameters":[{"name":"tenantId","required":true,"in":"query","schema":{"type":"string"}},{"name":"actor","required":true,"in":"query","schema":{"type":"string"}},{"name":"action","required":true,"in":"query","schema":{"type":"string"}},{"name":"entity","required":true,"in":"query","schema":{"type":"string"}},{"name":"from","required":true,"in":"query","schema":{"type":"string"}},{"name":"to","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Cross-tenant audit log with filters","tags":["admin/audit"]}},"/v1/admin/plans":{"get":{"operationId":"AdminPlansController_list","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/plans"]}},"/v1/admin/plans/{id}":{"get":{"operationId":"AdminPlansController_detail","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/plans"]},"patch":{"operationId":"AdminPlansController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/plans"]}},"/v1/admin/plans/{id}/activate":{"post":{"operationId":"AdminPlansController_activate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/plans"]}},"/v1/admin/plans/{id}/deactivate":{"post":{"operationId":"AdminPlansController_deactivate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/plans"]}},"/v1/admin/subscriptions":{"get":{"operationId":"AdminSubscriptionsController_list","parameters":[{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/subscriptions"]}},"/v1/admin/subscriptions/{id}/pause":{"post":{"operationId":"AdminSubscriptionsController_pause","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/subscriptions"]}},"/v1/admin/subscriptions/{id}/resume":{"post":{"operationId":"AdminSubscriptionsController_resume","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/subscriptions"]}},"/v1/admin/subscriptions/{id}/cancel":{"post":{"operationId":"AdminSubscriptionsController_cancel","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/subscriptions"]}},"/v1/admin/subscriptions/{id}/extend-trial":{"post":{"operationId":"AdminSubscriptionsController_extend","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtendTrialDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/subscriptions"]}},"/v1/admin/users":{"get":{"operationId":"AdminUsersController_list","parameters":[{"name":"q","required":true,"in":"query","schema":{"type":"string"}},{"name":"tenantId","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/users"]}},"/v1/admin/users/{id}/activate":{"post":{"operationId":"AdminUsersController_activate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/users"]}},"/v1/admin/users/{id}/deactivate":{"post":{"operationId":"AdminUsersController_deactivate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/users"]}},"/v1/admin/users/{id}/reset-password":{"post":{"operationId":"AdminUsersController_reset","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/users"]}},"/v1/admin/users/{id}":{"delete":{"operationId":"AdminUsersController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/users"]}},"/v1/admin/recordings":{"get":{"operationId":"AdminRecordingsController_list","parameters":[{"name":"tenantId","required":true,"in":"query","schema":{"type":"string"}},{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/recordings"]}},"/v1/admin/recordings/{id}":{"delete":{"operationId":"AdminRecordingsController_forceDelete","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForceDeleteDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/recordings"]}},"/v1/admin/recordings/{id}/retention":{"patch":{"operationId":"AdminRecordingsController_retention","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetentionDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/recordings"]}},"/v1/admin/tickets":{"get":{"operationId":"AdminTicketsController_list","parameters":[{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"priority","required":true,"in":"query","schema":{"type":"string"}},{"name":"tenantId","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/tickets"]}},"/v1/admin/tickets/{id}":{"get":{"operationId":"AdminTicketsController_detail","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/tickets"]},"patch":{"operationId":"AdminTicketsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTicketDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/tickets"]}},"/v1/admin/tickets/{id}/reply":{"post":{"operationId":"AdminTicketsController_reply","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplyDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/tickets"]}},"/v1/admin/webhooks/summary":{"get":{"operationId":"AdminWebhooksController_summary","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/webhooks"]}},"/v1/admin/webhooks/endpoints":{"get":{"operationId":"AdminWebhooksController_endpoints","parameters":[{"name":"tenantId","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/webhooks"]}},"/v1/admin/webhooks/endpoints/{id}/deliveries":{"get":{"operationId":"AdminWebhooksController_deliveries","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/webhooks"]}},"/v1/admin/webhooks/deliveries/{id}/retry":{"post":{"operationId":"AdminWebhooksController_retry","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/webhooks"]}},"/v1/admin/announcements":{"get":{"operationId":"AdminAnnouncementsController_list","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/announcements"]},"post":{"operationId":"AdminAnnouncementsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/announcements"]}},"/v1/admin/announcements/{id}":{"get":{"operationId":"AdminAnnouncementsController_detail","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/announcements"]},"patch":{"operationId":"AdminAnnouncementsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/announcements"]},"delete":{"operationId":"AdminAnnouncementsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/announcements"]}},"/v1/admin/announcements/{id}/publish":{"post":{"operationId":"AdminAnnouncementsController_publish","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/announcements"]}},"/v1/admin/billing/overview":{"get":{"operationId":"AdminBillingController_overview","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/billing"]}},"/v1/admin/billing/invoices":{"get":{"operationId":"AdminBillingController_invoices","parameters":[{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"tenantId","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/billing"]}},"/v1/admin/stream-keys":{"get":{"operationId":"AdminStreamKeysController_list","parameters":[{"name":"tenantId","required":true,"in":"query","schema":{"type":"string"}},{"name":"consumed","required":true,"in":"query","schema":{"type":"string"}},{"name":"q","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}},{"name":"pageSize","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/stream-keys"]}},"/v1/admin/stream-keys/{id}/revoke":{"post":{"operationId":"AdminStreamKeysController_revoke","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeKeyDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/stream-keys"]}},"/v1/admin/reports/tenant-growth":{"get":{"operationId":"AdminReportsController_growth","parameters":[{"name":"days","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/reports"]}},"/v1/admin/reports/plan-mix":{"get":{"operationId":"AdminReportsController_mix","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/reports"]}},"/v1/admin/reports/stream-activity":{"get":{"operationId":"AdminReportsController_activity","parameters":[{"name":"days","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/reports"]}},"/v1/admin/reports/top-tenants":{"get":{"operationId":"AdminReportsController_top","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/reports"]}},"/v1/admin/roles":{"get":{"operationId":"AdminRolesController_list","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/roles"]}},"/v1/admin/bandwidth/overview":{"get":{"operationId":"AdminBandwidthController_overview","parameters":[{"name":"days","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/bandwidth"]}},"/v1/admin/bandwidth/import-cdn-logs":{"post":{"operationId":"AdminBandwidthController_importCdnLogs","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportLogsDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/bandwidth"]}},"/v1/admin/settings":{"get":{"operationId":"AdminSettingsController_list","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/settings"]}},"/v1/admin/settings/{key}":{"put":{"operationId":"AdminSettingsController_update","parameters":[{"name":"key","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSettingDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/settings"]}},"/v1/admin/compliance/overview":{"get":{"operationId":"AdminComplianceController_overview","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/compliance"]}},"/v1/admin/compliance/{tenantId}":{"put":{"operationId":"AdminComplianceController_update","parameters":[{"name":"tenantId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateComplianceDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/compliance"]}},"/v1/admin/dev-activity/overview":{"get":{"operationId":"AdminDevActivityController_overview","parameters":[{"name":"days","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/dev-activity"]}},"/v1/admin/stream-inspector":{"get":{"operationId":"AdminStreamInspectorController_list","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/stream-inspector"]}},"/v1/admin/stream-inspector/{streamId}":{"get":{"operationId":"AdminStreamInspectorController_detail","parameters":[{"name":"streamId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/stream-inspector"]}},"/v1/admin/operations/usage":{"get":{"operationId":"AdminOperationsController_usage","parameters":[{"name":"limit","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/operations"]}},"/v1/admin/operations/webhook-deliveries":{"get":{"operationId":"AdminOperationsController_deliveries","parameters":[{"name":"status","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/operations"]}},"/v1/admin/operations/scheduler-runs":{"get":{"operationId":"AdminOperationsController_scheduler","parameters":[{"name":"kind","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/operations"]}},"/v1/admin/first-party-apps":{"get":{"operationId":"AdminFirstPartyController_list","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"List Kardolive-operated tenants (Kardopal, internal demos, etc.)","tags":["admin/first-party-apps"]},"post":{"operationId":"AdminFirstPartyController_provision","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisionDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"Provision a new first-party app — creates ENTERPRISE tenant + initial API key","tags":["admin/first-party-apps"]}},"/v1/admin/first-party-apps/{id}":{"get":{"operationId":"AdminFirstPartyController_detail","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"First-party app detail: stats, keys, webhooks, recent sessions","tags":["admin/first-party-apps"]}},"/v1/admin/first-party-apps/{id}/keys":{"post":{"operationId":"AdminFirstPartyController_createKey","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKeyDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"Mint an additional API key for an existing first-party app","tags":["admin/first-party-apps"]}},"/v1/admin/first-party-apps/{id}/keys/{keyId}":{"delete":{"operationId":"AdminFirstPartyController_revokeKey","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"keyId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Revoke an API key on a first-party app","tags":["admin/first-party-apps"]}},"/v1/admin/first-party-apps/{id}/impersonate":{"post":{"operationId":"AdminFirstPartyController_impersonate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"Mint a 30-minute tenant JWT so super-admin can open the app in the customer portal","tags":["admin/first-party-apps"]}},"/v1/admin/platform-activity/overview":{"get":{"operationId":"AdminPlatformActivityController_overview","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/platform-activity"]}},"/v1/admin/platform-activity/by-tenant":{"get":{"operationId":"AdminPlatformActivityController_byTenant","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["admin/platform-activity"]}},"/v1/ingest/srs/publish":{"post":{"operationId":"IngestController_onPublish","parameters":[],"responses":{"201":{"description":""}},"summary":"SRS on_publish — stream key arrived, validate and create session","tags":["ingest/srs"]}},"/v1/ingest/srs/unpublish":{"post":{"operationId":"IngestController_onUnpublish","parameters":[],"responses":{"201":{"description":""}},"tags":["ingest/srs"]}},"/v1/ingest/srs/play":{"post":{"operationId":"IngestController_onPlay","parameters":[],"responses":{"201":{"description":""}},"tags":["ingest/srs"]}},"/v1/ingest/srs/stop":{"post":{"operationId":"IngestController_onStop","parameters":[],"responses":{"201":{"description":""}},"tags":["ingest/srs"]}},"/v1/ingest/srs/dvr":{"post":{"operationId":"IngestController_onDvr","parameters":[],"responses":{"201":{"description":""}},"tags":["ingest/srs"]}},"/v1/me":{"get":{"operationId":"MeController_whoami","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/overview":{"get":{"operationId":"MeController_overview","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/analytics":{"get":{"operationId":"MeController_analytics","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/streams":{"get":{"operationId":"MeController_myStreams","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]},"post":{"operationId":"MeController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateStreamDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/streams/{id}":{"get":{"operationId":"MeController_streamDetail","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/streams/{id}/rotate-key":{"post":{"operationId":"MeController_rotateKey","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/streams/{id}/sfu-token":{"post":{"operationId":"MeController_sfuToken","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/streams/{id}/playback-url":{"post":{"operationId":"MeController_livePlaybackUrl","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/recordings":{"get":{"operationId":"MeController_myRecordings","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/recordings/{id}/playback-url":{"get":{"operationId":"MeController_recordingPlaybackUrl","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/api-keys":{"get":{"operationId":"MeController_listApiKeys","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]},"post":{"operationId":"MeController_createApiKey","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/api-keys/{id}":{"delete":{"operationId":"MeController_revokeApiKey","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/webhooks":{"get":{"operationId":"MeController_listWebhooks","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]},"post":{"operationId":"MeController_createWebhook","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/webhooks/{id}/deliveries":{"get":{"operationId":"MeController_webhookDeliveries","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/webhooks/deliveries/{id}/retry":{"post":{"operationId":"MeController_retryDelivery","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/webhooks/{id}":{"delete":{"operationId":"MeController_deleteWebhook","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/tenant":{"get":{"operationId":"MeController_tenantInfo","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]},"patch":{"operationId":"MeController_updateTenant","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTenantDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/team":{"get":{"operationId":"MeController_listTeam","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]},"post":{"operationId":"MeController_inviteUser","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteUserDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/team/{id}/role":{"patch":{"operationId":"MeController_updateUserRole","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRoleDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/team/{id}":{"delete":{"operationId":"MeController_removeUser","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/change-password":{"post":{"operationId":"MeController_changePassword","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me"]}},"/v1/me/streams/{id}/chat":{"post":{"operationId":"ChatRestController_send","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendChatDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/chat"]}},"/v1/streams/{id}/chat":{"get":{"operationId":"ChatPublicController_history","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"since","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["chat"]}},"/v1/me/streams/{id}/recordings/start":{"post":{"operationId":"TenantRecordingsController_start","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/recordings"]}},"/v1/me/streams/{id}/recordings/{recId}/stop":{"post":{"operationId":"TenantRecordingsController_stop","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"recId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/recordings"]}},"/v1/recorder/recordings/{id}/finalize":{"post":{"operationId":"RecorderFinalizeController_finalize","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"x-recorder-signature","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["internal/recorder"]}},"/v1/me/recordings/{id}/transcode":{"post":{"operationId":"TenantTranscodesController_start","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartTranscodeDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/transcodes"]}},"/v1/me/transcodes/{id}":{"get":{"operationId":"TenantTranscodesController_detail","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/transcodes"]}},"/v1/me/transcodes/{id}/cancel":{"post":{"operationId":"TenantTranscodesController_cancel","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/transcodes"]}},"/v1/transcoder/jobs/{id}/event":{"post":{"operationId":"TranscoderEventController_event","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"x-transcoder-signature","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["internal/transcoder"]}},"/v1/me/transcodes/{id}/package":{"post":{"operationId":"TenantPackagesController_start","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartPackageDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/packages"]}},"/v1/me/packages/{id}":{"get":{"operationId":"TenantPackagesController_detail","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/packages"]}},"/v1/me/packages/{id}/cancel":{"post":{"operationId":"TenantPackagesController_cancel","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/packages"]}},"/v1/packager/jobs/{id}/event":{"post":{"operationId":"PackagerEventController_event","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"x-packager-signature","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["internal/packager"]}},"/v1/me/webhook-tester":{"post":{"operationId":"WebhookTesterController_create","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"get":{"operationId":"WebhookTesterController_list","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]}},"/v1/me/webhook-tester/{token}/captures":{"get":{"operationId":"WebhookTesterController_captures","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]}},"/v1/me/webhook-tester/{token}/delete":{"get":{"operationId":"WebhookTesterController_remove_get","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"post":{"operationId":"WebhookTesterController_remove_post","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"put":{"operationId":"WebhookTesterController_remove_put","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"delete":{"operationId":"WebhookTesterController_remove_delete","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"patch":{"operationId":"WebhookTesterController_remove_patch","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"options":{"operationId":"WebhookTesterController_remove_options","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"head":{"operationId":"WebhookTesterController_remove_head","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"search":{"operationId":"WebhookTesterController_remove_search","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"propfind":{"operationId":"WebhookTesterController_remove_propfind","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"proppatch":{"operationId":"WebhookTesterController_remove_proppatch","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"mkcol":{"operationId":"WebhookTesterController_remove_mkcol","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"copy":{"operationId":"WebhookTesterController_remove_copy","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"move":{"operationId":"WebhookTesterController_remove_move","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"lock":{"operationId":"WebhookTesterController_remove_lock","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]},"unlock":{"operationId":"WebhookTesterController_remove_unlock","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/webhook-tester"]}},"/v1/wt/{token}":{"get":{"operationId":"WebhookCaptureController_capture_get","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"post":{"operationId":"WebhookCaptureController_capture_post","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"put":{"operationId":"WebhookCaptureController_capture_put","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"delete":{"operationId":"WebhookCaptureController_capture_delete","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"patch":{"operationId":"WebhookCaptureController_capture_patch","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"options":{"operationId":"WebhookCaptureController_capture_options","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"head":{"operationId":"WebhookCaptureController_capture_head","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"search":{"operationId":"WebhookCaptureController_capture_search","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"propfind":{"operationId":"WebhookCaptureController_capture_propfind","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"proppatch":{"operationId":"WebhookCaptureController_capture_proppatch","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"mkcol":{"operationId":"WebhookCaptureController_capture_mkcol","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"copy":{"operationId":"WebhookCaptureController_capture_copy","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"move":{"operationId":"WebhookCaptureController_capture_move","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"lock":{"operationId":"WebhookCaptureController_capture_lock","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]},"unlock":{"operationId":"WebhookCaptureController_capture_unlock","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["webhook-tester"]}},"/v1/me/streams/{id}/transcription/start":{"post":{"operationId":"TenantTranscriptionController_start","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/transcription"]}},"/v1/me/streams/{id}/transcription/stop":{"post":{"operationId":"TenantTranscriptionController_stop","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/transcription"]}},"/v1/transcription/sessions/{id}/event":{"post":{"operationId":"TranscriptionEventController_event","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"x-transcription-signature","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["internal/transcription"]}},"/v1/me/projects/features/catalog":{"get":{"operationId":"ProjectsController_catalog","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["projects"]}},"/v1/me/projects":{"get":{"operationId":"ProjectsController_list","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["projects"]},"post":{"operationId":"ProjectsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["projects"]}},"/v1/me/projects/{id}":{"get":{"operationId":"ProjectsController_get","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["projects"]},"patch":{"operationId":"ProjectsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["projects"]},"delete":{"operationId":"ProjectsController_archive","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["projects"]}},"/v1/me/projects/{id}/features":{"patch":{"operationId":"ProjectsController_setFeatures","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFeaturesDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["projects"]}},"/v1/me/projects/{id}/keys":{"get":{"operationId":"ProjectsController_listKeys","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["projects"]},"post":{"operationId":"ProjectsController_createKey","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectKeyDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["projects"]}},"/v1/me/projects/{id}/keys/{keyId}":{"delete":{"operationId":"ProjectsController_revokeKey","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"keyId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["projects"]}},"/v1/me/channels/token":{"post":{"operationId":"ChannelsController_mintToken","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MintChatTokenDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]}},"/v1/me/channels/uploads/url":{"post":{"operationId":"ChannelsController_uploadUrl","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadUrlDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]}},"/v1/me/channels/analytics/summary":{"get":{"operationId":"ChannelsController_analytics","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]}},"/v1/me/channels/search/messages":{"get":{"operationId":"ChannelsController_search","parameters":[{"name":"q","required":true,"in":"query","schema":{"type":"string"}},{"name":"channelId","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]}},"/v1/me/channels":{"get":{"operationId":"ChannelsController_list","parameters":[{"name":"projectId","required":true,"in":"query","schema":{"type":"string"}},{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"userId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]},"post":{"operationId":"ChannelsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateChannelDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]}},"/v1/me/channels/{id}":{"get":{"operationId":"ChannelsController_get","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]},"patch":{"operationId":"ChannelsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateChannelDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]},"delete":{"operationId":"ChannelsController_archive","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]}},"/v1/me/channels/{id}/members":{"post":{"operationId":"ChannelsController_addMember","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddMemberDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]}},"/v1/me/channels/{id}/members/{userId}":{"delete":{"operationId":"ChannelsController_removeMember","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]}},"/v1/me/channels/{id}/messages":{"get":{"operationId":"ChannelsController_listMessages","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"before","required":true,"in":"query","schema":{"type":"string"}},{"name":"parentId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]},"post":{"operationId":"ChannelsController_sendMessage","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]}},"/v1/me/channels/{id}/messages/{messageId}":{"patch":{"operationId":"ChannelsController_editMessage","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"messageId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditMessageDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]},"delete":{"operationId":"ChannelsController_deleteMessage","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"messageId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]}},"/v1/me/channels/{id}/read":{"post":{"operationId":"ChannelsController_markRead","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkReadDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["channels"]}},"/v1/me/push/devices":{"post":{"operationId":"PushController_register","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterDeviceDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["push"]}},"/v1/me/push/devices/{userId}":{"get":{"operationId":"PushController_list","parameters":[{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["push"]}},"/v1/me/push/devices/{token}":{"delete":{"operationId":"PushController_unregister","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["push"]}},"/v1/me/push/projects/{projectId}/credentials":{"get":{"operationId":"PushController_getCreds","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["push"]}},"/v1/me/push/projects/{projectId}/credentials/fcm":{"post":{"operationId":"PushController_setFcm","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FcmCredsDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["push"]}},"/v1/me/push/projects/{projectId}/credentials/apns":{"post":{"operationId":"PushController_setApns","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApnsCredsDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["push"]}},"/v1/me/push/notify":{"post":{"operationId":"PushController_notify","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotifyUsersDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["push"]}},"/v1/me/sessions/analytics/summary":{"get":{"operationId":"SessionsController_analytics","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions":{"get":{"operationId":"SessionsController_list","parameters":[{"name":"projectId","required":true,"in":"query","schema":{"type":"string"}},{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"state","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]},"post":{"operationId":"SessionsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSessionDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}":{"get":{"operationId":"SessionsController_get","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]},"patch":{"operationId":"SessionsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSessionDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/start":{"post":{"operationId":"SessionsController_start","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/end":{"post":{"operationId":"SessionsController_end","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/token":{"post":{"operationId":"SessionsController_mintToken","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MintSessionTokenDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/participants":{"get":{"operationId":"SessionsController_listParticipants","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]},"post":{"operationId":"SessionsController_addParticipant","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddParticipantDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/participants/{userId}":{"patch":{"operationId":"SessionsController_updateParticipant","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateParticipantDto"}}}},"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]},"delete":{"operationId":"SessionsController_kick","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/moderate/mute-all":{"post":{"operationId":"SessionsController_muteAll","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/moderate/spotlight":{"post":{"operationId":"SessionsController_spotlight","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpotlightDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/moderate/hand-raise":{"post":{"operationId":"SessionsController_raiseHand","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModerateDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/moderate/hand-lower":{"post":{"operationId":"SessionsController_lowerHand","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModerateDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/moderate/promote":{"post":{"operationId":"SessionsController_promote","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/recording/start":{"post":{"operationId":"SessionsController_startRec","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartRecordingDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/recording/{recordingId}/stop":{"post":{"operationId":"SessionsController_stopRec","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"recordingId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/recordings":{"get":{"operationId":"SessionsController_listRec","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/breakouts":{"post":{"operationId":"SessionsController_createBreakouts","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBreakoutsDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]},"get":{"operationId":"SessionsController_listBreakouts","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/breakouts/close":{"post":{"operationId":"SessionsController_closeBreakouts","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/sessions/{id}/summary":{"get":{"operationId":"SessionsController_getSummary","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]},"post":{"operationId":"SessionsController_setSummary","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["sessions"]}},"/v1/me/calls/invite":{"post":{"operationId":"CallsController_invite","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["calls"]}},"/v1/me/calls/{sessionId}/answer":{"post":{"operationId":"CallsController_answer","parameters":[{"name":"sessionId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["calls"]}},"/v1/me/calls/{sessionId}/decline":{"post":{"operationId":"CallsController_decline","parameters":[{"name":"sessionId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["calls"]}},"/v1/me/calls/{sessionId}/end":{"post":{"operationId":"CallsController_end","parameters":[{"name":"sessionId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["calls"]}},"/v1/me/calls/pending":{"get":{"operationId":"CallsController_pending","parameters":[{"name":"userId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["calls"]}},"/v1/me/calls/push-log":{"get":{"operationId":"CallsController_pushLog","parameters":[{"name":"userId","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["calls"]}},"/v1/me/calls/test-push":{"post":{"operationId":"CallsController_testPush","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["calls"]}},"/v1/me/catalog/products":{"get":{"operationId":"CommerceController_list","parameters":[{"name":"activeOnly","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"List products for this tenant","tags":["me/commerce"]},"post":{"operationId":"CommerceController_upsert","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertProductDtoIn"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"Create or update a product (upsert by externalId or id)","tags":["me/commerce"]}},"/v1/me/catalog/products/{id}":{"get":{"operationId":"CommerceController_get","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/commerce"]},"delete":{"operationId":"CommerceController_archive","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/commerce"]}},"/v1/me/catalog/sync":{"post":{"operationId":"CommerceController_bulkSync","parameters":[],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"Bulk upsert up to 500 products in one call. Idempotent on externalId.","tags":["me/commerce"]}},"/v1/me/commerce/connect/status":{"get":{"operationId":"CommerceController_connectStatus","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/commerce"]}},"/v1/me/commerce/connect/onboarding-link":{"post":{"operationId":"CommerceController_connectLink","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectLinkDtoIn"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"Get a one-time Stripe Express onboarding URL. Redirect the seller here.","tags":["me/commerce"]}},"/v1/me/commerce/checkout":{"post":{"operationId":"CommerceController_checkout","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutDtoIn"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"Create a Stripe Checkout session for the cart. Returns a hosted-checkout URL.","tags":["me/commerce"]}},"/v1/me/commerce/discounts":{"get":{"operationId":"CommerceController_listDiscounts","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/commerce"]},"post":{"operationId":"CommerceController_createDiscount","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscountDtoIn"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/commerce"]}},"/v1/me/commerce/discounts/drop/{streamId}":{"post":{"operationId":"CommerceController_dropDiscount","parameters":[{"name":"streamId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DropDiscountDtoIn"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"Drop a time-limited discount during a live stream. Default window: 10 minutes.","tags":["me/commerce"]}},"/v1/me/commerce/discounts/check/{code}":{"get":{"operationId":"CommerceController_checkDiscount","parameters":[{"name":"code","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"summary":"Verify a discount code is currently redeemable. Used by checkout to gray-out invalid codes.","tags":["me/commerce"]}},"/v1/me/commerce/auctions":{"get":{"operationId":"CommerceController_listAuctions","parameters":[{"name":"status","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/commerce"]},"post":{"operationId":"CommerceController_createAuction","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAuctionDtoIn"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/commerce"]}},"/v1/me/commerce/auctions/{id}/bid":{"post":{"operationId":"CommerceController_placeBid","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceBidDtoIn"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/commerce"]}},"/v1/stripe/webhook":{"post":{"operationId":"StripeWebhookController_handle","parameters":[{"name":"stripe-signature","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"summary":"Stripe → Kardolive webhook. Verifies signature, handles checkout.session.completed.","tags":["StripeWebhook"]}},"/v1/me/restream/targets":{"get":{"operationId":"RestreamController_list","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/restream"]},"post":{"operationId":"RestreamController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTargetDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/restream"]}},"/v1/me/restream/targets/{id}":{"delete":{"operationId":"RestreamController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/restream"]}},"/v1/me/restream/streams/{streamId}":{"get":{"operationId":"RestreamController_listRoutes","parameters":[{"name":"streamId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/restream"]},"post":{"operationId":"RestreamController_attach","parameters":[{"name":"streamId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachTargetsDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/restream"]}},"/v1/me/restream/streams/{streamId}/{targetId}":{"delete":{"operationId":"RestreamController_detach","parameters":[{"name":"streamId","required":true,"in":"path","schema":{"type":"string"}},{"name":"targetId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/restream"]}},"/v1/internal/restream/pending":{"get":{"operationId":"RestreamInternalController_pending","parameters":[],"responses":{"200":{"description":""}},"tags":["RestreamInternal"]}},"/v1/internal/restream/{routeId}/started":{"post":{"operationId":"RestreamInternalController_started","parameters":[{"name":"routeId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["RestreamInternal"]}},"/v1/internal/restream/{routeId}/ended":{"post":{"operationId":"RestreamInternalController_ended","parameters":[{"name":"routeId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["RestreamInternal"]}},"/v1/me/premieres":{"get":{"operationId":"PremieresController_list","parameters":[{"name":"status","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/premieres"]},"post":{"operationId":"PremieresController_schedule","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePremiereDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/premieres"]}},"/v1/me/premieres/{id}":{"get":{"operationId":"PremieresController_detail","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/premieres"]}},"/v1/me/premieres/{id}/start":{"post":{"operationId":"PremieresController_start","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/premieres"]}},"/v1/me/premieres/{id}/cancel":{"post":{"operationId":"PremieresController_cancel","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/premieres"]}},"/v1/premieres/{id}/lobby":{"get":{"operationId":"PremieresPublicController_lobby","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["PremieresPublic"]}},"/v1/me/clips":{"get":{"operationId":"ClipsController_list","parameters":[{"name":"recordingId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/clips"]},"post":{"operationId":"ClipsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClipDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/clips"]}},"/v1/me/clips/{id}":{"get":{"operationId":"ClipsController_detail","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/clips"]},"delete":{"operationId":"ClipsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/clips"]}},"/v1/clips/{id}":{"get":{"operationId":"ClipsPublicController_publicView","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["ClipsPublic"]}},"/v1/internal/clips/pending":{"get":{"operationId":"ClipsInternalController_pending","parameters":[],"responses":{"200":{"description":""}},"tags":["ClipsInternal"]}},"/v1/internal/clips/{id}/done":{"post":{"operationId":"ClipsInternalController_done","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkDoneDto"}}}},"responses":{"201":{"description":""}},"tags":["ClipsInternal"]}},"/v1/internal/clips/{id}/failed":{"post":{"operationId":"ClipsInternalController_failed","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["ClipsInternal"]}},"/v1/me/interactive/polls":{"post":{"operationId":"InteractiveController_createPoll","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePollDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"Create a poll, optionally scoped to a stream","tags":["me/interactive"]},"get":{"operationId":"InteractiveController_listPolls","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/polls/{id}":{"get":{"operationId":"InteractiveController_getPoll","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/polls/{id}/vote":{"post":{"operationId":"InteractiveController_votePoll","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoteDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/polls/{id}/close":{"post":{"operationId":"InteractiveController_closePoll","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/qa":{"post":{"operationId":"InteractiveController_ask","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]},"get":{"operationId":"InteractiveController_listQa","parameters":[],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/qa/{id}/upvote":{"post":{"operationId":"InteractiveController_upvoteQa","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpvoteDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/qa/{id}/mark-live":{"post":{"operationId":"InteractiveController_markLive","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/qa/{id}/answer":{"post":{"operationId":"InteractiveController_answer","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/qa/{id}/dismiss":{"post":{"operationId":"InteractiveController_dismiss","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/reactions":{"post":{"operationId":"InteractiveController_react","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/reactions/{streamId}":{"get":{"operationId":"InteractiveController_reactionTotals","parameters":[{"name":"streamId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/hand-raises":{"post":{"operationId":"InteractiveController_raiseHand","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RaiseHandDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/hand-raises/{streamId}":{"get":{"operationId":"InteractiveController_listHands","parameters":[{"name":"streamId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/hand-raises/{id}/promote":{"post":{"operationId":"InteractiveController_promoteHand","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/hand-raises/{id}/lower":{"post":{"operationId":"InteractiveController_lowerHand","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/spotlight/{streamId}":{"get":{"operationId":"InteractiveController_getSpotlight","parameters":[{"name":"streamId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]},"post":{"operationId":"InteractiveController_setSpotlight","parameters":[{"name":"streamId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpotlightDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["me/interactive"]}},"/v1/me/interactive/streams/{streamId}/promote":{"post":{"operationId":"InteractiveController_promote","parameters":[{"name":"streamId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromoteDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"summary":"Mint a publisher SFU token so an invited guest can join as a host","tags":["me/interactive"]}}},"info":{"title":"Kardolive API","description":"Kardolive control plane — tenants, streams, recordings, billing, super admin","version":"0.1.0","contact":{}},"tags":[],"servers":[{"url":"https://kardocloud.com"}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"AdminLoginDto":{"type":"object","properties":{"email":{"type":"string","example":"admin@kardocloud.com"},"password":{"type":"string","example":"change-me-after-first-login"}},"required":["email","password"]},"SuspendDto":{"type":"object","properties":{}},"ChangePlanDto":{"type":"object","properties":{}},"ForceStopDto":{"type":"object","properties":{}},"CheckoutDto":{"type":"object","properties":{}},"PortalDto":{"type":"object","properties":{}},"TenantLoginDto":{"type":"object","properties":{}},"TenantRegisterDto":{"type":"object","properties":{}},"SendVerificationCodeDto":{"type":"object","properties":{}},"VerifyAndRegisterDto":{"type":"object","properties":{}},"ResendVerificationCodeDto":{"type":"object","properties":{}},"UpsertSettingDto":{"type":"object","properties":{}},"ExtendTrialDto":{"type":"object","properties":{}},"ForceDeleteDto":{"type":"object","properties":{}},"RetentionDto":{"type":"object","properties":{}},"UpdateTicketDto":{"type":"object","properties":{}},"ReplyDto":{"type":"object","properties":{}},"CreateDto":{"type":"object","properties":{}},"RevokeKeyDto":{"type":"object","properties":{}},"ImportLogsDto":{"type":"object","properties":{}},"UpdateSettingDto":{"type":"object","properties":{}},"UpdateComplianceDto":{"type":"object","properties":{}},"ProvisionDto":{"type":"object","properties":{}},"CreateKeyDto":{"type":"object","properties":{}},"CreateStreamDto":{"type":"object","properties":{}},"CreateApiKeyDto":{"type":"object","properties":{}},"CreateWebhookDto":{"type":"object","properties":{}},"UpdateTenantDto":{"type":"object","properties":{}},"InviteUserDto":{"type":"object","properties":{}},"UpdateUserRoleDto":{"type":"object","properties":{}},"ChangePasswordDto":{"type":"object","properties":{}},"SendChatDto":{"type":"object","properties":{}},"StartTranscodeDto":{"type":"object","properties":{}},"StartPackageDto":{"type":"object","properties":{}},"CreateProjectDto":{"type":"object","properties":{}},"UpdateProjectDto":{"type":"object","properties":{}},"UpdateFeaturesDto":{"type":"object","properties":{}},"CreateProjectKeyDto":{"type":"object","properties":{}},"MintChatTokenDto":{"type":"object","properties":{}},"UploadUrlDto":{"type":"object","properties":{}},"CreateChannelDto":{"type":"object","properties":{}},"UpdateChannelDto":{"type":"object","properties":{}},"AddMemberDto":{"type":"object","properties":{}},"SendMessageDto":{"type":"object","properties":{}},"EditMessageDto":{"type":"object","properties":{}},"MarkReadDto":{"type":"object","properties":{}},"RegisterDeviceDto":{"type":"object","properties":{}},"FcmCredsDto":{"type":"object","properties":{}},"ApnsCredsDto":{"type":"object","properties":{}},"NotifyUsersDto":{"type":"object","properties":{}},"CreateSessionDto":{"type":"object","properties":{}},"UpdateSessionDto":{"type":"object","properties":{}},"MintSessionTokenDto":{"type":"object","properties":{}},"AddParticipantDto":{"type":"object","properties":{}},"UpdateParticipantDto":{"type":"object","properties":{}},"SpotlightDto":{"type":"object","properties":{}},"ModerateDto":{"type":"object","properties":{}},"StartRecordingDto":{"type":"object","properties":{}},"CreateBreakoutsDto":{"type":"object","properties":{}},"InviteDto":{"type":"object","properties":{}},"AnswerDto":{"type":"object","properties":{}},"UpsertProductDtoIn":{"type":"object","properties":{}},"ConnectLinkDtoIn":{"type":"object","properties":{}},"CheckoutDtoIn":{"type":"object","properties":{}},"DiscountDtoIn":{"type":"object","properties":{}},"DropDiscountDtoIn":{"type":"object","properties":{}},"CreateAuctionDtoIn":{"type":"object","properties":{}},"PlaceBidDtoIn":{"type":"object","properties":{}},"CreateTargetDto":{"type":"object","properties":{}},"AttachTargetsDto":{"type":"object","properties":{}},"CreatePremiereDto":{"type":"object","properties":{}},"CreateClipDto":{"type":"object","properties":{}},"MarkDoneDto":{"type":"object","properties":{}},"CreatePollDto":{"type":"object","properties":{}},"VoteDto":{"type":"object","properties":{}},"AskDto":{"type":"object","properties":{}},"UpvoteDto":{"type":"object","properties":{}},"ReactDto":{"type":"object","properties":{}},"RaiseHandDto":{"type":"object","properties":{}},"PromoteDto":{"type":"object","properties":{}}}}}