{ "openapi": "3.1.0", "info": { "title": "Coline App Platform API", "version": "1.0.0-beta", "summary": "Workspace-native app registry, install, and runtime APIs for Coline.", "description": "Canonical OpenAPI source for the current stable app-platform slice. This document covers the public store catalog plus the `/api/v1` workspace install/runtime surface." }, "servers": [ { "url": "https://coline.app", "description": "Production" }, { "url": "http://localhost:3000", "description": "Local development" } ], "tags": [ { "name": "Store", "description": "Public store catalog and approved app releases." }, { "name": "Publisher", "description": "Authenticated app registration and version creation APIs." }, { "name": "Workspace installs", "description": "Workspace app install and permission APIs." }, { "name": "Runtime", "description": "Installed app file, index, notification, and ambient APIs." } ], "paths": { "/api/v1/apps": { "get": { "tags": [ "Store" ], "summary": "List store apps", "operationId": "listStoreApps", "responses": { "200": { "description": "Store apps", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreAppsResponse" } } } } } }, "post": { "tags": [ "Publisher" ], "summary": "Register a new app and initial release", "operationId": "registerApp", "security": [ { "bearerAuth": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisterAppInput" } } } }, "responses": { "201": { "description": "Registered app", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppVersionMutationResponse" } } } } } } }, "/api/v1/apps/{appKey}": { "get": { "tags": [ "Store" ], "summary": "Get a store app", "operationId": "getStoreApp", "parameters": [ { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Store app detail", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreAppResponse" } } } }, "404": { "description": "App not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorEnvelope" } } } } } } }, "/api/v1/apps/{appKey}/versions": { "get": { "tags": [ "Store" ], "summary": "List approved versions for a store app", "operationId": "listStoreAppVersions", "parameters": [ { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Approved store app versions", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreAppVersionsResponse" } } } } } }, "post": { "tags": [ "Publisher" ], "summary": "Create a new app version", "operationId": "createAppVersion", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisterAppInput" } } } }, "responses": { "201": { "description": "Created app version", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppVersionMutationResponse" } } } } } } }, "/api/v1/apps/{appKey}/versions/{versionId}/submit": { "post": { "tags": [ "Publisher" ], "summary": "Submit an app version for review", "operationId": "submitAppVersionForReview", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "versionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "storeListed": { "type": "boolean" } } } } } }, "responses": { "200": { "description": "Submitted app version", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitAppVersionForReviewResponse" } } } } } } }, "/api/v1/workspaces/{workspaceSlug}/apps": { "get": { "tags": [ "Workspace installs" ], "summary": "List installed apps and workspace-visible catalog", "operationId": "listWorkspaceApps", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Workspace app data", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceAppsResponse" } } } } } }, "post": { "tags": [ "Workspace installs" ], "summary": "Install an app into a workspace", "operationId": "installWorkspaceApp", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstallWorkspaceAppInput" } } } }, "responses": { "201": { "description": "Installed app", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstallWorkspaceAppResponse" } } } } } } }, "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}": { "get": { "tags": [ "Workspace installs" ], "summary": "Get an installed workspace app", "operationId": "getWorkspaceInstalledApp", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Installed app", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceInstalledAppResponse" } } } } } }, "delete": { "tags": [ "Workspace installs" ], "summary": "Uninstall a workspace app", "operationId": "uninstallWorkspaceApp", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "App uninstalled", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OkResponse" } } } } } } }, "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/permissions": { "get": { "tags": [ "Workspace installs" ], "summary": "Get granted workspace app permissions", "operationId": "getWorkspaceAppPermissions", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Workspace app permissions", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceAppPermissionsResponse" } } } } } }, "put": { "tags": [ "Workspace installs" ], "summary": "Update granted workspace app permissions", "operationId": "updateWorkspaceAppPermissions", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "grantedPermissions" ], "properties": { "grantedPermissions": { "type": "array", "items": { "type": "string" } } } } } } }, "responses": { "200": { "description": "Updated permissions", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceAppPermissionsResponse" } } } } } } }, "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/secrets": { "get": { "tags": [ "Workspace installs" ], "summary": "List app secrets", "operationId": "listWorkspaceAppSecrets", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "App secrets", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceAppSecretsResponse" } } } } } }, "post": { "tags": [ "Workspace installs" ], "summary": "Create or rotate app secret", "operationId": "createWorkspaceAppSecret", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "key", "value" ], "properties": { "key": { "type": "string" }, "value": { "type": "string" } } } } } }, "responses": { "201": { "description": "App secret stored", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWorkspaceAppSecretResponse" } } } } } } }, "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/secrets/{secretId}": { "delete": { "tags": [ "Workspace installs" ], "summary": "Delete app secret", "operationId": "deleteWorkspaceAppSecret", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "secretId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "App secret deleted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OkResponse" } } } } } } }, "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/oauth-connections": { "get": { "tags": [ "Workspace installs" ], "summary": "List app OAuth connections", "operationId": "listWorkspaceAppOauthConnections", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "App OAuth connections", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceAppOauthConnectionsResponse" } } } } } }, "post": { "tags": [ "Workspace installs" ], "summary": "Create or update app OAuth connection", "operationId": "createWorkspaceAppOauthConnection", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "providerKey", "accessToken", "scopes" ], "properties": { "providerKey": { "type": "string" }, "externalAccountId": { "type": "string" }, "accessToken": { "type": "string" }, "refreshToken": { "type": "string" }, "scopes": { "type": "array", "items": { "type": "string" } }, "tokenExpiresAt": { "type": "string", "format": "date-time" }, "metadata": { "type": "object", "additionalProperties": true } } } } } }, "responses": { "201": { "description": "App OAuth connection stored", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWorkspaceAppOauthConnectionResponse" } } } } } } }, "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/oauth-connections/{connectionId}": { "delete": { "tags": [ "Workspace installs" ], "summary": "Delete app OAuth connection", "operationId": "deleteWorkspaceAppOauthConnection", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "connectionId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "App OAuth connection deleted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OkResponse" } } } } } } }, "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/deliveries": { "get": { "tags": [ "Workspace installs" ], "summary": "List app deliveries", "operationId": "listWorkspaceAppDeliveries", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "App deliveries", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkspaceAppDeliveriesResponse" } } } } } }, "post": { "tags": [ "Workspace installs" ], "summary": "Send a signed test delivery", "operationId": "sendWorkspaceAppTestDelivery", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "eventType", "payload" ], "properties": { "eventType": { "type": "string" }, "targetUrl": { "type": "string" }, "payload": { "type": "object", "additionalProperties": true } } } } } }, "responses": { "201": { "description": "Test delivery recorded", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendWorkspaceAppTestDeliveryResponse" } } } } } } }, "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/deliveries/{deliveryId}/replay": { "post": { "tags": [ "Workspace installs" ], "summary": "Replay a stored app delivery", "operationId": "replayWorkspaceAppDelivery", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "deliveryId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Delivery replayed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendWorkspaceAppTestDeliveryResponse" } } } } } } }, "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/files/{fileId}": { "get": { "tags": [ "Runtime" ], "summary": "Read an app-backed file document", "operationId": "getAppFileDocument", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "fileId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "App-backed file document", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppFileDocumentResponse" } } } } } }, "patch": { "tags": [ "Runtime" ], "summary": "Update an app-backed file document", "operationId": "updateAppFileDocument", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "fileId", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "document" ], "properties": { "document": { "type": "object", "additionalProperties": true } } } } } }, "responses": { "200": { "description": "Updated app-backed file document", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppFileDocumentUpdateResponse" } } } } } } }, "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/notifications": { "post": { "tags": [ "Runtime" ], "summary": "Create an app notification", "operationId": "createAppNotification", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAppNotificationInput" } } } }, "responses": { "201": { "description": "Notification created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OkResponse" } } } } } } }, "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/index-documents": { "post": { "tags": [ "Runtime" ], "summary": "Upsert app index documents", "operationId": "upsertAppIndexDocuments", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpsertAppIndexDocumentsInput" } } } }, "responses": { "201": { "description": "Index documents upserted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpsertAppIndexDocumentsResponse" } } } } } }, "delete": { "tags": [ "Runtime" ], "summary": "Delete app index documents", "operationId": "deleteAppIndexDocuments", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteAppIndexDocumentsInput" } } } }, "responses": { "200": { "description": "Index documents deleted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteAppIndexDocumentsResponse" } } } } } } }, "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/ambient/events": { "post": { "tags": [ "Runtime" ], "summary": "Emit app ambient events", "operationId": "emitAppAmbientEvents", "security": [ { "bearerAuth": [] } ], "parameters": [ { "name": "workspaceSlug", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appKey", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmitAppAmbientEventsInput" } } } }, "responses": { "201": { "description": "Ambient events accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmitAppAmbientEventsResponse" } } } } } } } }, "components": { "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "API key or session-backed bearer token" } }, "schemas": { "ErrorEnvelope": { "type": "object", "required": [ "error" ], "properties": { "error": { "type": "object", "required": [ "code", "message" ], "properties": { "code": { "type": "string" }, "message": { "type": "string" } } } } }, "OkResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "ok" ], "properties": { "ok": { "type": "boolean", "const": true } } } } }, "AppCatalogItem": { "type": "object", "required": [ "appId", "appKey", "name", "description", "iconUrl", "status", "latestPublishedVersion", "latestPublishedVersionId", "isInstalled" ], "properties": { "appId": { "type": "string" }, "appKey": { "type": "string" }, "name": { "type": "string" }, "description": { "type": [ "string", "null" ] }, "iconUrl": { "type": [ "string", "null" ] }, "status": { "type": "string" }, "latestPublishedVersion": { "type": [ "string", "null" ] }, "latestPublishedVersionId": { "type": [ "string", "null" ] }, "isInstalled": { "type": "boolean" } } }, "RegisteredAppDetail": { "type": "object", "required": [ "appId", "appKey", "name", "description", "iconUrl", "status", "ownerUserId", "storeListed", "latestPublishedVersion", "latestPublishedVersionId" ], "properties": { "appId": { "type": "string" }, "appKey": { "type": "string" }, "name": { "type": "string" }, "description": { "type": [ "string", "null" ] }, "iconUrl": { "type": [ "string", "null" ] }, "status": { "type": "string" }, "ownerUserId": { "type": [ "string", "null" ] }, "storeListed": { "type": "boolean" }, "latestPublishedVersion": { "type": [ "string", "null" ] }, "latestPublishedVersionId": { "type": [ "string", "null" ] } } }, "RegisteredAppVersionSummary": { "type": "object", "required": [ "versionId", "version", "status", "reviewStatus", "apiBaseUrl", "permissions", "notificationChannels", "kairo", "fileTypes", "submittedAt", "reviewedAt", "reviewNotes", "publishedAt", "createdAt", "updatedAt" ], "properties": { "versionId": { "type": "string" }, "version": { "type": "string" }, "status": { "type": "string" }, "reviewStatus": { "type": "string" }, "apiBaseUrl": { "type": "string" }, "permissions": { "type": "array", "items": { "type": "string" } }, "notificationChannels": { "type": "array", "items": { "type": "object", "required": [ "key", "name", "defaultDeliveries", "defaultPriority" ], "properties": { "key": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "defaultDeliveries": { "type": "array", "items": { "type": "string" } }, "defaultPriority": { "type": "string" } } } }, "kairo": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "null" } ] }, "fileTypes": { "type": "array", "items": { "type": "object", "required": [ "typeKey", "name", "description" ], "properties": { "typeKey": { "type": "string" }, "name": { "type": "string" }, "description": { "type": [ "string", "null" ] } } } }, "submittedAt": { "type": [ "string", "null" ], "format": "date-time" }, "reviewedAt": { "type": [ "string", "null" ], "format": "date-time" }, "reviewNotes": { "type": [ "string", "null" ] }, "publishedAt": { "type": [ "string", "null" ], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "InstalledAppSummary": { "type": "object", "required": [ "installId", "appId", "appKey", "name", "description", "iconUrl", "status", "installScope", "scopeSubjectId", "version" ], "properties": { "installId": { "type": "string" }, "appId": { "type": "string" }, "appKey": { "type": "string" }, "name": { "type": "string" }, "description": { "type": [ "string", "null" ] }, "iconUrl": { "type": [ "string", "null" ] }, "status": { "type": "string" }, "installScope": { "type": "string" }, "scopeSubjectId": { "type": "string" }, "version": { "type": [ "string", "null" ] } } }, "StoreAppsResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "apps" ], "properties": { "apps": { "type": "array", "items": { "$ref": "#/components/schemas/RegisteredAppDetail" } } } } } }, "StoreAppResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "app" ], "properties": { "app": { "$ref": "#/components/schemas/RegisteredAppDetail" } } } } }, "StoreAppVersionsResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "versions" ], "properties": { "versions": { "type": "array", "items": { "$ref": "#/components/schemas/RegisteredAppVersionSummary" } } } } } }, "WorkspaceAppsResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "installedApps", "catalog", "permissions" ], "properties": { "installedApps": { "type": "array", "items": { "$ref": "#/components/schemas/InstalledAppSummary" } }, "catalog": { "type": "array", "items": { "$ref": "#/components/schemas/AppCatalogItem" } }, "permissions": { "type": "object", "required": [ "canManageApps" ], "properties": { "canManageApps": { "type": "boolean" } } } } } } }, "InstallWorkspaceAppInput": { "type": "object", "required": [ "appId" ], "properties": { "appId": { "type": "string" }, "pinnedVersionId": { "type": "string" }, "grantedPermissions": { "type": "array", "items": { "type": "string" } } } }, "InstallWorkspaceAppResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "installId", "appId", "appKey", "version", "grantedPermissions" ], "properties": { "installId": { "type": "string" }, "appId": { "type": "string" }, "appKey": { "type": "string" }, "version": { "type": "string" }, "grantedPermissions": { "type": "array", "items": { "type": "string" } } } } } }, "WorkspaceInstalledAppResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "install", "permissions" ], "properties": { "install": { "$ref": "#/components/schemas/InstalledAppSummary" }, "permissions": { "type": "object", "required": [ "canManageApps" ], "properties": { "canManageApps": { "type": "boolean" } } } } } } }, "WorkspaceAppPermissionsResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "install", "availablePermissions", "grantedPermissions", "permissions" ], "properties": { "install": { "$ref": "#/components/schemas/InstalledAppSummary" }, "availablePermissions": { "type": "array", "items": { "type": "string" } }, "grantedPermissions": { "type": "array", "items": { "type": "string" } }, "permissions": { "type": "object", "required": [ "canManageApps" ], "properties": { "canManageApps": { "type": "boolean" } } } } } } }, "RegisterAppInput": { "type": "object", "required": [ "version", "manifest", "fileTypes" ], "properties": { "version": { "type": "string" }, "manifest": { "type": "object", "required": [ "key", "name", "permissions", "notificationChannels", "hosting" ], "properties": { "key": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "iconUrl": { "type": "string" }, "permissions": { "type": "array", "items": { "type": "string" } }, "notificationChannels": { "type": "array", "items": { "type": "object", "required": [ "key", "name", "defaultDeliveries", "defaultPriority" ], "properties": { "key": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "defaultDeliveries": { "type": "array", "items": { "type": "string" } }, "defaultPriority": { "type": "string" } } } }, "kairo": { "type": "object", "additionalProperties": true }, "hosting": { "type": "object", "required": [ "mode", "baseUrl" ], "properties": { "mode": { "type": "string", "const": "external" }, "baseUrl": { "type": "string" } } } } }, "fileTypes": { "type": "array", "items": { "type": "object", "required": [ "typeKey", "name", "storage", "indexable", "homeRenderMode" ], "properties": { "typeKey": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "storage": { "type": "string", "const": "coline_document" }, "indexable": { "type": "boolean" }, "homeRenderMode": { "type": "string" } } } } } }, "AppVersionMutationResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "appId", "appKey", "versionId", "version" ], "properties": { "appId": { "type": "string" }, "appKey": { "type": "string" }, "versionId": { "type": "string" }, "version": { "type": "string" } } } } }, "SubmitAppVersionForReviewResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "appId", "appKey", "versionId", "version", "reviewStatus", "storeListed" ], "properties": { "appId": { "type": "string" }, "appKey": { "type": "string" }, "versionId": { "type": "string" }, "version": { "type": "string" }, "reviewStatus": { "type": "string", "const": "submitted" }, "storeListed": { "type": "boolean" } } } } }, "WorkspaceAppSecretsResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "install", "secrets", "permissions" ], "properties": { "install": { "$ref": "#/components/schemas/InstalledAppSummary" }, "secrets": { "type": "array", "items": { "type": "object", "required": [ "id", "key", "createdAt", "updatedAt" ], "properties": { "id": { "type": "string" }, "key": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } } }, "permissions": { "type": "object", "required": [ "canManageApps" ], "properties": { "canManageApps": { "type": "boolean" } } } } } } }, "CreateWorkspaceAppSecretResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "secret", "value" ], "properties": { "secret": { "type": "object", "required": [ "id", "key", "createdAt", "updatedAt" ], "properties": { "id": { "type": "string" }, "key": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "value": { "type": "string" } } } } }, "WorkspaceAppOauthConnectionsResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "install", "connections", "permissions" ], "properties": { "install": { "$ref": "#/components/schemas/InstalledAppSummary" }, "connections": { "type": "array", "items": { "type": "object", "required": [ "id", "providerKey", "externalAccountId", "scopes", "tokenExpiresAt", "createdAt", "updatedAt" ], "properties": { "id": { "type": "string" }, "providerKey": { "type": "string" }, "externalAccountId": { "type": [ "string", "null" ] }, "scopes": { "type": "array", "items": { "type": "string" } }, "tokenExpiresAt": { "type": [ "string", "null" ], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } } }, "permissions": { "type": "object", "required": [ "canManageApps" ], "properties": { "canManageApps": { "type": "boolean" } } } } } } }, "CreateWorkspaceAppOauthConnectionResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "connection" ], "properties": { "connection": { "type": "object", "required": [ "id", "providerKey", "externalAccountId", "scopes", "tokenExpiresAt", "createdAt", "updatedAt" ], "properties": { "id": { "type": "string" }, "providerKey": { "type": "string" }, "externalAccountId": { "type": [ "string", "null" ] }, "scopes": { "type": "array", "items": { "type": "string" } }, "tokenExpiresAt": { "type": [ "string", "null" ], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } } } } } }, "WorkspaceAppDeliveriesResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "install", "deliveries", "permissions" ], "properties": { "install": { "$ref": "#/components/schemas/InstalledAppSummary" }, "deliveries": { "type": "array", "items": { "type": "object", "required": [ "id", "eventType", "targetUrl", "status", "attemptCount", "lastStatusCode", "createdAt", "updatedAt" ], "properties": { "id": { "type": "string" }, "eventType": { "type": "string" }, "targetUrl": { "type": "string" }, "status": { "type": "string" }, "attemptCount": { "type": "integer" }, "lastStatusCode": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } } }, "permissions": { "type": "object", "required": [ "canManageApps" ], "properties": { "canManageApps": { "type": "boolean" } } } } } } }, "SendWorkspaceAppTestDeliveryResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "delivery" ], "properties": { "delivery": { "type": "object", "required": [ "id", "eventType", "targetUrl", "status", "attemptCount", "lastStatusCode", "createdAt", "updatedAt" ], "properties": { "id": { "type": "string" }, "eventType": { "type": "string" }, "targetUrl": { "type": "string" }, "status": { "type": "string" }, "attemptCount": { "type": "integer" }, "lastStatusCode": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } } } } } }, "AppFileDocumentResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "file", "document", "version", "capabilities" ], "properties": { "file": { "type": "object", "required": [ "id", "name", "fileType", "appKey", "appName", "typeLabel", "openHref", "updatedAt" ], "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "fileType": { "type": "string" }, "appKey": { "type": "string" }, "appName": { "type": "string" }, "typeLabel": { "type": "string" }, "openHref": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "document": { "type": "object", "additionalProperties": true }, "version": { "type": "integer" }, "capabilities": { "type": "object", "required": [ "canRead", "canWrite", "canManage" ], "properties": { "canRead": { "type": "boolean" }, "canWrite": { "type": "boolean" }, "canManage": { "type": "boolean" } } } } } } }, "AppFileDocumentUpdateResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "document", "version", "updatedAt" ], "properties": { "document": { "type": "object", "additionalProperties": true }, "version": { "type": "integer" }, "updatedAt": { "type": "string", "format": "date-time" } } } } }, "CreateAppNotificationInput": { "type": "object", "required": [ "channelKey", "typeKey", "recipients", "title" ], "properties": { "channelKey": { "type": "string" }, "typeKey": { "type": "string" }, "recipients": { "type": "array", "items": { "type": "object", "required": [ "userId" ], "properties": { "userId": { "type": "string" } } } }, "title": { "type": "string" }, "body": { "type": "string" }, "targetUrl": { "type": "string" }, "icon": { "type": "string" }, "priority": { "type": "string" }, "dedupeKey": { "type": "string" }, "metadata": { "type": "object", "additionalProperties": true } } }, "UpsertAppIndexDocumentsInput": { "type": "object", "required": [ "documents" ], "properties": { "documents": { "type": "array", "items": { "type": "object", "required": [ "documentKey", "documentType", "title" ], "properties": { "documentKey": { "type": "string" }, "documentType": { "type": "string" }, "fileId": { "type": "string" }, "title": { "type": "string" }, "body": { "type": "string" }, "url": { "type": "string" }, "metadata": { "type": "object", "additionalProperties": true }, "visibilityMode": { "type": "string" }, "visibility": { "type": "array", "items": { "type": "object", "required": [ "subjectType", "subjectId" ], "properties": { "subjectType": { "type": "string" }, "subjectId": { "type": "string" } } } } } } } } }, "UpsertAppIndexDocumentsResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "documents" ], "properties": { "documents": { "type": "array", "items": { "type": "object", "required": [ "id", "documentKey", "visibilityMode" ], "properties": { "id": { "type": "string" }, "documentKey": { "type": "string" }, "visibilityMode": { "type": "string" } } } } } } } }, "DeleteAppIndexDocumentsInput": { "type": "object", "required": [ "documentKeys" ], "properties": { "documentKeys": { "type": "array", "items": { "type": "string" } } } }, "DeleteAppIndexDocumentsResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "deleted" ], "properties": { "deleted": { "type": "array", "items": { "type": "object", "required": [ "id", "documentKey" ], "properties": { "id": { "type": "string" }, "documentKey": { "type": "string" } } } } } } } }, "EmitAppAmbientEventsInput": { "type": "object", "required": [ "events" ], "properties": { "events": { "type": "array", "items": { "type": "object", "required": [ "sourceKind", "action", "entityType", "entityId", "dedupeKey" ], "properties": { "sourceKind": { "type": "string" }, "action": { "type": "string" }, "entityType": { "type": "string" }, "entityId": { "type": "string" }, "actorUserId": { "type": "string" }, "containerType": { "type": "string" }, "containerId": { "type": "string" }, "occurredAt": { "type": "string", "format": "date-time" }, "dedupeKey": { "type": "string" }, "payload": { "type": "object", "additionalProperties": true }, "metadata": { "type": "object", "additionalProperties": true }, "schemaVersion": { "type": "integer" } } } } } }, "EmitAppAmbientEventsResponse": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "object", "required": [ "events" ], "properties": { "events": { "type": "array", "items": { "type": "object", "required": [ "id", "dedupeKey" ], "properties": { "id": { "type": "string" }, "dedupeKey": { "type": "string" } } } } } } } } } } }