{"openapi":"3.0.0","info":{"title":"2people.chat Core API","description":"Staff-facing Core API. Errors use application/problem+json (RFC 9457). Tenant-scoped endpoints require X-Tenant-Id unless the tenant is in the path. Widget endpoints (/api/v1/widget/*) use visitor tokens, a separate auth boundary. Public endpoints (/api/v1/public/*) are unauthenticated and called by the corporate website.","version":"1.0.0","contact":{}},"paths":{"/api/v1/tenants/{id}":{"get":{"operationId":"getTenant","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Get a tenant","tags":["tenants"],"x-permissions":["tenants:read"],"x-tenant":"id"},"patch":{"operationId":"updateTenant","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTenantDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Update tenant name/settings (status: platform admins only)","tags":["tenants"],"x-permissions":["tenants:update"],"x-tenant":"id"}},"/api/v1/brands":{"get":{"operationId":"listBrands","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BrandDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["organization"],"x-permissions":["brands:read"],"x-tenant":"header"},"post":{"operationId":"createBrand","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBrandDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["organization"],"x-permissions":["brands:write"],"x-tenant":"header"}},"/api/v1/websites":{"get":{"operationId":"listWebsites","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebsiteDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["organization"],"x-permissions":["websites:read"],"x-tenant":"header"},"post":{"operationId":"createWebsite","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebsiteDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Register a website and generate its widget key","tags":["organization"],"x-permissions":["websites:write"],"x-tenant":"header"}},"/api/v1/websites/{id}/widget-settings":{"get":{"operationId":"getWidgetSettings","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Widget settings (widget-settings.v1)","tags":["organization"],"x-permissions":["websites:read"],"x-tenant":"header"},"put":{"operationId":"setWidgetSettings","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"widget-settings.v1"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Replace the widget settings; validated against widget-settings.v1","tags":["organization"],"x-permissions":["websites:write"],"x-tenant":"header"}},"/api/v1/websites/{id}/identity-secret":{"get":{"operationId":"getWebsiteIdentitySecret","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteSecretDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Reveal the player identity signing secret (audited)","tags":["organization"],"x-permissions":["websites:write"],"x-tenant":"header"}},"/api/v1/conversations":{"get":{"operationId":"listConversations","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":25,"type":"integer"}},{"name":"cursor","required":false,"in":"query","description":"Opaque cursor from a previous page","schema":{"type":"string"}},{"name":"view","required":false,"in":"query","schema":{"default":"open","type":"string","enum":["mine","unassigned","open","closed","all","waiting","ai","human"]}},{"name":"q","required":false,"in":"query","description":"Full-text search in messages (word prefixes), player id or conversation id","schema":{"maxLength":200,"type":"string"}},{"name":"departmentId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"websiteId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"agentId","required":false,"in":"query","description":"Assigned (or last assigned) agent","schema":{"format":"uuid","type":"string"}},{"name":"tag","required":false,"in":"query","description":"Tag name","schema":{"type":"string"}},{"name":"from","required":false,"in":"query","description":"Created at or after","schema":{"format":"date-time","type":"string"}},{"name":"to","required":false,"in":"query","description":"Created before","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationPageDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Unified inbox (views: mine, unassigned, open, closed, all)","tags":["conversations"],"x-permissions":["conversations:read"],"x-tenant":"header"}},"/api/v1/conversations/{id}":{"get":{"operationId":"getConversation","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["conversations"],"x-permissions":["conversations:read"],"x-tenant":"header"}},"/api/v1/conversations/{id}/messages":{"get":{"operationId":"listMessages","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"afterSequence","required":false,"in":"query","description":"Return messages with sequence > afterSequence (replay cursor)","schema":{"default":0,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":200,"default":100,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagePageDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Messages after a sequence (replay cursor)","tags":["conversations"],"x-permissions":["conversations:read"],"x-tenant":"header"},"post":{"operationId":"sendMessage","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Reply; claims an unowned conversation atomically","tags":["conversations"],"x-permissions":["conversations:reply"],"x-tenant":"header"}},"/api/v1/conversations/{id}/transcript":{"get":{"operationId":"exportTranscript","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"format","required":false,"in":"query","schema":{"default":"txt","type":"string","enum":["txt","json"]}},{"name":"notes","required":false,"in":"query","description":"Include internal notes (staff only)","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"description":"","content":{"text/plain":{"schema":{"type":"string"}},"application/json":{"schema":{"type":"string"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Conversation as a text/JSON file (audited)","tags":["conversations"],"x-permissions":["conversations:read"],"x-tenant":"header"}},"/api/v1/conversations/{id}/receipts":{"post":{"operationId":"updateReceipt","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptStateDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["conversations"],"x-permissions":["conversations:read"],"x-tenant":"header"}},"/api/v1/conversations/{id}/assign":{"post":{"operationId":"assignConversation","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Assign to self (or another agent with conversations:manage)","tags":["conversations"],"x-permissions":["conversations:reply"],"x-tenant":"header"}},"/api/v1/conversations/{id}/transfer":{"post":{"operationId":"transferConversation","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Transfer to another agent (owner or supervisor)","tags":["conversations"],"x-permissions":["conversations:reply"],"x-tenant":"header"}},"/api/v1/conversations/{id}/close":{"post":{"operationId":"closeConversation","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["conversations"],"x-permissions":["conversations:reply"],"x-tenant":"header"}},"/api/v1/conversations/{id}/reopen":{"post":{"operationId":"reopenConversation","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["conversations"],"x-permissions":["conversations:reply"],"x-tenant":"header"}},"/api/v1/conversations/{id}/ai/pause":{"post":{"operationId":"pauseConversationAi","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Stop the AI on this conversation; it waits for a human","tags":["conversations"],"x-permissions":["conversations:reply"],"x-tenant":"header"}},"/api/v1/conversations/{id}/ai/resume":{"post":{"operationId":"resumeConversationAi","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Hand the conversation (back) to the AI agent deployed on its website","tags":["conversations"],"x-permissions":["conversations:reply"],"x-tenant":"header"}},"/api/v1/conversations/{id}/notes":{"get":{"operationId":"listNotes","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NoteDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Internal notes (never visible to visitors)","tags":["conversations"],"x-permissions":["conversations:read"],"x-tenant":"header"},"post":{"operationId":"addNote","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteInputDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["conversations"],"x-permissions":["conversations:reply"],"x-tenant":"header"}},"/api/v1/conversations/{id}/tags":{"post":{"operationId":"setTags","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagsInputDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Replace the tag set","tags":["conversations"],"x-permissions":["conversations:reply"],"x-tenant":"header"}},"/api/v1/conversations/{id}/attachments":{"post":{"operationId":"uploadAttachment","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Upload a file (multipart field \"file\")","tags":["conversations"],"x-permissions":["conversations:reply"],"x-tenant":"header"}},"/api/v1/conversations/{id}/attachments/{attachmentId}":{"get":{"operationId":"downloadAttachment","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"attachmentId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["conversations"],"x-permissions":["conversations:read"],"x-tenant":"header"}},"/api/v1/conversations/{id}/department":{"put":{"operationId":"setConversationDepartment","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetDepartmentDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Moves the conversation to a department (re-routes it if waiting)","tags":["conversations"],"x-permissions":["conversations:manage"],"x-tenant":"header"}},"/api/v1/agents":{"get":{"operationId":"listAgents","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Agents in the tenant (transfer targets)","tags":["conversations"],"x-permissions":["conversations:read"],"x-tenant":"header"}},"/api/v1/visitors/live":{"get":{"operationId":"listLiveVisitors","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"websiteId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"country","required":false,"in":"query","schema":{"example":"TR","type":"string"}},{"name":"deviceType","required":false,"in":"query","schema":{"type":"string","enum":["desktop","mobile","tablet","other"]}},{"name":"channel","required":false,"in":"query","schema":{"type":"string","enum":["direct","search","social","referral","campaign"]}},{"name":"state","required":false,"in":"query","schema":{"type":"string","enum":["active","idle"]}},{"name":"visitorType","required":false,"in":"query","schema":{"type":"string","enum":["new","returning"]}},{"name":"inChat","required":false,"in":"query","description":"Only visitors with (true) / without (false) an open chat","schema":{"type":"string"}},{"name":"identified","required":false,"in":"query","description":"Only visitors linked to a verified player","schema":{"type":"string"}},{"name":"q","required":false,"in":"query","description":"Current URL contains","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":500,"default":200,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiveVisitorsDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Visitors online now (Redis presence); push updates arrive as visitor.presence events","tags":["visitors"],"x-permissions":["visitors:read"],"x-tenant":"header"}},"/api/v1/visitors/analytics":{"get":{"operationId":"getVisitorAnalytics","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"from","required":false,"in":"query","description":"Default: 7 days before `to`","schema":{"format":"date-time","type":"string"}},{"name":"to","required":false,"in":"query","description":"Default: now","schema":{"format":"date-time","type":"string"}},{"name":"websiteId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"interval","required":false,"in":"query","description":"Default: hour up to 2 days, else day","schema":{"type":"string","enum":["hour","day"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisitorAnalyticsDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Traffic analytics: totals, time series, geo, sources, devices, pages, triggers","tags":["visitors"],"x-permissions":["analytics:read"],"x-tenant":"header"}},"/api/v1/visitors/{id}":{"get":{"operationId":"getVisitor","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisitorDetailDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Presence, analytics profile, linked players","tags":["visitors"],"x-permissions":["visitors:read"],"x-tenant":"header"}},"/api/v1/visitors/{id}/journey":{"get":{"operationId":"getVisitorJourney","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":500,"default":100,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JourneyPageDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Journey timeline (newest first, cursor pagination)","tags":["visitors"],"x-permissions":["visitors:read"],"x-tenant":"header"}},"/api/v1/visitors/{id}/conversations":{"get":{"operationId":"listVisitorConversations","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConversationDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["visitors"],"x-permissions":["visitors:read","conversations:read"],"x-tenant":"header"}},"/api/v1/proactive-triggers":{"get":{"operationId":"listProactiveTriggers","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"websiteId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TriggerDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["proactive-triggers"],"x-permissions":["websites:read"],"x-tenant":"header"},"post":{"operationId":"createProactiveTrigger","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTriggerDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["proactive-triggers"],"x-permissions":["settings:write"],"x-tenant":"header"}},"/api/v1/proactive-triggers/{id}":{"patch":{"operationId":"updateProactiveTrigger","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTriggerDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["proactive-triggers"],"x-permissions":["settings:write"],"x-tenant":"header"},"delete":{"operationId":"deleteProactiveTrigger","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["proactive-triggers"],"x-permissions":["settings:write"],"x-tenant":"header"}},"/api/v1/privacy/telemetry-policy":{"get":{"operationId":"getTelemetryPolicy","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryPolicyDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Tenant telemetry and retention policy","tags":["privacy"],"x-permissions":["tenants:read"],"x-tenant":"header"},"put":{"operationId":"putTelemetryPolicy","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryPolicyDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryPolicyDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Replace the telemetry policy (audited; shorter retention also applies to stored rows)","tags":["privacy"],"x-permissions":["settings:write"],"x-tenant":"header"}},"/api/v1/visitors/{id}/analytics":{"delete":{"operationId":"eraseVisitorAnalytics","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"202":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EraseResultDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Erase a visitor's analytics events and live presence (audited)","tags":["privacy"],"x-permissions":["visitors:erase"],"x-tenant":"header"}},"/api/v1/ai/models":{"get":{"operationId":"listAiModels","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AiModelDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Active models tenants can choose from","tags":["ai-registry"],"x-permissions":["ai:read"],"x-tenant":"header"}},"/api/v1/ai/inference/status":{"get":{"operationId":"getInferenceStatus","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InferenceStatusDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Health, queue depth, KV cache usage and throughput per inference endpoint","tags":["ai-registry"],"x-permissions":["ai:read"],"x-tenant":"header"}},"/api/v1/ai/tools":{"get":{"operationId":"listAiTools","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AiToolDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Typed tool registry","tags":["ai-agents"],"x-permissions":["ai:read"],"x-tenant":"header"}},"/api/v1/ai/agents":{"get":{"operationId":"listAiAgents","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AiAgentDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-agents"],"x-permissions":["ai:read"],"x-tenant":"header"},"post":{"operationId":"createAiAgent","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAiAgentDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiAgentDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Creates the agent with a draft v1","tags":["ai-agents"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/ai/agents/{id}":{"get":{"operationId":"getAiAgent","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiAgentDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-agents"],"x-permissions":["ai:read"],"x-tenant":"header"},"patch":{"operationId":"updateAiAgent","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAiAgentDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiAgentDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-agents"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/ai/agents/{id}/versions":{"get":{"operationId":"listAiAgentVersions","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AiAgentVersionDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Prompt/config versions","tags":["ai-agents"],"x-permissions":["ai:read"],"x-tenant":"header"}},"/api/v1/ai/agents/{id}/versions/{versionId}":{"get":{"operationId":"getAiAgentVersion","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"versionId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiAgentVersionDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-agents"],"x-permissions":["ai:read"],"x-tenant":"header"}},"/api/v1/ai/agents/{id}/draft":{"put":{"operationId":"saveAiAgentDraft","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveDraftDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiAgentVersionDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-agents"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/ai/agents/{id}/publish":{"post":{"operationId":"publishAiAgent","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiAgentDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-agents"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/ai/agents/{id}/websites":{"put":{"operationId":"setAiAgentWebsites","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentWebsitesDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiAgentDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-agents"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/ai/simulations":{"post":{"operationId":"simulateAiConversation","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulationRequestDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulationResultDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Runs the full AI pipeline without persisting messages (Simulation Lab)","tags":["ai-agents"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/ai/runs":{"get":{"operationId":"listAiRuns","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"conversationId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"agentId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"kind","required":false,"in":"query","schema":{"type":"string","enum":["conversation","simulation","evaluation","summary"]}},{"name":"status","required":false,"in":"query","schema":{"type":"string","enum":["completed","escalated","discarded","superseded","failed"]}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"default":50,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiRunPageDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-runs"],"x-permissions":["ai:read"],"x-tenant":"header"}},"/api/v1/ai/runs/{id}":{"get":{"operationId":"getAiRun","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiRunDetailDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-runs"],"x-permissions":["ai:read"],"x-tenant":"header"}},"/api/v1/ai/metrics":{"get":{"operationId":"getAiMetrics","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"from","required":true,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"to","required":true,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"agentId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"interval","required":false,"in":"query","schema":{"default":"day","type":"string","enum":["hour","day"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiMetricsDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"AI cost & latency report","tags":["ai-runs"],"x-permissions":["ai:read"],"x-tenant":"header"}},"/api/v1/ai/evaluation-suites":{"get":{"operationId":"listEvalSuites","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EvalSuiteDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-runs"],"x-permissions":["ai:read"],"x-tenant":"header"},"post":{"operationId":"createEvalSuite","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEvalSuiteDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvalSuiteDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-runs"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/ai/evaluation-suites/platform":{"post":{"operationId":"importPlatformEvalSuite","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvalSuiteDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Create or refresh the platform regression suite for this tenant","tags":["ai-runs"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/ai/evaluation-suites/{id}":{"patch":{"operationId":"updateEvalSuite","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEvalSuiteDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvalSuiteDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-runs"],"x-permissions":["ai:write"],"x-tenant":"header"},"delete":{"operationId":"deleteEvalSuite","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-runs"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/ai/evaluations/run":{"post":{"operationId":"runEvaluation","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEvaluationDto"}}}},"responses":{"202":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvalRunDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Queues a suite run against an agent version (real models)","tags":["ai-runs"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/ai/evaluations":{"get":{"operationId":"listEvaluations","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"suiteId","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EvalRunDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-runs"],"x-permissions":["ai:read"],"x-tenant":"header"}},"/api/v1/ai/evaluations/{id}":{"get":{"operationId":"getEvaluation","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvalRunDetailDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["ai-runs"],"x-permissions":["ai:read"],"x-tenant":"header"}},"/api/v1/knowledge-bases":{"get":{"operationId":"listKnowledgeBases","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeBaseDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["knowledge"],"x-permissions":["ai:read"],"x-tenant":"header"},"post":{"operationId":"createKnowledgeBase","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKnowledgeBaseDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["knowledge"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/knowledge-bases/{id}":{"get":{"operationId":"getKnowledgeBase","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseDetailDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["knowledge"],"x-permissions":["ai:read"],"x-tenant":"header"},"patch":{"operationId":"updateKnowledgeBase","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKnowledgeBaseDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["knowledge"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/knowledge-bases/{id}/documents":{"post":{"operationId":"uploadKnowledgeDocument","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"title":{"type":"string","description":"Send before the file field"},"file":{"type":"string","format":"binary"}}}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeDocumentDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Upload txt/md/html/pdf (indexed asynchronously; same title = new version)","tags":["knowledge"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/knowledge-bases/{id}/documents/text":{"post":{"operationId":"addKnowledgeText","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextDocumentDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeDocumentDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["knowledge"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/knowledge-bases/{id}/documents/{documentId}":{"delete":{"operationId":"archiveKnowledgeDocument","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"documentId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["knowledge"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/knowledge-bases/{id}/documents/{documentId}/chunks":{"get":{"operationId":"listKnowledgeChunks","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"documentId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeChunkDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["knowledge"],"x-permissions":["ai:read"],"x-tenant":"header"}},"/api/v1/knowledge-bases/{id}/publish":{"post":{"operationId":"publishKnowledgeBase","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseDetailDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["knowledge"],"x-permissions":["ai:write"],"x-tenant":"header"}},"/api/v1/knowledge-bases/{id}/search":{"post":{"operationId":"searchKnowledgeBase","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeSearchDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeSearchResultDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Test retrieval: hybrid search + rerank, as the AI would see it","tags":["knowledge"],"x-permissions":["ai:read"],"x-tenant":"header"}},"/api/v1/integrations":{"get":{"operationId":"listIntegrations","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["integrations"],"x-permissions":["integrations:read"],"x-tenant":"header"},"post":{"operationId":"createIntegration","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIntegrationDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["integrations"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/integrations/{id}":{"get":{"operationId":"getIntegration","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["integrations"],"x-permissions":["integrations:read"],"x-tenant":"header"},"patch":{"operationId":"updateIntegration","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateIntegrationDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Rename or approve outbound hosts","tags":["integrations"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/integrations/{id}/specs":{"post":{"operationId":"uploadIntegrationSpec","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecDocumentDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Upload an OpenAPI 3.x / Swagger 2.0 / Postman v2.1 document (≤5 MB)","tags":["integrations"],"x-permissions":["integrations:write"],"x-tenant":"header"},"get":{"operationId":"listIntegrationSpecs","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpecDocumentDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["integrations"],"x-permissions":["integrations:read"],"x-tenant":"header"}},"/api/v1/integrations/{id}/suggest":{"post":{"operationId":"suggestIntegrationMapping","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestResultDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"AI mapping suggestion from an uploaded document; becomes the draft for review","tags":["integrations"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/integrations/{id}/versions":{"get":{"operationId":"listConnectorVersions","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConnectorVersionDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["integrations"],"x-permissions":["integrations:read"],"x-tenant":"header"}},"/api/v1/integrations/{id}/draft":{"put":{"operationId":"saveConnectorDraft","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveConnectorDraftDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorVersionDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["integrations"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/integrations/{id}/credentials":{"put":{"operationId":"setIntegrationCredentials","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsInputDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Sealed for the connector runtime; values are never returned","tags":["integrations"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/integrations/{id}/conformance":{"post":{"operationId":"runIntegrationConformance","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunConformanceDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConformanceRunDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Runs the conformance suite against the operator sandbox (grants a test bonus)","tags":["integrations"],"x-permissions":["integrations:write"],"x-tenant":"header"},"get":{"operationId":"listIntegrationConformance","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConformanceRunDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["integrations"],"x-permissions":["integrations:read"],"x-tenant":"header"}},"/api/v1/integrations/{id}/publish":{"post":{"operationId":"publishConnector","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishConnectorDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["integrations"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/integrations/{id}/capabilities":{"put":{"operationId":"setIntegrationCapabilities","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapabilitiesDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["integrations"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/integrations/{id}/activate":{"post":{"operationId":"activateIntegration","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["integrations"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/integrations/{id}/disable":{"post":{"operationId":"disableIntegration","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["integrations"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/integrations/{id}/test":{"post":{"operationId":"testIntegrationOperation","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestOperationDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestOperationResultDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Try a read operation live","tags":["integrations"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/actions":{"get":{"operationId":"listActions","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"type":"string","enum":["requested","validating","awaiting_confirmation","awaiting_approval","executing","succeeded","failed","unknown","reconciling"]}},{"name":"playerId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"conversationId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"default":50,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionPageDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["actions"],"x-permissions":["players:read"],"x-tenant":"header"},"post":{"operationId":"requestAction","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateActionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Staff-initiated bonus request (same policy as AI)","tags":["actions"],"x-permissions":["actions:request"],"x-tenant":"header"}},"/api/v1/actions/{id}":{"get":{"operationId":"getAction","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionDetailDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Action with its transition log","tags":["actions"],"x-permissions":["players:read"],"x-tenant":"header"}},"/api/v1/actions/{id}/approve":{"post":{"operationId":"approveAction","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionNoteDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["actions"],"x-permissions":["actions:approve"],"x-tenant":"header"}},"/api/v1/actions/{id}/reject":{"post":{"operationId":"rejectAction","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionNoteDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["actions"],"x-permissions":["actions:approve"],"x-tenant":"header"}},"/api/v1/conversations/{id}/player":{"get":{"operationId":"getConversationPlayer","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerPanelDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Verified player panel: live provider data for the signed-in player","tags":["actions"],"x-permissions":["players:read"],"x-tenant":"header"}},"/api/v1/conversations/{id}/campaigns":{"get":{"operationId":"listConversationCampaigns","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CampaignDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Campaigns staff can offer in this conversation (its brand, enabled, active now)","tags":["actions"],"x-permissions":["actions:request"],"x-tenant":"header"}},"/api/v1/bonus-campaigns":{"get":{"operationId":"listBonusCampaigns","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"brandId","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CampaignDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["actions"],"x-permissions":["integrations:read"],"x-tenant":"header"},"post":{"operationId":"createBonusCampaign","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCampaignDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["actions"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/bonus-campaigns/{id}":{"patch":{"operationId":"updateBonusCampaign","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCampaignDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["actions"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/action-policy":{"get":{"operationId":"getActionPolicy","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["actions"],"x-permissions":["tenants:read"],"x-tenant":"header"},"put":{"operationId":"setActionPolicy","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyInputDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["actions"],"x-permissions":["settings:write"],"x-tenant":"header"}},"/api/v1/payment-methods":{"get":{"operationId":"listPaymentMethods","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"brandId","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaymentMethodDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["payments"],"x-permissions":["integrations:read"],"x-tenant":"header"},"post":{"operationId":"createPaymentMethod","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePaymentMethodDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentMethodDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["payments"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/payment-methods/{id}":{"patch":{"operationId":"updatePaymentMethod","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePaymentMethodDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentMethodDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["payments"],"x-permissions":["integrations:write"],"x-tenant":"header"},"delete":{"operationId":"deletePaymentMethod","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["payments"],"x-permissions":["integrations:write"],"x-tenant":"header"}},"/api/v1/macros":{"get":{"operationId":"listMacros","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MacroDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Shared macros and the caller's own","tags":["workspace"],"x-permissions":["conversations:reply"],"x-tenant":"header"},"post":{"operationId":"createMacro","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMacroDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MacroDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["workspace"],"x-permissions":["conversations:reply"],"x-tenant":"header"}},"/api/v1/macros/{id}":{"patch":{"operationId":"updateMacro","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MacroInputDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MacroDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["workspace"],"x-permissions":["conversations:reply"],"x-tenant":"header"},"delete":{"operationId":"deleteMacro","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["workspace"],"x-permissions":["conversations:reply"],"x-tenant":"header"}},"/api/v1/macros/{id}/used":{"post":{"operationId":"markMacroUsed","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Counts a use (popularity order)","tags":["workspace"],"x-permissions":["conversations:reply"],"x-tenant":"header"}},"/api/v1/operations/health":{"get":{"operationId":"getOperationsHealth","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationsHealthDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Operator API, AI, Telegram and queue health from operational data","tags":["operations"],"x-permissions":["operations:read"],"x-tenant":"header"}},"/api/v1/operations/evaluate":{"post":{"operationId":"evaluateIncidents","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"changes":{"type":"integer"}}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Evaluate the incident rules now (normally every minute)","tags":["operations"],"x-permissions":["operations:manage"],"x-tenant":"header"}},"/api/v1/operations/settings":{"get":{"operationId":"getOperationsSettings","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationsSettingsDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Incident thresholds","tags":["operations"],"x-permissions":["operations:read"],"x-tenant":"header"},"put":{"operationId":"putOperationsSettings","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationsSettingsInputDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationsSettingsDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Replace the incident thresholds (audited)","tags":["operations"],"x-permissions":["operations:manage"],"x-tenant":"header"}},"/api/v1/integrations/{id}/calls":{"get":{"operationId":"listIntegrationCalls","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"outcome","required":false,"in":"query","schema":{"type":"string","enum":["ok","not_found","failed","unknown","unavailable","errors"]}},{"name":"operation","required":false,"in":"query","schema":{"type":"string"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":200,"default":50,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationCallPageDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Operator API call log (outcome and latency; no inputs or results)","tags":["operations"],"x-permissions":["operations:read"],"x-tenant":"header"}},"/api/v1/incidents":{"get":{"operationId":"listIncidents","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"default":"active","type":"string","enum":["active","open","acknowledged","resolved","all"]}},{"name":"kind","required":false,"in":"query","schema":{"type":"string","enum":["integration","ai","telegram","queue"]}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":200,"default":50,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentPageDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["operations"],"x-permissions":["operations:read"],"x-tenant":"header"}},"/api/v1/incidents/{id}":{"get":{"operationId":"getIncident","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentDetailDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Incident with its timeline","tags":["operations"],"x-permissions":["operations:read"],"x-tenant":"header"}},"/api/v1/incidents/{id}/acknowledge":{"post":{"operationId":"acknowledgeIncident","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentNoteDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentDetailDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["operations"],"x-permissions":["operations:manage"],"x-tenant":"header"}},"/api/v1/incidents/{id}/resolve":{"post":{"operationId":"resolveIncident","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentNoteDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentDetailDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Resolve by hand; if the condition persists the evaluator opens a new incident","tags":["operations"],"x-permissions":["operations:manage"],"x-tenant":"header"}},"/api/v1/incidents/{id}/notes":{"post":{"operationId":"addIncidentNote","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentNoteRequiredDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentDetailDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["operations"],"x-permissions":["operations:manage"],"x-tenant":"header"}},"/api/v1/privacy/retention":{"get":{"operationId":"getRetentionPolicy","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetentionPolicyDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Conversation retention","tags":["operations"],"x-permissions":["tenants:read"],"x-tenant":"header"},"put":{"operationId":"putRetentionPolicy","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetentionPolicyInputDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetentionPolicyDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Set conversation retention; closed conversations past it are anonymised (audited)","tags":["operations"],"x-permissions":["settings:write"],"x-tenant":"header"}},"/api/v1/visitors/{id}/erase":{"post":{"operationId":"eraseVisitor","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisitorErasureDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Erase a visitor: anonymise all their conversations, delete files, browser details and analytics (audited)","tags":["operations"],"x-permissions":["visitors:erase"],"x-tenant":"header"}},"/api/v1/usage":{"get":{"operationId":"getUsage","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"month","required":false,"in":"query","description":"UTC calendar month; default current","schema":{"example":"2026-11","type":"string"}},{"name":"format","required":false,"in":"query","schema":{"type":"string","enum":["json","csv"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Usage for a UTC calendar month, with an estimate when prices are set","tags":["operations"],"x-permissions":["billing:read"],"x-tenant":"header"}},"/api/v1/usage/history":{"get":{"operationId":"getUsageHistory","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"months","required":false,"in":"query","schema":{"minimum":1,"maximum":24,"default":6,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageHistoryDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Usage of the last N months","tags":["operations"],"x-permissions":["billing:read"],"x-tenant":"header"}},"/api/v1/usage/export.csv":{"get":{"operationId":"exportUsage","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"months","required":false,"in":"query","schema":{"minimum":1,"maximum":24,"default":6,"type":"integer"}}],"responses":{"200":{"description":""},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Monthly usage as CSV","tags":["operations"],"x-permissions":["billing:read"],"x-tenant":"header"}},"/api/v1/billing/prices":{"get":{"operationId":"getBillingPrices","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"prices":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/BillingPricesDto"}]}}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Prices set by the platform (null if none)","tags":["operations"],"x-permissions":["billing:read"],"x-tenant":"header"}},"/api/v1/webhooks/events":{"get":{"operationId":"listWebhookEvents","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Events that can be subscribed to","tags":["webhooks"],"x-permissions":["webhooks:manage"],"x-tenant":"header"}},"/api/v1/webhooks":{"get":{"operationId":"listWebhooks","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["webhooks"],"x-permissions":["webhooks:manage"],"x-tenant":"header"},"post":{"operationId":"createWebhook","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreatedDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Add an endpoint; the signing secret is returned only once","tags":["webhooks"],"x-permissions":["webhooks:manage"],"x-tenant":"header"}},"/api/v1/webhooks/{id}":{"patch":{"operationId":"updateWebhook","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["webhooks"],"x-permissions":["webhooks:manage"],"x-tenant":"header"},"delete":{"operationId":"deleteWebhook","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["webhooks"],"x-permissions":["webhooks:manage"],"x-tenant":"header"}},"/api/v1/webhooks/{id}/rotate-secret":{"post":{"operationId":"rotateWebhookSecret","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSecretDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"New signing secret (shown once)","tags":["webhooks"],"x-permissions":["webhooks:manage"],"x-tenant":"header"}},"/api/v1/webhooks/{id}/test":{"post":{"operationId":"testWebhook","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Send a webhook.test event now","tags":["webhooks"],"x-permissions":["webhooks:manage"],"x-tenant":"header"}},"/api/v1/webhooks/{id}/deliveries":{"get":{"operationId":"listWebhookDeliveries","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"type":"string","enum":["pending","succeeded","failed"]}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":200,"default":50,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryPageDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["webhooks"],"x-permissions":["webhooks:manage"],"x-tenant":"header"}},"/api/v1/webhooks/deliveries/{deliveryId}/retry":{"post":{"operationId":"retryWebhookDelivery","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"deliveryId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Send a delivery now (a failed one is reopened)","tags":["webhooks"],"x-permissions":["webhooks:manage"],"x-tenant":"header"}},"/api/v1/analytics/overview":{"get":{"operationId":"getAnalyticsOverview","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"from","required":true,"in":"query","description":"Period start (inclusive)","schema":{"format":"date-time","type":"string"}},{"name":"to","required":true,"in":"query","description":"Period end (exclusive), ≤ 366 days after from","schema":{"format":"date-time","type":"string"}},{"name":"tz","required":false,"in":"query","description":"IANA time zone of the buckets (default UTC)","schema":{"type":"string"}},{"name":"granularity","required":false,"in":"query","description":"Default: by period length","schema":{"type":"string","enum":["hour","day","week"]}},{"name":"websiteId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"departmentId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverviewDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"KPIs of a period vs the previous one","tags":["analytics"],"x-permissions":["analytics:read"],"x-tenant":"header"}},"/api/v1/analytics/conversations":{"get":{"operationId":"getConversationAnalytics","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"from","required":true,"in":"query","description":"Period start (inclusive)","schema":{"format":"date-time","type":"string"}},{"name":"to","required":true,"in":"query","description":"Period end (exclusive), ≤ 366 days after from","schema":{"format":"date-time","type":"string"}},{"name":"tz","required":false,"in":"query","description":"IANA time zone of the buckets (default UTC)","schema":{"type":"string"}},{"name":"granularity","required":false,"in":"query","description":"Default: by period length","schema":{"type":"string","enum":["hour","day","week"]}},{"name":"websiteId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"departmentId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationAnalyticsDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["analytics"],"x-permissions":["analytics:read"],"x-tenant":"header"}},"/api/v1/analytics/agents":{"get":{"operationId":"getAgentPerformance","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"from","required":true,"in":"query","description":"Period start (inclusive)","schema":{"format":"date-time","type":"string"}},{"name":"to","required":true,"in":"query","description":"Period end (exclusive), ≤ 366 days after from","schema":{"format":"date-time","type":"string"}},{"name":"tz","required":false,"in":"query","description":"IANA time zone of the buckets (default UTC)","schema":{"type":"string"}},{"name":"granularity","required":false,"in":"query","description":"Default: by period length","schema":{"type":"string","enum":["hour","day","week"]}},{"name":"websiteId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"departmentId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentPerformanceDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["analytics"],"x-permissions":["analytics:read"],"x-tenant":"header"}},"/api/v1/analytics/csat":{"get":{"operationId":"getCsatReport","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"from","required":true,"in":"query","description":"Period start (inclusive)","schema":{"format":"date-time","type":"string"}},{"name":"to","required":true,"in":"query","description":"Period end (exclusive), ≤ 366 days after from","schema":{"format":"date-time","type":"string"}},{"name":"tz","required":false,"in":"query","description":"IANA time zone of the buckets (default UTC)","schema":{"type":"string"}},{"name":"granularity","required":false,"in":"query","description":"Default: by period length","schema":{"type":"string","enum":["hour","day","week"]}},{"name":"websiteId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"departmentId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CsatReportDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["analytics"],"x-permissions":["analytics:read"],"x-tenant":"header"}},"/api/v1/analytics/csat/comments":{"get":{"operationId":"listCsatComments","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"from","required":true,"in":"query","description":"Period start (inclusive)","schema":{"format":"date-time","type":"string"}},{"name":"to","required":true,"in":"query","description":"Period end (exclusive), ≤ 366 days after from","schema":{"format":"date-time","type":"string"}},{"name":"tz","required":false,"in":"query","description":"IANA time zone of the buckets (default UTC)","schema":{"type":"string"}},{"name":"granularity","required":false,"in":"query","description":"Default: by period length","schema":{"type":"string","enum":["hour","day","week"]}},{"name":"websiteId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"departmentId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"maxScore","required":false,"in":"query","schema":{"minimum":1,"maximum":5,"type":"number"}},{"name":"before","required":false,"in":"query","description":"Keyset cursor (ratedAt of the last row)","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CsatCommentPageDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["analytics"],"x-permissions":["analytics:read"],"x-tenant":"header"}},"/api/v1/analytics/actions":{"get":{"operationId":"getActionAnalytics","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"from","required":true,"in":"query","description":"Period start (inclusive)","schema":{"format":"date-time","type":"string"}},{"name":"to","required":true,"in":"query","description":"Period end (exclusive), ≤ 366 days after from","schema":{"format":"date-time","type":"string"}},{"name":"tz","required":false,"in":"query","description":"IANA time zone of the buckets (default UTC)","schema":{"type":"string"}},{"name":"granularity","required":false,"in":"query","description":"Default: by period length","schema":{"type":"string","enum":["hour","day","week"]}},{"name":"websiteId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"departmentId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionsAnalyticsDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Bonus actions and deposit links","tags":["analytics"],"x-permissions":["analytics:read"],"x-tenant":"header"}},"/api/v1/analytics/live":{"get":{"operationId":"getLiveOperations","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"tz","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiveDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Queue, active chats and staffing right now","tags":["analytics"],"x-permissions":["analytics:read"],"x-tenant":"header"}},"/api/v1/analytics/export/conversations.csv":{"get":{"operationId":"exportConversationsCsv","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"from","required":true,"in":"query","description":"Period start (inclusive)","schema":{"format":"date-time","type":"string"}},{"name":"to","required":true,"in":"query","description":"Period end (exclusive), ≤ 366 days after from","schema":{"format":"date-time","type":"string"}},{"name":"tz","required":false,"in":"query","description":"IANA time zone of the buckets (default UTC)","schema":{"type":"string"}},{"name":"granularity","required":false,"in":"query","description":"Default: by period length","schema":{"type":"string","enum":["hour","day","week"]}},{"name":"websiteId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"departmentId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"text/csv":{"schema":{"type":"string"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["analytics"],"x-permissions":["analytics:read"],"x-tenant":"header"}},"/api/v1/analytics/export/agents.csv":{"get":{"operationId":"exportAgentsCsv","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"from","required":true,"in":"query","description":"Period start (inclusive)","schema":{"format":"date-time","type":"string"}},{"name":"to","required":true,"in":"query","description":"Period end (exclusive), ≤ 366 days after from","schema":{"format":"date-time","type":"string"}},{"name":"tz","required":false,"in":"query","description":"IANA time zone of the buckets (default UTC)","schema":{"type":"string"}},{"name":"granularity","required":false,"in":"query","description":"Default: by period length","schema":{"type":"string","enum":["hour","day","week"]}},{"name":"websiteId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"departmentId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"text/csv":{"schema":{"type":"string"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["analytics"],"x-permissions":["analytics:read"],"x-tenant":"header"}},"/api/v1/members":{"get":{"operationId":"listMembers","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["team"],"x-permissions":["members:read"],"x-tenant":"header"}},"/api/v1/permissions":{"get":{"operationId":"listPermissions","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["team"],"x-permissions":["roles:read"],"x-tenant":"header"}},"/api/v1/roles":{"get":{"operationId":"listRoles","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["team"],"x-permissions":["roles:read"],"x-tenant":"header"}},"/api/v1/departments":{"get":{"operationId":"listDepartments","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DepartmentDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["team"],"x-permissions":["members:read"],"x-tenant":"header"}},"/api/v1/business-hours":{"get":{"operationId":"getBusinessHours","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessHoursDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["team"],"x-permissions":["tenants:read"],"x-tenant":"header"},"put":{"operationId":"setBusinessHours","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessHoursInputDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessHoursDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["team"],"x-permissions":["settings:write"],"x-tenant":"header"}},"/api/v1/audit-logs":{"get":{"operationId":"listAuditLogs","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"action","required":false,"in":"query","description":"Action prefix, e.g. member. or role.created","schema":{"type":"string"}},{"name":"actorType","required":false,"in":"query","schema":{"type":"string","enum":["user","ai","system","api_key"]}},{"name":"actorId","required":false,"in":"query","schema":{"type":"string"}},{"name":"targetType","required":false,"in":"query","schema":{"type":"string"}},{"name":"targetId","required":false,"in":"query","schema":{"type":"string"}},{"name":"from","required":false,"in":"query","schema":{"type":"string"}},{"name":"to","required":false,"in":"query","schema":{"type":"string"}},{"name":"before","required":false,"in":"query","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditLogPageDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["team"],"x-permissions":["audit:read"],"x-tenant":"header"}},"/api/v1/audit-logs/verify":{"get":{"operationId":"verifyAuditLog","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditVerifyDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Recomputes the tenant hash chain","tags":["team"],"x-permissions":["audit:read"],"x-tenant":"header"}},"/api/v1/api-keys":{"get":{"operationId":"listApiKeys","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiKeyDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["team"],"x-permissions":["settings:write"],"x-tenant":"header"},"post":{"operationId":"createApiKey","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedApiKeyDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"The secret is returned once","tags":["team"],"x-permissions":["settings:write"],"x-tenant":"header"}},"/api/v1/api-keys/scopes":{"get":{"operationId":"listApiKeyScopes","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["key","grantable"],"properties":{"key":{"type":"string"},"grantable":{"type":"boolean"}}}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["team"],"x-permissions":["settings:write"],"x-tenant":"header"}},"/api/v1/api-keys/{id}":{"delete":{"operationId":"revokeApiKey","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["team"],"x-permissions":["settings:write"],"x-tenant":"header"}},"/api/v1/routing/queue":{"get":{"operationId":"getRoutingQueue","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingQueueDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Conversations waiting for a human, open offers and agent routability","tags":["routing"],"x-permissions":["conversations:manage"],"x-tenant":"header"}},"/api/v1/routing/settings":{"get":{"operationId":"getRoutingSettings","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingSettingsDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["routing"],"x-permissions":["conversations:read"],"x-tenant":"header"},"put":{"operationId":"updateRoutingSettings","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingSettingsInputDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingSettingsDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["routing"],"x-permissions":["settings:write"],"x-tenant":"header"}},"/api/v1/telegram/status":{"get":{"operationId":"getTelegramStatus","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramStatusDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Bridge health and bot connections","tags":["telegram"],"x-permissions":["telegram:manage"],"x-tenant":"header"}},"/api/v1/telegram/connections":{"get":{"operationId":"listTelegramConnections","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TelegramConnectionDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["telegram"],"x-permissions":["telegram:manage"],"x-tenant":"header"},"post":{"operationId":"createTelegramConnection","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramConnectionInputDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramConnectionDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Connect a bot: the token is verified (getMe) and sealed for the bridge","tags":["telegram"],"x-permissions":["telegram:manage"],"x-tenant":"header"}},"/api/v1/telegram/connections/{id}":{"patch":{"operationId":"updateTelegramConnection","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramConnectionPatchDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramConnectionDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Rename, disable/enable, rotate token","tags":["telegram"],"x-permissions":["telegram:manage"],"x-tenant":"header"}},"/api/v1/telegram/groups/link":{"post":{"operationId":"createTelegramGroupLink","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupLinkInputDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramGroupLinkDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"One-time startgroup link (30 min) that makes a forum group the staff group","tags":["telegram"],"x-permissions":["telegram:manage"],"x-tenant":"header"}},"/api/v1/telegram/groups/{id}/check":{"post":{"operationId":"checkTelegramGroup","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Re-read forum flag and bot rights","tags":["telegram"],"x-permissions":["telegram:manage"],"x-tenant":"header"}},"/api/v1/telegram/groups/{id}":{"delete":{"operationId":"unlinkTelegramGroup","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["telegram"],"x-permissions":["telegram:manage"],"x-tenant":"header"}},"/api/v1/telegram/links":{"get":{"operationId":"listTelegramLinks","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TelegramLinkDto"}}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Agents linked to the bot","tags":["telegram"],"x-permissions":["telegram:manage"],"x-tenant":"header"}},"/api/v1/telegram/links/{id}":{"delete":{"operationId":"revokeTelegramLink","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"","tags":["telegram"],"x-permissions":["telegram:manage"],"x-tenant":"header"}},"/api/v1/telegram/logs":{"get":{"operationId":"listTelegramLogs","parameters":[{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"maximum":200,"default":50,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramLogPageDto"}}}},"default":{"description":"Error (RFC 9457 problem details)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"security":[{"bearer":[]}],"summary":"Outbound deliveries and inbound commands/messages, newest first","tags":["telegram"],"x-permissions":["telegram:manage"],"x-tenant":"header"}}},"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"ActionActorDto":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"string"}},"required":["type","id"]},"ActionCampaignRefDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"externalCampaignId":{"type":"string"}},"required":["id","name","externalCampaignId"]},"ActionDetailDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"actionType":{"type":"string","enum":["bonus.grant"]},"status":{"type":"string","enum":["requested","validating","awaiting_confirmation","awaiting_approval","executing","succeeded","failed","unknown","reconciling"]},"reasonCode":{"type":"string","nullable":true},"conversationId":{"type":"string","nullable":true,"format":"uuid"},"playerId":{"type":"string","format":"uuid"},"externalPlayerId":{"type":"string","nullable":true},"integrationId":{"type":"string","nullable":true,"format":"uuid"},"campaign":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/ActionCampaignRefDto"}]},"amountMinor":{"type":"number","nullable":true},"currency":{"type":"string","nullable":true},"requestedBy":{"$ref":"#/components/schemas/ActionActorDto"},"policyDecision":{"type":"object","nullable":true,"additionalProperties":true,"description":"{allowed, reasonCode, checks[{rule, passed, detail}], confirmationRequired, approvalRequired}"},"confirmationRequired":{"type":"boolean"},"approvalRequired":{"type":"boolean"},"confirmedAt":{"type":"string","nullable":true,"format":"date-time"},"approvedBy":{"type":"string","nullable":true,"format":"uuid"},"approvedAt":{"type":"string","nullable":true,"format":"date-time"},"expiresAt":{"type":"string","nullable":true,"format":"date-time"},"executedAt":{"type":"string","nullable":true,"format":"date-time"},"providerReference":{"type":"string","nullable":true},"reconcileAttempts":{"type":"number"},"completedAt":{"type":"string","nullable":true,"format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"events":{"type":"array","items":{"$ref":"#/components/schemas/ActionEventDto"}}},"required":["id","actionType","status","reasonCode","conversationId","playerId","externalPlayerId","integrationId","campaign","amountMinor","currency","requestedBy","policyDecision","confirmationRequired","approvalRequired","confirmedAt","approvedBy","approvedAt","expiresAt","executedAt","providerReference","reconcileAttempts","completedAt","createdAt","updatedAt","events"]},"ActionDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"actionType":{"type":"string","enum":["bonus.grant"]},"status":{"type":"string","enum":["requested","validating","awaiting_confirmation","awaiting_approval","executing","succeeded","failed","unknown","reconciling"]},"reasonCode":{"type":"string","nullable":true},"conversationId":{"type":"string","nullable":true,"format":"uuid"},"playerId":{"type":"string","format":"uuid"},"externalPlayerId":{"type":"string","nullable":true},"integrationId":{"type":"string","nullable":true,"format":"uuid"},"campaign":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/ActionCampaignRefDto"}]},"amountMinor":{"type":"number","nullable":true},"currency":{"type":"string","nullable":true},"requestedBy":{"$ref":"#/components/schemas/ActionActorDto"},"policyDecision":{"type":"object","nullable":true,"additionalProperties":true,"description":"{allowed, reasonCode, checks[{rule, passed, detail}], confirmationRequired, approvalRequired}"},"confirmationRequired":{"type":"boolean"},"approvalRequired":{"type":"boolean"},"confirmedAt":{"type":"string","nullable":true,"format":"date-time"},"approvedBy":{"type":"string","nullable":true,"format":"uuid"},"approvedAt":{"type":"string","nullable":true,"format":"date-time"},"expiresAt":{"type":"string","nullable":true,"format":"date-time"},"executedAt":{"type":"string","nullable":true,"format":"date-time"},"providerReference":{"type":"string","nullable":true},"reconcileAttempts":{"type":"number"},"completedAt":{"type":"string","nullable":true,"format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","actionType","status","reasonCode","conversationId","playerId","externalPlayerId","integrationId","campaign","amountMinor","currency","requestedBy","policyDecision","confirmationRequired","approvalRequired","confirmedAt","approvedBy","approvedAt","expiresAt","executedAt","providerReference","reconcileAttempts","completedAt","createdAt","updatedAt"]},"ActionEventDto":{"type":"object","properties":{"id":{"type":"number"},"fromStatus":{"type":"string","nullable":true},"toStatus":{"type":"string"},"actor":{"$ref":"#/components/schemas/ActionActorDto"},"detail":{"type":"object","additionalProperties":true},"createdAt":{"type":"string","format":"date-time"}},"required":["id","fromStatus","toStatus","actor","detail","createdAt"]},"ActionPageDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ActionDto"}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"]},"ActionStatusRowDto":{"type":"object","properties":{"status":{"type":"string"},"requestedBy":{"type":"string","enum":["ai","human"]},"count":{"type":"number"},"currency":{"type":"string","nullable":true},"amountMinor":{"type":"number"}},"required":["status","requestedBy","count","currency","amountMinor"]},"ActionsAnalyticsDto":{"type":"object","properties":{"bonuses":{"type":"array","items":{"$ref":"#/components/schemas/ActionStatusRowDto"}},"depositLinks":{"type":"array","items":{"$ref":"#/components/schemas/DepositLinkRowDto"}},"bonusFailures":{"type":"array","description":"Bonus reason codes of failures/denials","items":{"type":"object","properties":{"reasonCode":{"type":"string"},"count":{"type":"number"}},"required":["reasonCode","count"]}}},"required":["bonuses","depositLinks","bonusFailures"]},"AgentDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"displayName":{"type":"string"}},"required":["id","userId","displayName"]},"AgentPerformanceDto":{"type":"object","properties":{"agentId":{"type":"string","format":"uuid"},"displayName":{"type":"string"},"availability":{"type":"string","enum":["online","away","offline"]},"conversations":{"type":"number","description":"Conversations assigned in the period"},"closed":{"type":"number","description":"Of those, closed while theirs"},"messages":{"type":"number"},"medianFirstReplyMs":{"type":"number","nullable":true,"description":"Median first message after taking it, ms"},"medianHandleMs":{"type":"number","nullable":true,"description":"Median time holding a conversation, ms"},"csatAverage":{"type":"number","nullable":true},"csatResponses":{"type":"number"},"offersAccepted":{"type":"number"},"offersDeclined":{"type":"number"},"offersExpired":{"type":"number"}},"required":["agentId","displayName","availability","conversations","closed","messages","medianFirstReplyMs","medianHandleMs","csatAverage","csatResponses","offersAccepted","offersDeclined","offersExpired"]},"AgentRefDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"displayName":{"type":"string"}},"required":["id","displayName"]},"AgentWebsitesDto":{"type":"object","properties":{"websiteIds":{"type":"array","items":{"type":"string"}}},"required":["websiteIds"]},"AiAgentDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"enabled":{"type":"boolean"},"publishedVersion":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/AiAgentVersionRefDto"}]},"draftVersion":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/AiAgentVersionRefDto"}]},"websiteIds":{"description":"Websites this agent answers on","type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","name","enabled","publishedVersion","draftVersion","websiteIds","createdAt","updatedAt"]},"AiAgentVersionDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"agentId":{"type":"string","format":"uuid"},"version":{"type":"number"},"status":{"type":"string","enum":["draft","published","archived"]},"config":{"type":"object","additionalProperties":true,"description":"contracts ai-agent-config.v1.json"},"changeNote":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"publishedAt":{"type":"string","nullable":true,"format":"date-time"}},"required":["id","agentId","version","status","config","changeNote","createdAt","updatedAt","publishedAt"]},"AiAgentVersionRefDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"version":{"type":"number"},"at":{"type":"string","format":"date-time"}},"required":["id","version","at"]},"AiHealthDto":{"type":"object","properties":{"runs":{"type":"number"},"failed":{"type":"number"},"failureRate":{"type":"number","nullable":true},"p50Ms":{"type":"number","nullable":true},"p95Ms":{"type":"number","nullable":true},"ttftP95Ms":{"type":"number","nullable":true},"tokens":{"type":"number"},"lastFailureAt":{"type":"string","format":"date-time","nullable":true},"models":{"type":"array","items":{"$ref":"#/components/schemas/AiModelHealthDto"}},"state":{"type":"string","enum":["healthy","degraded","down","idle"]}},"required":["runs","failed","failureRate","p50Ms","p95Ms","ttftP95Ms","tokens","lastFailureAt","models","state"]},"AiMetricsBucketDto":{"type":"object","properties":{"bucket":{"type":"string","format":"date-time"},"runs":{"type":"number"},"escalated":{"type":"number"},"p95LatencyMs":{"type":"number","nullable":true},"p95TtftMs":{"type":"number","nullable":true}},"required":["bucket","runs","escalated","p95LatencyMs","p95TtftMs"]},"AiMetricsCountDto":{"type":"object","properties":{"key":{"type":"string"},"count":{"type":"number"}},"required":["key","count"]},"AiMetricsDto":{"type":"object","properties":{"totals":{"$ref":"#/components/schemas/AiMetricsTotalsDto"},"latencyMs":{"$ref":"#/components/schemas/PercentilesDto"},"ttftMs":{"$ref":"#/components/schemas/PercentilesDto"},"byModel":{"type":"array","items":{"$ref":"#/components/schemas/AiMetricsModelDto"}},"escalationReasons":{"type":"array","items":{"$ref":"#/components/schemas/AiMetricsCountDto"}},"routes":{"type":"array","items":{"$ref":"#/components/schemas/AiMetricsCountDto"}},"languages":{"type":"array","items":{"$ref":"#/components/schemas/AiMetricsCountDto"}},"series":{"type":"array","items":{"$ref":"#/components/schemas/AiMetricsBucketDto"}}},"required":["totals","latencyMs","ttftMs","byModel","escalationReasons","routes","languages","series"]},"AiMetricsModelDto":{"type":"object","properties":{"model":{"type":"string"},"runs":{"type":"number"},"latencyMs":{"$ref":"#/components/schemas/PercentilesDto"},"ttftMs":{"$ref":"#/components/schemas/PercentilesDto"},"completionTokens":{"type":"number"},"tokensPerSecond":{"type":"number","nullable":true,"description":"Output tokens per second of generation"}},"required":["model","runs","latencyMs","ttftMs","completionTokens","tokensPerSecond"]},"AiMetricsTotalsDto":{"type":"object","properties":{"runs":{"type":"number"},"completed":{"type":"number"},"escalated":{"type":"number"},"discarded":{"type":"number"},"superseded":{"type":"number"},"failed":{"type":"number"},"guardBlocks":{"type":"number","description":"Runs whose output guard blocked a reply"},"escalationRate":{"type":"number","description":"escalated / (completed + escalated)"},"promptTokens":{"type":"number"},"completionTokens":{"type":"number"},"conversations":{"type":"number","description":"Conversations the AI answered at least once"}},"required":["runs","completed","escalated","discarded","superseded","failed","guardBlocks","escalationRate","promptTokens","completionTokens","conversations"]},"AiModelDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"displayName":{"type":"string"},"role":{"type":"string","enum":["fast","reasoning","embedding","reranker","safety","translation"]},"servedModel":{"type":"string"},"version":{"type":"string"},"contextWindow":{"type":"number"},"maxOutputTokens":{"type":"number"},"embeddingDim":{"type":"number","nullable":true},"defaultParams":{"type":"object","additionalProperties":true},"license":{"type":"string"},"languages":{"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["active","disabled","deprecated"]},"notes":{"type":"string","nullable":true},"endpointKey":{"type":"string"},"endpoint":{"$ref":"#/components/schemas/InferenceEndpointDto"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","key","displayName","role","servedModel","version","contextWindow","maxOutputTokens","embeddingDim","defaultParams","license","languages","status","notes","endpointKey","updatedAt"]},"AiModelHealthDto":{"type":"object","properties":{"model":{"type":"string"},"runs":{"type":"number"},"failed":{"type":"number"},"p95Ms":{"type":"number","nullable":true}},"required":["model","runs","failed","p95Ms"]},"AiRunDetailDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"kind":{"type":"string","enum":["conversation","simulation","evaluation","summary"]},"conversationId":{"type":"string","nullable":true,"format":"uuid"},"agentVersionId":{"type":"string","nullable":true,"format":"uuid"},"status":{"type":"string","enum":["completed","escalated","discarded","superseded","failed"]},"route":{"type":"string","nullable":true,"enum":["fast","reasoning"]},"generationModel":{"type":"string","nullable":true},"language":{"type":"string","nullable":true},"escalationReason":{"type":"string","nullable":true},"guardPassed":{"type":"boolean","nullable":true},"latencyMs":{"type":"number"},"ttftMs":{"type":"number","nullable":true},"promptTokens":{"type":"number"},"completionTokens":{"type":"number"},"createdAt":{"type":"string","format":"date-time"},"trace":{"type":"object","additionalProperties":true,"description":"contracts ai-run.v1.json"}},"required":["id","kind","conversationId","agentVersionId","status","route","generationModel","language","escalationReason","guardPassed","latencyMs","ttftMs","promptTokens","completionTokens","createdAt","trace"]},"AiRunDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"kind":{"type":"string","enum":["conversation","simulation","evaluation","summary"]},"conversationId":{"type":"string","nullable":true,"format":"uuid"},"agentVersionId":{"type":"string","nullable":true,"format":"uuid"},"status":{"type":"string","enum":["completed","escalated","discarded","superseded","failed"]},"route":{"type":"string","nullable":true,"enum":["fast","reasoning"]},"generationModel":{"type":"string","nullable":true},"language":{"type":"string","nullable":true},"escalationReason":{"type":"string","nullable":true},"guardPassed":{"type":"boolean","nullable":true},"latencyMs":{"type":"number"},"ttftMs":{"type":"number","nullable":true},"promptTokens":{"type":"number"},"completionTokens":{"type":"number"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","kind","conversationId","agentVersionId","status","route","generationModel","language","escalationReason","guardPassed","latencyMs","ttftMs","promptTokens","completionTokens","createdAt"]},"AiRunPageDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AiRunDto"}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"]},"AiToolDto":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"risk":{"type":"string","enum":["read","handoff"]},"requires":{"type":"array","items":{"type":"string"}}},"required":["name","description","risk","requires"]},"AnalyticsTotalsDto":{"type":"object","properties":{"visitors":{"type":"number"},"sessions":{"type":"number"},"pageViews":{"type":"number"},"avgSessionDurationMs":{"type":"number"},"bounceRate":{"type":"number","description":"Share of sessions with at most one page view (0..1)"},"chatSessions":{"type":"number","description":"Sessions in which a chat was started"},"returningRate":{"type":"number","description":"Share of returning-visitor sessions (0..1)"}},"required":["visitors","sessions","pageViews","avgSessionDurationMs","bounceRate","chatSessions","returningRate"]},"ApiKeyDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"prefix":{"type":"string","description":"Public part, shown in lists (tpk_<prefix>)"},"scopes":{"type":"array","items":{"type":"string"}},"expiresAt":{"type":"string","format":"date-time","nullable":true},"revokedAt":{"type":"string","format":"date-time","nullable":true},"lastUsedAt":{"type":"string","format":"date-time","nullable":true},"createdByName":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"required":["id","name","prefix","scopes","expiresAt","revokedAt","lastUsedAt","createdByName","createdAt"]},"AssignDto":{"type":"object","properties":{"agentId":{"type":"string","format":"uuid","description":"Agent to assign; defaults to the caller"}}},"AttachmentDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"fileName":{"type":"string"},"contentType":{"type":"string"},"sizeBytes":{"type":"number"}},"required":["id","fileName","contentType","sizeBytes"]},"AuditLogDto":{"type":"object","properties":{"seq":{"type":"number"},"occurredAt":{"type":"string","format":"date-time"},"action":{"type":"string"},"actorType":{"type":"string","enum":["user","ai","system","api_key"]},"actorId":{"type":"string"},"actorName":{"type":"string","nullable":true,"description":"User display name or key name"},"targetType":{"type":"string"},"targetId":{"type":"string"},"correlationId":{"type":"string"},"metadata":{"type":"object","additionalProperties":true}},"required":["seq","occurredAt","action","actorType","actorId","actorName","targetType","targetId","correlationId","metadata"]},"AuditLogPageDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AuditLogDto"}},"nextBefore":{"type":"number","nullable":true,"description":"Pass as `before` for the next page"}},"required":["items","nextBefore"]},"AuditVerifyDto":{"type":"object","properties":{"valid":{"type":"boolean"},"checked":{"type":"number"},"firstBrokenSeq":{"type":"number","nullable":true},"missingNewest":{"type":"boolean","description":"The newest entries were removed (chain shorter than its head)"}},"required":["valid","checked","firstBrokenSeq","missingNewest"]},"BillingPricesDto":{"type":"object","properties":{"currency":{"type":"string","example":"TRY"},"monthlyBaseMinor":{"type":"number","description":"Fixed monthly fee in minor units"},"unitPrices":{"type":"object","additionalProperties":{"type":"integer"},"description":"metric → unit price in minor units"},"includedUnits":{"type":"object","additionalProperties":{"type":"integer"},"description":"metric → free units per month"},"updatedAt":{"type":"string","format":"date-time"}},"required":["currency","monthlyBaseMinor","unitPrices","includedUnits","updatedAt"]},"BrandDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"slug":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","name","slug","createdAt"]},"BreakdownRowDto":{"type":"object","properties":{"key":{"type":"string","description":"Dimension value (empty = unknown)"},"parent":{"type":"string","description":"Secondary dimension (e.g. country of a city)"},"sessions":{"type":"number"},"visitors":{"type":"number"}},"required":["key","sessions","visitors"]},"BusinessHoursDto":{"type":"object","properties":{"timezone":{"type":"string"},"businessHours":{"type":"object","additionalProperties":true,"nullable":true,"description":"Weekly schedule {\"mon\": [[\"09:00\",\"18:00\"]], ...}; a missing day = closed; null = always open"},"openNow":{"type":"boolean"}},"required":["timezone","businessHours","openNow"]},"BusinessHoursInputDto":{"type":"object","properties":{"timezone":{"type":"string"},"businessHours":{"type":"object","additionalProperties":true,"nullable":true}},"required":["timezone","businessHours"]},"CampaignDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"brandId":{"type":"string","format":"uuid"},"externalCampaignId":{"type":"string"},"name":{"type":"string"},"terms":{"type":"object","additionalProperties":{"type":"string"}},"amountMinor":{"type":"number"},"currency":{"type":"string"},"wageringMultiplier":{"type":"number","nullable":true},"rules":{"type":"object","additionalProperties":true,"description":"{oncePerPlayer?: boolean, newPlayersWithinDays?: number, minDeposit?: {amountMinor, withinDays}}"},"aiAllowed":{"type":"boolean"},"enabled":{"type":"boolean"},"activeFrom":{"type":"string","nullable":true,"format":"date-time"},"activeTo":{"type":"string","nullable":true,"format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","brandId","externalCampaignId","name","terms","amountMinor","currency","wageringMultiplier","rules","aiAllowed","enabled","activeFrom","activeTo","updatedAt"]},"CapabilitiesDto":{"type":"object","properties":{"enabled":{"type":"array","items":{"type":"string","enum":["player.read","wallet.read","deposits.read","withdrawals.read","bonus.history","kyc.read","restrictions.read","bonus.eligibility","bonus.grant","payments.methods","payments.deposit_link"]}}},"required":["enabled"]},"ConformanceInputDto":{"type":"object","properties":{"playerId":{"type":"string","description":"A sandbox test player that exists"},"unknownPlayerId":{"type":"string","description":"A player id that does not exist (not-found mapping)"},"campaignId":{"type":"string","description":"Operator campaign id for the bonus checks"},"amountMinor":{"type":"number"},"currency":{"type":"string"}},"required":["playerId","unknownPlayerId"]},"ConformanceRunDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"connectorVersionId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["running","passed","failed","error"]},"testInput":{"type":"object","additionalProperties":true},"result":{"type":"object","nullable":true,"additionalProperties":true,"description":"contracts connector-conformance.v1.json"},"error":{"type":"string","nullable":true},"startedAt":{"type":"string","format":"date-time"},"finishedAt":{"type":"string","nullable":true,"format":"date-time"}},"required":["id","connectorVersionId","status","testInput","result","error","startedAt","finishedAt"]},"ConnectorVersionDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"version":{"type":"number"},"status":{"type":"string","enum":["draft","published","archived"]},"origin":{"type":"string","enum":["manual","ai_suggestion","template"]},"spec":{"type":"object","additionalProperties":true,"description":"contracts connector-spec.v1.json"},"changeNote":{"type":"string","nullable":true},"specSourceId":{"type":"string","nullable":true,"format":"uuid"},"updatedAt":{"type":"string","format":"date-time"},"publishedAt":{"type":"string","nullable":true,"format":"date-time"}},"required":["id","version","status","origin","spec","changeNote","specSourceId","updatedAt","publishedAt"]},"ConversationAnalyticsDto":{"type":"object","properties":{"granularity":{"type":"string","enum":["hour","day","week"]},"series":{"type":"array","items":{"$ref":"#/components/schemas/ConversationBucketDto"}},"byWebsite":{"type":"array","items":{"$ref":"#/components/schemas/ConversationBreakdownDto"}},"byDepartment":{"type":"array","items":{"$ref":"#/components/schemas/ConversationBreakdownDto"}},"heatmap":{"type":"array","description":"Volume by weekday × hour: 7 rows (0 = Monday) of 24 hours, in tz","items":{"type":"array","items":{"type":"number"}}}},"required":["granularity","series","byWebsite","byDepartment","heatmap"]},"ConversationBreakdownDto":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string"},"conversations":{"type":"number"},"aiResolved":{"type":"number"},"humanHandled":{"type":"number"},"medianFirstResponseMs":{"type":"number","nullable":true}},"required":["id","label","conversations","aiResolved","humanHandled","medianFirstResponseMs"]},"ConversationBucketDto":{"type":"object","properties":{"bucket":{"type":"string","format":"date-time"},"conversations":{"type":"number"},"aiResolved":{"type":"number"},"humanHandled":{"type":"number"},"escalated":{"type":"number"},"abandoned":{"type":"number"},"medianFirstResponseMs":{"type":"number","nullable":true},"medianQueueWaitMs":{"type":"number","nullable":true}},"required":["bucket","conversations","aiResolved","humanHandled","escalated","abandoned","medianFirstResponseMs","medianQueueWaitMs"]},"ConversationDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["NEW","AI_ACTIVE","AWAITING_PLAYER","AWAITING_TOOL","AWAITING_APPROVAL","ESCALATION_PENDING","HUMAN_ACTIVE","RESOLVED","CLOSED"]},"ownerType":{"type":"string","enum":["none","ai","human"]},"aiPaused":{"type":"boolean","description":"Staff paused the AI: visitor messages wait for a human"},"assignedAgent":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/AgentRefDto"}]},"websiteId":{"type":"string","format":"uuid"},"visitorId":{"type":"string","format":"uuid"},"player":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/PlayerRefDto"}]},"lastSequence":{"type":"number"},"lastMessageAt":{"type":"string","format":"date-time","nullable":true},"lastMessagePreview":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"string"}},"match":{"type":"string","nullable":true,"description":"Search hit: excerpt with the match between « and »"},"humanRequestedAt":{"type":"string","format":"date-time","nullable":true,"description":"Waiting for a human since (escalation queue); null once an agent has it"},"visitorLanguage":{"type":"string","nullable":true,"description":"Visitor browser language (2 letters)"},"department":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/DepartmentRefDto"}]},"rating":{"nullable":true,"description":"Visitor CSAT","type":"object","allOf":[{"$ref":"#/components/schemas/ConversationRatingDto"}]},"readUpTo":{"type":"number","description":"Caller's read position (agent or visitor)"},"counterpartReadUpTo":{"type":"number","description":"Counterpart's read position (visitor for staff, agents for visitor)"},"createdAt":{"type":"string","format":"date-time"},"closedAt":{"type":"string","format":"date-time","nullable":true}},"required":["id","status","ownerType","aiPaused","assignedAgent","websiteId","visitorId","player","lastSequence","lastMessageAt","lastMessagePreview","tags","readUpTo","counterpartReadUpTo","createdAt","closedAt"]},"ConversationPageDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ConversationDto"}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"]},"ConversationRatingDto":{"type":"object","properties":{"score":{"type":"number"},"comment":{"type":"string","nullable":true},"ratedAt":{"type":"string","format":"date-time"}},"required":["score","comment","ratedAt"]},"CreateActionDto":{"type":"object","properties":{"conversationId":{"type":"string","format":"uuid","description":"Either conversationId or playerId"},"playerId":{"type":"string","format":"uuid"},"actionType":{"type":"string","enum":["bonus.grant"]},"campaignId":{"type":"string","format":"uuid"},"idempotencyKey":{"type":"string","description":"Retrying with the same key returns the same action"}},"required":["actionType","campaignId","idempotencyKey"]},"CreateAiAgentDto":{"type":"object","properties":{"name":{"type":"string"},"config":{"type":"object","additionalProperties":true,"description":"contracts ai-agent-config.v1.json; defaults are derived from the active model registry"}},"required":["name"]},"CreateApiKeyDto":{"type":"object","properties":{"name":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"expiresAt":{"type":"string","format":"date-time","nullable":true}},"required":["name","scopes"]},"CreateBrandDto":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"}},"required":["name","slug"]},"CreateCampaignDto":{"type":"object","properties":{"brandId":{"type":"string","format":"uuid"},"externalCampaignId":{"type":"string"},"name":{"type":"string"},"terms":{"type":"object","additionalProperties":{"type":"string"}},"amountMinor":{"type":"number"},"currency":{"type":"string"},"wageringMultiplier":{"type":"number"},"rules":{"type":"object","additionalProperties":true,"description":"{oncePerPlayer?: boolean, newPlayersWithinDays?: number, minDeposit?: {amountMinor, withinDays}}"},"aiAllowed":{"type":"boolean","default":true},"enabled":{"type":"boolean","default":true},"activeFrom":{"type":"string"},"activeTo":{"type":"string"}},"required":["brandId","externalCampaignId","name","terms","amountMinor","currency"]},"CreateEvalSuiteDto":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"cases":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Array of contracts ai-eval-case.v1.json"}},"required":["name","cases"]},"CreateIntegrationDto":{"type":"object","properties":{"name":{"type":"string"},"brandId":{"type":"string","format":"uuid"}},"required":["name","brandId"]},"CreateKnowledgeBaseDto":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"defaultLanguage":{"type":"string","default":"tr"},"embeddingModel":{"type":"string","description":"Defaults to the first active embedding model"}},"required":["name"]},"CreateMacroDto":{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"shortcut":{"type":"string","nullable":true},"language":{"type":"string","nullable":true,"enum":["tr","en"]},"departmentId":{"type":"string","format":"uuid","nullable":true},"shared":{"type":"boolean","description":"Shared needs conversations:manage"}},"required":["title","body","shared"]},"CreatePaymentMethodDto":{"type":"object","properties":{"brandId":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["bank_transfer","crypto","card","ewallet","other"]},"name":{"type":"string"},"currency":{"type":"string"},"minMinor":{"type":"number","nullable":true},"maxMinor":{"type":"number","nullable":true},"linkTemplate":{"type":"string","description":"https URL; {amount} {amountMinor} {currency} {method} {player} are filled in (URL-encoded)"},"enabled":{"type":"boolean"},"sortOrder":{"type":"number"}},"required":["brandId","type","name","currency","linkTemplate"]},"CreateTriggerDto":{"type":"object","properties":{"websiteId":{"type":"string","format":"uuid"},"name":{"type":"string"},"enabled":{"type":"boolean","default":true},"priority":{"type":"number","default":0},"conditions":{"type":"object","additionalProperties":true,"description":"contracts proactive-trigger.v1.json#/$defs/conditions: urlContains, minTimeOnPageSec, minPageViews, referrerContains, utmSource, visitorType (new|returning), deviceType (mobile|desktop). All present conditions must hold."},"message":{"type":"object","additionalProperties":{"type":"string"}}},"required":["websiteId","name","conditions","message"]},"CreateWebhookDto":{"type":"object","properties":{"url":{"type":"string","example":"https://example.com/hooks/2people"},"description":{"type":"string"},"events":{"type":"array","items":{"type":"string","enum":["conversation.opened","conversation.status_changed","conversation.assigned","message.created","action.updated","incident.opened","incident.resolved"]}}},"required":["url","events"]},"CreateWebsiteDto":{"type":"object","properties":{"brandId":{"type":"string","format":"uuid"},"domain":{"type":"string","example":"example.com","description":"Widget is accepted on this domain and its subdomains (https)"},"allowedOrigins":{"description":"Extra exact origins, e.g. http://localhost:3000","type":"array","items":{"type":"string"}}},"required":["brandId","domain"]},"CreatedApiKeyDto":{"type":"object","properties":{"key":{"$ref":"#/components/schemas/ApiKeyDto"},"secret":{"type":"string","description":"Full secret, shown only once"}},"required":["key","secret"]},"CredentialsInputDto":{"type":"object","properties":{"authType":{"type":"string","enum":["none","apiKey","bearer","basic","oauth2ClientCredentials","hmac"]},"values":{"type":"object","additionalProperties":{"type":"string"}}},"required":["authType","values"]},"CredentialsSummaryDto":{"type":"object","properties":{"authType":{"type":"string"},"fields":{"description":"Field names only; values are never returned","type":"array","items":{"type":"string"}},"keyId":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"}},"required":["authType","fields","keyId","updatedAt"]},"CsatBucketDto":{"type":"object","properties":{"bucket":{"type":"string","format":"date-time"},"responses":{"type":"number"},"average":{"type":"number","nullable":true}},"required":["bucket","responses","average"]},"CsatCommentDto":{"type":"object","properties":{"conversationId":{"type":"string","format":"uuid"},"score":{"type":"number"},"comment":{"type":"string","nullable":true},"handledBy":{"type":"string","enum":["ai","human"]},"agentName":{"type":"string","nullable":true},"ratedAt":{"type":"string","format":"date-time"}},"required":["conversationId","score","comment","handledBy","agentName","ratedAt"]},"CsatCommentPageDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CsatCommentDto"}},"nextBefore":{"type":"string","nullable":true}},"required":["items","nextBefore"]},"CsatReportDto":{"type":"object","properties":{"responses":{"type":"number"},"average":{"type":"number","nullable":true},"satisfiedRate":{"type":"number","nullable":true,"description":"Share (0–1) of 4–5 scores"},"responseRate":{"type":"number","nullable":true,"description":"Responses ÷ closed conversations"},"distribution":{"description":"Count per score 1..5","type":"array","items":{"type":"number"}},"ai":{"$ref":"#/components/schemas/CsatSplitDto"},"human":{"$ref":"#/components/schemas/CsatSplitDto"},"series":{"type":"array","items":{"$ref":"#/components/schemas/CsatBucketDto"}}},"required":["responses","average","satisfiedRate","responseRate","distribution","ai","human","series"]},"CsatSplitDto":{"type":"object","properties":{"responses":{"type":"number"},"average":{"type":"number","nullable":true}},"required":["responses","average"]},"DecisionNoteDto":{"type":"object","properties":{"note":{"type":"string"}}},"DepartmentDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"timezone":{"type":"string","nullable":true,"description":"null = the tenant time zone"},"businessHours":{"type":"object","additionalProperties":true,"nullable":true,"description":"Weekly schedule {\"mon\": [[\"09:00\",\"18:00\"]], ...}; a missing day = closed; null = always open; null = the tenant's business hours"},"memberUserIds":{"type":"array","items":{"type":"string","format":"uuid"}},"openNow":{"type":"boolean"},"waiting":{"type":"number","description":"Conversations waiting for a human"},"websiteIds":{"description":"Websites defaulting to it","type":"array","items":{"type":"string","format":"uuid"}}},"required":["id","name","description","timezone","businessHours","memberUserIds","openNow","waiting","websiteIds"]},"DepartmentRefDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"required":["id","name"]},"DepositLinkCardDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string","description":"https URL issued by the operator or a panel-defined method"},"methodName":{"type":"string"},"methodType":{"type":"string","enum":["bank_transfer","crypto","card","ewallet","other"]},"amountMinor":{"type":"number"},"currency":{"type":"string"},"expiresAt":{"type":"string","format":"date-time","nullable":true}},"required":["id","url","methodName","methodType","amountMinor","currency","expiresAt"]},"DepositLinkRowDto":{"type":"object","properties":{"methodType":{"type":"string"},"methodName":{"type":"string"},"source":{"type":"string","enum":["operator","panel"]},"currency":{"type":"string"},"count":{"type":"number"},"amountMinor":{"type":"number"}},"required":["methodType","methodName","source","currency","count","amountMinor"]},"EraseResultDto":{"type":"object","properties":{"status":{"type":"string","enum":["scheduled"],"description":"ClickHouse deletes asynchronously (mutation); live presence is removed at once"}},"required":["status"]},"EstimateDto":{"type":"object","properties":{"currency":{"type":"string"},"baseMinor":{"type":"number"},"lines":{"type":"array","items":{"$ref":"#/components/schemas/EstimateLineDto"}},"totalMinor":{"type":"number"}},"required":["currency","baseMinor","lines","totalMinor"]},"EstimateLineDto":{"type":"object","properties":{"metric":{"type":"string","enum":["conversations","ai_resolved_conversations","human_conversations","messages","ai_tokens_k","active_agents","telegram_messages","operator_actions","webhook_deliveries"]},"quantity":{"type":"number"},"included":{"type":"number"},"billable":{"type":"number"},"unitPriceMinor":{"type":"number"},"amountMinor":{"type":"number"}},"required":["metric","quantity","included","billable","unitPriceMinor","amountMinor"]},"EvalRunDetailDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"suiteId":{"type":"string","format":"uuid"},"suiteName":{"type":"string"},"agentVersionId":{"type":"string","format":"uuid"},"agentVersion":{"type":"number"},"agentName":{"type":"string"},"status":{"type":"string","enum":["queued","running","completed","failed"]},"summary":{"type":"object","nullable":true,"additionalProperties":true,"description":"total, passed, passRate, toolPrecision, escalationAccuracy, guardBlocks, p50LatencyMs, p95LatencyMs, p95TtftMs"},"error":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"startedAt":{"type":"string","nullable":true,"format":"date-time"},"finishedAt":{"type":"string","nullable":true,"format":"date-time"},"results":{"type":"array","nullable":true,"items":{"type":"object","additionalProperties":true},"description":"Per case: caseId, passed, failures[], reply, runId, latencyMs, ttftMs, escalated, tools[]"}},"required":["id","suiteId","suiteName","agentVersionId","agentVersion","agentName","status","summary","error","createdAt","startedAt","finishedAt","results"]},"EvalRunDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"suiteId":{"type":"string","format":"uuid"},"suiteName":{"type":"string"},"agentVersionId":{"type":"string","format":"uuid"},"agentVersion":{"type":"number"},"agentName":{"type":"string"},"status":{"type":"string","enum":["queued","running","completed","failed"]},"summary":{"type":"object","nullable":true,"additionalProperties":true,"description":"total, passed, passRate, toolPrecision, escalationAccuracy, guardBlocks, p50LatencyMs, p95LatencyMs, p95TtftMs"},"error":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"startedAt":{"type":"string","nullable":true,"format":"date-time"},"finishedAt":{"type":"string","nullable":true,"format":"date-time"}},"required":["id","suiteId","suiteName","agentVersionId","agentVersion","agentName","status","summary","error","createdAt","startedAt","finishedAt"]},"EvalSuiteDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"cases":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Array of contracts ai-eval-case.v1.json"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","name","description","cases","createdAt","updatedAt"]},"GroupLinkInputDto":{"type":"object","properties":{"departmentId":{"type":"string","format":"uuid","nullable":true,"description":"Department the group serves; omitted/null = the default group"}}},"IncidentDetailDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"kind":{"type":"string","enum":["integration","ai","telegram","queue"]},"subject":{"type":"string","description":"Integration id, Telegram connection id, bridge, ai or queue"},"rule":{"type":"string","description":"error_rate, latency, unknown_actions, failure_rate, bridge_unreachable, bot_error, delivery_failures, no_agents, wait_time"},"severity":{"type":"string","enum":["warning","critical"]},"status":{"type":"string","enum":["open","acknowledged","resolved"]},"title":{"type":"string","description":"English fallback; clients localise from kind/rule/details"},"details":{"type":"object","additionalProperties":true},"openedAt":{"type":"string","format":"date-time"},"lastSeenAt":{"type":"string","format":"date-time"},"acknowledgedAt":{"type":"string","format":"date-time","nullable":true},"acknowledgedBy":{"type":"string","nullable":true},"resolvedAt":{"type":"string","format":"date-time","nullable":true},"resolvedBy":{"type":"string","nullable":true},"resolvedAutomatically":{"type":"boolean"},"events":{"type":"array","items":{"$ref":"#/components/schemas/IncidentEventDto"}}},"required":["id","kind","subject","rule","severity","status","title","details","openedAt","lastSeenAt","acknowledgedAt","acknowledgedBy","resolvedAt","resolvedBy","resolvedAutomatically","events"]},"IncidentDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"kind":{"type":"string","enum":["integration","ai","telegram","queue"]},"subject":{"type":"string","description":"Integration id, Telegram connection id, bridge, ai or queue"},"rule":{"type":"string","description":"error_rate, latency, unknown_actions, failure_rate, bridge_unreachable, bot_error, delivery_failures, no_agents, wait_time"},"severity":{"type":"string","enum":["warning","critical"]},"status":{"type":"string","enum":["open","acknowledged","resolved"]},"title":{"type":"string","description":"English fallback; clients localise from kind/rule/details"},"details":{"type":"object","additionalProperties":true},"openedAt":{"type":"string","format":"date-time"},"lastSeenAt":{"type":"string","format":"date-time"},"acknowledgedAt":{"type":"string","format":"date-time","nullable":true},"acknowledgedBy":{"type":"string","nullable":true},"resolvedAt":{"type":"string","format":"date-time","nullable":true},"resolvedBy":{"type":"string","nullable":true},"resolvedAutomatically":{"type":"boolean"}},"required":["id","kind","subject","rule","severity","status","title","details","openedAt","lastSeenAt","acknowledgedAt","acknowledgedBy","resolvedAt","resolvedBy","resolvedAutomatically"]},"IncidentEventDto":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["opened","escalated","acknowledged","resolved","reopened","note"]},"actorName":{"type":"string","nullable":true},"note":{"type":"string","nullable":true},"details":{"type":"object","additionalProperties":true},"at":{"type":"string","format":"date-time"}},"required":["id","type","actorName","note","details","at"]},"IncidentNoteDto":{"type":"object","properties":{"note":{"type":"string"}}},"IncidentNoteRequiredDto":{"type":"object","properties":{"note":{"type":"string"}},"required":["note"]},"IncidentPageDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/IncidentDto"}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"]},"InferenceEndpointDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"kind":{"type":"string","enum":["vllm","llama_cpp"]},"baseUrl":{"type":"string"},"enabled":{"type":"boolean"},"maxConcurrency":{"type":"number"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","key","kind","baseUrl","enabled","maxConcurrency","updatedAt"]},"InferenceStatusDto":{"type":"object","properties":{"endpoints":{"type":"array","items":{"$ref":"#/components/schemas/InferenceStatusEndpointDto"}},"checkedAt":{"type":"string","nullable":true},"orchestratorUp":{"type":"boolean","description":"false when the orchestrator could not be reached"}},"required":["endpoints","checkedAt","orchestratorUp"]},"InferenceStatusEndpointDto":{"type":"object","properties":{"key":{"type":"string"},"kind":{"type":"string"},"up":{"type":"boolean"},"latencyMs":{"type":"number","nullable":true},"running":{"type":"number","nullable":true},"waiting":{"type":"number","nullable":true},"kvCacheUsage":{"type":"number","nullable":true},"tokensPerSecond":{"type":"number","nullable":true},"error":{"type":"string"}},"required":["key","kind","up","latencyMs","running","waiting","kvCacheUsage","tokensPerSecond"]},"IntegrationCallDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"operation":{"type":"string"},"outcome":{"type":"string","enum":["ok","not_found","failed","unknown","unavailable"]},"reasonCode":{"type":"string","nullable":true},"httpStatus":{"type":"number","nullable":true},"latencyMs":{"type":"number"},"attempts":{"type":"number"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","operation","outcome","reasonCode","httpStatus","latencyMs","attempts","createdAt"]},"IntegrationCallPageDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationCallDto"}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"]},"IntegrationDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"brandId":{"type":"string","format":"uuid"},"name":{"type":"string"},"kind":{"type":"string"},"templateKey":{"type":"string","nullable":true},"status":{"type":"string","enum":["draft","active","disabled"]},"allowedHosts":{"type":"array","items":{"type":"string"}},"enabledCapabilities":{"type":"array","items":{"type":"string"}},"provenCapabilities":{"description":"Capabilities proven by the latest conformance run of the active version","type":"array","items":{"type":"string"}},"activeVersion":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/ConnectorVersionDto"}]},"draftVersion":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/ConnectorVersionDto"}]},"credentials":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/CredentialsSummaryDto"}]},"latestConformance":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/ConformanceRunDto"}]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","brandId","name","kind","templateKey","status","allowedHosts","enabledCapabilities","provenCapabilities","activeVersion","draftVersion","credentials","latestConformance","createdAt","updatedAt"]},"IntegrationHealthDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"status":{"type":"string","enum":["draft","active","disabled"]},"calls":{"type":"number","description":"Calls in the evaluation window"},"errors":{"type":"number","description":"failed + unknown + unavailable in the window"},"errorRate":{"type":"number","nullable":true,"description":"Percent"},"p50Ms":{"type":"number","nullable":true},"p95Ms":{"type":"number","nullable":true},"calls24h":{"type":"number"},"errors24h":{"type":"number"},"lastCallAt":{"type":"string","format":"date-time","nullable":true},"lastOkAt":{"type":"string","format":"date-time","nullable":true},"lastError":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/IntegrationLastErrorDto"}]},"unresolvedActions":{"type":"number","description":"Operations with an unknown outcome for over 10 minutes"},"state":{"type":"string","enum":["healthy","degraded","down","idle"]}},"required":["id","name","status","calls","errors","errorRate","p50Ms","p95Ms","calls24h","errors24h","lastCallAt","lastOkAt","lastError","unresolvedActions","state"]},"IntegrationLastErrorDto":{"type":"object","properties":{"at":{"type":"string","format":"date-time"},"outcome":{"type":"string","enum":["failed","unknown","unavailable"]},"operation":{"type":"string"},"reasonCode":{"type":"string","nullable":true},"httpStatus":{"type":"number","nullable":true}},"required":["at","outcome","operation","reasonCode","httpStatus"]},"JourneyEventDto":{"type":"object","properties":{"eventId":{"type":"string","format":"uuid"},"type":{"type":"string"},"ts":{"type":"string","format":"date-time"},"sessionId":{"type":"string","format":"uuid"},"sessionIndex":{"type":"number"},"url":{"type":"string"},"path":{"type":"string"},"title":{"type":"string"},"referrerHost":{"type":"string"},"channel":{"type":"string"},"utmSource":{"type":"string"},"utmCampaign":{"type":"string"},"country":{"type":"string"},"city":{"type":"string"},"deviceType":{"type":"string"},"browser":{"type":"string"},"durationMs":{"type":"number"},"triggerId":{"type":"string"},"conversationId":{"type":"string"}},"required":["eventId","type","ts","sessionId","sessionIndex","url","path","title","referrerHost","channel","utmSource","utmCampaign","country","city","deviceType","browser","durationMs","triggerId","conversationId"]},"JourneyPageDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/JourneyEventDto"}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"]},"KnowledgeBaseDetailDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"defaultLanguage":{"type":"string"},"embeddingModel":{"type":"string","description":"Registry key of the embedding model of all chunks"},"publishedAt":{"type":"string","nullable":true,"format":"date-time"},"documentCount":{"type":"number"},"publishedDocumentCount":{"type":"number"},"pendingPublishCount":{"type":"number","description":"Documents ready to publish (indexed, not yet live)"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"documents":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeDocumentDto"}}},"required":["id","name","description","defaultLanguage","embeddingModel","publishedAt","documentCount","publishedDocumentCount","pendingPublishCount","createdAt","updatedAt","documents"]},"KnowledgeBaseDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"defaultLanguage":{"type":"string"},"embeddingModel":{"type":"string","description":"Registry key of the embedding model of all chunks"},"publishedAt":{"type":"string","nullable":true,"format":"date-time"},"documentCount":{"type":"number"},"publishedDocumentCount":{"type":"number"},"pendingPublishCount":{"type":"number","description":"Documents ready to publish (indexed, not yet live)"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","name","description","defaultLanguage","embeddingModel","publishedAt","documentCount","publishedDocumentCount","pendingPublishCount","createdAt","updatedAt"]},"KnowledgeChunkDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"ordinal":{"type":"number"},"content":{"type":"string"},"tokenCount":{"type":"number"},"metadata":{"type":"object","additionalProperties":true},"published":{"type":"boolean"}},"required":["id","ordinal","content","tokenCount","metadata","published"]},"KnowledgeDocumentDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"knowledgeBaseId":{"type":"string","format":"uuid"},"title":{"type":"string"},"source":{"type":"string","enum":["upload","text"]},"contentType":{"type":"string"},"sizeBytes":{"type":"number"},"language":{"type":"string","nullable":true},"status":{"type":"string","enum":["pending","processing","ready","failed","published","archived"]},"version":{"type":"number"},"supersedesId":{"type":"string","nullable":true,"format":"uuid"},"chunkCount":{"type":"number"},"error":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"publishedAt":{"type":"string","nullable":true,"format":"date-time"}},"required":["id","knowledgeBaseId","title","source","contentType","sizeBytes","language","status","version","supersedesId","chunkCount","error","createdAt","updatedAt","publishedAt"]},"KnowledgeSearchDto":{"type":"object","properties":{"query":{"type":"string"},"limit":{"type":"number","default":8},"includeUnpublished":{"type":"boolean","default":true,"description":"Also search documents not yet published"}},"required":["query"]},"KnowledgeSearchHitDto":{"type":"object","properties":{"chunkId":{"type":"string","format":"uuid"},"documentId":{"type":"string","format":"uuid"},"documentTitle":{"type":"string"},"content":{"type":"string"},"vectorScore":{"type":"number","nullable":true},"textScore":{"type":"number","nullable":true},"fusedScore":{"type":"number"},"rerankScore":{"type":"number","nullable":true}},"required":["chunkId","documentId","documentTitle","content","vectorScore","textScore","fusedScore","rerankScore"]},"KnowledgeSearchResultDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeSearchHitDto"}}},"required":["items"]},"KpiDto":{"type":"object","properties":{"value":{"type":"number","nullable":true},"previous":{"type":"number","nullable":true,"description":"Same metric, previous period"}},"required":["value","previous"]},"LinkedPlayerDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"externalId":{"type":"string"},"verifiedAt":{"type":"string","format":"date-time"}},"required":["id","externalId","verifiedAt"]},"LiveConversationRefDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string"},"ownerType":{"type":"string","enum":["none","ai","human"]}},"required":["id","status","ownerType"]},"LiveDepartmentDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid","nullable":true},"name":{"type":"string"},"openNow":{"type":"boolean"},"waiting":{"type":"number"},"agentsOnline":{"type":"number"}},"required":["id","name","openNow","waiting","agentsOnline"]},"LiveDto":{"type":"object","properties":{"at":{"type":"string","format":"date-time"},"waiting":{"type":"number"},"oldestWaitingSince":{"type":"string","format":"date-time","nullable":true},"activeAi":{"type":"number"},"activeHuman":{"type":"number"},"pendingOffers":{"type":"number"},"agentsOnline":{"type":"number"},"agentsAway":{"type":"number"},"agentsRoutable":{"type":"number"},"visitorsOnline":{"type":"number"},"conversationsToday":{"type":"number"},"departments":{"type":"array","items":{"$ref":"#/components/schemas/LiveDepartmentDto"}}},"required":["at","waiting","oldestWaitingSince","activeAi","activeHuman","pendingOffers","agentsOnline","agentsAway","agentsRoutable","visitorsOnline","conversationsToday","departments"]},"LiveVisitorDto":{"type":"object","properties":{"visitorId":{"type":"string","format":"uuid"},"websiteId":{"type":"string","format":"uuid"},"sessionId":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["active","idle"]},"url":{"type":"string"},"title":{"type":"string"},"referrer":{"type":"string"},"referrerHost":{"type":"string"},"utmSource":{"type":"string"},"utmMedium":{"type":"string"},"utmCampaign":{"type":"string"},"channel":{"type":"string","enum":["direct","search","social","referral","campaign"]},"country":{"type":"string","description":"ISO 3166-1 alpha-2"},"region":{"type":"string"},"city":{"type":"string"},"deviceType":{"type":"string","enum":["desktop","mobile","tablet","other"]},"os":{"type":"string"},"browser":{"type":"string"},"language":{"type":"string"},"sessionIndex":{"type":"number"},"sessionStartedAt":{"type":"string","format":"date-time"},"pageViews":{"type":"number"},"firstSeenAt":{"type":"string","format":"date-time"},"lastSeenAt":{"type":"string","format":"date-time"},"conversation":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/LiveConversationRefDto"}]},"player":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/PlayerRefDto"}]}},"required":["visitorId","websiteId","sessionId","state","url","lastSeenAt","conversation","player"]},"LiveVisitorsDto":{"type":"object","properties":{"onlineCount":{"type":"number","description":"Online visitors of the tenant (before filters)"},"matched":{"type":"number","description":"Visitors matching the filters"},"items":{"type":"array","items":{"$ref":"#/components/schemas/LiveVisitorDto"}},"truncated":{"type":"boolean","description":"True when more visitors are online than one listing scans"},"generatedAt":{"type":"string","format":"date-time"}},"required":["onlineCount","matched","items","truncated","generatedAt"]},"MacroDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"body":{"type":"string","description":"Placeholders: {agent.name} {player.id} {website.domain}"},"shortcut":{"type":"string","nullable":true},"language":{"type":"string","nullable":true},"departmentId":{"type":"string","format":"uuid","nullable":true},"shared":{"type":"boolean","description":"Shared with the team (else personal)"},"editable":{"type":"boolean","description":"The caller may edit it"},"usageCount":{"type":"number"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","title","body","shortcut","language","departmentId","shared","editable","usageCount","updatedAt"]},"MacroInputDto":{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"shortcut":{"type":"string","nullable":true},"language":{"type":"string","nullable":true,"enum":["tr","en"]},"departmentId":{"type":"string","format":"uuid","nullable":true}}},"MemberDto":{"type":"object","properties":{"userId":{"type":"string","format":"uuid"},"email":{"type":"string"},"displayName":{"type":"string"},"status":{"type":"string","enum":["active","invited","disabled"]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleRefDto"}},"departments":{"type":"array","items":{"$ref":"#/components/schemas/DepartmentRefDto"}},"agentId":{"type":"string","format":"uuid","nullable":true},"maxConcurrentChats":{"type":"number"},"lastLoginAt":{"type":"string","format":"date-time","nullable":true},"sharedAccount":{"type":"boolean","description":"Also a member of other tenants (password resets are refused)"},"self":{"type":"boolean","description":"The caller itself"}},"required":["userId","email","displayName","status","roles","departments","agentId","maxConcurrentChats","lastLoginAt","sharedAccount","self"]},"MessageDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"conversationId":{"type":"string","format":"uuid"},"sequence":{"type":"number","description":"Conversation-local, strictly increasing, gap-free"},"senderType":{"type":"string","enum":["visitor","agent","ai","system"]},"senderId":{"type":"string"},"senderName":{"type":"string","nullable":true},"clientMessageId":{"type":"string","nullable":true},"contentType":{"type":"string","enum":["text","attachment","system","link"]},"body":{"type":"string"},"attachment":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/AttachmentDto"}]},"link":{"nullable":true,"description":"contentType link: the deposit link card","type":"object","allOf":[{"$ref":"#/components/schemas/DepositLinkCardDto"}]},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","sequence","senderType","senderId","senderName","clientMessageId","contentType","body","attachment","createdAt"]},"MessagePageDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MessageDto"}},"hasMore":{"type":"boolean","description":"True when more messages exist after the last returned sequence"}},"required":["items","hasMore"]},"MoneyDto":{"type":"object","properties":{"currency":{"type":"string"},"amountMinor":{"type":"number"},"count":{"type":"number"}},"required":["currency","amountMinor","count"]},"NoteDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"authorUserId":{"type":"string","format":"uuid","nullable":true},"authorType":{"type":"string","enum":["user","ai"]},"authorName":{"type":"string"},"body":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","authorUserId","authorType","authorName","body","createdAt"]},"NoteInputDto":{"type":"object","properties":{"body":{"type":"string","maxLength":4000}},"required":["body"]},"OfferDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"conversationId":{"type":"string","format":"uuid"},"agentId":{"type":"string","format":"uuid"},"agentName":{"type":"string"},"status":{"type":"string","enum":["offered","accepted","declined","expired","cancelled"]},"offeredAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"waitingSince":{"type":"string","format":"date-time","nullable":true},"websiteId":{"type":"string","format":"uuid"},"playerExternalId":{"type":"string","nullable":true},"preview":{"type":"string","nullable":true,"description":"Last visitor message (140 chars)"}},"required":["id","conversationId","agentId","agentName","status","offeredAt","expiresAt","waitingSince","websiteId","playerExternalId","preview"]},"OperationsHealthDto":{"type":"object","properties":{"generatedAt":{"type":"string","format":"date-time"},"windowMinutes":{"type":"number"},"integrations":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationHealthDto"}},"ai":{"$ref":"#/components/schemas/AiHealthDto"},"telegram":{"$ref":"#/components/schemas/TelegramHealthDto"},"queue":{"$ref":"#/components/schemas/QueueHealthDto"},"openIncidents":{"type":"number"}},"required":["generatedAt","windowMinutes","integrations","ai","telegram","queue","openIncidents"]},"OperationsSettingsDto":{"type":"object","properties":{"integrationErrorRatePct":{"type":"number","minimum":1,"maximum":100},"integrationP95Ms":{"type":"number","minimum":100,"maximum":120000},"aiFailureRatePct":{"type":"number","minimum":1,"maximum":100},"aiP95Ms":{"type":"number","minimum":100,"maximum":300000},"telegramFailedDeliveries":{"type":"number","minimum":1,"maximum":1000},"queueWaitSeconds":{"type":"number","minimum":30,"maximum":86400},"minSample":{"type":"number","minimum":1,"maximum":1000},"windowMinutes":{"type":"number","minimum":5,"maximum":1440},"updatedAt":{"type":"string","format":"date-time","nullable":true}},"required":["integrationErrorRatePct","integrationP95Ms","aiFailureRatePct","aiP95Ms","telegramFailedDeliveries","queueWaitSeconds","minSample","windowMinutes","updatedAt"]},"OperationsSettingsInputDto":{"type":"object","properties":{"integrationErrorRatePct":{"type":"number","minimum":1,"maximum":100},"integrationP95Ms":{"type":"number","minimum":100,"maximum":120000},"aiFailureRatePct":{"type":"number","minimum":1,"maximum":100},"aiP95Ms":{"type":"number","minimum":100,"maximum":300000},"telegramFailedDeliveries":{"type":"number","minimum":1,"maximum":1000},"queueWaitSeconds":{"type":"number","minimum":30,"maximum":86400},"minSample":{"type":"number","minimum":1,"maximum":1000},"windowMinutes":{"type":"number","minimum":5,"maximum":1440}},"required":["integrationErrorRatePct","integrationP95Ms","aiFailureRatePct","aiP95Ms","telegramFailedDeliveries","queueWaitSeconds","minSample","windowMinutes"]},"OverviewDto":{"type":"object","properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"conversations":{"description":"Conversations with at least one visitor message","allOf":[{"$ref":"#/components/schemas/KpiDto"}]},"aiResolutionRate":{"description":"Share (0–1) of closed conversations the AI resolved alone","allOf":[{"$ref":"#/components/schemas/KpiDto"}]},"escalationRate":{"description":"Share (0–1) of conversations that asked for a human","allOf":[{"$ref":"#/components/schemas/KpiDto"}]},"abandonmentRate":{"description":"Share (0–1) of human requests closed without a human","allOf":[{"$ref":"#/components/schemas/KpiDto"}]},"medianFirstResponseMs":{"description":"Median first reply (AI or agent), ms","allOf":[{"$ref":"#/components/schemas/KpiDto"}]},"medianQueueWaitMs":{"description":"Median wait for a human after asking, ms","allOf":[{"$ref":"#/components/schemas/KpiDto"}]},"medianResolutionMs":{"description":"Median time to close, ms","allOf":[{"$ref":"#/components/schemas/KpiDto"}]},"csatAverage":{"description":"Average CSAT score 1–5","allOf":[{"$ref":"#/components/schemas/KpiDto"}]},"csatResponses":{"$ref":"#/components/schemas/KpiDto"},"bonusesGranted":{"description":"Bonuses credited (succeeded), per currency","type":"array","items":{"$ref":"#/components/schemas/MoneyDto"}},"depositLinks":{"description":"Deposit links issued, per currency","type":"array","items":{"$ref":"#/components/schemas/MoneyDto"}}},"required":["from","to","conversations","aiResolutionRate","escalationRate","abandonmentRate","medianFirstResponseMs","medianQueueWaitMs","medianResolutionMs","csatAverage","csatResponses","bonusesGranted","depositLinks"]},"PaymentMethodDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"brandId":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["bank_transfer","crypto","card","ewallet","other"]},"name":{"type":"string"},"currency":{"type":"string"},"minMinor":{"type":"number","nullable":true},"maxMinor":{"type":"number","nullable":true},"linkTemplate":{"type":"string","description":"https URL; {amount} {amountMinor} {currency} {method} {player} are filled in (URL-encoded)"},"enabled":{"type":"boolean"},"sortOrder":{"type":"number"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","brandId","type","name","currency","minMinor","maxMinor","linkTemplate","enabled","sortOrder","updatedAt"]},"PercentilesDto":{"type":"object","properties":{"p50":{"type":"number","nullable":true},"p95":{"type":"number","nullable":true}},"required":["p50","p95"]},"PermissionDto":{"type":"object","properties":{"key":{"type":"string"},"description":{"type":"string"},"grantable":{"type":"boolean","description":"The caller may grant it"}},"required":["key","description","grantable"]},"PlayerPanelDto":{"type":"object","properties":{"playerId":{"type":"string","format":"uuid"},"externalId":{"type":"string"},"integrationId":{"type":"string","nullable":true,"format":"uuid"},"capabilities":{"type":"array","items":{"type":"string"}},"sections":{"$ref":"#/components/schemas/PlayerSectionsDto"}},"required":["playerId","externalId","integrationId","capabilities","sections"]},"PlayerRefDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"externalId":{"type":"string"}},"required":["id","externalId"]},"PlayerSectionDto":{"type":"object","properties":{"outcome":{"type":"string","enum":["ok","not_found","failed","unknown","unavailable"]},"data":{"nullable":true,"description":"Canonical igaming.v1 data: an object, or an array for list sections","oneOf":[{"type":"object","additionalProperties":true},{"type":"array","items":{"type":"object","additionalProperties":true}}]},"reasonCode":{"type":"string","nullable":true}},"required":["outcome","data","reasonCode"]},"PlayerSectionsDto":{"type":"object","properties":{"profile":{"$ref":"#/components/schemas/PlayerSectionDto"},"wallet":{"$ref":"#/components/schemas/PlayerSectionDto"},"restrictions":{"$ref":"#/components/schemas/PlayerSectionDto"},"kyc":{"$ref":"#/components/schemas/PlayerSectionDto"},"deposits":{"$ref":"#/components/schemas/PlayerSectionDto"},"withdrawals":{"$ref":"#/components/schemas/PlayerSectionDto"},"bonuses":{"$ref":"#/components/schemas/PlayerSectionDto"}},"required":["profile","wallet","restrictions","kyc","deposits","withdrawals","bonuses"]},"PolicyDto":{"type":"object","properties":{"config":{"type":"object","additionalProperties":true,"description":"contracts policy-config.v1.json"},"customized":{"type":"boolean","description":"false while the platform defaults apply"},"updatedAt":{"type":"string","nullable":true,"format":"date-time"}},"required":["config","customized","updatedAt"]},"PolicyInputDto":{"type":"object","properties":{"config":{"type":"object","additionalProperties":true}},"required":["config"]},"PresenceDto":{"type":"object","properties":{"visitorId":{"type":"string","format":"uuid"},"websiteId":{"type":"string","format":"uuid"},"sessionId":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["active","idle"]},"url":{"type":"string"},"title":{"type":"string"},"referrer":{"type":"string"},"referrerHost":{"type":"string"},"utmSource":{"type":"string"},"utmMedium":{"type":"string"},"utmCampaign":{"type":"string"},"channel":{"type":"string","enum":["direct","search","social","referral","campaign"]},"country":{"type":"string","description":"ISO 3166-1 alpha-2"},"region":{"type":"string"},"city":{"type":"string"},"deviceType":{"type":"string","enum":["desktop","mobile","tablet","other"]},"os":{"type":"string"},"browser":{"type":"string"},"language":{"type":"string"},"sessionIndex":{"type":"number"},"sessionStartedAt":{"type":"string","format":"date-time"},"pageViews":{"type":"number"},"firstSeenAt":{"type":"string","format":"date-time"},"lastSeenAt":{"type":"string","format":"date-time"}},"required":["visitorId","websiteId","sessionId","state","url","lastSeenAt"]},"Problem":{"title":"Problem","description":"Structured error body (RFC 9457 problem details) returned by every HTTP service.","type":"object","additionalProperties":false,"required":["type","title","status","code","correlationId"],"properties":{"type":{"type":"string","description":"URI reference identifying the problem type."},"title":{"type":"string"},"status":{"type":"integer","minimum":400,"maximum":599},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]+$","description":"Stable machine-readable error code, e.g. TENANT_NOT_FOUND."},"detail":{"type":"string"},"correlationId":{"type":"string"},"errors":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["path","message"],"properties":{"path":{"type":"string"},"message":{"type":"string"}}}}}},"PublishConnectorDto":{"type":"object","properties":{"changeNote":{"type":"string"}}},"PublishDto":{"type":"object","properties":{"changeNote":{"type":"string"}}},"QueueAgentDto":{"type":"object","properties":{"agentId":{"type":"string","format":"uuid"},"displayName":{"type":"string"},"availability":{"type":"string","enum":["online","away","offline"]},"telegramLinked":{"type":"boolean"},"dashboardConnected":{"type":"boolean"},"openChats":{"type":"number"},"openOffers":{"type":"number"},"maxConcurrentChats":{"type":"number"},"routable":{"type":"boolean"},"notRoutableReason":{"type":"string","nullable":true}},"required":["agentId","displayName","availability","telegramLinked","dashboardConnected","openChats","openOffers","maxConcurrentChats","routable","notRoutableReason"]},"QueueHealthDto":{"type":"object","properties":{"waiting":{"type":"number"},"longestWaitSeconds":{"type":"number","nullable":true},"onlineAgents":{"type":"number"},"state":{"type":"string","enum":["healthy","degraded","down","idle"]}},"required":["waiting","longestWaitSeconds","onlineAgents","state"]},"QueueItemDto":{"type":"object","properties":{"conversationId":{"type":"string","format":"uuid"},"websiteId":{"type":"string","format":"uuid"},"status":{"type":"string"},"waitingSince":{"type":"string","format":"date-time"},"playerExternalId":{"type":"string","nullable":true},"offer":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/OfferDto"}]}},"required":["conversationId","websiteId","status","waitingSince","playerExternalId","offer"]},"ReceiptDto":{"type":"object","properties":{"deliveredUpTo":{"type":"number","description":"Highest sequence delivered to the client"},"readUpTo":{"type":"number","description":"Highest sequence the participant has read"}}},"ReceiptStateDto":{"type":"object","properties":{"deliveredUpTo":{"type":"number"},"readUpTo":{"type":"number"}},"required":["deliveredUpTo","readUpTo"]},"RetentionPolicyDto":{"type":"object","properties":{"conversationRetentionDays":{"type":"number","nullable":true,"description":"Closed conversations are anonymised after this many days; null = kept"},"dueNow":{"type":"number","description":"Closed conversations already past the limit (anonymised by the next run)"},"anonymizedTotal":{"type":"number"}},"required":["conversationRetentionDays","dueNow","anonymizedTotal"]},"RetentionPolicyInputDto":{"type":"object","properties":{"conversationRetentionDays":{"type":"number","nullable":true,"minimum":7,"maximum":3650}},"required":["conversationRetentionDays"]},"RoleDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"name":{"type":"string"},"system":{"type":"boolean"},"permissions":{"type":"array","items":{"type":"string"}},"memberCount":{"type":"number","description":"Members of this tenant holding the role"},"assignable":{"type":"boolean","description":"The caller may assign it (holds all its permissions)"}},"required":["id","key","name","system","permissions","memberCount","assignable"]},"RoleRefDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"key":{"type":"string"},"name":{"type":"string"},"system":{"type":"boolean"}},"required":["id","key","name","system"]},"RoutingQueueDto":{"type":"object","properties":{"waiting":{"type":"array","items":{"$ref":"#/components/schemas/QueueItemDto"}},"agents":{"type":"array","items":{"$ref":"#/components/schemas/QueueAgentDto"}}},"required":["waiting","agents"]},"RoutingSettingsDto":{"type":"object","properties":{"autoAssign":{"type":"boolean"},"offerTimeoutSeconds":{"type":"number","minimum":15,"maximum":600},"telegramRedactPii":{"type":"boolean","description":"Mask e-mail/phone/IBAN/card numbers in text sent to Telegram"}},"required":["autoAssign","offerTimeoutSeconds","telegramRedactPii"]},"RoutingSettingsInputDto":{"type":"object","properties":{"autoAssign":{"type":"boolean"},"offerTimeoutSeconds":{"type":"number","minimum":15,"maximum":600},"telegramRedactPii":{"type":"boolean"}}},"RunConformanceDto":{"type":"object","properties":{"testInput":{"$ref":"#/components/schemas/ConformanceInputDto"},"version":{"type":"string","enum":["draft","active"],"default":"draft"}},"required":["testInput"]},"RunEvaluationDto":{"type":"object","properties":{"suiteId":{"type":"string","format":"uuid"},"agentVersionId":{"type":"string","format":"uuid","description":"Agent version to evaluate (draft or published)"}},"required":["suiteId","agentVersionId"]},"SaveConnectorDraftDto":{"type":"object","properties":{"spec":{"type":"object","additionalProperties":true,"description":"contracts connector-spec.v1.json"},"changeNote":{"type":"string"}},"required":["spec"]},"SaveDraftDto":{"type":"object","properties":{"config":{"type":"object","additionalProperties":true,"description":"contracts ai-agent-config.v1.json"},"changeNote":{"type":"string"}},"required":["config"]},"SendMessageDto":{"type":"object","properties":{"contentType":{"type":"string","enum":["text","attachment"],"default":"text"},"body":{"type":"string","maxLength":4000,"description":"Plain text; never rendered as HTML"},"attachmentId":{"type":"string","format":"uuid"},"clientMessageId":{"type":"string","description":"Client-generated id (8–64 chars [A-Za-z0-9_-]); retries with the same id return the original message"}}},"SetDepartmentDto":{"type":"object","properties":{"departmentId":{"type":"string","format":"uuid","nullable":true}},"required":["departmentId"]},"SimulationMessageDto":{"type":"object","properties":{"role":{"type":"string","enum":["visitor","ai","agent"]},"body":{"type":"string"}},"required":["role","body"]},"SimulationPlayerDto":{"type":"object","properties":{"externalId":{"type":"string"}},"required":["externalId"]},"SimulationRequestDto":{"type":"object","properties":{"agentId":{"type":"string","format":"uuid"},"versionId":{"type":"string","format":"uuid","description":"Defaults to the draft, else the published version"},"messages":{"description":"Last message must be from the visitor","type":"array","items":{"$ref":"#/components/schemas/SimulationMessageDto"}},"player":{"$ref":"#/components/schemas/SimulationPlayerDto"}},"required":["agentId","messages"]},"SimulationResultDto":{"type":"object","properties":{"runId":{"type":"string","format":"uuid"},"reply":{"type":"string","nullable":true},"escalation":{"type":"object","nullable":true,"additionalProperties":true},"trace":{"type":"object","additionalProperties":true,"description":"contracts ai-run.v1.json"},"versionId":{"type":"string","format":"uuid"}},"required":["runId","reply","escalation","trace","versionId"]},"SpecDocumentDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"format":{"type":"string","enum":["openapi3","swagger2","postman21"]},"fileName":{"type":"string"},"sizeBytes":{"type":"number"},"catalog":{"type":"object","additionalProperties":true,"description":"contracts spec-catalog.v1.json (operator-supplied text)"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","format","fileName","sizeBytes","catalog","createdAt"]},"SuggestDto":{"type":"object","properties":{"specId":{"type":"string","format":"uuid"}},"required":["specId"]},"SuggestResultDto":{"type":"object","properties":{"draft":{"$ref":"#/components/schemas/ConnectorVersionDto"},"confidence":{"type":"object","additionalProperties":{"type":"number"}},"notes":{"type":"object","additionalProperties":{"type":"string"}},"unmapped":{"type":"array","items":{"type":"string"}},"suggestedHosts":{"description":"Hosts found in the document (not yet allowed)","type":"array","items":{"type":"string"}}},"required":["draft","confidence","notes","unmapped","suggestedHosts"]},"TagsInputDto":{"type":"object","properties":{"tags":{"description":"Replaces the conversation tag set","type":"array","items":{"type":"string"}}},"required":["tags"]},"TelegramConnectionDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"botUsername":{"type":"string"},"botId":{"type":"number"},"status":{"type":"string","enum":["active","disabled"]},"lastOkAt":{"type":"string","format":"date-time","nullable":true},"lastError":{"type":"string","nullable":true},"lastErrorAt":{"type":"string","format":"date-time","nullable":true},"linkedAgents":{"type":"number"},"pendingDeliveries":{"type":"number"},"failedDeliveries24h":{"type":"number"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","name","botUsername","botId","status","lastOkAt","lastError","lastErrorAt","linkedAgents","pendingDeliveries","failedDeliveries24h","createdAt"]},"TelegramConnectionHealthDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"botUsername":{"type":"string"},"lastOkAt":{"type":"string","format":"date-time","nullable":true},"lastError":{"type":"string","nullable":true},"lastErrorAt":{"type":"string","format":"date-time","nullable":true}},"required":["id","name","botUsername","lastOkAt","lastError","lastErrorAt"]},"TelegramConnectionInputDto":{"type":"object","properties":{"name":{"type":"string","example":"Destek botu"},"token":{"type":"string","description":"Bot token from @BotFather; sealed for the bridge, never returned"}},"required":["name","token"]},"TelegramConnectionPatchDto":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"string","enum":["active","disabled"]},"token":{"type":"string","description":"Rotate the token (same bot only)"}}},"TelegramGroupDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"connectionId":{"type":"string","format":"uuid"},"chatId":{"type":"number"},"title":{"type":"string","nullable":true},"status":{"type":"string","enum":["active","disabled"]},"isForum":{"type":"boolean","description":"Topics (forum) enabled in the group"},"canManageTopics":{"type":"boolean","description":"The bot is an admin allowed to manage topics"},"checkedAt":{"type":"string","format":"date-time","nullable":true},"lastError":{"type":"string","nullable":true},"openTopics":{"type":"number"},"linkedAt":{"type":"string","format":"date-time"},"departmentId":{"type":"string","format":"uuid","nullable":true,"description":"null = default group"},"departmentName":{"type":"string","nullable":true}},"required":["id","connectionId","chatId","title","status","isForum","canManageTopics","checkedAt","lastError","openTopics","linkedAt","departmentId","departmentName"]},"TelegramGroupLinkDto":{"type":"object","properties":{"deepLink":{"type":"string","example":"https://t.me/acme_support_bot?startgroup=…"},"command":{"type":"string","example":"/link …","description":"Alternative: send this in the group"},"botUsername":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"}},"required":["deepLink","command","botUsername","expiresAt"]},"TelegramHealthDto":{"type":"object","properties":{"configured":{"type":"boolean"},"bridgeReachable":{"type":"boolean","nullable":true},"connection":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/TelegramConnectionHealthDto"}]},"sent":{"type":"number"},"failed":{"type":"number"},"stuck":{"type":"number","description":"Pending for over 2 minutes"},"linkedAgents":{"type":"number"},"state":{"type":"string","enum":["healthy","degraded","down","idle"]}},"required":["configured","bridgeReachable","connection","sent","failed","stuck","linkedAgents","state"]},"TelegramLinkDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"agentId":{"type":"string","format":"uuid"},"agentName":{"type":"string"},"telegramUserId":{"type":"number"},"telegramUsername":{"type":"string","nullable":true},"connectionId":{"type":"string","format":"uuid"},"linkedAt":{"type":"string","format":"date-time"}},"required":["id","agentId","agentName","telegramUserId","telegramUsername","connectionId","linkedAt"]},"TelegramLogItemDto":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","description":"Delivery kind or command name"},"direction":{"type":"string","enum":["out","in"]},"status":{"type":"string","description":"pending | sent | failed (out) · ok | denied | error (in)"},"detail":{"type":"string","nullable":true},"conversationId":{"type":"string","format":"uuid","nullable":true},"agentName":{"type":"string","nullable":true},"telegramUserId":{"type":"number","nullable":true},"at":{"type":"string","format":"date-time"}},"required":["id","kind","direction","status","detail","conversationId","agentName","telegramUserId","at"]},"TelegramLogPageDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TelegramLogItemDto"}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"]},"TelegramStatusDto":{"type":"object","properties":{"keyConfigured":{"type":"boolean","description":"TELEGRAM_BRIDGE_PUBLIC_KEY is configured"},"keyId":{"type":"string","nullable":true},"bridgeReachable":{"type":"boolean"},"telegramApi":{"type":"string","nullable":true,"description":"Bot API host the bridge calls (api.telegram.org in production)"},"connections":{"type":"array","items":{"$ref":"#/components/schemas/TelegramConnectionDto"}},"groups":{"type":"array","items":{"$ref":"#/components/schemas/TelegramGroupDto"}}},"required":["keyConfigured","keyId","bridgeReachable","telegramApi","connections","groups"]},"TelemetryPolicyDto":{"type":"object","properties":{"retentionDays":{"type":"number","minimum":1,"maximum":730,"description":"Analytics rows expire after this many days"},"ipMode":{"type":"string","enum":["truncate","full","none"],"description":"Stored IP: truncate = IPv4 /24, IPv6 /48 (GeoIP always uses the full IP transiently)"},"consentRequired":{"type":"boolean","description":"Collect nothing until the page calls TwoPeople.setConsent(true)"},"honorGpc":{"type":"boolean","description":"Do not track browsers sending Global Privacy Control (Sec-GPC: 1)"},"sampleRate":{"type":"number","minimum":0.0001,"maximum":1,"description":"Share of visitors whose events are stored (live presence always covers all)"}},"required":["retentionDays","ipMode","consentRequired","honorGpc","sampleRate"]},"TenantDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"organizationId":{"type":"string","format":"uuid"},"name":{"type":"string"},"slug":{"type":"string"},"status":{"type":"string","enum":["active","suspended","archived"]},"dataRegion":{"type":"string"},"settings":{"type":"object","additionalProperties":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","name","slug","status","dataRegion","settings","createdAt","updatedAt"]},"TestOperationDto":{"type":"object","properties":{"operation":{"type":"string","enum":["player.get","wallet.get","deposits.list","withdrawals.list","bonuses.list","kyc.get","restrictions.get","bonus.eligibility","bonus.grant","bonus.lookup","payments.methods","deposit.link"]},"input":{"type":"object","additionalProperties":true},"version":{"type":"string","enum":["draft","active"],"default":"draft"}},"required":["operation","input"]},"TestOperationResultDto":{"type":"object","properties":{"outcome":{"type":"string","enum":["ok","not_found","failed","unknown"]},"result":{"type":"object","nullable":true,"additionalProperties":true},"reasonCode":{"type":"string","nullable":true},"httpStatus":{"type":"number","nullable":true},"latencyMs":{"type":"number"}},"required":["outcome","result","reasonCode","httpStatus","latencyMs"]},"TextDocumentDto":{"type":"object","properties":{"title":{"type":"string"},"text":{"type":"string","description":"Plain text or Markdown"},"contentType":{"type":"string","enum":["text/plain","text/markdown"],"default":"text/markdown"},"language":{"type":"string"}},"required":["title","text"]},"TimeBucketDto":{"type":"object","properties":{"bucket":{"type":"string","format":"date-time"},"visitors":{"type":"number"},"sessions":{"type":"number"},"pageViews":{"type":"number"}},"required":["bucket","visitors","sessions","pageViews"]},"TopPageDto":{"type":"object","properties":{"path":{"type":"string"},"views":{"type":"number"},"visitors":{"type":"number"}},"required":["path","views","visitors"]},"TransferDto":{"type":"object","properties":{"agentId":{"type":"string","format":"uuid"}},"required":["agentId"]},"TriggerDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"websiteId":{"type":"string","format":"uuid"},"name":{"type":"string"},"enabled":{"type":"boolean"},"priority":{"type":"number"},"conditions":{"type":"object","additionalProperties":true,"description":"contracts proactive-trigger.v1.json#/$defs/conditions: urlContains, minTimeOnPageSec, minPageViews, referrerContains, utmSource, visitorType (new|returning), deviceType (mobile|desktop). All present conditions must hold."},"message":{"type":"object","additionalProperties":{"type":"string"},"example":{"tr":"Yardım ister misiniz?","en":"Need help?"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","websiteId","name","enabled","priority","conditions","message","createdAt","updatedAt"]},"TriggerStatsDto":{"type":"object","properties":{"triggerId":{"type":"string","format":"uuid"},"shown":{"type":"number"},"clicked":{"type":"number"},"chats":{"type":"number"}},"required":["triggerId","shown","clicked","chats"]},"UpdateAiAgentDto":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean","description":"Disabled agents stop taking new conversations"}}},"UpdateCampaignDto":{"type":"object","properties":{"name":{"type":"string"},"terms":{"type":"object","additionalProperties":{"type":"string"}},"amountMinor":{"type":"number"},"wageringMultiplier":{"type":"number"},"rules":{"type":"object","additionalProperties":true},"aiAllowed":{"type":"boolean"},"enabled":{"type":"boolean"},"activeFrom":{"type":"string"},"activeTo":{"type":"string"}}},"UpdateEvalSuiteDto":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"cases":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"UpdateIntegrationDto":{"type":"object","properties":{"name":{"type":"string"},"allowedHosts":{"description":"host[:port] the connector may call (exact match, no wildcards)","type":"array","items":{"type":"string"}}}},"UpdateKnowledgeBaseDto":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"defaultLanguage":{"type":"string"}}},"UpdatePaymentMethodDto":{"type":"object","properties":{"type":{"type":"string","enum":["bank_transfer","crypto","card","ewallet","other"]},"name":{"type":"string"},"minMinor":{"type":"number","nullable":true},"maxMinor":{"type":"number","nullable":true},"linkTemplate":{"type":"string","description":"https URL; {amount} {amountMinor} {currency} {method} {player} are filled in (URL-encoded)"},"enabled":{"type":"boolean"},"sortOrder":{"type":"number"}}},"UpdateTenantDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"status":{"type":"string","enum":["active","suspended","archived"],"description":"Platform admins only"},"settings":{"type":"object","additionalProperties":true}}},"UpdateTriggerDto":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"priority":{"type":"number"},"conditions":{"type":"object","additionalProperties":true},"message":{"type":"object","additionalProperties":{"type":"string"}}}},"UpdateWebhookDto":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string","nullable":true},"events":{"type":"array","items":{"type":"string","enum":["conversation.opened","conversation.status_changed","conversation.assigned","message.created","action.updated","incident.opened","incident.resolved"]}},"status":{"type":"string","enum":["active","disabled"]}}},"UsageDto":{"type":"object","properties":{"month":{"type":"string","example":"2026-11"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"partial":{"type":"boolean","description":"The month is not over yet"},"metrics":{"type":"array","items":{"$ref":"#/components/schemas/UsageMetricDto"}},"estimate":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/EstimateDto"}]}},"required":["month","from","to","partial","metrics","estimate"]},"UsageHistoryDto":{"type":"object","properties":{"currency":{"type":"string","nullable":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/UsageHistoryItemDto"}}},"required":["currency","items"]},"UsageHistoryItemDto":{"type":"object","properties":{"month":{"type":"string"},"metrics":{"type":"array","items":{"$ref":"#/components/schemas/UsageMetricDto"}},"totalMinor":{"type":"number","nullable":true}},"required":["month","metrics","totalMinor"]},"UsageMetricDto":{"type":"object","properties":{"key":{"type":"string","enum":["conversations","ai_resolved_conversations","human_conversations","messages","ai_tokens_k","active_agents","telegram_messages","operator_actions","webhook_deliveries"]},"quantity":{"type":"number"}},"required":["key","quantity"]},"VisitorAnalyticsDto":{"type":"object","properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"interval":{"type":"string","enum":["hour","day"]},"sampled":{"type":"boolean","description":"Counts are scaled by 1/sample_rate when the tenant samples visitors"},"totals":{"$ref":"#/components/schemas/AnalyticsTotalsDto"},"timeseries":{"type":"array","items":{"$ref":"#/components/schemas/TimeBucketDto"}},"countries":{"type":"array","items":{"$ref":"#/components/schemas/BreakdownRowDto"}},"cities":{"type":"array","items":{"$ref":"#/components/schemas/BreakdownRowDto"}},"channels":{"type":"array","items":{"$ref":"#/components/schemas/BreakdownRowDto"}},"referrers":{"type":"array","items":{"$ref":"#/components/schemas/BreakdownRowDto"}},"utmSources":{"type":"array","items":{"$ref":"#/components/schemas/BreakdownRowDto"}},"utmCampaigns":{"type":"array","items":{"$ref":"#/components/schemas/BreakdownRowDto"}},"devices":{"type":"array","items":{"$ref":"#/components/schemas/BreakdownRowDto"}},"browsers":{"type":"array","items":{"$ref":"#/components/schemas/BreakdownRowDto"}},"operatingSystems":{"type":"array","items":{"$ref":"#/components/schemas/BreakdownRowDto"}},"topPages":{"type":"array","items":{"$ref":"#/components/schemas/TopPageDto"}},"triggers":{"type":"array","items":{"$ref":"#/components/schemas/TriggerStatsDto"}}},"required":["from","to","interval","sampled","totals","timeseries","countries","cities","channels","referrers","utmSources","utmCampaigns","devices","browsers","operatingSystems","topPages","triggers"]},"VisitorDetailDto":{"type":"object","properties":{"visitorId":{"type":"string","format":"uuid"},"presence":{"nullable":true,"description":"null when offline","type":"object","allOf":[{"$ref":"#/components/schemas/PresenceDto"}]},"profile":{"nullable":true,"description":"Analytics summary; null when no stored events (not sampled, erased or expired)","type":"object","allOf":[{"$ref":"#/components/schemas/VisitorProfileDto"}]},"players":{"type":"array","items":{"$ref":"#/components/schemas/LinkedPlayerDto"}},"conversationCount":{"type":"number"}},"required":["visitorId","presence","profile","players","conversationCount"]},"VisitorErasureDto":{"type":"object","properties":{"conversations":{"type":"number","description":"Conversations anonymised"},"files":{"type":"number","description":"Files deleted"}},"required":["conversations","files"]},"VisitorProfileDto":{"type":"object","properties":{"firstSeenAt":{"type":"string","format":"date-time"},"lastSeenAt":{"type":"string","format":"date-time"},"sessions":{"type":"number"},"pageViews":{"type":"number"},"engagedMs":{"type":"number","description":"Sum of visible time reported on page leave"},"country":{"type":"string"},"region":{"type":"string"},"city":{"type":"string"},"deviceType":{"type":"string"},"browser":{"type":"string"},"os":{"type":"string"},"firstReferrerHost":{"type":"string"},"firstChannel":{"type":"string"}},"required":["firstSeenAt","lastSeenAt","sessions","pageViews","engagedMs","country","region","city","deviceType","browser","os","firstReferrerHost","firstChannel"]},"WebhookCreatedDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string"},"description":{"type":"string","nullable":true},"events":{"type":"array","items":{"type":"string","enum":["conversation.opened","conversation.status_changed","conversation.assigned","message.created","action.updated","incident.opened","incident.resolved"]}},"secretHint":{"type":"string","description":"Last 4 characters of the signing secret"},"status":{"type":"string","enum":["active","disabled"]},"disabledReason":{"type":"string","nullable":true,"enum":["manual","failures"]},"consecutiveFailures":{"type":"number"},"lastSuccessAt":{"type":"string","format":"date-time","nullable":true},"lastFailureAt":{"type":"string","format":"date-time","nullable":true},"createdAt":{"type":"string","format":"date-time"},"pendingDeliveries":{"type":"number"},"failedDeliveries24h":{"type":"number"},"secret":{"type":"string","description":"Signing secret; shown only once"}},"required":["id","url","description","events","secretHint","status","disabledReason","consecutiveFailures","lastSuccessAt","lastFailureAt","createdAt","pendingDeliveries","failedDeliveries24h","secret"]},"WebhookDeliveryDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"eventId":{"type":"string","format":"uuid"},"eventType":{"type":"string"},"status":{"type":"string","enum":["pending","succeeded","failed"]},"attempts":{"type":"number"},"nextAttemptAt":{"type":"string","format":"date-time","nullable":true},"lastStatusCode":{"type":"number","nullable":true},"lastError":{"type":"string","nullable":true},"lastDurationMs":{"type":"number","nullable":true},"createdAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time","nullable":true},"payload":{"type":"object","additionalProperties":true,"description":"The body that is sent"}},"required":["id","eventId","eventType","status","attempts","nextAttemptAt","lastStatusCode","lastError","lastDurationMs","createdAt","completedAt","payload"]},"WebhookDeliveryPageDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDeliveryDto"}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"]},"WebhookDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string"},"description":{"type":"string","nullable":true},"events":{"type":"array","items":{"type":"string","enum":["conversation.opened","conversation.status_changed","conversation.assigned","message.created","action.updated","incident.opened","incident.resolved"]}},"secretHint":{"type":"string","description":"Last 4 characters of the signing secret"},"status":{"type":"string","enum":["active","disabled"]},"disabledReason":{"type":"string","nullable":true,"enum":["manual","failures"]},"consecutiveFailures":{"type":"number"},"lastSuccessAt":{"type":"string","format":"date-time","nullable":true},"lastFailureAt":{"type":"string","format":"date-time","nullable":true},"createdAt":{"type":"string","format":"date-time"},"pendingDeliveries":{"type":"number"},"failedDeliveries24h":{"type":"number"}},"required":["id","url","description","events","secretHint","status","disabledReason","consecutiveFailures","lastSuccessAt","lastFailureAt","createdAt","pendingDeliveries","failedDeliveries24h"]},"WebhookSecretDto":{"type":"object","properties":{"secret":{"type":"string","description":"New signing secret; shown only once"}},"required":["secret"]},"WebsiteDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"brandId":{"type":"string","format":"uuid"},"domain":{"type":"string"},"widgetKey":{"type":"string"},"allowedOrigins":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time"}},"required":["id","brandId","domain","widgetKey","allowedOrigins","createdAt"]},"WebsiteSecretDto":{"type":"object","properties":{"identitySecret":{"type":"string","description":"base64url HMAC key for signing player identity tokens (HS256). Keep server-side."}},"required":["identitySecret"]}}}}