/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { "/api/v1/tab/models": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List Tab models */ get: operations["listTabModels"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/tab/chat/completions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Create an OpenAI-compatible Tab chat completion */ post: operations["createTabChatCompletion"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/oauth/authorize": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Authorize an OAuth client */ get: operations["authorizeOauthClient"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/oauth/token": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Exchange an authorization code for tokens */ post: operations["exchangeOauthAuthorizationCode"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/oauth/userinfo": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Resolve OAuth userinfo */ get: operations["getOauthUserInfo"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/apps": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List store apps */ get: operations["listStoreApps"]; put?: never; /** Register a new app and initial release */ post: operations["registerApp"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/apps/{appKey}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get a store app */ get: operations["getStoreApp"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/apps/{appKey}/versions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List approved versions for a store app */ get: operations["listStoreAppVersions"]; put?: never; /** Create a new app version */ post: operations["createAppVersion"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/apps/{appKey}/versions/{versionId}/submit": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Submit an app version for review */ post: operations["submitAppVersionForReview"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List installed apps and workspace-visible catalog */ get: operations["listWorkspaceApps"]; put?: never; /** Install an app into a workspace */ post: operations["installWorkspaceApp"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get an installed workspace app */ get: operations["getWorkspaceInstalledApp"]; put?: never; post?: never; /** Uninstall a workspace app */ delete: operations["uninstallWorkspaceApp"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/permissions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get granted workspace app permissions */ get: operations["getWorkspaceAppPermissions"]; /** Update granted workspace app permissions */ put: operations["updateWorkspaceAppPermissions"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/secrets": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List app secrets */ get: operations["listWorkspaceAppSecrets"]; put?: never; /** Create or rotate app secret */ post: operations["createWorkspaceAppSecret"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/secrets/{secretId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** Delete app secret */ delete: operations["deleteWorkspaceAppSecret"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/oauth-connections": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List app OAuth connections */ get: operations["listWorkspaceAppOauthConnections"]; put?: never; /** Create or update app OAuth connection */ post: operations["createWorkspaceAppOauthConnection"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/oauth-connections/{connectionId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** Delete app OAuth connection */ delete: operations["deleteWorkspaceAppOauthConnection"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/deliveries": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List app deliveries */ get: operations["listWorkspaceAppDeliveries"]; put?: never; /** Send a signed test delivery */ post: operations["sendWorkspaceAppTestDelivery"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/deliveries/{deliveryId}/replay": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Replay a stored app delivery */ post: operations["replayWorkspaceAppDelivery"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/files/{fileId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Read an app-backed file document */ get: operations["getAppFileDocument"]; put?: never; post?: never; /** Delete an app-backed file (soft-delete to trash) */ delete: operations["deleteAppFile"]; options?: never; head?: never; /** Update an app-backed file document */ patch: operations["updateAppFileDocument"]; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/files": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List app-backed files */ get: operations["listAppFiles"]; put?: never; /** Create an app-backed file */ post: operations["createAppFile"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/actions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Execute a hosted app action */ post: operations["executeAppAction"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/notifications": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Create an app notification */ post: operations["createAppNotification"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/index-documents": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Upsert app index documents */ post: operations["upsertAppIndexDocuments"]; /** Delete app index documents */ delete: operations["deleteAppIndexDocuments"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/v1/workspaces/{workspaceSlug}/apps/{appKey}/ambient/events": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Emit app ambient events */ post: operations["emitAppAmbientEvents"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } export type webhooks = Record; export interface components { schemas: { ErrorEnvelope: { error: { code: string; message: string; }; }; OAuthErrorResponse: { error: string; error_description: string; }; OAuthTokenExchangeInput: { /** @constant */ grant_type: "authorization_code"; client_id: string; client_secret: string; code: string; /** Format: uri */ redirect_uri: string; code_verifier?: string; }; OAuthTokenResponse: { access_token: string; /** @constant */ token_type: "Bearer"; expires_in: number; refresh_token: string; scope: string; }; OAuthUserInfoResponse: { sub: string; email: string; email_verified: boolean; name: string; given_name: string | null; family_name: string | null; picture: string | null; preferred_username: string | null; scope: string; }; TabModelRecord: { id: string; /** @constant */ object: "model"; created: number; owned_by: string; providerModelId: string; pricing: { inputPerMillionUsd: number; outputPerMillionUsd: number; }; capabilities: { streaming: boolean; surfaces: string[]; }; }; TabModelsResponse: { data: { /** @constant */ object: "list"; data: components["schemas"]["TabModelRecord"][]; }; }; TabChatCompletionInput: { model: string; messages?: { role?: string; content?: string; }[]; stream?: boolean; max_tokens?: number; max_completion_tokens?: number; temperature?: number; top_p?: number; tab_context: { [key: string]: unknown; }; }; TabChatCompletionResponseEnvelope: { data: { id: string; /** @constant */ object: "chat.completion"; created: number; model: string; choices: { index: number; message: { /** @constant */ role: "assistant"; content: string; }; /** @constant */ finish_reason: "stop"; }[]; usage: { prompt_tokens: number; completion_tokens: number; total_tokens: number; }; }; }; OkResponse: { data: { /** @constant */ ok: true; }; }; AppCatalogItem: { appId: string; appKey: string; name: string; description: string | null; iconUrl: string | null; status: string; latestPublishedVersion: string | null; latestPublishedVersionId: string | null; isInstalled: boolean; }; RegisteredAppDetail: { appId: string; appKey: string; name: string; description: string | null; iconUrl: string | null; status: string; ownerUserId: string | null; storeListed: boolean; latestPublishedVersion: string | null; latestPublishedVersionId: string | null; }; RegisteredAppVersionSummary: { versionId: string; version: string; status: string; reviewStatus: string; apiBaseUrl: string; permissions: string[]; notificationChannels: { key: string; name: string; description?: string; defaultDeliveries: string[]; defaultPriority: string; }[]; kairo: { [key: string]: unknown; } | null; fileTypes: { typeKey: string; name: string; description: string | null; }[]; /** Format: date-time */ submittedAt: string | null; /** Format: date-time */ reviewedAt: string | null; reviewNotes: string | null; /** Format: date-time */ publishedAt: string | null; /** Format: date-time */ createdAt: string; /** Format: date-time */ updatedAt: string; }; InstalledAppSummary: { installId: string; appId: string; appKey: string; name: string; description: string | null; iconUrl: string | null; status: string; installScope: string; scopeSubjectId: string; version: string | null; }; StoreAppsResponse: { data: { apps: components["schemas"]["RegisteredAppDetail"][]; }; }; StoreAppResponse: { data: { app: components["schemas"]["RegisteredAppDetail"]; }; }; StoreAppVersionsResponse: { data: { versions: components["schemas"]["RegisteredAppVersionSummary"][]; }; }; WorkspaceAppsResponse: { data: { installedApps: components["schemas"]["InstalledAppSummary"][]; catalog: components["schemas"]["AppCatalogItem"][]; permissions: { canManageApps: boolean; }; }; }; InstallWorkspaceAppInput: { appId: string; pinnedVersionId?: string; grantedPermissions?: string[]; }; InstallWorkspaceAppResponse: { data: { installId: string; appId: string; appKey: string; version: string; grantedPermissions: string[]; }; }; WorkspaceInstalledAppResponse: { data: { install: components["schemas"]["InstalledAppSummary"]; permissions: { canManageApps: boolean; }; }; }; WorkspaceAppPermissionsResponse: { data: { install: components["schemas"]["InstalledAppSummary"]; availablePermissions: string[]; grantedPermissions: string[]; permissions: { canManageApps: boolean; }; }; }; RegisterAppInput: { version: string; manifest: { key: string; name: string; description?: string; iconUrl?: string; permissions: string[]; notificationChannels: { key: string; name: string; description?: string; defaultDeliveries: string[]; defaultPriority: string; }[]; kairo?: { [key: string]: unknown; }; hosting: { /** @constant */ mode: "external"; baseUrl: string; }; }; fileTypes: { typeKey: string; name: string; description?: string; /** @constant */ storage: "coline_document"; indexable: boolean; homeRenderMode: string; }[]; }; AppVersionMutationResponse: { data: { appId: string; appKey: string; versionId: string; version: string; }; }; SubmitAppVersionForReviewResponse: { data: { appId: string; appKey: string; versionId: string; version: string; /** @constant */ reviewStatus: "submitted"; storeListed: boolean; }; }; WorkspaceAppSecretsResponse: { data: { install: components["schemas"]["InstalledAppSummary"]; secrets: { id: string; key: string; /** Format: date-time */ createdAt: string; /** Format: date-time */ updatedAt: string; }[]; permissions: { canManageApps: boolean; }; }; }; CreateWorkspaceAppSecretResponse: { data: { secret: { id: string; key: string; /** Format: date-time */ createdAt: string; /** Format: date-time */ updatedAt: string; }; value: string; }; }; WorkspaceAppOauthConnectionsResponse: { data: { install: components["schemas"]["InstalledAppSummary"]; connections: { id: string; providerKey: string; externalAccountId: string | null; scopes: string[]; /** Format: date-time */ tokenExpiresAt: string | null; /** Format: date-time */ createdAt: string; /** Format: date-time */ updatedAt: string; }[]; permissions: { canManageApps: boolean; }; }; }; CreateWorkspaceAppOauthConnectionResponse: { data: { connection: { id: string; providerKey: string; externalAccountId: string | null; scopes: string[]; /** Format: date-time */ tokenExpiresAt: string | null; /** Format: date-time */ createdAt: string; /** Format: date-time */ updatedAt: string; }; }; }; WorkspaceAppDeliveriesResponse: { data: { install: components["schemas"]["InstalledAppSummary"]; deliveries: { id: string; eventType: string; targetUrl: string; status: string; attemptCount: number; lastStatusCode: number | null; /** Format: date-time */ createdAt: string; /** Format: date-time */ updatedAt: string; }[]; permissions: { canManageApps: boolean; }; }; }; SendWorkspaceAppTestDeliveryResponse: { data: { delivery: { id: string; eventType: string; targetUrl: string; status: string; attemptCount: number; lastStatusCode: number | null; /** Format: date-time */ createdAt: string; /** Format: date-time */ updatedAt: string; }; }; }; AppFilesListResponse: { data: { files: { id: string; driveId: string; parentId: string | null; name: string; fileType: string; typeLabel: string; appKey: string; appName: string; openHref: string; /** Format: date-time */ updatedAt: string; /** Format: date-time */ createdAt: string; version: number; capabilities: { canRead: boolean; canWrite: boolean; canManage: boolean; }; }[]; availableFileTypes: { typeKey: string; name: string; description: string | null; }[]; }; }; CreateAppFileInput: { name: string; typeKey?: string; driveId?: string; parentId?: string | null; document?: { [key: string]: unknown; }; }; CreateAppFileResponse: { data: { file: { id: string; driveId: string; parentId: string | null; name: string; fileType: string; typeLabel: string; appKey: string; appName: string; openHref: string; /** Format: date-time */ updatedAt: string; /** Format: date-time */ createdAt: string; version: number; capabilities: { canRead: boolean; canWrite: boolean; canManage: boolean; }; }; document: { [key: string]: unknown; }; version: number; }; }; ExecuteAppActionInput: { action: { type: string; payload?: { [key: string]: unknown; }; }; fileId?: string | null; }; ExecuteAppActionResponse: { data: { /** @enum {string} */ type: "ok" | "refresh"; } | { /** @enum {string} */ type: "navigate"; href: string; } | { /** @enum {string} */ type: "open_file"; fileId: string; }; }; AppFileDocumentResponse: { data: { file: { id: string; name: string; fileType: string; appKey: string; appName: string; typeLabel: string; openHref: string; /** Format: date-time */ updatedAt: string; }; document: { [key: string]: unknown; }; version: number; capabilities: { canRead: boolean; canWrite: boolean; canManage: boolean; }; }; }; AppFileDocumentUpdateResponse: { data: { document: { [key: string]: unknown; }; version: number; /** Format: date-time */ updatedAt: string; }; }; CreateAppNotificationInput: { channelKey: string; typeKey: string; recipients: { userId: string; }[]; title: string; body?: string; targetUrl?: string; icon?: string; priority?: string; dedupeKey?: string; metadata?: { [key: string]: unknown; }; }; UpsertAppIndexDocumentsInput: { documents: { documentKey: string; documentType: string; fileId?: string; title: string; body?: string; url?: string; metadata?: { [key: string]: unknown; }; visibilityMode?: string; visibility?: { subjectType: string; subjectId: string; }[]; }[]; }; UpsertAppIndexDocumentsResponse: { data: { documents: { id: string; documentKey: string; visibilityMode: string; }[]; }; }; DeleteAppIndexDocumentsInput: { documentKeys: string[]; }; DeleteAppIndexDocumentsResponse: { data: { deleted: { id: string; documentKey: string; }[]; }; }; EmitAppAmbientEventsInput: { events: { sourceKind: string; action: string; entityType: string; entityId: string; actorUserId?: string; containerType?: string; containerId?: string; /** Format: date-time */ occurredAt?: string; dedupeKey: string; payload?: { [key: string]: unknown; }; metadata?: { [key: string]: unknown; }; schemaVersion?: number; }[]; }; EmitAppAmbientEventsResponse: { data: { events: { id: string; dedupeKey: string; }[]; }; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export interface operations { listTabModels: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Tab model list */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TabModelsResponse"]; }; }; }; }; createTabChatCompletion: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["TabChatCompletionInput"]; }; }; responses: { /** @description OpenAI-compatible Tab chat completion */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TabChatCompletionResponseEnvelope"]; }; }; /** @description Validation or model error */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorEnvelope"]; }; }; /** @description Insufficient credits */ 402: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorEnvelope"]; }; }; }; }; authorizeOauthClient: { parameters: { query: { response_type: "code"; client_id: string; redirect_uri: string; scope?: string; state?: string; code_challenge?: string; code_challenge_method?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Redirect to sign-in or back to the client redirect URI */ 302: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Invalid authorization request */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorEnvelope"]; }; }; }; }; exchangeOauthAuthorizationCode: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["OAuthTokenExchangeInput"]; "application/x-www-form-urlencoded": components["schemas"]["OAuthTokenExchangeInput"]; }; }; responses: { /** @description Token response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OAuthTokenResponse"]; }; }; /** @description Invalid token request */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OAuthErrorResponse"]; }; }; }; }; getOauthUserInfo: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description User info */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OAuthUserInfoResponse"]; }; }; /** @description Invalid token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OAuthErrorResponse"]; }; }; }; }; listStoreApps: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Store apps */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["StoreAppsResponse"]; }; }; }; }; registerApp: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["RegisterAppInput"]; }; }; responses: { /** @description Registered app */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AppVersionMutationResponse"]; }; }; }; }; getStoreApp: { parameters: { query?: never; header?: never; path: { appKey: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Store app detail */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["StoreAppResponse"]; }; }; /** @description App not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorEnvelope"]; }; }; }; }; listStoreAppVersions: { parameters: { query?: never; header?: never; path: { appKey: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Approved store app versions */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["StoreAppVersionsResponse"]; }; }; }; }; createAppVersion: { parameters: { query?: never; header?: never; path: { appKey: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["RegisterAppInput"]; }; }; responses: { /** @description Created app version */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AppVersionMutationResponse"]; }; }; }; }; submitAppVersionForReview: { parameters: { query?: never; header?: never; path: { appKey: string; versionId: string; }; cookie?: never; }; requestBody: { content: { "application/json": { storeListed?: boolean; }; }; }; responses: { /** @description Submitted app version */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SubmitAppVersionForReviewResponse"]; }; }; }; }; listWorkspaceApps: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Workspace app data */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkspaceAppsResponse"]; }; }; }; }; installWorkspaceApp: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["InstallWorkspaceAppInput"]; }; }; responses: { /** @description Installed app */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["InstallWorkspaceAppResponse"]; }; }; }; }; getWorkspaceInstalledApp: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Installed app */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkspaceInstalledAppResponse"]; }; }; }; }; uninstallWorkspaceApp: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description App uninstalled */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; }; }; getWorkspaceAppPermissions: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Workspace app permissions */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkspaceAppPermissionsResponse"]; }; }; }; }; updateWorkspaceAppPermissions: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody: { content: { "application/json": { grantedPermissions: string[]; }; }; }; responses: { /** @description Updated permissions */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkspaceAppPermissionsResponse"]; }; }; }; }; listWorkspaceAppSecrets: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description App secrets */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkspaceAppSecretsResponse"]; }; }; }; }; createWorkspaceAppSecret: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody: { content: { "application/json": { key: string; value: string; }; }; }; responses: { /** @description App secret stored */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CreateWorkspaceAppSecretResponse"]; }; }; }; }; deleteWorkspaceAppSecret: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; secretId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description App secret deleted */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; }; }; listWorkspaceAppOauthConnections: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description App OAuth connections */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkspaceAppOauthConnectionsResponse"]; }; }; }; }; createWorkspaceAppOauthConnection: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody: { content: { "application/json": { providerKey: string; externalAccountId?: string; accessToken: string; refreshToken?: string; scopes: string[]; /** Format: date-time */ tokenExpiresAt?: string; metadata?: { [key: string]: unknown; }; }; }; }; responses: { /** @description App OAuth connection stored */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CreateWorkspaceAppOauthConnectionResponse"]; }; }; }; }; deleteWorkspaceAppOauthConnection: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; connectionId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description App OAuth connection deleted */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; }; }; listWorkspaceAppDeliveries: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description App deliveries */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkspaceAppDeliveriesResponse"]; }; }; }; }; sendWorkspaceAppTestDelivery: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody: { content: { "application/json": { eventType: string; targetUrl?: string; payload: { [key: string]: unknown; }; }; }; }; responses: { /** @description Test delivery recorded */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SendWorkspaceAppTestDeliveryResponse"]; }; }; }; }; replayWorkspaceAppDelivery: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; deliveryId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Delivery replayed */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SendWorkspaceAppTestDeliveryResponse"]; }; }; }; }; getAppFileDocument: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; fileId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description App-backed file document */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AppFileDocumentResponse"]; }; }; }; }; deleteAppFile: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; fileId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description File trashed */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; }; }; updateAppFileDocument: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; fileId: string; }; cookie?: never; }; requestBody: { content: { "application/json": { document: { [key: string]: unknown; }; }; }; }; responses: { /** @description Updated app-backed file document */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AppFileDocumentUpdateResponse"]; }; }; }; }; listAppFiles: { parameters: { query?: { driveId?: string; typeKey?: string; limit?: number; }; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description App-backed file list */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AppFilesListResponse"]; }; }; }; }; createAppFile: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateAppFileInput"]; }; }; responses: { /** @description Created app-backed file */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CreateAppFileResponse"]; }; }; }; }; executeAppAction: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ExecuteAppActionInput"]; }; }; responses: { /** @description Hosted app action result */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ExecuteAppActionResponse"]; }; }; }; }; createAppNotification: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateAppNotificationInput"]; }; }; responses: { /** @description Notification created */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; }; }; upsertAppIndexDocuments: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpsertAppIndexDocumentsInput"]; }; }; responses: { /** @description Index documents upserted */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UpsertAppIndexDocumentsResponse"]; }; }; }; }; deleteAppIndexDocuments: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["DeleteAppIndexDocumentsInput"]; }; }; responses: { /** @description Index documents deleted */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["DeleteAppIndexDocumentsResponse"]; }; }; }; }; emitAppAmbientEvents: { parameters: { query?: never; header?: never; path: { workspaceSlug: string; appKey: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["EmitAppAmbientEventsInput"]; }; }; responses: { /** @description Ambient events accepted */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["EmitAppAmbientEventsResponse"]; }; }; }; }; }