{ "openapi": "3.0.0", "paths": { "/auth/login": { "post": { "operationId": "login", "summary": "Login", "description": "Login with username and api key", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCredentials" } } } }, "responses": { "201": { "description": "Token", "content": { "application/json": { "schema": { "type": "string" } } } } }, "tags": ["Auth"] } }, "/auth/validate": { "post": { "operationId": "validateToken", "summary": "Validate token", "description": "Validate JWT token", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenValidation" } } } }, "responses": { "201": { "description": "Whether the token is valid", "content": { "application/json": { "schema": { "type": "boolean" } } } } }, "tags": ["Auth"] } }, "/auth/is-admin": { "get": { "operationId": "isAdmin", "summary": "Check if the current user is admin", "description": "Check if the current user is admin", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "boolean" } } } }, "201": { "description": "Whether the user is admin", "content": { "application/json": { "schema": { "type": "boolean" } } } } }, "tags": ["Auth"], "security": [{ "bearer": [] }] } }, "/proxy/*": { "get": { "operationId": "ProxyController_proxyRequest", "parameters": [], "responses": { "200": { "description": "" } }, "tags": ["Proxy"] } }, "/jobs": { "get": { "operationId": "getJobs", "summary": "Get all jobs", "description": "Returns a list of all jobs that have been queued or processed.", "parameters": [ { "name": "page", "required": false, "in": "query", "description": "Page number", "schema": { "minimum": 1, "default": 1, "type": "number" } }, { "name": "limit", "required": false, "in": "query", "description": "Page size", "schema": { "minimum": 1, "maximum": 320, "default": 20, "type": "number" } } ], "responses": { "200": { "description": "A list of all jobs", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/JobInfo" } } } } } }, "tags": ["Jobs"], "security": [{ "bearer": [] }] } }, "/health": { "get": { "operationId": "healthCheck", "summary": "Health Check", "description": "Check the health of the application", "parameters": [], "responses": { "200": { "description": "The application is healthy" } }, "tags": ["Health"] } }, "/health/manifests": { "get": { "operationId": "getManifestHealth", "summary": "Retrieve manifest health", "description": "Retrieve manifest health", "parameters": [ { "name": "page", "required": false, "in": "query", "description": "Page number", "schema": { "minimum": 1, "default": 1, "type": "number" } }, { "name": "limit", "required": false, "in": "query", "description": "Page size", "schema": { "minimum": 1, "maximum": 320, "default": 20, "type": "number" } } ], "responses": { "200": { "description": "Manifest health", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ManifestHealth" } } } } } }, "tags": ["Health"], "security": [{ "bearer": [] }] } }, "/dashboards/{type}": { "get": { "operationId": "getDashboard", "summary": "Get dashboard", "description": "Get dashboard by type, for the current user", "parameters": [ { "name": "type", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Dashboard object", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DashboardConfig" } } } }, "404": { "description": "Dashboard not found" } }, "tags": ["Dashboards"], "security": [{ "bearer": [] }] }, "post": { "operationId": "updateDashboard", "summary": "Update dashboard", "description": "Update dashboard by type, for the current user", "parameters": [ { "name": "type", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DashboardUpdate" } } } }, "responses": { "200": { "description": "Updated dashboard object" }, "201": { "description": "" } }, "tags": ["Dashboards"], "security": [{ "bearer": [] }] } }, "/dashboards/{type}/delete": { "post": { "operationId": "deleteDashboard", "summary": "Delete dashboard", "description": "Delete dashboard by type, for the current user", "parameters": [ { "name": "type", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Dashboard deleted" }, "201": { "description": "" } }, "tags": ["Dashboards"], "security": [{ "bearer": [] }] } }, "/manifests/available": { "get": { "operationId": "checkManifestAvailability", "summary": "Check manifest availability for a date range", "description": "Returns true if manifests cover the date range, false otherwise", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "type", "required": false, "in": "query", "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ItemType" } } } ], "responses": { "200": { "description": "Manifest availability", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ManifestAvailability" } } } } }, "tags": ["Manifests"], "security": [{ "bearer": [] }] } }, "/manifests/{id}": { "get": { "operationId": "getManifest", "summary": "Get a manifest by ID", "description": "Get a manifest by ID", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Manifest", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Manifest" } } } } }, "tags": ["Manifests"], "security": [{ "bearer": [] }] }, "delete": { "operationId": "deleteManifest", "summary": "Delete a manifest by ID", "description": "Delete a manifest by ID", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Manifest deleted successfully" } }, "tags": ["Manifests"], "security": [{ "bearer": [] }] } }, "/manifests": { "get": { "operationId": "listManifests", "summary": "List manifests", "description": "List manifests", "parameters": [ { "name": "scale", "required": true, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": true, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "type", "required": false, "in": "query", "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ItemType" } } }, { "name": "id", "required": false, "in": "query", "schema": { "type": "number" } } ], "responses": { "200": { "description": "List of manifests", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Manifest" } } } } } }, "tags": ["Manifests"], "security": [{ "bearer": [] }] } }, "/metrics/performance/performance": { "get": { "operationId": "getPerformance", "summary": "Performance", "description": "Get performance data for an area.", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "area", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/UserArea" } }, { "name": "activities", "required": false, "in": "query", "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Activity" } } }, { "name": "userId", "required": false, "in": "query", "schema": { "type": "number" } }, { "name": "head", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "x-safe-mode", "in": "header", "description": "Enable safe mode to filter explicit content", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PerformanceSummary" } } } } } }, "tags": ["Performance"], "security": [{ "bearer": [] }] } }, "/metrics/performance/activity": { "get": { "operationId": "getActivity", "summary": "Activity", "description": "Get activity data for the specified range, scale, and cycle.", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "area", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/UserArea" } }, { "name": "activities", "required": false, "in": "query", "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Activity" } } }, { "name": "userId", "required": false, "in": "query", "schema": { "type": "number" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ActivitySeriesPoint" } } } } } }, "tags": ["Performance"], "security": [{ "bearer": [] }] } }, "/users/head/{id}": { "get": { "operationId": "getUserHead", "summary": "Get user head", "description": "Get user head by user id", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "x-safe-mode", "in": "header", "description": "Enable safe mode to filter explicit content", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserHead" } } } } }, "tags": ["Users"], "security": [{ "bearer": [] }] } }, "/metrics/approvals/count/summary": { "get": { "operationId": "getApprovalCountSummary", "summary": "Approval count summary", "description": "Get total approval counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApprovalCountSummary" } } } } }, "tags": ["Approvals"], "security": [{ "bearer": [] }] } }, "/metrics/approvals/count/series": { "get": { "operationId": "getApprovalCountSeries", "summary": "Approval count series", "description": "Get a time series of approval counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Approvals"], "security": [{ "bearer": [] }] } }, "/metrics/approvals/count/series/by/approver/{approverId}": { "get": { "operationId": "getApprovalCountSeriesByApprover", "summary": "Approval count series by approver", "description": "Get a time series of approval counts for a given date range by approver", "parameters": [ { "name": "approverId", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Approvals"], "security": [{ "bearer": [] }] } }, "/metrics/approvals/approver/summary": { "get": { "operationId": "getApproverSummary", "summary": "Approver summary", "description": "Get a summary of approvals by approver for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "description": "Page number", "schema": { "minimum": 1, "default": 1, "type": "number" } }, { "name": "limit", "required": false, "in": "query", "description": "Page size", "schema": { "minimum": 1, "maximum": 320, "default": 20, "type": "number" } }, { "name": "x-safe-mode", "in": "header", "description": "Enable safe mode to filter explicit content", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ApproverSummary" } } } } } }, "tags": ["Approvals"], "security": [{ "bearer": [] }] } }, "/metrics/tickets/status": { "get": { "operationId": "getTicketStatus", "summary": "Ticket status", "description": "Get ticket status (pending, approved, partial) counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TicketStatusSeriesPoint" } } } } } }, "tags": ["Tickets"], "security": [{ "bearer": [] }] } }, "/metrics/tickets/type/summary": { "get": { "operationId": "getTicketTypeSummary", "summary": "Ticket type summary", "description": "Get ticket types counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TicketTypeSummary" } } } } }, "tags": ["Tickets"], "security": [{ "bearer": [] }] } }, "/metrics/tickets/type/summary/by/handler/{claimantId}": { "get": { "operationId": "getTicketTypeSummaryByHandler", "summary": "Ticket type summary for a handler", "description": "Get ticket types counts for a given date range for a specific handler", "parameters": [ { "name": "claimantId", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TicketTypeSummary" } } } } }, "tags": ["Tickets"], "security": [{ "bearer": [] }] } }, "/metrics/tickets/open/series": { "get": { "operationId": "getTicketOpenSeries", "summary": "Ticket open series", "description": "Get a time series of open tickets for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Tickets"], "security": [{ "bearer": [] }] } }, "/metrics/tickets/created/series": { "get": { "operationId": "getTicketCreatedSeries", "summary": "Ticket created series", "description": "Get a time series of created tickets for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Tickets"], "security": [{ "bearer": [] }] } }, "/metrics/tickets/created/series/by/reporter/{repoterId}": { "get": { "operationId": "getTicketCreatedSeriesByReporter", "summary": "Ticket created series by reporter", "description": "Get a time series of created tickets for a given date range for a specific reporter", "parameters": [ { "name": "repoterId", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Tickets"], "security": [{ "bearer": [] }] } }, "/metrics/tickets/closed/series": { "get": { "operationId": "getTicketClosedSeries", "summary": "Ticket closed series", "description": "Get a time series of closed tickets for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Tickets"], "security": [{ "bearer": [] }] } }, "/metrics/tickets/closed/series/by/handler/{handlerId}": { "get": { "operationId": "getTicketClosedSeriesByHandler", "summary": "Ticket closed series by handler", "description": "Get a time series of closed tickets for a given date range for a specific handler", "parameters": [ { "name": "handlerId", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Tickets"], "security": [{ "bearer": [] }] } }, "/metrics/tickets/age/series": { "get": { "operationId": "getTicketAgeSeries", "summary": "Ticket age series", "description": "Get a time series of ticket ages for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TicketAgeSeriesPoint" } } } } } }, "tags": ["Tickets"], "security": [{ "bearer": [] }] } }, "/metrics/tickets/age/summary": { "get": { "operationId": "getTicketAgeSummary", "summary": "Ticket age summary", "description": "Get a summary of ticket ages for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TicketAgeSummary" } } } } }, "tags": ["Tickets"], "security": [{ "bearer": [] }] } }, "/metrics/tickets/handler/summary": { "get": { "operationId": "getTicketHandlerSummary", "summary": "Handler summary", "description": "Get a summary of ticket handling counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "description": "Page number", "schema": { "minimum": 1, "default": 1, "type": "number" } }, { "name": "limit", "required": false, "in": "query", "description": "Page size", "schema": { "minimum": 1, "maximum": 320, "default": 20, "type": "number" } }, { "name": "x-safe-mode", "in": "header", "description": "Enable safe mode to filter explicit content", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TicketHandlerSummary" } } } } } }, "tags": ["Tickets"], "security": [{ "bearer": [] }] } }, "/metrics/tickets/reporter/summary": { "get": { "operationId": "getTicketReporterSummary", "summary": "Reporter summary", "description": "Get a summary of ticket reporting counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "description": "Page number", "schema": { "minimum": 1, "default": 1, "type": "number" } }, { "name": "limit", "required": false, "in": "query", "description": "Page size", "schema": { "minimum": 1, "maximum": 320, "default": 20, "type": "number" } }, { "name": "x-safe-mode", "in": "header", "description": "Enable safe mode to filter explicit content", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TicketReporterSummary" } } } } } }, "tags": ["Tickets"], "security": [{ "bearer": [] }] } }, "/metrics/posts/status/summary": { "get": { "operationId": "getPostStatusSummary", "summary": "Post status summary", "description": "Get post status (approved, deleted, permitted) counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PostStatusSummary" } } } } }, "tags": ["Posts"], "security": [{ "bearer": [] }] } }, "/metrics/posts/pending/series": { "get": { "operationId": "getPostPendingSeries", "summary": "Post pending series", "description": "Get post pending series for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Posts"], "security": [{ "bearer": [] }] } }, "/metrics/deletions/count/series": { "get": { "operationId": "getDeletionCountSeries", "summary": "Post deletion series", "description": "Get a time series of post deletion counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Deletions"], "security": [{ "bearer": [] }] } }, "/metrics/deletions/count/series/by/deleter/{userId}": { "get": { "operationId": "getDeletionSeriesByDeleter", "summary": "Post deletion series by deleter", "description": "Get a time series of post deletion counts for a given date range by deleter", "parameters": [ { "name": "userId", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Deletions"], "security": [{ "bearer": [] }] } }, "/metrics/deletions/activity/summary": { "get": { "operationId": "getDeletionActivitySummary", "summary": "Post deletion activity summary", "description": "Get a hourly summary of post deletion counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Deletions"], "security": [{ "bearer": [] }] } }, "/metrics/deletions/activity/summary/by/deleter/{userId}": { "get": { "operationId": "getDeletionActivitySummaryByDeleter", "summary": "Post deletion activity summary by deleter", "description": "Get a hourly summary of post deletion counts for a given date range by deleter", "parameters": [ { "name": "userId", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Deletions"], "security": [{ "bearer": [] }] } }, "/metrics/feedbacks/type": { "get": { "operationId": "getFeedbackTypeSeries", "summary": "Feedback Type Series", "description": "Get a time series of feedback types counts for a given range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "creatorId", "required": false, "in": "query", "schema": { "type": "number" } }, { "name": "userId", "required": false, "in": "query", "schema": { "type": "number" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FeedbackTypeSeriesPoint" } } } } } }, "tags": ["Feedbacks"], "security": [{ "bearer": [] }] } }, "/metrics/post-replacements/created": { "get": { "operationId": "getPostReplacementCreated", "summary": "Post replacements created", "description": "Get post replacements created counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Replacements"], "security": [{ "bearer": [] }] } }, "/metrics/post-replacements/status": { "get": { "operationId": "getPostReplacementStatus", "summary": "Post replacement status", "description": "Get post replacement status (pending, approved, partial) counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PostReplacementStatusPoint" } } } } } }, "tags": ["Replacements"], "security": [{ "bearer": [] }] } }, "/metrics/uploads/count": { "get": { "operationId": "getUploadCount", "summary": "Upload series", "description": "Get a time series of upload counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "uploaderId", "required": false, "in": "query", "schema": { "type": "number" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Uploads"], "security": [{ "bearer": [] }] } }, "/metrics/uploads/uploader/summary": { "get": { "operationId": "getPostUploaderSummary", "summary": "Uploader summary", "description": "Get a summary of post uploading counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "description": "Page number", "schema": { "minimum": 1, "default": 1, "type": "number" } }, { "name": "limit", "required": false, "in": "query", "description": "Page size", "schema": { "minimum": 1, "maximum": 320, "default": 20, "type": "number" } }, { "name": "x-safe-mode", "in": "header", "description": "Enable safe mode to filter explicit content", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PostUploaderSummary" } } } } } }, "tags": ["Uploads"], "security": [{ "bearer": [] }] } }, "/metrics/permits/count": { "get": { "operationId": "getPermitCount", "summary": "Get total permit counts for a given date range", "description": "Get total permit counts for a given date range", "parameters": [ { "name": "scale", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "cycle", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/TimeScale" } }, { "name": "startDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "timezone", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesCountPoint" } } } } } }, "tags": ["Permits"], "security": [{ "bearer": [] }] } } }, "info": { "title": "5-thirty", "description": "backend data aggregate for 6 o'clock", "version": "0.0.7", "contact": {} }, "tags": [], "servers": [], "components": { "securitySchemes": { "bearer": { "scheme": "bearer", "bearerFormat": "JWT", "type": "http" } }, "schemas": { "UserCredentials": { "type": "object", "properties": { "username": { "type": "string", "minLength": 1 }, "password": { "type": "string", "pattern": "/^[a-zA-Z0-9]{24,32}$/" } }, "required": ["username", "password"] }, "TokenValidation": { "type": "object", "properties": { "token": { "type": "string" } }, "required": ["token"] }, "JobInfo": { "type": "object", "properties": { "id": { "type": "number" }, "title": { "type": "string" }, "key": { "type": "string" }, "startedAt": { "format": "date-time", "type": "string" }, "endedAt": { "format": "date-time", "type": "string" }, "succeeded": { "type": "boolean" }, "failed": { "type": "boolean" }, "cancelled": { "type": "boolean" }, "timedOut": { "type": "boolean" } }, "required": [ "id", "title", "succeeded", "failed", "cancelled", "timedOut" ] }, "ItemType": { "type": "string", "enum": [ "tickets", "posts", "users", "user_profiles", "flags", "feedbacks", "post_versions", "post_replacements", "post_events", "mod_actions", "bulk_update_requests", "tag_aliases", "tag_implications" ] }, "ManifestSlice": { "type": "object", "properties": { "startId": { "type": "number" }, "endId": { "type": "number" }, "available": { "type": "number" }, "unavailable": { "type": "number" }, "none": { "type": "number" } }, "required": ["startId", "endId", "available", "unavailable", "none"] }, "ManifestHealth": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ItemType" }, "id": { "type": "number" }, "startDate": { "format": "date-time", "type": "string" }, "endDate": { "format": "date-time", "type": "string" }, "startId": { "type": "number" }, "endId": { "type": "number" }, "count": { "type": "number" }, "slices": { "type": "array", "items": { "$ref": "#/components/schemas/ManifestSlice" } } }, "required": [ "type", "id", "startDate", "endDate", "startId", "endId", "count", "slices" ] }, "DashboardPosition": { "type": "object", "properties": { "i": { "type": "string" }, "x": { "type": "number" }, "y": { "type": "number" }, "w": { "type": "number" }, "h": { "type": "number" } }, "required": ["i", "x", "y", "w", "h"] }, "DashboardPositions": { "type": "object", "properties": { "xs": { "type": "array", "items": { "$ref": "#/components/schemas/DashboardPosition" } }, "sm": { "type": "array", "items": { "$ref": "#/components/schemas/DashboardPosition" } }, "md": { "type": "array", "items": { "$ref": "#/components/schemas/DashboardPosition" } }, "lg": { "type": "array", "items": { "$ref": "#/components/schemas/DashboardPosition" } }, "xl": { "type": "array", "items": { "$ref": "#/components/schemas/DashboardPosition" } } } }, "DashboardConfig": { "type": "object", "properties": { "type": { "type": "string", "enum": ["moderator", "janitor", "admin"] }, "userId": { "type": "number" }, "version": { "type": "number" }, "positions": { "$ref": "#/components/schemas/DashboardPositions" }, "meta": { "type": "object" } }, "required": ["type", "userId", "version", "positions", "meta"] }, "DashboardUpdate": { "type": "object", "properties": { "version": { "type": "number" }, "positions": { "$ref": "#/components/schemas/DashboardPositions" }, "meta": { "type": "object" } } }, "TimeScale": { "type": "string", "enum": [ "minute", "hour", "day", "week", "month", "year", "decade", "all" ] }, "ManifestAvailability": { "type": "object", "properties": { "approvals": { "type": "number" }, "tickets": { "type": "number" }, "posts": { "type": "number" }, "users": { "type": "number" }, "userProfiles": { "type": "number" }, "flags": { "type": "number" }, "feedbacks": { "type": "number" }, "postVersions": { "type": "number" }, "postReplacements": { "type": "number" }, "modActions": { "type": "number" }, "bulkUpdateRequests": { "type": "number" }, "tagAliases": { "type": "number" }, "tagImplications": { "type": "number" } } }, "Manifest": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/ItemType" }, "id": { "type": "number" }, "startDate": { "format": "date-time", "type": "string" }, "endDate": { "format": "date-time", "type": "string" }, "lowerId": { "type": "number" }, "upperId": { "type": "number" } }, "required": ["type", "id", "startDate", "endDate", "lowerId", "upperId"] }, "UserArea": { "type": "string", "enum": ["admin", "moderator", "janitor", "member"] }, "Activity": { "type": "string", "enum": [ "post_create", "post_delete", "post_approve", "post_replacement_create", "post_replacement_approve", "post_replacement_promote", "post_replacement_reject", "ticket_create", "ticket_handle" ] }, "PerformanceGrade": { "type": "string", "enum": [ "F", "E", "D", "C", "B", "A", "S", "S2", "S3", "S4", "S5", "S6" ] }, "TrendGrade": { "type": "string", "enum": [ "plummet", "drop", "decline", "neutral", "rise", "climb", "surge" ] }, "UserHead": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "avatar": { "type": "string" }, "level": { "type": "string" } }, "required": ["id", "name", "level"] }, "PerformanceRecord": { "type": "object", "properties": { "grade": { "$ref": "#/components/schemas/PerformanceGrade" }, "score": { "type": "number" } }, "required": ["grade", "score"] }, "ActivitySummary": { "type": "object", "properties": { "postCreate": { "type": "number" }, "postDelete": { "type": "number" }, "postApprove": { "type": "number" }, "postReplacementCreate": { "type": "number" }, "postReplacementApprove": { "type": "number" }, "postReplacementReject": { "type": "number" }, "postReplacementPromote": { "type": "number" }, "ticketCreate": { "type": "number" }, "ticketHandle": { "type": "number" } }, "required": [ "postCreate", "postDelete", "postApprove", "postReplacementCreate", "postReplacementApprove", "postReplacementReject", "postReplacementPromote", "ticketCreate", "ticketHandle" ] }, "PerformanceSummary": { "type": "object", "properties": { "scoreGrade": { "$ref": "#/components/schemas/PerformanceGrade" }, "trendGrade": { "$ref": "#/components/schemas/TrendGrade" }, "userId": { "type": "number" }, "head": { "$ref": "#/components/schemas/UserHead" }, "position": { "type": "number" }, "score": { "type": "number" }, "trend": { "type": "number" }, "history": { "type": "array", "items": { "$ref": "#/components/schemas/PerformanceRecord" } }, "activity": { "$ref": "#/components/schemas/ActivitySummary" }, "days": { "type": "number" } }, "required": [ "scoreGrade", "trendGrade", "userId", "position", "score", "trend", "history", "activity", "days" ] }, "ActivitySeriesPoint": { "type": "object", "properties": { "postCreate": { "type": "number" }, "postDelete": { "type": "number" }, "postApprove": { "type": "number" }, "postReplacementCreate": { "type": "number" }, "postReplacementApprove": { "type": "number" }, "postReplacementReject": { "type": "number" }, "postReplacementPromote": { "type": "number" }, "ticketCreate": { "type": "number" }, "ticketHandle": { "type": "number" }, "date": { "format": "date-time", "type": "string" } }, "required": [ "postCreate", "postDelete", "postApprove", "postReplacementCreate", "postReplacementApprove", "postReplacementReject", "postReplacementPromote", "ticketCreate", "ticketHandle", "date" ] }, "ApprovalCountSummary": { "type": "object", "properties": { "total": { "type": "number" } }, "required": ["total"] }, "SeriesCountPoint": { "type": "object", "properties": { "date": { "format": "date-time", "type": "string" }, "value": { "type": "number" } }, "required": ["date", "value"] }, "ApproverSummary": { "type": "object", "properties": { "userId": { "type": "number" }, "head": { "$ref": "#/components/schemas/UserHead" }, "total": { "type": "number" }, "position": { "type": "number" }, "days": { "type": "number" } }, "required": ["userId", "total", "position", "days"] }, "TicketStatusSeriesPoint": { "type": "object", "properties": { "date": { "format": "date-time", "type": "string" }, "pending": { "type": "number" }, "approved": { "type": "number" }, "partial": { "type": "number" } }, "required": ["date", "pending", "approved", "partial"] }, "TicketTypeSummary": { "type": "object", "properties": { "user": { "type": "number" }, "comment": { "type": "number" }, "forum": { "type": "number" }, "blip": { "type": "number" }, "wiki": { "type": "number" }, "pool": { "type": "number" }, "set": { "type": "number" }, "post": { "type": "number" }, "dmail": { "type": "number" } }, "required": [ "user", "comment", "forum", "blip", "wiki", "pool", "set", "post", "dmail" ] }, "TicketAgeSeriesPoint": { "type": "object", "properties": { "date": { "format": "date-time", "type": "string" }, "oneDay": { "type": "number" }, "threeDays": { "type": "number" }, "oneWeek": { "type": "number" }, "twoWeeks": { "type": "number" }, "oneMonth": { "type": "number" }, "aboveOneMonth": { "type": "number" } }, "required": [ "date", "oneDay", "threeDays", "oneWeek", "twoWeeks", "oneMonth", "aboveOneMonth" ] }, "TicketAgeSummary": { "type": "object", "properties": { "oneDay": { "type": "number" }, "threeDays": { "type": "number" }, "oneWeek": { "type": "number" }, "twoWeeks": { "type": "number" }, "oneMonth": { "type": "number" }, "aboveOneMonth": { "type": "number" } }, "required": [ "oneDay", "threeDays", "oneWeek", "twoWeeks", "oneMonth", "aboveOneMonth" ] }, "TicketHandlerSummary": { "type": "object", "properties": { "userId": { "type": "number" }, "head": { "$ref": "#/components/schemas/UserHead" }, "total": { "type": "number" }, "position": { "type": "number" }, "days": { "type": "number" } }, "required": ["userId", "total", "position", "days"] }, "TicketReporterSummary": { "type": "object", "properties": { "userId": { "type": "number" }, "head": { "$ref": "#/components/schemas/UserHead" }, "total": { "type": "number" }, "days": { "type": "number" } }, "required": ["userId", "total", "days"] }, "PostStatusSummary": { "type": "object", "properties": { "pending": { "type": "number" }, "approved": { "type": "number" }, "deleted": { "type": "number" }, "permitted": { "type": "number" } }, "required": ["pending", "approved", "deleted", "permitted"] }, "FeedbackTypeSeriesPoint": { "type": "object", "properties": { "date": { "format": "date-time", "type": "string" }, "negative": { "type": "number" }, "neutral": { "type": "number" }, "positive": { "type": "number" } }, "required": ["date", "negative", "neutral", "positive"] }, "PostReplacementStatusPoint": { "type": "object", "properties": { "date": { "format": "date-time", "type": "string" }, "pending": { "type": "number" }, "rejected": { "type": "number" }, "approved": { "type": "number" }, "promoted": { "type": "number" } }, "required": ["date", "pending", "rejected", "approved", "promoted"] }, "PostUploaderSummary": { "type": "object", "properties": { "userId": { "type": "number" }, "head": { "$ref": "#/components/schemas/UserHead" }, "total": { "type": "number" }, "position": { "type": "number" }, "days": { "type": "number" } }, "required": ["userId", "total", "position", "days"] } } }, "externalDocs": { "description": "/swagger.json", "url": "/swagger.json" } }