{ "openapi": "3.1.0", "info": { "title": "Tianji OpenAPI (Read-Only)", "description": "Filtered OpenAPI spec containing only GET endpoints for safe read-only access.", "version": "v1.30.25" }, "servers": [ { "url": "/open" } ], "paths": { "/workspace/{workspaceId}/aiGateway/all": { "get": { "operationId": "aiGateway-all", "summary": "Get all gateways", "tags": [ "AIGateway" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "modelApiKey": { "type": "string", "description": "[REDACTED] This field may contain sensitive data and should not be displayed." }, "customModelBaseUrl": { "type": "string", "description": "[REDACTED] This field may contain sensitive data and should not be displayed." }, "customModelName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "customModelInputPrice": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "customModelOutputPrice": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "id", "workspaceId", "name", "createdAt", "updatedAt" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/aiGateway/info": { "get": { "operationId": "aiGateway-info", "summary": "Get gateway info", "tags": [ "AI" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "gatewayId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "modelApiKey": { "type": "string", "description": "[REDACTED] This field may contain sensitive data and should not be displayed." }, "customModelBaseUrl": { "type": "string", "description": "[REDACTED] This field may contain sensitive data and should not be displayed." }, "customModelName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "customModelInputPrice": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "customModelOutputPrice": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "id", "workspaceId", "name", "createdAt", "updatedAt" ], "additionalProperties": false }, { "type": "null" } ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/aiGateway/logs": { "get": { "operationId": "aiGateway-logs", "summary": "Get gateway logs", "tags": [ "AI" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "gatewayId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "cursor", "schema": { "type": "string" } }, { "in": "query", "name": "limit", "schema": { "default": 20, "type": "integer", "minimum": 1, "maximum": 100 } }, { "in": "query", "name": "logId", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "gatewayId": { "type": "string" }, "inputToken": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "outputToken": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "stream": { "type": "boolean" }, "modelName": { "type": "string" }, "status": { "type": "string", "enum": [ "Pending", "Success", "Failed" ] }, "duration": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "ttft": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "price": { "type": "number" }, "userId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "requestPayload": {}, "responsePayload": {} }, "required": [ "id", "workspaceId", "gatewayId", "inputToken", "outputToken", "stream", "modelName", "status", "duration", "ttft", "price", "createdAt", "updatedAt" ], "additionalProperties": false } }, "nextCursor": { "type": "string" } }, "required": [ "items" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/aiGateway/model-pricing": { "get": { "operationId": "aiGateway-modelPricing", "summary": "Get model pricing", "tags": [ "AI" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "search", "schema": { "type": "string" } }, { "in": "query", "name": "limit", "schema": { "default": 10, "type": "integer", "minimum": 1, "maximum": 50 } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "providers": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "api": { "type": "string" }, "doc": { "type": "string" }, "models": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "attachment": { "type": "boolean" }, "reasoning": { "type": "boolean" }, "temperature": { "type": "boolean" }, "tool_call": { "type": "boolean" }, "knowledge": { "type": "string" }, "release_date": { "type": "string" }, "last_updated": { "type": "string" }, "modalities": { "type": "object", "properties": { "input": { "type": "array", "items": { "type": "string" } }, "output": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "open_weights": { "type": "boolean" }, "cost": { "type": "object", "properties": { "input": { "type": "number" }, "output": { "type": "number" }, "cache_read": { "type": "number" } }, "additionalProperties": false }, "limit": { "type": "object", "properties": { "context": { "type": "number" }, "output": { "type": "number" } }, "additionalProperties": false } }, "required": [ "id", "name" ], "additionalProperties": false } } }, "required": [ "id", "name", "models" ], "additionalProperties": false } } }, "required": [ "providers" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/aiGateway/quota-alert": { "get": { "operationId": "aiGateway-quotaAlert-get", "summary": "Get quota alert", "tags": [ "AI" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "gatewayId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "dailyQuota": { "type": "number" }, "enabled": { "type": "boolean" }, "notificationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "lastAlertSentAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "alertLevel80Sent": { "type": "boolean" }, "alertLevel100Sent": { "type": "boolean" }, "alertLevel150Sent": { "type": "boolean" } }, "required": [ "id", "dailyQuota", "enabled", "notificationId", "lastAlertSentAt", "alertLevel80Sent", "alertLevel100Sent", "alertLevel150Sent" ], "additionalProperties": false }, { "type": "null" } ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/global/config": { "get": { "operationId": "global-config", "summary": "Get global config", "description": "Get Tianji system global config", "tags": [ "Global" ], "security": [ { "Authorization": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "allowRegister": { "type": "boolean" }, "websiteId": { "type": "string" }, "amapToken": { "type": "string" }, "mapboxToken": { "type": "string" }, "alphaMode": { "type": "boolean" }, "disableAnonymousTelemetry": { "type": "boolean" }, "customTrackerScriptName": { "type": "string" }, "serverTimezone": { "type": "string" }, "authProvider": { "type": "array", "items": { "type": "string" } }, "customAuthProviderIcon": { "type": "string" }, "smtpAvailable": { "type": "boolean" }, "enableBilling": { "type": "boolean" }, "ai": { "type": "object", "properties": { "enable": { "type": "boolean" }, "contextWindow": { "type": "number" } }, "required": [ "enable", "contextWindow" ], "additionalProperties": false }, "enableFunctionWorker": { "type": "boolean" }, "observability": { "type": "object", "properties": { "tianji": { "type": "object", "properties": { "baseUrl": { "type": "string" }, "websiteId": { "type": "string" } }, "additionalProperties": false } }, "required": [ "tianji" ], "additionalProperties": false } }, "required": [ "allowRegister", "alphaMode", "disableAnonymousTelemetry", "authProvider", "smtpAvailable", "enableBilling", "ai", "enableFunctionWorker", "observability" ], "additionalProperties": false } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/members": { "get": { "operationId": "workspace-members", "summary": "Get members", "tags": [ "Workspace" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string" }, "workspaceId": { "type": "string" }, "role": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "user": { "type": "object", "properties": { "username": { "type": "string" }, "nickname": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "emailVerified": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "username", "nickname", "email", "emailVerified" ], "additionalProperties": false } }, "required": [ "userId", "workspaceId", "role", "createdAt", "updatedAt", "user" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/getServiceCount": { "get": { "operationId": "workspace-getServiceCount", "summary": "Get service count", "tags": [ "Workspace" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "website": { "type": "number" }, "application": { "type": "number" }, "monitor": { "type": "number" }, "server": { "type": "number" }, "telemetry": { "type": "number" }, "page": { "type": "number" }, "survey": { "type": "number" }, "feed": { "type": "number" }, "shortLink": { "type": "number" }, "aiGateway": { "type": "number" }, "functionWorker": { "type": "number" } }, "required": [ "website", "application", "monitor", "server", "telemetry", "page", "survey", "feed", "shortLink", "aiGateway", "functionWorker" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/website/{websiteId}/onlineCount": { "get": { "operationId": "website-onlineCount", "summary": "Get online count", "tags": [ "Website" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "websiteId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "number" } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/website/all": { "get": { "operationId": "website-all", "summary": "Get all websites", "tags": [ "Website" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "domain": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "shareId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "resetAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "monitorId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "deletedAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "workspaceId", "name", "domain", "shareId", "resetAt", "monitorId", "createdAt", "updatedAt", "deletedAt" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/website/allOverview": { "get": { "operationId": "website-allOverview", "summary": "Get overview", "tags": [ "Website" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "number" } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/website/{websiteId}/info": { "get": { "operationId": "website-info", "summary": "Get website info", "tags": [ "Website" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "websiteId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "domain": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "shareId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "resetAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "monitorId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "deletedAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "workspaceId", "name", "domain", "shareId", "resetAt", "monitorId", "createdAt", "updatedAt", "deletedAt" ], "additionalProperties": false }, { "type": "null" } ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/website/{websiteId}/stats": { "get": { "operationId": "website-stats", "summary": "Get stats", "tags": [ "Website" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "websiteId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "startAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "endAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "unit", "schema": { "type": "string" } }, { "in": "query", "name": "url", "schema": { "type": "string" } }, { "in": "query", "name": "country", "schema": { "type": "string" } }, { "in": "query", "name": "region", "schema": { "type": "string" } }, { "in": "query", "name": "city", "schema": { "type": "string" } }, { "in": "query", "name": "timezone", "schema": { "type": "string" } }, { "in": "query", "name": "referrer", "schema": { "type": "string" } }, { "in": "query", "name": "title", "schema": { "type": "string" } }, { "in": "query", "name": "os", "schema": { "type": "string" } }, { "in": "query", "name": "browser", "schema": { "type": "string" } }, { "in": "query", "name": "device", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "pageviews": { "type": "object", "properties": { "value": { "type": "number" }, "prev": { "type": "number" } }, "required": [ "value", "prev" ], "additionalProperties": false }, "uniques": { "type": "object", "properties": { "value": { "type": "number" }, "prev": { "type": "number" } }, "required": [ "value", "prev" ], "additionalProperties": false }, "totaltime": { "type": "object", "properties": { "value": { "type": "number" }, "prev": { "type": "number" } }, "required": [ "value", "prev" ], "additionalProperties": false }, "bounces": { "type": "object", "properties": { "value": { "type": "number" }, "prev": { "type": "number" } }, "required": [ "value", "prev" ], "additionalProperties": false } }, "required": [ "pageviews", "uniques", "totaltime", "bounces" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/website/{websiteId}/geoStats": { "get": { "operationId": "website-geoStats", "summary": "Get geo stats", "tags": [ "Website" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "websiteId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "startAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "endAt", "schema": { "type": "number" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "longitude": { "type": "number" }, "latitude": { "type": "number" }, "count": { "type": "number" } }, "required": [ "longitude", "latitude", "count" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/website/{websiteId}/pageviews": { "get": { "operationId": "website-pageviews", "summary": "Get pageviews", "tags": [ "Website" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "websiteId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "startAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "endAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "unit", "schema": { "type": "string" } }, { "in": "query", "name": "url", "schema": { "type": "string" } }, { "in": "query", "name": "country", "schema": { "type": "string" } }, { "in": "query", "name": "region", "schema": { "type": "string" } }, { "in": "query", "name": "city", "schema": { "type": "string" } }, { "in": "query", "name": "timezone", "schema": { "type": "string" } }, { "in": "query", "name": "referrer", "schema": { "type": "string" } }, { "in": "query", "name": "title", "schema": { "type": "string" } }, { "in": "query", "name": "os", "schema": { "type": "string" } }, { "in": "query", "name": "browser", "schema": { "type": "string" } }, { "in": "query", "name": "device", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "pageviews": {}, "sessions": {} }, "required": [ "pageviews", "sessions" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/website/{websiteId}/metrics": { "get": { "operationId": "website-metrics", "summary": "Get metrics", "tags": [ "Website" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "websiteId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "type", "schema": { "type": "string", "enum": [ "url", "language", "referrer", "title", "browser", "os", "device", "country", "event", "utm_source", "utm_medium", "utm_campaign", "utm_term", "utm_content" ] }, "required": true }, { "in": "query", "name": "startAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "endAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "url", "schema": { "type": "string" } }, { "in": "query", "name": "referrer", "schema": { "type": "string" } }, { "in": "query", "name": "title", "schema": { "type": "string" } }, { "in": "query", "name": "os", "schema": { "type": "string" } }, { "in": "query", "name": "browser", "schema": { "type": "string" } }, { "in": "query", "name": "device", "schema": { "type": "string" } }, { "in": "query", "name": "country", "schema": { "type": "string" } }, { "in": "query", "name": "region", "schema": { "type": "string" } }, { "in": "query", "name": "city", "schema": { "type": "string" } }, { "in": "query", "name": "language", "schema": { "type": "string" } }, { "in": "query", "name": "event", "schema": { "type": "string" } }, { "in": "query", "name": "utm_source", "schema": { "type": "string" } }, { "in": "query", "name": "utm_medium", "schema": { "type": "string" } }, { "in": "query", "name": "utm_campaign", "schema": { "type": "string" } }, { "in": "query", "name": "utm_term", "schema": { "type": "string" } }, { "in": "query", "name": "utm_content", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "x": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "y": { "type": "number" } }, "required": [ "x", "y" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/website/{websiteId}/getLighthouseReport": { "get": { "operationId": "website-getLighthouseReport", "summary": "Get Lighthouse report", "tags": [ "Website" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "websiteId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "limit", "schema": { "default": 10, "type": "number", "minimum": 1, "maximum": 100 } }, { "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string", "enum": [ "Pending", "Success", "Failed" ] }, "url": { "type": "string" }, "createdAt": { "type": "string" } }, "required": [ "id", "status", "url", "createdAt" ], "additionalProperties": false } }, "nextCursor": { "type": "string" } }, "required": [ "items" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/lighthouse/{lighthouseId}": { "get": { "operationId": "website-getLighthouseJSON", "summary": "Get Lighthouse JSON", "tags": [ "Website" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "lighthouseId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/website/public/{shareId}/info": { "get": { "operationId": "website-getPublicInfoByShareId", "summary": "Get public info", "tags": [ "Website" ], "parameters": [ { "in": "path", "name": "shareId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "domain": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "shareId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "id", "name", "createdAt", "updatedAt" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/website/public/{shareId}/stats": { "get": { "operationId": "website-getPublicStatsByShareId", "summary": "Get public stats", "tags": [ "Website" ], "parameters": [ { "in": "path", "name": "shareId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "range", "schema": { "default": "24h", "type": "string", "enum": [ "realtime", "24h", "7d", "30d", "90d" ] } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "pageviews": { "type": "object", "properties": { "value": { "type": "number" }, "prev": { "type": "number" } }, "required": [ "value", "prev" ], "additionalProperties": false }, "visitors": { "type": "object", "properties": { "value": { "type": "number" }, "prev": { "type": "number" } }, "required": [ "value", "prev" ], "additionalProperties": false }, "bounce_rate": { "type": "object", "properties": { "value": { "type": "number" }, "prev": { "type": "number" } }, "required": [ "value", "prev" ], "additionalProperties": false }, "average_visit_duration": { "type": "object", "properties": { "value": { "type": "number" }, "prev": { "type": "number" } }, "required": [ "value", "prev" ], "additionalProperties": false }, "pageviews_trend": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string" }, "value": { "type": "number" } }, "required": [ "date", "value" ], "additionalProperties": false } } }, "required": [ "pageviews", "visitors", "bounce_rate", "average_visit_duration", "pageviews_trend" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/website/public/{shareId}/metrics": { "get": { "operationId": "website-getPublicMetricsByShareId", "summary": "Get public metrics", "tags": [ "Website" ], "parameters": [ { "in": "path", "name": "shareId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "type", "schema": { "type": "string", "enum": [ "url", "language", "referrer", "title", "browser", "os", "device", "country", "event", "utm_source", "utm_medium", "utm_campaign", "utm_term", "utm_content" ] }, "required": true }, { "in": "query", "name": "range", "schema": { "default": "24h", "type": "string", "enum": [ "realtime", "24h", "7d", "30d", "90d" ] } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "x": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "y": { "type": "number" }, "ratio": { "type": "number" } }, "required": [ "x", "y", "ratio" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/application/all": { "get": { "operationId": "application-all", "summary": "Get all applications", "tags": [ "Application" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "deletedAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "workspaceId", "name", "createdAt", "updatedAt" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/application/{applicationId}/info": { "get": { "operationId": "application-info", "summary": "Get application info", "tags": [ "Application" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "applicationId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "deletedAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "applicationStoreInfos": { "type": "array", "items": { "type": "object", "properties": { "applicationId": { "type": "string" }, "storeType": { "type": "string" }, "storeId": { "type": "string" }, "appId": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "releaseNotes": { "type": "string" }, "url": { "type": "string" }, "downloads": { "anyOf": [ { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, { "type": "null" } ] }, "score": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "ratingCount": { "anyOf": [ { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, { "type": "null" } ] }, "reviews": { "anyOf": [ { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, { "type": "null" } ] }, "version": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "size": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "applicationId", "storeType", "storeId", "appId", "title", "description", "releaseNotes", "url", "createdAt", "updatedAt" ], "additionalProperties": false } } }, "required": [ "id", "workspaceId", "name", "createdAt", "updatedAt", "applicationStoreInfos" ], "additionalProperties": false }, { "type": "null" } ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/application/storeAppSearch": { "get": { "operationId": "application-storeAppSearch", "summary": "Search store apps", "tags": [ "Application" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "keyword", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "storeType", "schema": { "type": "string", "enum": [ "appstore", "googleplay" ] }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "appId": { "type": "string" }, "title": { "type": "string" }, "icon": { "type": "string" } }, "required": [ "appId", "title", "icon" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/application/{applicationId}/storeInfoHistory": { "get": { "operationId": "application-storeInfoHistory", "summary": "Get store info history", "tags": [ "Application" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "applicationId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "storeType", "schema": { "type": "string", "enum": [ "appstore", "googleplay" ] }, "required": true }, { "in": "query", "name": "storeId", "schema": { "type": "string" } }, { "in": "query", "name": "startAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "endAt", "schema": { "type": "number" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "downloads": { "anyOf": [ { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, { "type": "null" } ] }, "score": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "ratingCount": { "anyOf": [ { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, { "type": "null" } ] }, "reviews": { "anyOf": [ { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, { "type": "null" } ] }, "size": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "createdAt": { "type": "string" } }, "required": [ "createdAt" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/application/{applicationId}/eventStats": { "get": { "operationId": "application-eventStats", "summary": "Get event stats", "tags": [ "Application" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "applicationId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "startAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "endAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "timezone", "schema": { "type": "string" } }, { "in": "query", "name": "unit", "schema": { "type": "string", "enum": [ "minute", "hour", "day", "month", "year" ] } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "current": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string" }, "eventCount": { "type": "number" }, "sessionCount": { "type": "number" }, "totalTime": { "type": "number" }, "avgEventsPerSession": { "type": "number" }, "avgScreensPerSession": { "type": "number" } }, "required": [ "date", "eventCount", "sessionCount", "totalTime", "avgEventsPerSession", "avgScreensPerSession" ], "additionalProperties": false } }, "previous": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string" }, "eventCount": { "type": "number" }, "sessionCount": { "type": "number" }, "totalTime": { "type": "number" }, "avgEventsPerSession": { "type": "number" }, "avgScreensPerSession": { "type": "number" } }, "required": [ "date", "eventCount", "sessionCount", "totalTime", "avgEventsPerSession", "avgScreensPerSession" ], "additionalProperties": false } }, "currentTotalSessionCount": { "type": "number" }, "previousTotalSessionCount": { "type": "number" } }, "required": [ "current", "previous", "currentTotalSessionCount", "previousTotalSessionCount" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/monitor/all": { "get": { "operationId": "monitor-all", "summary": "Get all monitors", "tags": [ "Monitor" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "type": { "type": "string" }, "active": { "type": "boolean" }, "interval": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "maxRetries": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "payload": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "trendingMode": { "type": "boolean" }, "recentError": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "upMessageTemplate": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "downMessageTemplate": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "notifications": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" } }, "required": [ "id" ], "additionalProperties": false } } }, "required": [ "id", "workspaceId", "name", "type", "active", "interval", "maxRetries", "payload", "trendingMode", "createdAt", "updatedAt", "notifications" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/monitor/{monitorId}/get": { "get": { "operationId": "monitor-get", "summary": "Get monitor", "tags": [ "Monitor" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "monitorId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "type": { "type": "string" }, "active": { "type": "boolean" }, "interval": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "maxRetries": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "payload": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "trendingMode": { "type": "boolean" }, "recentError": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "upMessageTemplate": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "downMessageTemplate": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "notifications": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" } }, "required": [ "id" ], "additionalProperties": false } } }, "required": [ "id", "workspaceId", "name", "type", "active", "interval", "maxRetries", "payload", "trendingMode", "createdAt", "updatedAt", "notifications" ], "additionalProperties": false }, { "type": "null" } ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/monitor/{monitorId}/data": { "get": { "operationId": "monitor-data", "summary": "Get data", "tags": [ "Monitor" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "monitorId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "startAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "endAt", "schema": { "type": "number" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "number" }, "createdAt": { "type": "string" } }, "required": [ "value", "createdAt" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/monitor/{monitorId}/recentData": { "get": { "operationId": "monitor-recentData", "summary": "Get recent data", "tags": [ "Monitor" ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "monitorId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "take", "schema": { "type": "number" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "number" }, "createdAt": { "type": "string" } }, "required": [ "value", "createdAt" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/monitor/{monitorId}/publicSummary": { "get": { "operationId": "monitor-publicSummary", "summary": "Get public summary", "tags": [ "Monitor" ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "monitorId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "day": { "type": "string" }, "totalCount": { "type": "number" }, "upCount": { "type": "number" }, "upRate": { "type": "number" } }, "required": [ "day", "totalCount", "upCount", "upRate" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/monitor/{monitorId}/publicData": { "get": { "operationId": "monitor-publicData", "summary": "Get public data", "tags": [ "Monitor" ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "monitorId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "number" }, "createdAt": { "type": "string" } }, "required": [ "value", "createdAt" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/monitor/{monitorId}/dataMetrics": { "get": { "operationId": "monitor-dataMetrics", "summary": "Get data metrics", "tags": [ "Monitor" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "monitorId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "recent1DayAvg": { "type": "number" }, "recent1DayOnlineCount": { "type": "number" }, "recent1DayOfflineCount": { "type": "number" }, "recent30DayOnlineCount": { "type": "number" }, "recent30DayOfflineCount": { "type": "number" } }, "required": [ "recent1DayAvg", "recent1DayOnlineCount", "recent1DayOfflineCount", "recent30DayOnlineCount", "recent30DayOfflineCount" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/monitor/events": { "get": { "operationId": "monitor-events", "summary": "Get events", "tags": [ "Monitor" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "monitorId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" } }, { "in": "query", "name": "limit", "schema": { "default": 20, "type": "number" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "message": { "type": "string" }, "monitorId": { "type": "string" }, "type": { "type": "string" }, "createdAt": { "type": "string" } }, "required": [ "id", "message", "monitorId", "type", "createdAt" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/monitor/{monitorId}/status": { "get": { "operationId": "monitor-getStatus", "summary": "Get status", "tags": [ "Monitor" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "monitorId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "statusName", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "monitorId": { "type": "string" }, "statusName": { "type": "string" }, "payload": { "anyOf": [ { "type": "null" }, { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, { "type": "array", "items": {} }, { "type": "string" }, { "type": "boolean" }, { "type": "number" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "monitorId", "statusName", "payload", "createdAt", "updatedAt" ], "additionalProperties": false }, { "type": "null" } ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/page/all": { "get": { "operationId": "page-getAllPages", "summary": "Get all pages", "tags": [ "Page" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "type", "schema": { "default": "all", "type": "string", "enum": [ "status", "static", "all" ] } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "slug": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "body": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "monitorList": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "showCurrent": { "default": false, "type": "boolean" }, "showDetail": { "default": true, "type": "boolean" } }, "required": [ "id" ], "additionalProperties": false } }, "domain": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "type": { "type": "string", "const": "status" } }, "required": [ "id", "workspaceId", "slug", "title", "description", "body", "monitorList", "createdAt", "updatedAt", "type" ], "additionalProperties": false }, { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "type": { "type": "string", "const": "static" }, "slug": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "domain": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "payload": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "id", "workspaceId", "type", "slug", "title", "description", "payload", "createdAt", "updatedAt" ], "additionalProperties": false } ] } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/page/{slug}": { "get": { "operationId": "page-getPageInfo", "summary": "Get page info", "tags": [ "Page" ], "parameters": [ { "in": "path", "name": "slug", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "slug": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "body": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "monitorList": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "showCurrent": { "default": false, "type": "boolean" }, "showDetail": { "default": true, "type": "boolean" } }, "required": [ "id" ], "additionalProperties": false } }, "domain": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "type": { "type": "string", "const": "status" } }, "required": [ "id", "workspaceId", "slug", "title", "description", "body", "monitorList", "createdAt", "updatedAt", "type" ], "additionalProperties": false }, { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "type": { "type": "string", "const": "static" }, "slug": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "domain": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "payload": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "id", "workspaceId", "type", "slug", "title", "description", "payload", "createdAt", "updatedAt" ], "additionalProperties": false } ] }, { "type": "null" } ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/telemetry/all": { "get": { "operationId": "telemetry-all", "summary": "Get all telemetry", "tags": [ "Telemetry" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "deletedAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "workspaceId", "name", "createdAt", "updatedAt" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/telemetry/info": { "get": { "operationId": "telemetry-info", "summary": "Get telemetry info", "tags": [ "Telemetry" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "telemetryId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "deletedAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "workspaceId", "name", "createdAt", "updatedAt" ], "additionalProperties": false }, { "type": "null" } ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/telemetry/allEventCount": { "get": { "operationId": "telemetry-allEventCount", "summary": "Get all event count", "tags": [ "Telemetry" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "number" } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/telemetry/eventCount": { "get": { "operationId": "telemetry-eventCount", "summary": "Get event count", "tags": [ "Telemetry" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "telemetryId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "number" } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/telemetry/pageviews": { "get": { "operationId": "telemetry-pageviews", "summary": "Get pageviews", "tags": [ "Telemetry" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "telemetryId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "startAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "endAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "unit", "schema": { "type": "string" } }, { "in": "query", "name": "url", "schema": { "type": "string" } }, { "in": "query", "name": "country", "schema": { "type": "string" } }, { "in": "query", "name": "region", "schema": { "type": "string" } }, { "in": "query", "name": "city", "schema": { "type": "string" } }, { "in": "query", "name": "timezone", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "pageviews": {}, "sessions": {} }, "required": [ "pageviews", "sessions" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/telemetry/metrics": { "get": { "operationId": "telemetry-metrics", "summary": "Get metrics", "tags": [ "Telemetry" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "telemetryId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "type", "schema": { "type": "string", "enum": [ "source", "url", "event", "referrer", "country" ] }, "required": true }, { "in": "query", "name": "startAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "endAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "url", "schema": { "type": "string" } }, { "in": "query", "name": "country", "schema": { "type": "string" } }, { "in": "query", "name": "region", "schema": { "type": "string" } }, { "in": "query", "name": "city", "schema": { "type": "string" } }, { "in": "query", "name": "timezone", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "x": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "y": { "type": "number" } }, "required": [ "x", "y" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/telemetry/stats": { "get": { "operationId": "telemetry-stats", "summary": "Get stats", "tags": [ "Telemetry" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "telemetryId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "startAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "endAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "unit", "schema": { "type": "string" } }, { "in": "query", "name": "url", "schema": { "type": "string" } }, { "in": "query", "name": "country", "schema": { "type": "string" } }, { "in": "query", "name": "region", "schema": { "type": "string" } }, { "in": "query", "name": "city", "schema": { "type": "string" } }, { "in": "query", "name": "timezone", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "pageviews": { "type": "object", "properties": { "value": { "type": "number" }, "prev": { "type": "number" } }, "required": [ "value", "prev" ], "additionalProperties": false }, "uniques": { "type": "object", "properties": { "value": { "type": "number" }, "prev": { "type": "number" } }, "required": [ "value", "prev" ], "additionalProperties": false } }, "required": [ "pageviews", "uniques" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/survey/all": { "get": { "operationId": "survey-all", "summary": "Get all surveys", "description": "Get all surveys", "tags": [ "Survey" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "desc": { "type": "string" }, "payload": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string" }, "name": { "type": "string" }, "type": { "type": "string", "enum": [ "text", "select", "email", "imageUrl", "hidden" ] }, "options": { "type": "array", "items": { "type": "string" } } }, "required": [ "label", "name", "type" ], "additionalProperties": false } } }, "required": [ "items" ], "additionalProperties": false }, "feedChannelIds": { "type": "array", "items": { "type": "string" } }, "feedTemplate": { "type": "string" }, "webhookUrl": { "type": "string" }, "recentSuggestionCategory": { "type": "array", "items": { "type": "string" } }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "id", "workspaceId", "name", "desc", "payload", "feedChannelIds", "feedTemplate", "webhookUrl", "recentSuggestionCategory", "createdAt", "updatedAt" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/survey/{surveyId}/get": { "get": { "operationId": "survey-get", "summary": "Get survey", "description": "Get a specific survey by ID", "tags": [ "Survey" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string" }, "required": true }, { "in": "path", "name": "surveyId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "desc": { "type": "string" }, "payload": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string" }, "name": { "type": "string" }, "type": { "type": "string", "enum": [ "text", "select", "email", "imageUrl", "hidden" ] }, "options": { "type": "array", "items": { "type": "string" } } }, "required": [ "label", "name", "type" ], "additionalProperties": false } } }, "required": [ "items" ], "additionalProperties": false }, "feedChannelIds": { "type": "array", "items": { "type": "string" } }, "feedTemplate": { "type": "string" }, "webhookUrl": { "type": "string" }, "recentSuggestionCategory": { "type": "array", "items": { "type": "string" } }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "id", "workspaceId", "name", "desc", "payload", "feedChannelIds", "feedTemplate", "webhookUrl", "recentSuggestionCategory", "createdAt", "updatedAt" ], "additionalProperties": false }, { "type": "null" } ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/survey/{surveyId}/count": { "get": { "operationId": "survey-count", "summary": "Get result count", "description": "Get the total count of survey results", "tags": [ "Survey" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "surveyId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "number" } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/survey/allResultCount": { "get": { "operationId": "survey-allResultCount", "summary": "Get all result counts", "description": "Get result counts for all surveys in the workspace", "tags": [ "Survey" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "number" } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/survey/result/{resultId}": { "get": { "operationId": "survey-getResult", "summary": "Get result", "description": "Get a specific survey result by result ID", "tags": [ "Survey" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "resultId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "surveyId": { "type": "string" }, "createdAt": { "type": "string" }, "sessionId": { "type": "string" }, "payload": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "browser": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "os": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "language": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "ip": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "country": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "subdivision1": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "subdivision2": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "city": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "longitude": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "latitude": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "accuracyRadius": { "anyOf": [ { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, { "type": "null" } ] }, "aiCategory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "aiTranslation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "surveyId", "createdAt", "sessionId", "payload" ], "additionalProperties": false }, { "type": "null" } ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/survey/{surveyId}/result/list": { "get": { "operationId": "survey-resultList", "summary": "Get result list", "description": "Get paginated list of survey results with optional date range and filters", "tags": [ "Survey" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "surveyId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "limit", "schema": { "default": 50, "type": "number", "minimum": 1, "maximum": 1000 } }, { "in": "query", "name": "cursor", "schema": { "type": "string" } }, { "in": "query", "name": "startAt", "schema": { "type": "number" } }, { "in": "query", "name": "endAt", "schema": { "type": "number" } }, { "in": "query", "name": "filter", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "surveyId": { "type": "string" }, "createdAt": { "type": "string" }, "sessionId": { "type": "string" }, "payload": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "browser": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "os": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "language": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "ip": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "country": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "subdivision1": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "subdivision2": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "city": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "longitude": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "latitude": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "accuracyRadius": { "anyOf": [ { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, { "type": "null" } ] }, "aiCategory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "aiTranslation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "surveyId", "createdAt", "sessionId", "payload" ], "additionalProperties": false } }, "nextCursor": { "type": "string" } }, "required": [ "items" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/survey/{surveyId}/stats": { "get": { "operationId": "survey-stats", "summary": "Get stats", "description": "Get survey submission statistics grouped by date", "tags": [ "Survey" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "surveyId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "startAt", "schema": { "type": "number" } }, { "in": "query", "name": "endAt", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string" }, "count": { "type": "number" } }, "required": [ "date", "count" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/survey/{surveyId}/aiCategoryList": { "get": { "operationId": "survey-aiCategoryList", "summary": "Get AI categories", "description": "Get AI-categorized survey results with counts for each category", "tags": [ "Survey" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "surveyId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "count": { "type": "number" } }, "required": [ "name", "count" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/audit/fetchByCursor": { "get": { "operationId": "auditLog-fetchByCursor", "summary": "Fetch audit log", "description": "Fetch workspace audit log", "tags": [ "AuditLog" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "limit", "schema": { "default": 50, "type": "number", "minimum": 1, "maximum": 100 } }, { "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "content": { "type": "string" }, "relatedId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "relatedType": { "anyOf": [ { "type": "string", "enum": [ "Monitor", "Notification", "Task", "FunctionWorker" ] }, { "type": "null" } ] }, "createdAt": { "type": "string" } }, "required": [ "id", "workspaceId", "content", "createdAt" ], "additionalProperties": false } }, "nextCursor": { "type": "string" } }, "required": [ "items" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/billing/usage": { "get": { "operationId": "billing-usage", "summary": "Get usage", "description": "get workspace usage", "tags": [ "Billing" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "startAt", "schema": { "type": "number" }, "required": true }, { "in": "query", "name": "endAt", "schema": { "type": "number" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "websiteAcceptedCount": { "type": "number" }, "websiteEventCount": { "type": "number" }, "monitorExecutionCount": { "type": "number" }, "surveyCount": { "type": "number" }, "feedEventCount": { "type": "number" } }, "required": [ "websiteAcceptedCount", "websiteEventCount", "monitorExecutionCount", "surveyCount", "feedEventCount" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/billing/limit": { "get": { "operationId": "billing-limit", "summary": "Get limit", "description": "get workspace subscription limit", "tags": [ "Billing" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "maxWebsiteCount": { "type": "number" }, "maxWebsiteEventCount": { "type": "number" }, "maxMonitorExecutionCount": { "type": "number" }, "maxSurveyCount": { "type": "number" }, "maxFeedChannelCount": { "type": "number" }, "maxFeedEventCount": { "type": "number" } }, "required": [ "maxWebsiteCount", "maxWebsiteEventCount", "maxMonitorExecutionCount", "maxSurveyCount", "maxFeedChannelCount", "maxFeedEventCount" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/billing/currentTier": { "get": { "operationId": "billing-currentTier", "summary": "Get current tier", "description": "get workspace current tier", "tags": [ "Billing" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "string", "enum": [ "FREE", "PRO", "TEAM", "UNLIMITED" ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/billing/currentSubscription": { "get": { "operationId": "billing-currentSubscription", "summary": "Get subscription", "description": "get workspace current subscription", "tags": [ "Billing" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "subscriptionId": { "type": "string" }, "workspaceId": { "type": "string" }, "storeId": { "type": "string" }, "productId": { "type": "string" }, "variantId": { "type": "string" }, "status": { "type": "string" }, "cardBrand": { "type": "string" }, "cardLastFour": { "type": "string" }, "renewsAt": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "tier": { "type": "string" } }, "required": [ "subscriptionId", "workspaceId", "storeId", "productId", "variantId", "status", "cardBrand", "cardLastFour", "renewsAt", "createdAt", "updatedAt", "tier" ], "additionalProperties": false }, { "type": "null" } ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/billing/credit": { "get": { "operationId": "billing-credit", "summary": "Get credit", "description": "get workspace credit balance", "tags": [ "Billing" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "credit": { "type": "number" } }, "required": [ "credit" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/billing/credit/bills": { "get": { "operationId": "billing-creditBills", "summary": "Get credit bills", "description": "list workspace credit bills", "tags": [ "Billing" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "page", "schema": { "default": 1, "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, { "in": "query", "name": "pageSize", "schema": { "default": 10, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "list": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "type": { "type": "string" }, "amount": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "createdAt": { "type": "string" } }, "required": [ "id", "workspaceId", "type", "amount", "createdAt" ], "additionalProperties": false } }, "total": { "type": "number" }, "page": { "type": "number" }, "pageSize": { "type": "number" } }, "required": [ "list", "total", "page", "pageSize" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/billing/credit/packs": { "get": { "operationId": "billing-creditPacks", "summary": "Get credit packs", "description": "list available credit packs", "tags": [ "Billing" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "query", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "variantId": { "type": "string" }, "credit": { "type": "number" }, "price": { "type": "number" }, "currency": { "type": "string" } }, "required": [ "id", "name", "variantId", "credit", "price", "currency" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/feed/channels": { "get": { "operationId": "feed-channels", "summary": "Get all channels", "tags": [ "Feed" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "webhookSignature": { "type": "string" }, "notifyFrequency": { "type": "string", "enum": [ "none", "event", "day", "week", "month" ] }, "publicShareId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "_count": { "type": "object", "properties": { "events": { "type": "number" } }, "required": [ "events" ], "additionalProperties": false } }, "required": [ "id", "workspaceId", "name", "webhookSignature", "notifyFrequency", "createdAt", "updatedAt", "_count" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/feed/{channelId}/info": { "get": { "operationId": "feed-channelInfo", "summary": "Get channel info", "tags": [ "Feed" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "channelId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "notificationIds": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "webhookSignature": { "type": "string" }, "notifyFrequency": { "type": "string", "enum": [ "none", "event", "day", "week", "month" ] }, "publicShareId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "notificationIds", "id", "workspaceId", "name", "webhookSignature", "notifyFrequency", "createdAt", "updatedAt" ], "additionalProperties": false }, { "type": "null" } ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/feed/{channelId}/fetchEventsByCursor": { "get": { "operationId": "feed-fetchEventsByCursor", "summary": "Fetch events", "description": "Fetch workspace feed channel events", "tags": [ "Feed" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "channelId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "limit", "schema": { "default": 50, "type": "number", "minimum": 1, "maximum": 100 } }, { "in": "query", "name": "cursor", "schema": { "type": "string" } }, { "in": "query", "name": "archived", "schema": { "default": false, "type": "boolean" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "channelId": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "eventName": { "type": "string" }, "eventContent": { "type": "string" }, "tags": { "type": "array", "items": { "type": "string" } }, "source": { "type": "string" }, "senderId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "senderName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "important": { "type": "boolean" }, "archived": { "type": "boolean" }, "payload": { "anyOf": [ { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, { "type": "null" } ] } }, "required": [ "id", "channelId", "createdAt", "updatedAt", "eventName", "eventContent", "tags", "source", "important", "archived" ], "additionalProperties": false } }, "nextCursor": { "type": "string" } }, "required": [ "items" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/feed/public/{shareId}/events": { "get": { "operationId": "feed-fetchPublicEventsByCursor", "description": "Fetch public feed channel events by shareId", "tags": [ "Feed" ], "parameters": [ { "in": "path", "name": "shareId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "limit", "schema": { "default": 50, "type": "number", "minimum": 1, "maximum": 100 } }, { "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "channelId": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "eventName": { "type": "string" }, "eventContent": { "type": "string" }, "tags": { "type": "array", "items": { "type": "string" } }, "source": { "type": "string" }, "senderId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "senderName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "important": { "type": "boolean" }, "archived": { "type": "boolean" }, "payload": { "anyOf": [ { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, { "type": "null" } ] } }, "required": [ "id", "channelId", "createdAt", "updatedAt", "eventName", "eventContent", "tags", "source", "important", "archived" ], "additionalProperties": false } }, "nextCursor": { "type": "string" } }, "required": [ "items" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/feed/public/{shareId}/info": { "get": { "operationId": "feed-getChannelByShareId", "description": "Fetch public feed channel info by shareId", "tags": [ "Feed" ], "parameters": [ { "in": "path", "name": "shareId", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "publicShareId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "name" ], "additionalProperties": false } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/feed/state/all": { "get": { "operationId": "feed-state-all", "summary": "Get all states", "tags": [ "Feed" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "query", "name": "channelId", "schema": { "type": "string" }, "required": true }, { "in": "query", "name": "limit", "schema": { "default": 5, "type": "number" } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "channelId": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "eventId": { "type": "string" }, "eventName": { "type": "string" }, "eventContent": { "type": "string" }, "tags": { "type": "array", "items": { "type": "string" } }, "source": { "type": "string" }, "senderId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "senderName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "important": { "type": "boolean" }, "status": { "type": "string", "enum": [ "Ongoing", "Resolved" ] }, "resolvedAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "payload": { "anyOf": [ { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, { "type": "null" } ] } }, "required": [ "id", "channelId", "createdAt", "updatedAt", "eventId", "eventName", "eventContent", "tags", "source", "important", "status" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/worker/all": { "get": { "operationId": "worker-all", "summary": "Get all workers in workspace", "tags": [ "Worker" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "code": { "type": "string" }, "revision": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "active": { "type": "boolean" }, "enableCron": { "type": "boolean" }, "cronExpression": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "visibility": { "type": "string", "enum": [ "Public", "Private" ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "id", "workspaceId", "name", "code", "revision", "active", "enableCron", "visibility", "createdAt", "updatedAt" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/worker/{workerId}/info": { "get": { "operationId": "worker-get", "summary": "Get worker by ID", "tags": [ "Worker" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "workerId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "workspaceId": { "type": "string" }, "name": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "code": { "type": "string" }, "revision": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "active": { "type": "boolean" }, "enableCron": { "type": "boolean" }, "cronExpression": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "visibility": { "type": "string", "enum": [ "Public", "Private" ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "id", "workspaceId", "name", "code", "revision", "active", "enableCron", "visibility", "createdAt", "updatedAt" ], "additionalProperties": false }, { "type": "null" } ] } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } }, "/workspace/{workspaceId}/worker/{workerId}/revisions": { "get": { "operationId": "worker-getRevisions", "summary": "Get worker revisions", "tags": [ "Worker" ], "security": [ { "Authorization": [] } ], "parameters": [ { "in": "path", "name": "workspaceId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true }, { "in": "path", "name": "workerId", "schema": { "type": "string", "format": "cuid2", "pattern": "^[0-9a-z]+$" }, "required": true } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "workerId": { "type": "string" }, "revision": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "code": { "type": "string" }, "createdAt": { "type": "string" } }, "required": [ "id", "workerId", "revision", "code", "createdAt" ], "additionalProperties": false } } } } }, "400": { "description": "Invalid input data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.BAD_REQUEST" } } } }, "401": { "description": "Authorization not provided", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.UNAUTHORIZED" } } } }, "403": { "description": "Insufficient access", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.FORBIDDEN" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.NOT_FOUND" } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" } } } } } } } }, "components": { "schemas": { "error.BAD_REQUEST": { "title": "Invalid input data error (400)", "description": "The error information", "example": { "code": "BAD_REQUEST", "message": "Invalid input data", "issues": [] }, "type": "object", "properties": { "message": { "description": "The error message", "example": "Invalid input data", "type": "string" }, "code": { "description": "The error code", "example": "BAD_REQUEST", "type": "string" }, "issues": { "description": "An array of issues that were responsible for the error", "example": [], "type": "array", "items": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ], "additionalProperties": false } } }, "required": [ "message", "code" ], "additionalProperties": false }, "error.UNAUTHORIZED": { "title": "Authorization not provided error (401)", "description": "The error information", "example": { "code": "UNAUTHORIZED", "message": "Authorization not provided", "issues": [] }, "type": "object", "properties": { "message": { "description": "The error message", "example": "Authorization not provided", "type": "string" }, "code": { "description": "The error code", "example": "UNAUTHORIZED", "type": "string" }, "issues": { "description": "An array of issues that were responsible for the error", "example": [], "type": "array", "items": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ], "additionalProperties": false } } }, "required": [ "message", "code" ], "additionalProperties": false }, "error.FORBIDDEN": { "title": "Insufficient access error (403)", "description": "The error information", "example": { "code": "FORBIDDEN", "message": "Insufficient access", "issues": [] }, "type": "object", "properties": { "message": { "description": "The error message", "example": "Insufficient access", "type": "string" }, "code": { "description": "The error code", "example": "FORBIDDEN", "type": "string" }, "issues": { "description": "An array of issues that were responsible for the error", "example": [], "type": "array", "items": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ], "additionalProperties": false } } }, "required": [ "message", "code" ], "additionalProperties": false }, "error.NOT_FOUND": { "title": "Not found error (404)", "description": "The error information", "example": { "code": "NOT_FOUND", "message": "Not found", "issues": [] }, "type": "object", "properties": { "message": { "description": "The error message", "example": "Not found", "type": "string" }, "code": { "description": "The error code", "example": "NOT_FOUND", "type": "string" }, "issues": { "description": "An array of issues that were responsible for the error", "example": [], "type": "array", "items": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ], "additionalProperties": false } } }, "required": [ "message", "code" ], "additionalProperties": false }, "error.INTERNAL_SERVER_ERROR": { "title": "Internal server error error (500)", "description": "The error information", "example": { "code": "INTERNAL_SERVER_ERROR", "message": "Internal server error", "issues": [] }, "type": "object", "properties": { "message": { "description": "The error message", "example": "Internal server error", "type": "string" }, "code": { "description": "The error code", "example": "INTERNAL_SERVER_ERROR", "type": "string" }, "issues": { "description": "An array of issues that were responsible for the error", "example": [], "type": "array", "items": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ], "additionalProperties": false } } }, "required": [ "message", "code" ], "additionalProperties": false } }, "securitySchemes": { "Authorization": { "type": "http", "scheme": "bearer" } } } }