From 93f17f488424a335a74a4723be79d1c89ff6d84f Mon Sep 17 00:00:00 2001 From: Tofik Hasanov <72318342+tofikwest@users.noreply.github.com> Date: Wed, 15 Jul 2026 16:04:38 -0400 Subject: [PATCH] chore(docs): regenerate public openapi spec (#3422) * fix(api): repair openapi spec generators broken by ESM-only @inference/tracing * chore(docs): regenerate public openapi spec --- apps/api/src/gen-openapi.spec.ts | 7 + apps/api/src/openapi-docs.spec.ts | 7 + packages/docs/openapi.json | 24343 ++++++++++++++-------------- 3 files changed, 12475 insertions(+), 11882 deletions(-) diff --git a/apps/api/src/gen-openapi.spec.ts b/apps/api/src/gen-openapi.spec.ts index 9c1e961c08..94db2f4164 100644 --- a/apps/api/src/gen-openapi.spec.ts +++ b/apps/api/src/gen-openapi.spec.ts @@ -32,6 +32,12 @@ jest.mock('@thallesp/nestjs-better-auth', () => { return { AuthModule: AuthModuleStub }; }); +// @inference/tracing is ESM-only, same as better-auth above. +jest.mock('@inference/tracing', () => ({ setup: jest.fn() })); +jest.mock('@inference/tracing/ai-sdk', () => ({ + createAISdkTelemetrySettings: jest.fn(() => ({})), +})); + jest.mock('better-auth/plugins/access', () => ({ createAccessControl: () => ({ newRole: () => ({}), @@ -98,6 +104,7 @@ process.env.APP_AWS_ACCESS_KEY_ID = 'test-access-key-id'; process.env.APP_AWS_SECRET_ACCESS_KEY = 'test-secret-access-key'; process.env.APP_AWS_BUCKET_NAME = 'test-bucket'; process.env.APP_AWS_REGION = 'us-east-1'; +process.env.MACED_API_KEY = 'mc_dev_test-openapi-gen'; import path from 'path'; import { writeFileSync, mkdirSync, existsSync } from 'fs'; diff --git a/apps/api/src/openapi-docs.spec.ts b/apps/api/src/openapi-docs.spec.ts index d9d42d89ae..2319299b9a 100644 --- a/apps/api/src/openapi-docs.spec.ts +++ b/apps/api/src/openapi-docs.spec.ts @@ -29,6 +29,12 @@ jest.mock('@thallesp/nestjs-better-auth', () => { return { AuthModule: AuthModuleStub }; }); +// @inference/tracing is ESM-only, same as better-auth above. +jest.mock('@inference/tracing', () => ({ setup: jest.fn() })); +jest.mock('@inference/tracing/ai-sdk', () => ({ + createAISdkTelemetrySettings: jest.fn(() => ({})), +})); + jest.mock('better-auth/plugins/access', () => ({ createAccessControl: () => ({ newRole: () => ({}), @@ -101,6 +107,7 @@ process.env.APP_AWS_ACCESS_KEY_ID = 'test-access-key-id'; process.env.APP_AWS_SECRET_ACCESS_KEY = 'test-secret-access-key'; process.env.APP_AWS_BUCKET_NAME = 'test-bucket'; process.env.APP_AWS_REGION = 'us-east-1'; +process.env.MACED_API_KEY = 'mc_dev_test-openapi-gen'; import { Test } from '@nestjs/testing'; import { diff --git a/packages/docs/openapi.json b/packages/docs/openapi.json index f96bec56ef..c468d61dc4 100644 --- a/packages/docs/openapi.json +++ b/packages/docs/openapi.json @@ -190,11 +190,6 @@ "description": "Whether onboarding is completed", "example": true }, - "hasAccess": { - "type": "boolean", - "description": "Whether organization has access to the platform", - "example": true - }, "fleetDmLabelId": { "type": "integer", "description": "FleetDM label ID for device management", @@ -219,6 +214,31 @@ "type": "boolean", "description": "Whether the background-check step is required during member onboarding. Set to false to turn off the \"Require background checks\" setting; true to require it.", "example": true + }, + "evidenceApprovalEnabled": { + "type": "boolean", + "description": "Whether evidence requires approval before it is accepted.", + "example": false + }, + "deviceAgentStepEnabled": { + "type": "boolean", + "description": "Whether the device-agent step is enabled during member onboarding.", + "example": true + }, + "securityTrainingStepEnabled": { + "type": "boolean", + "description": "Whether the security-training step is enabled during member onboarding.", + "example": true + }, + "whistleblowerReportEnabled": { + "type": "boolean", + "description": "Whether the whistleblower reporting feature is enabled.", + "example": true + }, + "accessRequestFormEnabled": { + "type": "boolean", + "description": "Whether the trust-portal access request form is enabled.", + "example": true } }, "additionalProperties": false @@ -2246,6 +2266,50 @@ } } }, + "/v1/people/{id}/access": { + "get": { + "description": "Aggregates the latest Employee Access check results from every connected integration bound to the Employee Access task, matched to the member by email.", + "operationId": "PeopleController_getMemberAccess_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "description": "Member ID", + "schema": { + "example": "mem_abc123def456", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Member's access across connected integrations", + "tags": [ + "People" + ], + "x-mint": { + "metadata": { + "title": "Member's access across connected integrations | Comp AI API", + "sidebarTitle": "Member's access across connected integrations", + "description": "Aggregates the latest Employee Access check results from every connected integration bound to the Employee Access task, matched to the member by email.", + "og:title": "Member's access across connected integrations | Comp AI API", + "og:description": "Aggregates the latest Employee Access check results from every connected integration bound to the Employee Access task, matched to the member by email." + } + }, + "x-speakeasy-mcp": { + "name": "get-member-access" + } + } + }, "/v1/people/{id}/training-videos": { "get": { "operationId": "PeopleController_getTrainingVideos_v1", @@ -3226,319 +3290,97 @@ } } }, - "/v1/risks": { + "/v1/integrations/connections/providers": { "get": { - "description": "List organization risks with owners, departments, severity, mitigation status, and evidence for risk management reporting.", - "operationId": "RisksController_getAllRisks_v1", + "operationId": "ConnectionsController_listProviders_v1", "parameters": [ { - "name": "title", - "required": false, + "name": "activeOnly", + "required": true, "in": "query", - "description": "Search by title (case-insensitive contains)", "schema": { - "example": "data breach", "type": "string" } - }, - { - "name": "page", - "required": false, - "in": "query", - "description": "Page number (1-indexed)", - "schema": { - "minimum": 1, - "default": 1, - "example": 1, - "type": "number" - } - }, - { - "name": "perPage", - "required": false, - "in": "query", - "description": "Number of items per page", - "schema": { - "minimum": 1, - "maximum": 250, - "default": 50, - "example": 50, - "type": "number" - } - }, - { - "name": "sort", - "required": false, - "in": "query", - "description": "Sort by field", - "schema": { - "default": "createdAt", - "type": "string", - "enum": [ - "createdAt", - "updatedAt", - "title", - "status" - ] - } - }, - { - "name": "sortDirection", - "required": false, - "in": "query", - "description": "Sort direction", - "schema": { - "default": "desc", - "type": "string", - "enum": [ - "asc", - "desc" - ] - } - }, - { - "name": "status", - "required": false, - "in": "query", - "description": "Filter by status", - "schema": { - "type": "string", - "enum": [ - "open", - "pending", - "closed", - "archived" - ] - } - }, + } + ], + "responses": { + "200": { + "description": "" + } + }, + "security": [ { - "name": "category", - "required": false, - "in": "query", - "description": "Filter by category", - "schema": { - "type": "string", - "enum": [ - "customer", - "fraud", - "governance", - "operations", - "other", - "people", - "regulatory", - "reporting", - "resilience", - "technology", - "vendor_management" - ] - } - }, + "apikey": [] + } + ], + "summary": "List integration providers", + "tags": [ + "Integrations" + ], + "description": "List available integration providers that can connect to the organization for automated evidence collection and compliance checks.", + "x-mint": { + "metadata": { + "title": "List integration providers | Comp AI API", + "sidebarTitle": "List integration providers", + "description": "List available integration providers that can connect to the organization for automated evidence collection and compliance checks.", + "og:title": "List integration providers | Comp AI API", + "og:description": "List available integration providers that can connect to the organization for automated evidence collection and compliance checks." + } + }, + "x-speakeasy-mcp": { + "name": "list-providers" + } + } + }, + "/v1/integrations/connections/providers/{slug}": { + "get": { + "operationId": "ConnectionsController_getProvider_v1", + "parameters": [ { - "name": "department", - "required": false, - "in": "query", - "description": "Filter by department. Built-in values: none, admin, gov, hr, it, itsm, qms. Custom department names are also accepted.", + "name": "slug", + "required": true, + "in": "path", "schema": { - "maxLength": 64, - "example": "it", "type": "string" } - }, + } + ], + "responses": { + "200": { + "description": "" + } + }, + "security": [ { - "name": "assigneeId", - "required": false, - "in": "query", - "description": "Filter by assignee member ID", - "schema": { - "example": "mem_abc123def456", - "type": "string" - } + "apikey": [] } ], + "summary": "Get an integration provider by slug", + "tags": [ + "Integrations" + ], + "description": "Get an integration provider by slug in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "Get an integration provider by slug | Comp AI API", + "sidebarTitle": "Get an integration provider by slug", + "description": "Get an integration provider by slug in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Get an integration provider by slug | Comp AI API", + "og:description": "Get an integration provider by slug in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + } + }, + "x-speakeasy-mcp": { + "name": "get-provider" + } + } + }, + "/v1/integrations/connections": { + "get": { + "operationId": "ConnectionsController_listConnections_v1", + "parameters": [], "responses": { "200": { - "description": "Risks retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Risk ID", - "example": "rsk_abc123def456" - }, - "title": { - "type": "string", - "description": "Risk title", - "example": "Data breach vulnerability in user authentication system" - }, - "description": { - "type": "string", - "description": "Risk description", - "example": "Weak password requirements could lead to unauthorized access to user accounts" - }, - "category": { - "type": "string", - "enum": [ - "customer", - "governance", - "operations", - "other", - "people", - "regulatory", - "reporting", - "resilience", - "technology", - "vendor_management" - ], - "example": "technology" - }, - "status": { - "type": "string", - "enum": [ - "open", - "pending", - "closed", - "archived" - ], - "example": "open" - }, - "likelihood": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "possible" - }, - "impact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "major" - }, - "treatmentStrategy": { - "type": "string", - "enum": [ - "accept", - "avoid", - "mitigate", - "transfer" - ], - "example": "mitigate" - }, - "assigneeId": { - "type": "string", - "nullable": true, - "description": "ID of the user assigned to this risk", - "example": "mem_abc123def456" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "When the risk was created" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "When the risk was last updated" - } - } - } - }, - "count": { - "type": "number", - "description": "Total number of risks", - "example": 15 - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ], - "description": "How the request was authenticated" - }, - "authenticatedUser": { - "type": "object", - "description": "User information (only for session auth)", - "properties": { - "id": { - "type": "string", - "example": "usr_def456ghi789" - }, - "email": { - "type": "string", - "example": "user@example.com" - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid or expired API key" - } - } - } - } - } - }, - "404": { - "description": "Organization not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Organization with ID org_abc123def456 not found" - } - } - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Internal server error" - } - } - } - } - } + "description": "" } }, "security": [ @@ -3546,285 +3388,40 @@ "apikey": [] } ], - "summary": "List organization risks", + "summary": "List integration connections", "tags": [ - "Risks" + "Integrations" ], + "description": "List integration connections in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "List organization risks | Comp AI API", - "sidebarTitle": "List organization risks", - "description": "List organization risks with owners, departments, severity, mitigation status, and evidence for risk management reporting.", - "og:title": "List organization risks | Comp AI API", - "og:description": "List organization risks with owners, departments, severity, mitigation status, and evidence for risk management reporting." + "title": "List integration connections | Comp AI API", + "sidebarTitle": "List integration connections", + "description": "List integration connections in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "List integration connections | Comp AI API", + "og:description": "List integration connections in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." } }, "x-speakeasy-mcp": { - "name": "get-all-risks" + "name": "list-connections" } }, "post": { - "description": "Create a risk record with ownership and context so compliance teams can track mitigation and remediation work.", - "operationId": "RisksController_createRisk_v1", + "operationId": "ConnectionsController_createConnection_v1", "parameters": [], "requestBody": { "required": true, - "description": "Risk creation data", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateRiskDto" + "$ref": "#/components/schemas/CreateConnectionDto" } } } }, "responses": { "201": { - "description": "Risk created successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Risk ID", - "example": "rsk_abc123def456" - }, - "title": { - "type": "string", - "description": "Risk title", - "example": "Data breach vulnerability in user authentication system" - }, - "description": { - "type": "string", - "description": "Risk description", - "example": "Weak password requirements could lead to unauthorized access to user accounts" - }, - "category": { - "type": "string", - "enum": [ - "customer", - "governance", - "operations", - "other", - "people", - "regulatory", - "reporting", - "resilience", - "technology", - "vendor_management" - ], - "example": "technology" - }, - "department": { - "type": "string", - "enum": [ - "none", - "admin", - "gov", - "hr", - "it", - "itsm", - "qms" - ], - "nullable": true, - "example": "it" - }, - "status": { - "type": "string", - "enum": [ - "open", - "pending", - "closed", - "archived" - ], - "example": "open" - }, - "likelihood": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "possible" - }, - "impact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "major" - }, - "residualLikelihood": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "unlikely" - }, - "residualImpact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "minor" - }, - "treatmentStrategyDescription": { - "type": "string", - "nullable": true, - "example": "Implement multi-factor authentication and strengthen password requirements" - }, - "treatmentStrategy": { - "type": "string", - "enum": [ - "accept", - "avoid", - "mitigate", - "transfer" - ], - "example": "mitigate" - }, - "organizationId": { - "type": "string", - "example": "org_abc123def456" - }, - "assigneeId": { - "type": "string", - "nullable": true, - "description": "ID of the user assigned to this risk", - "example": "mem_abc123def456" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "When the risk was created" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "When the risk was last updated" - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ], - "description": "How the request was authenticated" - }, - "authenticatedUser": { - "type": "object", - "description": "User information (only for session auth)", - "properties": { - "id": { - "type": "string", - "example": "usr_def456ghi789" - }, - "email": { - "type": "string", - "example": "user@example.com" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request - Invalid input data", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "array", - "items": { - "type": "string" - }, - "example": [ - "title should not be empty", - "description should not be empty", - "category must be a valid enum value" - ] - }, - "error": { - "type": "string", - "example": "Bad Request" - }, - "statusCode": { - "type": "number", - "example": 400 - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid or expired API key" - } - } - } - } - } - }, - "404": { - "description": "Organization not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Organization with ID org_abc123def456 not found" - } - } - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Internal server error" - } - } - } - } - } + "description": "" } }, "security": [ @@ -3832,28 +3429,38 @@ "apikey": [] } ], - "summary": "Create organization risk", + "summary": "Create integration connection", "tags": [ - "Risks" + "Integrations" ], + "description": "Create an integration connection so Comp AI can collect evidence, run checks, or sync data from a connected provider.", "x-mint": { "metadata": { - "title": "Create organization risk | Comp AI API", - "sidebarTitle": "Create organization risk", - "description": "Create a risk record with ownership and context so compliance teams can track mitigation and remediation work.", - "og:title": "Create organization risk | Comp AI API", - "og:description": "Create a risk record with ownership and context so compliance teams can track mitigation and remediation work." + "title": "Create integration connection | Comp AI API", + "sidebarTitle": "Create integration connection", + "description": "Create an integration connection so Comp AI can collect evidence, run checks, or sync data from a connected provider.", + "og:title": "Create integration connection | Comp AI API", + "og:description": "Create an integration connection so Comp AI can collect evidence, run checks, or sync data from a connected provider." } }, "x-speakeasy-mcp": { - "name": "create-risk" + "name": "create-connection" } } }, - "/v1/risks/stats/by-assignee": { + "/v1/integrations/connections/{id}": { "get": { - "operationId": "RisksController_getStatsByAssignee_v1", - "parameters": [], + "operationId": "ConnectionsController_getConnection_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { "description": "" @@ -3864,29 +3471,36 @@ "apikey": [] } ], - "summary": "Get risk statistics grouped by assignee", + "summary": "Get an integration connection by ID", "tags": [ - "Risks" + "Integrations" ], - "description": "Get risk statistics grouped by assignee in Comp AI. Create, update, and report on organizational risks with ownership, departments, and compliance remediation status.", + "description": "Get an integration connection by ID in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Get risk statistics grouped by assignee | Comp AI API", - "sidebarTitle": "Get risk statistics grouped by assignee", - "description": "Get risk statistics grouped by assignee in Comp AI. Create, update, and report on organizational risks with ownership, departments, and compliance.", - "og:title": "Get risk statistics grouped by assignee | Comp AI API", - "og:description": "Get risk statistics grouped by assignee in Comp AI. Create, update, and report on organizational risks with ownership, departments, and compliance." + "title": "Get an integration connection by ID | Comp AI API", + "sidebarTitle": "Get an integration connection by ID", + "description": "Get an integration connection by ID in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Get an integration connection by ID | Comp AI API", + "og:description": "Get an integration connection by ID in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "get-stats-by-assignee" + "name": "get-connection" } - } - }, - "/v1/risks/stats/by-department": { - "get": { - "operationId": "RisksController_getStatsByDepartment_v1", - "parameters": [], + }, + "delete": { + "operationId": "ConnectionsController_deleteConnection_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { "description": "" @@ -3897,273 +3511,269 @@ "apikey": [] } ], - "summary": "Get risk counts grouped by department", + "summary": "Delete an integration connection", "tags": [ - "Risks" + "Integrations" ], - "description": "Get risk counts grouped by department in Comp AI. Create, update, and report on organizational risks with ownership, departments, and compliance remediation status.", + "description": "Delete an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Get risk counts grouped by department | Comp AI API", - "sidebarTitle": "Get risk counts grouped by department", - "description": "Get risk counts grouped by department in Comp AI. Create, update, and report on organizational risks with ownership, departments, and compliance remediation.", - "og:title": "Get risk counts grouped by department | Comp AI API", - "og:description": "Get risk counts grouped by department in Comp AI. Create, update, and report on organizational risks with ownership, departments, and compliance remediation." + "title": "Delete an integration connection | Comp AI API", + "sidebarTitle": "Delete an integration connection", + "description": "Delete an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Delete an integration connection | Comp AI API", + "og:description": "Delete an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "get-stats-by-department" + "name": "delete-connection" + } + }, + "patch": { + "operationId": "ConnectionsController_updateConnection_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateConnectionDto" + } + } + } + }, + "responses": { + "200": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Update an integration connection", + "tags": [ + "Integrations" + ], + "description": "Update an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "Update an integration connection | Comp AI API", + "sidebarTitle": "Update an integration connection", + "description": "Update an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Update an integration connection | Comp AI API", + "og:description": "Update an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + } + }, + "x-speakeasy-mcp": { + "name": "update-connection" } } }, - "/v1/risks/{id}": { - "get": { - "description": "Retrieve one organization risk with owner, department, likelihood, impact, mitigation, and remediation context.", - "operationId": "RisksController_getRiskById_v1", + "/v1/integrations/connections/{id}/test": { + "post": { + "operationId": "ConnectionsController_testConnection_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Test an integration connection", + "tags": [ + "Integrations" + ], + "description": "Test an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "Test an integration connection | Comp AI API", + "sidebarTitle": "Test an integration connection", + "description": "Test an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Test an integration connection | Comp AI API", + "og:description": "Test an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + } + }, + "x-speakeasy-mcp": { + "name": "test-connection" + } + } + }, + "/v1/integrations/connections/{id}/pause": { + "post": { + "operationId": "ConnectionsController_pauseConnection_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Pause an integration connection", + "tags": [ + "Integrations" + ], + "description": "Pause an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "Pause an integration connection | Comp AI API", + "sidebarTitle": "Pause an integration connection", + "description": "Pause an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Pause an integration connection | Comp AI API", + "og:description": "Pause an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + } + }, + "x-speakeasy-mcp": { + "name": "pause-connection" + } + } + }, + "/v1/integrations/connections/{id}/resume": { + "post": { + "operationId": "ConnectionsController_resumeConnection_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Resume an integration connection", + "tags": [ + "Integrations" + ], + "description": "Resume an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "Resume an integration connection | Comp AI API", + "sidebarTitle": "Resume an integration connection", + "description": "Resume an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Resume an integration connection | Comp AI API", + "og:description": "Resume an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + } + }, + "x-speakeasy-mcp": { + "name": "resume-connection" + } + } + }, + "/v1/integrations/connections/{id}/disconnect": { + "post": { + "operationId": "ConnectionsController_disconnectConnection_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Disconnect an integration", + "tags": [ + "Integrations" + ], + "description": "Disconnect an integration in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "Disconnect an integration | Comp AI API", + "sidebarTitle": "Disconnect an integration", + "description": "Disconnect an integration in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "Disconnect an integration | Comp AI API", + "og:description": "Disconnect an integration in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + } + }, + "x-speakeasy-mcp": { + "name": "disconnect-connection" + } + } + }, + "/v1/integrations/connections/{id}/services": { + "put": { + "operationId": "ConnectionsController_updateConnectionServices_v1", "parameters": [ { "name": "id", "required": true, "in": "path", - "description": "Risk ID", "schema": { - "example": "rsk_abc123def456", "type": "string" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateConnectionServicesDto" + } + } + } + }, "responses": { "200": { - "description": "Risk retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Risk ID", - "example": "rsk_abc123def456" - }, - "title": { - "type": "string", - "description": "Risk title", - "example": "Data breach vulnerability in user authentication system" - }, - "description": { - "type": "string", - "description": "Risk description", - "example": "Weak password requirements could lead to unauthorized access to user accounts" - }, - "category": { - "type": "string", - "enum": [ - "customer", - "governance", - "operations", - "other", - "people", - "regulatory", - "reporting", - "resilience", - "technology", - "vendor_management" - ], - "example": "technology" - }, - "department": { - "type": "string", - "enum": [ - "none", - "admin", - "gov", - "hr", - "it", - "itsm", - "qms" - ], - "nullable": true, - "example": "it" - }, - "status": { - "type": "string", - "enum": [ - "open", - "pending", - "closed", - "archived" - ], - "example": "open" - }, - "likelihood": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "possible" - }, - "impact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "major" - }, - "residualLikelihood": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "unlikely" - }, - "residualImpact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "minor" - }, - "treatmentStrategyDescription": { - "type": "string", - "nullable": true, - "example": "Implement multi-factor authentication and strengthen password requirements" - }, - "treatmentStrategy": { - "type": "string", - "enum": [ - "accept", - "avoid", - "mitigate", - "transfer" - ], - "example": "mitigate" - }, - "organizationId": { - "type": "string", - "example": "org_abc123def456" - }, - "assigneeId": { - "type": "string", - "nullable": true, - "description": "ID of the user assigned to this risk", - "example": "mem_abc123def456" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "When the risk was created" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "When the risk was last updated" - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ], - "description": "How the request was authenticated" - }, - "authenticatedUser": { - "type": "object", - "description": "User information (only for session auth)", - "properties": { - "id": { - "type": "string", - "example": "usr_def456ghi789" - }, - "email": { - "type": "string", - "example": "user@example.com" - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid or expired API key" - } - } - } - } - } - }, - "403": { - "description": "Forbidden - User does not have permission to access this risk", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "You do not have access to view this risk" - } - } - } - } - } - }, - "404": { - "description": "Risk not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Risk with ID rsk_abc123def456 not found in organization org_abc123def456" - } - } - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Internal server error" - } - } - } - } - } + "description": "" } }, "security": [ @@ -4171,296 +3781,39 @@ "apikey": [] } ], - "summary": "Get organization risk", + "summary": "Set services enabled on a connection", "tags": [ - "Risks" + "Integrations" ], + "description": "Set services enabled on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Get organization risk | Comp AI API", - "sidebarTitle": "Get organization risk", - "description": "Retrieve one organization risk with owner, department, likelihood, impact, mitigation, and remediation context.", - "og:title": "Get organization risk | Comp AI API", - "og:description": "Retrieve one organization risk with owner, department, likelihood, impact, mitigation, and remediation context." + "title": "Set services enabled on a connection | Comp AI API", + "sidebarTitle": "Set services enabled on a connection", + "description": "Set services enabled on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Set services enabled on a connection | Comp AI API", + "og:description": "Set services enabled on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "get-risk-by-id" + "name": "update-connection-services" } }, - "patch": { - "description": "Update a risk record as mitigation work progresses so compliance reports reflect the current risk posture.", - "operationId": "RisksController_updateRisk_v1", + "get": { + "operationId": "ServicesController_getConnectionServices_v1", "parameters": [ { "name": "id", "required": true, "in": "path", - "description": "Risk ID", "schema": { - "example": "rsk_abc123def456", "type": "string" } } ], - "requestBody": { - "required": true, - "description": "Risk update data", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateRiskDto" - } - } - } - }, "responses": { "200": { - "description": "Risk updated successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Risk ID", - "example": "rsk_abc123def456" - }, - "title": { - "type": "string", - "description": "Risk title", - "example": "Data breach vulnerability in user authentication system" - }, - "description": { - "type": "string", - "description": "Risk description", - "example": "Weak password requirements could lead to unauthorized access to user accounts" - }, - "category": { - "type": "string", - "enum": [ - "customer", - "governance", - "operations", - "other", - "people", - "regulatory", - "reporting", - "resilience", - "technology", - "vendor_management" - ], - "example": "technology" - }, - "department": { - "type": "string", - "enum": [ - "none", - "admin", - "gov", - "hr", - "it", - "itsm", - "qms" - ], - "nullable": true, - "example": "it" - }, - "status": { - "type": "string", - "enum": [ - "open", - "pending", - "closed", - "archived" - ], - "example": "open" - }, - "likelihood": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "possible" - }, - "impact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "major" - }, - "residualLikelihood": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "unlikely" - }, - "residualImpact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "minor" - }, - "treatmentStrategyDescription": { - "type": "string", - "nullable": true, - "example": "Implement multi-factor authentication and strengthen password requirements" - }, - "treatmentStrategy": { - "type": "string", - "enum": [ - "accept", - "avoid", - "mitigate", - "transfer" - ], - "example": "mitigate" - }, - "organizationId": { - "type": "string", - "example": "org_abc123def456" - }, - "assigneeId": { - "type": "string", - "nullable": true, - "description": "ID of the user assigned to this risk", - "example": "mem_abc123def456" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "When the risk was created" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "When the risk was last updated" - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ], - "description": "How the request was authenticated" - }, - "authenticatedUser": { - "type": "object", - "description": "User information (only for session auth)", - "properties": { - "id": { - "type": "string", - "example": "usr_def456ghi789" - }, - "email": { - "type": "string", - "example": "user@example.com" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request - Invalid input data", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "array", - "items": { - "type": "string" - }, - "example": [ - "title should not be empty", - "category must be a valid enum value", - "status must be a valid enum value" - ] - }, - "error": { - "type": "string", - "example": "Bad Request" - }, - "statusCode": { - "type": "number", - "example": 400 - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid or expired API key" - } - } - } - } - } - }, - "404": { - "description": "Risk not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Risk with ID rsk_abc123def456 not found in organization org_abc123def456" - } - } - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Internal server error" - } - } - } - } - } + "description": "" } }, "security": [ @@ -4468,139 +3821,41 @@ "apikey": [] } ], - "summary": "Update organization risk", + "summary": "List services enabled on a connection", "tags": [ - "Risks" + "Integrations" ], + "description": "List services enabled on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Update organization risk | Comp AI API", - "sidebarTitle": "Update organization risk", - "description": "Update a risk record as mitigation work progresses so compliance reports reflect the current risk posture.", - "og:title": "Update organization risk | Comp AI API", - "og:description": "Update a risk record as mitigation work progresses so compliance reports reflect the current risk posture." + "title": "List services enabled on a connection | Comp AI API", + "sidebarTitle": "List services enabled on a connection", + "description": "List services enabled on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "List services enabled on a connection | Comp AI API", + "og:description": "List services enabled on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "update-risk" + "name": "get-connection-services" } - }, - "delete": { - "description": "Delete an organization risk that no longer needs active tracking in the risk register or compliance program.", - "operationId": "RisksController_deleteRisk_v1", + } + }, + "/v1/integrations/checks/providers/{providerSlug}": { + "get": { + "operationId": "ChecksController_listProviderChecks_v1", "parameters": [ { - "name": "id", + "name": "providerSlug", "required": true, "in": "path", - "description": "Risk ID", "schema": { - "example": "rsk_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "Risk deleted successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Risk deleted successfully" - }, - "deletedRisk": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Deleted risk ID", - "example": "rsk_abc123def456" - }, - "title": { - "type": "string", - "description": "Deleted risk title", - "example": "Data breach vulnerability in user authentication system" - } - } - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ], - "description": "How the request was authenticated" - }, - "authenticatedUser": { - "type": "object", - "description": "User information (only for session auth)", - "properties": { - "id": { - "type": "string", - "example": "usr_def456ghi789" - }, - "email": { - "type": "string", - "example": "user@example.com" - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid or expired API key" - } - } - } - } - } - }, - "404": { - "description": "Risk not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Risk with ID rsk_abc123def456 not found in organization org_abc123def456" - } - } - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Internal server error" - } - } - } - } - } + "description": "" } }, "security": [ @@ -4608,33 +3863,33 @@ "apikey": [] } ], - "summary": "Delete organization risk", + "summary": "List check definitions for a provider", "tags": [ - "Risks" + "Integrations" ], + "description": "List check definitions for a provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Delete organization risk | Comp AI API", - "sidebarTitle": "Delete organization risk", - "description": "Delete an organization risk that no longer needs active tracking in the risk register or compliance program.", - "og:title": "Delete organization risk | Comp AI API", - "og:description": "Delete an organization risk that no longer needs active tracking in the risk register or compliance program." + "title": "List check definitions for a provider | Comp AI API", + "sidebarTitle": "List check definitions for a provider", + "description": "List check definitions for a provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "List check definitions for a provider | Comp AI API", + "og:description": "List check definitions for a provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "delete-risk" + "name": "list-provider-checks" } } }, - "/v1/vendors/global/search": { + "/v1/integrations/checks/connections/{connectionId}": { "get": { - "operationId": "VendorsController_searchGlobalVendors_v1", + "operationId": "ChecksController_listConnectionChecks_v1", "parameters": [ { - "name": "name", - "required": false, - "in": "query", - "description": "Vendor name to search for", + "name": "connectionId", + "required": true, + "in": "path", "schema": { "type": "string" } @@ -4650,488 +3905,143 @@ "apikey": [] } ], - "summary": "Search global vendors", + "summary": "List checks for a connection", "tags": [ - "Vendors" + "Integrations" ], - "description": "Search global vendor records to prefill vendor profiles and speed up third-party risk assessment workflows.", + "description": "List checks for a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Search global vendors | Comp AI API", - "sidebarTitle": "Search global vendors", - "description": "Search global vendor records to prefill vendor profiles and speed up third-party risk assessment workflows.", - "og:title": "Search global vendors | Comp AI API", - "og:description": "Search global vendor records to prefill vendor profiles and speed up third-party risk assessment workflows." + "title": "List checks for a connection | Comp AI API", + "sidebarTitle": "List checks for a connection", + "description": "List checks for a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "List checks for a connection | Comp AI API", + "og:description": "List checks for a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." } }, "x-speakeasy-mcp": { - "name": "search-global-vendors" + "name": "list-connection-checks" } } }, - "/v1/vendors": { - "get": { - "description": "List third-party vendors with risk level, owner, assessment status, and Trust Center visibility for vendor risk management.", - "operationId": "VendorsController_getAllVendors_v1", - "parameters": [], + "/v1/integrations/checks/connections/{connectionId}/run": { + "post": { + "operationId": "ChecksController_runConnectionChecks_v1", + "parameters": [ + { + "name": "connectionId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RunChecksDto" + } + } + } + }, "responses": { - "200": { - "description": "Vendors retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Vendor ID", - "example": "vnd_abc123def456" - }, - "name": { - "type": "string", - "description": "Vendor name", - "example": "CloudTech Solutions Inc." - }, - "description": { - "type": "string", - "description": "Vendor description", - "example": "Cloud infrastructure provider offering AWS-like services" - }, - "category": { - "type": "string", - "enum": [ - "cloud", - "infrastructure", - "software_as_a_service", - "finance", - "marketing", - "sales", - "hr", - "other" - ], - "example": "cloud" - }, - "status": { - "type": "string", - "enum": [ - "not_assessed", - "in_progress", - "assessed" - ], - "example": "not_assessed" - }, - "inherentProbability": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "possible" - }, - "inherentImpact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "moderate" - }, - "residualProbability": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "unlikely" - }, - "residualImpact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "minor" - }, - "website": { - "type": "string", - "nullable": true, - "example": "https://www.cloudtechsolutions.com" - }, - "assigneeId": { - "type": "string", - "nullable": true, - "description": "ID of the user assigned to manage this vendor", - "example": "mem_abc123def456" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "When the vendor was created" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "When the vendor was last updated" - } - } - } - }, - "count": { - "type": "number", - "description": "Total number of vendors", - "example": 12 - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ], - "description": "How the request was authenticated" - }, - "authenticatedUser": { - "type": "object", - "description": "User information (only for session auth)", - "properties": { - "id": { - "type": "string", - "example": "usr_def456ghi789" - }, - "email": { - "type": "string", - "example": "user@example.com" - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid or expired API key" - } - } - } - } - } - }, - "404": { - "description": "Organization not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Organization with ID org_abc123def456 not found" - } - } - } - } + "201": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Run integration checks", + "tags": [ + "Integrations" + ], + "description": "Run all compliance checks for an integration connection and capture results as automated evidence.", + "x-mint": { + "metadata": { + "title": "Run integration checks | Comp AI API", + "sidebarTitle": "Run integration checks", + "description": "Run all compliance checks for an integration connection and capture results as automated evidence.", + "og:title": "Run integration checks | Comp AI API", + "og:description": "Run all compliance checks for an integration connection and capture results as automated evidence." + } + }, + "x-speakeasy-mcp": { + "name": "run-connection-checks" + } + } + }, + "/v1/integrations/checks/connections/{connectionId}/run/{checkId}": { + "post": { + "operationId": "ChecksController_runSingleCheck_v1", + "parameters": [ + { + "name": "connectionId", + "required": true, + "in": "path", + "schema": { + "type": "string" } }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Internal server error" - } - } - } - } + { + "name": "checkId", + "required": true, + "in": "path", + "schema": { + "type": "string" } } + ], + "responses": { + "201": { + "description": "" + } }, "security": [ { "apikey": [] } ], - "summary": "List vendors", + "summary": "Run a single check on a connection", "tags": [ - "Vendors" + "Integrations" ], + "description": "Run a single check on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "List vendors | Comp AI API", - "sidebarTitle": "List vendors", - "description": "List third-party vendors with risk level, owner, assessment status, and Trust Center visibility for vendor risk management.", - "og:title": "List vendors | Comp AI API", - "og:description": "List third-party vendors with risk level, owner, assessment status, and Trust Center visibility for vendor risk management." + "title": "Run a single check on a connection | Comp AI API", + "sidebarTitle": "Run a single check on a connection", + "description": "Run a single check on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Run a single check on a connection | Comp AI API", + "og:description": "Run a single check on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "get-all-vendors" + "name": "run-single-check" } - }, - "post": { - "description": "Create a vendor record so teams can track third-party risk, assessment evidence, owner, category, and compliance status.", - "operationId": "VendorsController_createVendor_v1", - "parameters": [], - "requestBody": { - "required": true, - "description": "Vendor creation data", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateVendorDto" - } + } + }, + "/v1/integrations/variables/providers/{providerSlug}": { + "get": { + "operationId": "VariablesController_getProviderVariables_v1", + "parameters": [ + { + "name": "providerSlug", + "required": true, + "in": "path", + "schema": { + "type": "string" } } - }, + ], "responses": { - "201": { - "description": "Vendor created successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Vendor ID", - "example": "vnd_abc123def456" - }, - "name": { - "type": "string", - "description": "Vendor name", - "example": "CloudTech Solutions Inc." - }, - "description": { - "type": "string", - "description": "Vendor description", - "example": "Cloud infrastructure provider offering AWS-like services including compute, storage, and networking solutions for enterprise customers." - }, - "category": { - "type": "string", - "enum": [ - "cloud", - "infrastructure", - "software_as_a_service", - "finance", - "marketing", - "sales", - "hr", - "other" - ], - "example": "cloud" - }, - "status": { - "type": "string", - "enum": [ - "not_assessed", - "in_progress", - "assessed" - ], - "example": "not_assessed" - }, - "inherentProbability": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "possible" - }, - "inherentImpact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "moderate" - }, - "residualProbability": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "unlikely" - }, - "residualImpact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "minor" - }, - "website": { - "type": "string", - "nullable": true, - "example": "https://www.cloudtechsolutions.com" - }, - "organizationId": { - "type": "string", - "example": "org_abc123def456" - }, - "assigneeId": { - "type": "string", - "nullable": true, - "description": "ID of the user assigned to manage this vendor", - "example": "mem_abc123def456" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "When the vendor was created" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "When the vendor was last updated" - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ], - "description": "How the request was authenticated" - }, - "authenticatedUser": { - "type": "object", - "description": "User information (only for session auth)", - "properties": { - "id": { - "type": "string", - "example": "usr_def456ghi789" - }, - "email": { - "type": "string", - "example": "user@example.com" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request - Invalid input data", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "array", - "items": { - "type": "string" - }, - "example": [ - "name should not be empty", - "description should not be empty", - "category must be a valid enum value", - "website must be a URL address" - ] - }, - "error": { - "type": "string", - "example": "Bad Request" - }, - "statusCode": { - "type": "number", - "example": 400 - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid or expired API key" - } - } - } - } - } - }, - "404": { - "description": "Organization not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Organization with ID org_abc123def456 not found" - } - } - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Internal server error" - } - } - } - } - } + "200": { + "description": "" } }, "security": [ @@ -5139,229 +4049,41 @@ "apikey": [] } ], - "summary": "Create vendor", + "summary": "List variable definitions for a provider", "tags": [ - "Vendors" + "Integrations" ], + "description": "List variable definitions for a provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Create vendor | Comp AI API", - "sidebarTitle": "Create vendor", - "description": "Create a vendor record so teams can track third-party risk, assessment evidence, owner, category, and compliance status.", - "og:title": "Create vendor | Comp AI API", - "og:description": "Create a vendor record so teams can track third-party risk, assessment evidence, owner, category, and compliance status." + "title": "List variable definitions for a provider | Comp AI API", + "sidebarTitle": "List variable definitions for a provider", + "description": "List variable definitions for a provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "List variable definitions for a provider | Comp AI API", + "og:description": "List variable definitions for a provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "create-vendor" + "name": "get-provider-variables" } } }, - "/v1/vendors/{id}": { + "/v1/integrations/variables/connections/{connectionId}": { "get": { - "description": "Retrieve one vendor record with ownership, review status, risk context, and third-party compliance metadata.", - "operationId": "VendorsController_getVendorById_v1", + "operationId": "VariablesController_getConnectionVariables_v1", "parameters": [ { - "name": "id", + "name": "connectionId", "required": true, "in": "path", - "description": "Vendor ID", "schema": { - "example": "vnd_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "Vendor retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Vendor ID", - "example": "vnd_abc123def456" - }, - "name": { - "type": "string", - "description": "Vendor name", - "example": "CloudTech Solutions Inc." - }, - "description": { - "type": "string", - "description": "Vendor description", - "example": "Cloud infrastructure provider offering AWS-like services including compute, storage, and networking solutions for enterprise customers." - }, - "category": { - "type": "string", - "enum": [ - "cloud", - "infrastructure", - "software_as_a_service", - "finance", - "marketing", - "sales", - "hr", - "other" - ], - "example": "cloud" - }, - "status": { - "type": "string", - "enum": [ - "not_assessed", - "in_progress", - "assessed" - ], - "example": "not_assessed" - }, - "inherentProbability": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "possible" - }, - "inherentImpact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "moderate" - }, - "residualProbability": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "unlikely" - }, - "residualImpact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "minor" - }, - "website": { - "type": "string", - "nullable": true, - "example": "https://www.cloudtechsolutions.com" - }, - "organizationId": { - "type": "string", - "example": "org_abc123def456" - }, - "assigneeId": { - "type": "string", - "nullable": true, - "description": "ID of the user assigned to manage this vendor", - "example": "mem_abc123def456" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "When the vendor was created" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "When the vendor was last updated" - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ], - "description": "How the request was authenticated" - }, - "authenticatedUser": { - "type": "object", - "description": "User information (only for session auth)", - "properties": { - "id": { - "type": "string", - "example": "usr_def456ghi789" - }, - "email": { - "type": "string", - "example": "user@example.com" - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid or expired API key" - } - } - } - } - } - }, - "404": { - "description": "Vendor not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Vendor with ID vnd_abc123def456 not found in organization org_abc123def456" - } - } - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Internal server error" - } - } - } - } - } + "description": "" } }, "security": [ @@ -5369,270 +4091,99 @@ "apikey": [] } ], - "summary": "Get vendor details", + "summary": "List connection variables", "tags": [ - "Vendors" + "Integrations" ], + "description": "List connection variables in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Get vendor details | Comp AI API", - "sidebarTitle": "Get vendor details", - "description": "Retrieve one vendor record with ownership, review status, risk context, and third-party compliance metadata.", - "og:title": "Get vendor details | Comp AI API", - "og:description": "Retrieve one vendor record with ownership, review status, risk context, and third-party compliance metadata." + "title": "List connection variables | Comp AI API", + "sidebarTitle": "List connection variables", + "description": "List connection variables in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "List connection variables | Comp AI API", + "og:description": "List connection variables in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." } }, "x-speakeasy-mcp": { - "name": "get-vendor-by-id" + "name": "get-connection-variables" } }, - "patch": { - "description": "Update vendor ownership, risk attributes, review metadata, and third-party compliance context for an organization.", - "operationId": "VendorsController_updateVendor_v1", + "post": { + "operationId": "VariablesController_saveConnectionVariables_v1", "parameters": [ { - "name": "id", + "name": "connectionId", "required": true, "in": "path", - "description": "Vendor ID", "schema": { - "example": "vnd_abc123def456", "type": "string" } } ], "requestBody": { "required": true, - "description": "Vendor update data", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateVendorDto" + "$ref": "#/components/schemas/SaveVariablesDto" } } } }, + "responses": { + "201": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Update connection variables", + "tags": [ + "Integrations" + ], + "description": "Update connection variables in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "Update connection variables | Comp AI API", + "sidebarTitle": "Update connection variables", + "description": "Update connection variables in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "Update connection variables | Comp AI API", + "og:description": "Update connection variables in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + } + }, + "x-speakeasy-mcp": { + "name": "save-connection-variables" + } + } + }, + "/v1/integrations/variables/connections/{connectionId}/options/{variableId}": { + "get": { + "operationId": "VariablesController_fetchVariableOptions_v1", + "parameters": [ + { + "name": "connectionId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + }, + { + "name": "variableId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { - "description": "Vendor updated successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Vendor ID", - "example": "vnd_abc123def456" - }, - "name": { - "type": "string", - "description": "Vendor name", - "example": "CloudTech Solutions Inc." - }, - "description": { - "type": "string", - "description": "Vendor description", - "example": "Cloud infrastructure provider offering AWS-like services including compute, storage, and networking solutions for enterprise customers." - }, - "category": { - "type": "string", - "enum": [ - "cloud", - "infrastructure", - "software_as_a_service", - "finance", - "marketing", - "sales", - "hr", - "other" - ], - "example": "cloud" - }, - "status": { - "type": "string", - "enum": [ - "not_assessed", - "in_progress", - "assessed" - ], - "example": "assessed" - }, - "inherentProbability": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "possible" - }, - "inherentImpact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "moderate" - }, - "residualProbability": { - "type": "string", - "enum": [ - "very_unlikely", - "unlikely", - "possible", - "likely", - "very_likely" - ], - "example": "unlikely" - }, - "residualImpact": { - "type": "string", - "enum": [ - "insignificant", - "minor", - "moderate", - "major", - "severe" - ], - "example": "minor" - }, - "website": { - "type": "string", - "nullable": true, - "example": "https://www.cloudtechsolutions.com" - }, - "organizationId": { - "type": "string", - "example": "org_abc123def456" - }, - "assigneeId": { - "type": "string", - "nullable": true, - "description": "ID of the user assigned to manage this vendor", - "example": "mem_abc123def456" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "When the vendor was created" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "When the vendor was last updated" - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ], - "description": "How the request was authenticated" - }, - "authenticatedUser": { - "type": "object", - "description": "User information (only for session auth)", - "properties": { - "id": { - "type": "string", - "example": "usr_def456ghi789" - }, - "email": { - "type": "string", - "example": "user@example.com" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request - Invalid input data", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "array", - "items": { - "type": "string" - }, - "example": [ - "name should not be empty", - "category must be a valid enum value", - "status must be a valid enum value", - "website must be a URL address" - ] - }, - "error": { - "type": "string", - "example": "Bad Request" - }, - "statusCode": { - "type": "number", - "example": 400 - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid or expired API key" - } - } - } - } - } - }, - "404": { - "description": "Vendor not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Vendor with ID vnd_abc123def456 not found in organization org_abc123def456" - } - } - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Internal server error" - } - } - } - } - } + "description": "" } }, "security": [ @@ -5640,139 +4191,41 @@ "apikey": [] } ], - "summary": "Update vendor record", + "summary": "Get options for a connection variable", "tags": [ - "Vendors" + "Integrations" ], + "description": "Get options for a connection variable in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Update vendor record | Comp AI API", - "sidebarTitle": "Update vendor record", - "description": "Update vendor ownership, risk attributes, review metadata, and third-party compliance context for an organization.", - "og:title": "Update vendor record | Comp AI API", - "og:description": "Update vendor ownership, risk attributes, review metadata, and third-party compliance context for an organization." + "title": "Get options for a connection variable | Comp AI API", + "sidebarTitle": "Get options for a connection variable", + "description": "Get options for a connection variable in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Get options for a connection variable | Comp AI API", + "og:description": "Get options for a connection variable in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "update-vendor" + "name": "fetch-variable-options" } - }, - "delete": { - "description": "Permanently removes a vendor from the organization. This action cannot be undone.", - "operationId": "VendorsController_deleteVendor_v1", + } + }, + "/v1/integrations/tasks/template/{templateId}/checks": { + "get": { + "operationId": "TaskIntegrationsController_getChecksForTaskTemplate_v1", "parameters": [ { - "name": "id", + "name": "templateId", "required": true, "in": "path", - "description": "Vendor ID", "schema": { - "example": "vnd_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "Vendor deleted successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Vendor deleted successfully" - }, - "deletedVendor": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Deleted vendor ID", - "example": "vnd_abc123def456" - }, - "name": { - "type": "string", - "description": "Deleted vendor name", - "example": "CloudTech Solutions Inc." - } - } - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ], - "description": "How the request was authenticated" - }, - "authenticatedUser": { - "type": "object", - "description": "User information (only for session auth)", - "properties": { - "id": { - "type": "string", - "example": "usr_def456ghi789" - }, - "email": { - "type": "string", - "example": "user@example.com" - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid or expired API key" - } - } - } - } - } - }, - "404": { - "description": "Vendor not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Vendor with ID vnd_abc123def456 not found in organization org_abc123def456" - } - } - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Internal server error" - } - } - } - } - } + "description": "" } }, "security": [ @@ -5780,41 +4233,40 @@ "apikey": [] } ], - "summary": "Delete vendor", + "summary": "List checks for a task template", "tags": [ - "Vendors" + "Integrations" ], + "description": "List checks for a task template in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Delete vendor | Comp AI API", - "sidebarTitle": "Delete vendor", - "description": "Permanently removes a vendor from the organization. This action cannot be undone.", - "og:title": "Delete vendor | Comp AI API", - "og:description": "Permanently removes a vendor from the organization. This action cannot be undone." + "title": "List checks for a task template | Comp AI API", + "sidebarTitle": "List checks for a task template", + "description": "List checks for a task template in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "List checks for a task template | Comp AI API", + "og:description": "List checks for a task template in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "delete-vendor" + "name": "get-checks-for-task-template" } } }, - "/v1/vendors/{id}/trigger-assessment": { - "post": { - "operationId": "VendorsController_triggerAssessment_v1", + "/v1/integrations/tasks/{taskId}/checks": { + "get": { + "operationId": "TaskIntegrationsController_getChecksForTask_v1", "parameters": [ { - "name": "id", + "name": "taskId", "required": true, "in": "path", - "description": "Vendor ID", "schema": { - "example": "vnd_abc123def456", "type": "string" } } ], "responses": { - "201": { + "200": { "description": "" } }, @@ -5823,443 +4275,280 @@ "apikey": [] } ], - "summary": "Trigger vendor risk assessment", + "summary": "List checks attached to a task", "tags": [ - "Vendors" + "Integrations" ], - "description": "Trigger a vendor risk assessment so Comp AI can update third-party risk evidence and vendor security review status.", + "description": "List checks attached to a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Trigger vendor risk assessment | Comp AI API", - "sidebarTitle": "Trigger vendor risk assessment", - "description": "Trigger a vendor risk assessment so Comp AI can update third-party risk evidence and vendor security review status.", - "og:title": "Trigger vendor risk assessment | Comp AI API", - "og:description": "Trigger a vendor risk assessment so Comp AI can update third-party risk evidence and vendor security review status." + "title": "List checks attached to a task | Comp AI API", + "sidebarTitle": "List checks attached to a task", + "description": "List checks attached to a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "List checks attached to a task | Comp AI API", + "og:description": "List checks attached to a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "trigger-assessment" + "name": "get-checks-for-task" } } }, - "/v1/context": { - "get": { - "description": "List organization context entries used as approved source material for evidence, questionnaires, policies, and AI workflows.", - "operationId": "ContextController_getAllContext_v1", + "/v1/integrations/tasks/{taskId}/run-check": { + "post": { + "operationId": "TaskIntegrationsController_runCheckForTask_v1", "parameters": [ { - "name": "search", - "required": false, - "in": "query", - "description": "Search by question text", + "name": "taskId", + "required": true, + "in": "path", "schema": { "type": "string" } - }, + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RunCheckForTaskDto" + } + } + } + }, + "responses": { + "201": { + "description": "" + } + }, + "security": [ { - "name": "page", - "required": false, - "in": "query", - "description": "Page number (1-based)", + "apikey": [] + } + ], + "summary": "Run a check for a task", + "tags": [ + "Integrations" + ], + "description": "Run a check for a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "Run a check for a task | Comp AI API", + "sidebarTitle": "Run a check for a task", + "description": "Run a check for a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "Run a check for a task | Comp AI API", + "og:description": "Run a check for a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + } + }, + "x-speakeasy-mcp": { + "name": "run-check-for-task" + } + } + }, + "/v1/integrations/tasks/{taskId}/checks/disconnect": { + "post": { + "operationId": "TaskIntegrationsController_disconnectCheckFromTask_v1", + "parameters": [ + { + "name": "taskId", + "required": true, + "in": "path", "schema": { "type": "string" } - }, + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ToggleCheckForTaskDto" + } + } + } + }, + "responses": { + "201": { + "description": "" + } + }, + "security": [ { - "name": "perPage", - "required": false, - "in": "query", - "description": "Items per page", + "apikey": [] + } + ], + "summary": "Disconnect checks from a task", + "tags": [ + "Integrations" + ], + "description": "Disconnect checks from a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "Disconnect checks from a task | Comp AI API", + "sidebarTitle": "Disconnect checks from a task", + "description": "Disconnect checks from a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "Disconnect checks from a task | Comp AI API", + "og:description": "Disconnect checks from a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + } + }, + "x-speakeasy-mcp": { + "name": "disconnect-check-from-task" + } + } + }, + "/v1/integrations/tasks/{taskId}/checks/reconnect": { + "post": { + "operationId": "TaskIntegrationsController_reconnectCheckToTask_v1", + "parameters": [ + { + "name": "taskId", + "required": true, + "in": "path", "schema": { "type": "string" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ToggleCheckForTaskDto" + } + } + } + }, "responses": { - "200": { - "description": "Context entries retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "question": { - "type": "string" - }, - "answer": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - } - } - } - }, - "count": { - "type": "number" - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ] - } - } - }, - "example": { - "data": [ - { - "id": "ctx_abc123def456", - "organizationId": "org_xyz789uvw012", - "question": "How do we handle user authentication in our application?", - "answer": "We use a hybrid authentication system supporting both API keys and session-based authentication.", - "tags": [ - "authentication", - "security", - "api", - "sessions" - ], - "createdAt": "2024-01-15T10:30:00.000Z", - "updatedAt": "2024-01-15T14:20:00.000Z" - }, - { - "id": "ctx_ghi789jkl012", - "organizationId": "org_xyz789uvw012", - "question": "What database do we use and why?", - "answer": "We use PostgreSQL as our primary database with Prisma as the ORM.", - "tags": [ - "database", - "postgresql", - "prisma", - "architecture" - ], - "createdAt": "2024-01-14T09:15:00.000Z", - "updatedAt": "2024-01-14T09:15:00.000Z" - } - ], - "count": 2, - "authType": "apikey" - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid or missing authentication", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "statusCode": { - "type": "number", - "example": 401 - } - } - }, - "example": { - "message": "Unauthorized", - "statusCode": 401 - } - } + "201": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Reconnect checks to a task", + "tags": [ + "Integrations" + ], + "description": "Reconnect checks to a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "Reconnect checks to a task | Comp AI API", + "sidebarTitle": "Reconnect checks to a task", + "description": "Reconnect checks to a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "Reconnect checks to a task | Comp AI API", + "og:description": "Reconnect checks to a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + } + }, + "x-speakeasy-mcp": { + "name": "reconnect-check-to-task" + } + } + }, + "/v1/integrations/tasks/{taskId}/runs": { + "get": { + "operationId": "TaskIntegrationsController_getTaskCheckRuns_v1", + "parameters": [ + { + "name": "taskId", + "required": true, + "in": "path", + "schema": { + "type": "string" } }, - "404": { - "description": "Organization not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "statusCode": { - "type": "number", - "example": 404 - } - } - }, - "example": { - "message": "Organization not found", - "statusCode": 404 - } - } + { + "name": "limit", + "required": true, + "in": "query", + "schema": { + "type": "string" } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "statusCode": { - "type": "number", - "example": 500 - } - } - }, - "example": { - "message": "Internal server error", - "statusCode": 500 - } - } + } + ], + "responses": { + "200": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "List check runs for a task", + "tags": [ + "Integrations" + ], + "description": "List check runs for a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "List check runs for a task | Comp AI API", + "sidebarTitle": "List check runs for a task", + "description": "List check runs for a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "List check runs for a task | Comp AI API", + "og:description": "List check runs for a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + } + }, + "x-speakeasy-mcp": { + "name": "get-task-check-runs" + } + } + }, + "/v1/integrations/sync/google-workspace/employees": { + "post": { + "operationId": "SyncController_syncGoogleWorkspaceEmployees_v1", + "parameters": [ + { + "name": "connectionId", + "required": true, + "in": "query", + "schema": { + "type": "string" } } + ], + "responses": { + "201": { + "description": "" + } }, "security": [ { "apikey": [] } ], - "summary": "List organization context", + "summary": "Sync Google Workspace employees", "tags": [ - "Context" + "Integrations" ], + "description": "Sync Google Workspace employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "List organization context | Comp AI API", - "sidebarTitle": "List organization context", - "description": "List organization context entries used as approved source material for evidence, questionnaires, policies, and AI workflows.", - "og:title": "List organization context | Comp AI API", - "og:description": "List organization context entries used as approved source material for evidence, questionnaires, policies, and AI workflows." + "title": "Sync Google Workspace employees | Comp AI API", + "sidebarTitle": "Sync Google Workspace employees", + "description": "Sync Google Workspace employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Sync Google Workspace employees | Comp AI API", + "og:description": "Sync Google Workspace employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "get-all-context" + "name": "sync-google-workspace-employees" } - }, + } + }, + "/v1/integrations/sync/google-workspace/status": { "post": { - "description": "Creates a new context entry for the authenticated organization. All required fields must be provided.", - "operationId": "ContextController_createContext_v1", + "operationId": "SyncController_getGoogleWorkspaceStatus_v1", "parameters": [], - "requestBody": { - "required": true, - "description": "Context entry data", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateContextDto" - }, - "examples": { - "Authentication Context": { - "value": { - "question": "How do we handle user authentication in our application?", - "answer": "We use a hybrid authentication system supporting both API keys and session-based authentication. API keys are used for programmatic access while sessions are used for web interface interactions.", - "tags": [ - "authentication", - "security", - "api", - "sessions" - ] - } - }, - "Database Context": { - "value": { - "question": "What database do we use and why?", - "answer": "We use PostgreSQL as our primary database with Prisma as the ORM. PostgreSQL provides excellent performance, ACID compliance, and supports advanced features like JSON columns and full-text search.", - "tags": [ - "database", - "postgresql", - "prisma", - "architecture" - ] - } - } - } - } - } - }, "responses": { "201": { - "description": "Context entry created successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "question": { - "type": "string" - }, - "answer": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ] - } - } - }, - "example": { - "id": "ctx_abc123def456", - "organizationId": "org_xyz789uvw012", - "question": "How do we handle user authentication in our application?", - "answer": "We use a hybrid authentication system supporting both API keys and session-based authentication.", - "tags": [ - "authentication", - "security", - "api", - "sessions" - ], - "createdAt": "2024-01-15T10:30:00.000Z", - "updatedAt": "2024-01-15T10:30:00.000Z", - "authType": "apikey" - } - } - } - }, - "400": { - "description": "Bad request - Invalid input data", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "array", - "items": { - "type": "string" - } - }, - "error": { - "type": "string" - }, - "statusCode": { - "type": "number" - } - } - }, - "example": { - "message": [ - "question should not be empty", - "answer should not be empty" - ], - "error": "Bad Request", - "statusCode": 400 - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid or missing authentication", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "statusCode": { - "type": "number", - "example": 401 - } - } - }, - "example": { - "message": "Unauthorized", - "statusCode": 401 - } - } - } - }, - "404": { - "description": "Organization not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "statusCode": { - "type": "number", - "example": 404 - } - } - }, - "example": { - "message": "Organization not found", - "statusCode": 404 - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "statusCode": { - "type": "number", - "example": 500 - } - } - }, - "example": { - "message": "Internal server error", - "statusCode": 500 - } - } - } + "description": "" } }, "security": [ @@ -6267,176 +4556,41 @@ "apikey": [] } ], - "summary": "Create a new context entry", + "summary": "Get Google Workspace sync status", "tags": [ - "Context" + "Integrations" ], + "description": "Get Google Workspace sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Create a new context entry | Comp AI API", - "sidebarTitle": "Create a new context entry", - "description": "Creates a new context entry for the authenticated organization. All required fields must be provided.", - "og:title": "Create a new context entry | Comp AI API", - "og:description": "Creates a new context entry for the authenticated organization. All required fields must be provided." + "title": "Get Google Workspace sync status | Comp AI API", + "sidebarTitle": "Get Google Workspace sync status", + "description": "Get Google Workspace sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Get Google Workspace sync status | Comp AI API", + "og:description": "Get Google Workspace sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "create-context" + "name": "get-google-workspace-status" } } }, - "/v1/context/{id}": { - "get": { - "description": "Retrieve one organization context entry with source details and approved content for compliance automation workflows.", - "operationId": "ContextController_getContextById_v1", + "/v1/integrations/sync/rippling/employees": { + "post": { + "operationId": "SyncController_syncRipplingEmployees_v1", "parameters": [ { - "name": "id", + "name": "connectionId", "required": true, - "in": "path", - "description": "Context entry ID", + "in": "query", "schema": { - "example": "ctx_abc123def456", "type": "string" } } ], "responses": { - "200": { - "description": "Context entry retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "ctx_abc123def456" - }, - "organizationId": { - "type": "string", - "example": "org_xyz789uvw012" - }, - "question": { - "type": "string" - }, - "answer": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - }, - "example": [ - "authentication", - "security" - ] - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ] - } - } - }, - "example": { - "id": "ctx_abc123def456", - "organizationId": "org_xyz789uvw012", - "question": "How do we handle user authentication in our application?", - "answer": "We use a hybrid authentication system supporting both API keys and session-based authentication.", - "tags": [ - "authentication", - "security", - "api", - "sessions" - ], - "createdAt": "2024-01-15T10:30:00.000Z", - "updatedAt": "2024-01-15T14:20:00.000Z", - "authType": "apikey" - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid or missing authentication", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - }, - "statusCode": { - "type": "number", - "example": 401 - } - } - }, - "example": { - "message": "Unauthorized", - "statusCode": 401 - } - } - } - }, - "404": { - "description": "Context entry not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "statusCode": { - "type": "number", - "example": 404 - } - } - }, - "example": { - "message": "Context entry with ID ctx_abc123def456 not found in organization org_xyz789uvw012", - "statusCode": 404 - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "statusCode": { - "type": "number", - "example": 500 - } - } - }, - "example": { - "message": "Internal server error", - "statusCode": 500 - } - } - } + "201": { + "description": "" } }, "security": [ @@ -6444,137 +4598,32 @@ "apikey": [] } ], - "summary": "Get organization context", + "summary": "Sync Rippling employees", "tags": [ - "Context" + "Integrations" ], + "description": "Sync Rippling employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Get organization context | Comp AI API", - "sidebarTitle": "Get organization context", - "description": "Retrieve one organization context entry with source details and approved content for compliance automation workflows.", - "og:title": "Get organization context | Comp AI API", - "og:description": "Retrieve one organization context entry with source details and approved content for compliance automation workflows." + "title": "Sync Rippling employees | Comp AI API", + "sidebarTitle": "Sync Rippling employees", + "description": "Sync Rippling employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "Sync Rippling employees | Comp AI API", + "og:description": "Sync Rippling employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." } }, "x-speakeasy-mcp": { - "name": "get-context-by-id" + "name": "sync-rippling-employees" } - }, - "patch": { - "description": "Update an organization context entry so approved business details stay current for evidence and questionnaire automation.", - "operationId": "ContextController_updateContext_v1", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "description": "Context entry ID", - "schema": { - "example": "ctx_abc123def456", - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "description": "Partial context entry data to update", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateContextDto" - }, - "examples": { - "Update Tags": { - "value": { - "tags": [ - "authentication", - "security", - "api", - "sessions", - "updated" - ] - } - }, - "Update Answer": { - "value": { - "answer": "Updated: We use a hybrid authentication system supporting both API keys and session-based authentication. Recent updates include support for OAuth2 providers." - } - } - } - } - } - }, + } + }, + "/v1/integrations/sync/rippling/status": { + "post": { + "operationId": "SyncController_getRipplingStatus_v1", + "parameters": [], "responses": { - "200": { - "description": "Context entry updated successfully", - "content": { - "application/json": { - "example": { - "id": "ctx_abc123def456", - "organizationId": "org_xyz789uvw012", - "question": "How do we handle user authentication in our application?", - "answer": "Updated: We use a hybrid authentication system supporting both API keys and session-based authentication with OAuth2 support.", - "tags": [ - "authentication", - "security", - "api", - "sessions", - "oauth2" - ], - "createdAt": "2024-01-15T10:30:00.000Z", - "updatedAt": "2024-01-15T15:45:00.000Z", - "authType": "apikey" - } - } - } - }, - "400": { - "description": "Bad request - Invalid input data", - "content": { - "application/json": { - "example": { - "message": [ - "tags must be an array of strings" - ], - "error": "Bad Request", - "statusCode": 400 - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid or missing authentication", - "content": { - "application/json": { - "example": { - "message": "Unauthorized", - "statusCode": 401 - } - } - } - }, - "404": { - "description": "Context entry not found", - "content": { - "application/json": { - "example": { - "message": "Context entry with ID ctx_abc123def456 not found in organization org_xyz789uvw012", - "statusCode": 404 - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "example": { - "message": "Internal server error", - "statusCode": 500 - } - } - } + "201": { + "description": "" } }, "security": [ @@ -6582,148 +4631,41 @@ "apikey": [] } ], - "summary": "Update organization context", + "summary": "Get Rippling sync status", "tags": [ - "Context" + "Integrations" ], + "description": "Get Rippling sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Update organization context | Comp AI API", - "sidebarTitle": "Update organization context", - "description": "Update an organization context entry so approved business details stay current for evidence and questionnaire automation.", - "og:title": "Update organization context | Comp AI API", - "og:description": "Update an organization context entry so approved business details stay current for evidence and questionnaire automation." + "title": "Get Rippling sync status | Comp AI API", + "sidebarTitle": "Get Rippling sync status", + "description": "Get Rippling sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "Get Rippling sync status | Comp AI API", + "og:description": "Get Rippling sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." } }, "x-speakeasy-mcp": { - "name": "update-context" + "name": "get-rippling-status" } - }, - "delete": { - "description": "Permanently removes a context entry from the organization. This action cannot be undone.", - "operationId": "ContextController_deleteContext_v1", + } + }, + "/v1/integrations/sync/jumpcloud/employees": { + "post": { + "operationId": "SyncController_syncJumpCloudEmployees_v1", "parameters": [ { - "name": "id", + "name": "connectionId", "required": true, - "in": "path", - "description": "Context entry ID", + "in": "query", "schema": { - "example": "ctx_abc123def456", "type": "string" } } ], "responses": { - "200": { - "description": "Context entry deleted successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "deletedContext": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "question": { - "type": "string" - } - } - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ] - } - } - }, - "example": { - "message": "Context entry deleted successfully", - "deletedContext": { - "id": "ctx_abc123def456", - "question": "How do we handle user authentication in our application?" - }, - "authType": "apikey" - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid or missing authentication", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "statusCode": { - "type": "number", - "example": 401 - } - } - }, - "example": { - "message": "Unauthorized", - "statusCode": 401 - } - } - } - }, - "404": { - "description": "Context entry not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "statusCode": { - "type": "number", - "example": 404 - } - } - }, - "example": { - "message": "Context entry with ID ctx_abc123def456 not found in organization org_xyz789uvw012", - "statusCode": 404 - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "statusCode": { - "type": "number", - "example": 500 - } - } - }, - "example": { - "message": "Internal server error", - "statusCode": 500 - } - } - } + "201": { + "description": "" } }, "security": [ @@ -6731,123 +4673,32 @@ "apikey": [] } ], - "summary": "Delete context entry", + "summary": "Sync JumpCloud employees", "tags": [ - "Context" + "Integrations" ], + "description": "Sync JumpCloud employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Delete context entry | Comp AI API", - "sidebarTitle": "Delete context entry", - "description": "Permanently removes a context entry from the organization. This action cannot be undone.", - "og:title": "Delete context entry | Comp AI API", - "og:description": "Permanently removes a context entry from the organization. This action cannot be undone." + "title": "Sync JumpCloud employees | Comp AI API", + "sidebarTitle": "Sync JumpCloud employees", + "description": "Sync JumpCloud employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "Sync JumpCloud employees | Comp AI API", + "og:description": "Sync JumpCloud employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." } }, "x-speakeasy-mcp": { - "name": "delete-context" + "name": "sync-jump-cloud-employees" } } }, - "/v1/devices": { - "get": { - "description": "List managed employee devices with endpoint compliance status, ownership, and security check results for workforce controls.", - "operationId": "DevicesController_getAllDevices_v1", + "/v1/integrations/sync/jumpcloud/status": { + "post": { + "operationId": "SyncController_getJumpCloudStatus_v1", "parameters": [], "responses": { - "200": { - "description": "Devices retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DeviceResponseDto" - } - }, - "count": { - "type": "number", - "description": "Total number of devices", - "example": 25 - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ], - "description": "How the request was authenticated" - }, - "authenticatedUser": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "User ID", - "example": "usr_abc123def456" - }, - "email": { - "type": "string", - "description": "User email", - "example": "user@company.com" - } - } - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid or expired API key" - } - } - } - } - } - }, - "404": { - "description": "Organization not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Organization with ID org_abc123def456 not found" - } - } - } - } - } - }, - "500": { - "description": "Internal server error - FleetDM integration issue", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Organization does not have FleetDM configured" - } - } - } - } - } + "201": { + "description": "" } }, "security": [ @@ -6855,85 +4706,106 @@ "apikey": [] } ], - "summary": "List managed devices", + "summary": "Get JumpCloud sync status", "tags": [ - "Devices" + "Integrations" ], + "description": "Get JumpCloud sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "List managed devices | Comp AI API", - "sidebarTitle": "List managed devices", - "description": "List managed employee devices with endpoint compliance status, ownership, and security check results for workforce controls.", - "og:title": "List managed devices | Comp AI API", - "og:description": "List managed employee devices with endpoint compliance status, ownership, and security check results for workforce controls." + "title": "Get JumpCloud sync status | Comp AI API", + "sidebarTitle": "Get JumpCloud sync status", + "description": "Get JumpCloud sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "Get JumpCloud sync status | Comp AI API", + "og:description": "Get JumpCloud sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." } }, "x-speakeasy-mcp": { - "name": "get-all-devices" + "name": "get-jump-cloud-status" } } }, - "/v1/devices/member/{memberId}": { + "/v1/integrations/sync/employee-sync-provider": { "get": { - "description": "Returns all devices assigned to a specific member within the authenticated organization. Devices are fetched from FleetDM using the member's dedicated fleetDmLabelId.", - "operationId": "DevicesController_getDevicesByMember_v1", - "parameters": [ + "operationId": "SyncController_getEmployeeSyncProvider_v1", + "parameters": [], + "responses": { + "200": { + "description": "" + } + }, + "security": [ { - "name": "memberId", - "required": true, - "in": "path", - "description": "Member ID to get devices for", - "schema": { - "example": "mem_abc123def456", - "type": "string" + "apikey": [] + } + ], + "summary": "Get the currently configured employee sync provider", + "tags": [ + "Integrations" + ], + "description": "Get the currently configured employee sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "Get the currently configured employee sync | Comp AI API", + "sidebarTitle": "Get the currently configured employee sync provider", + "description": "Get the currently configured employee sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage.", + "og:title": "Get the currently configured employee sync | Comp AI API", + "og:description": "Get the currently configured employee sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage." + } + }, + "x-speakeasy-mcp": { + "name": "get-employee-sync-provider" + } + }, + "post": { + "operationId": "SyncController_setEmployeeSyncProvider_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SetEmployeeSyncProviderDto" + } } } + }, + "responses": { + "201": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Set the employee sync provider", + "tags": [ + "Integrations" ], + "description": "Set the employee sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "Set the employee sync provider | Comp AI API", + "sidebarTitle": "Set the employee sync provider", + "description": "Set the employee sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Set the employee sync provider | Comp AI API", + "og:description": "Set the employee sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + } + }, + "x-speakeasy-mcp": { + "name": "set-employee-sync-provider" + } + } + }, + "/v1/integrations/sync/device-sync-provider": { + "get": { + "operationId": "SyncController_getDeviceSyncProvider_v1", + "parameters": [], "responses": { "200": { - "description": "Member devices retrieved successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DevicesByMemberResponseDto" - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } - }, - "404": { - "description": "Organization or member not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Member with ID mem_abc123def456 not found in organization org_abc123def456" - } - } - } - } - } - }, - "500": { - "description": "Internal server error - FleetDM integration issue" + "description": "" } }, "security": [ @@ -6941,49 +4813,72 @@ "apikey": [] } ], - "summary": "Get devices by member ID", + "summary": "Get the currently configured device sync provider", "tags": [ - "Devices" + "Integrations" ], + "description": "Get the currently configured device sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Get devices by member ID | Comp AI API", - "sidebarTitle": "Get devices by member ID", - "description": "Returns all devices assigned to a specific member within the authenticated organization. Devices are fetched from FleetDM using the member's dedicated.", - "og:title": "Get devices by member ID | Comp AI API", - "og:description": "Returns all devices assigned to a specific member within the authenticated organization. Devices are fetched from FleetDM using the member's dedicated." + "title": "Get the currently configured device sync | Comp AI API", + "sidebarTitle": "Get the currently configured device sync provider", + "description": "Get the currently configured device sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage.", + "og:title": "Get the currently configured device sync | Comp AI API", + "og:description": "Get the currently configured device sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage." } }, "x-speakeasy-mcp": { - "name": "get-devices-by-member" + "name": "get-device-sync-provider" + } + }, + "post": { + "operationId": "SyncController_setDeviceSyncProvider_v1", + "parameters": [], + "responses": { + "201": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Set the device sync provider", + "tags": [ + "Integrations" + ], + "description": "Set the device sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-mint": { + "metadata": { + "title": "Set the device sync provider | Comp AI API", + "sidebarTitle": "Set the device sync provider", + "description": "Set the device sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "Set the device sync provider | Comp AI API", + "og:description": "Set the device sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + } + }, + "x-speakeasy-mcp": { + "name": "set-device-sync-provider" } } }, - "/v1/devices/{id}": { - "delete": { - "description": "Delete device in Comp AI. Read and manage employee device inventory and Fleet compliance data used for endpoint security controls.", - "operationId": "DevicesController_deleteDevice_v1", + "/v1/integrations/sync/available-providers": { + "get": { + "operationId": "SyncController_getAvailableSyncProviders_v1", "parameters": [ { - "name": "id", + "name": "syncType", "required": true, - "in": "path", - "description": "Device ID to delete", + "in": "query", "schema": { - "example": "dev_abc123def456", "type": "string" } } ], "responses": { - "204": { - "description": "Device deleted successfully" - }, - "403": { - "description": "Forbidden - only organization owners can delete devices" - }, - "404": { - "description": "Organization or device not found" + "200": { + "description": "" } }, "security": [ @@ -6991,164 +4886,49 @@ "apikey": [] } ], - "summary": "Delete device", + "summary": "List sync providers available to the org", "tags": [ - "Devices" + "Integrations" ], + "description": "List sync providers available to the org in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Delete device | Comp AI API", - "sidebarTitle": "Delete device", - "description": "Delete device in Comp AI. Read and manage employee device inventory and Fleet compliance data used for endpoint security controls.", - "og:title": "Delete device | Comp AI API", - "og:description": "Delete device in Comp AI. Read and manage employee device inventory and Fleet compliance data used for endpoint security controls." + "title": "List sync providers available to the org | Comp AI API", + "sidebarTitle": "List sync providers available to the org", + "description": "List sync providers available to the org in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "List sync providers available to the org | Comp AI API", + "og:description": "List sync providers available to the org in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "delete-device" + "name": "get-available-sync-providers" } } }, - "/v1/policies": { - "get": { - "description": "Lists active compliance policies by default. Use includeArchived=true to include archived rows and excludeContent=true when you only need policy metadata.", - "operationId": "PoliciesController_getAllPolicies_v1", + "/v1/integrations/sync/dynamic/{providerSlug}/employees": { + "post": { + "operationId": "SyncController_syncDynamicProviderEmployees_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, + "name": "providerSlug", + "required": true, + "in": "path", "schema": { "type": "string" } }, { - "name": "excludeContent", - "required": false, + "name": "connectionId", + "required": true, "in": "query", - "description": "When true, omits `content` and `draftContent` from each policy in the response. Use this when listing policies to find one by name/ID — fetch the full content via GET /v1/policies/{id} after.", "schema": { - "type": "boolean" - } - }, - { - "name": "includeArchived", - "required": false, - "in": "query", - "description": "When true, includes user-archived and framework-sync-archived policies in the response. Defaults to false.", - "schema": { - "type": "boolean" + "type": "string" } } ], "responses": { - "200": { - "description": "Policies retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PolicyResponseDto" - }, - "description": "Array of policies" - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ], - "description": "How the request was authenticated" - }, - "authenticatedUser": { - "type": "object", - "description": "Authenticated user information (only present for session auth)", - "properties": { - "id": { - "type": "string", - "description": "User ID", - "example": "usr_abc123def456" - }, - "email": { - "type": "string", - "description": "User email", - "example": "user@company.com" - } - } - } - }, - "required": [ - "data", - "authType" - ] - }, - "example": { - "data": [ - { - "id": "pol_abc123def456", - "name": "Data Privacy Policy", - "description": "This policy outlines how we handle and protect personal data", - "status": "draft", - "content": [ - { - "type": "paragraph", - "attrs": { - "textAlign": null - }, - "content": [ - { - "type": "text", - "text": "This policy outlines our commitment to protecting personal data." - } - ] - } - ], - "frequency": "yearly", - "department": "IT", - "isRequiredToSign": true, - "signedBy": [], - "reviewDate": "2024-12-31T00:00:00.000Z", - "isArchived": false, - "archivedAt": null, - "createdAt": "2024-01-01T00:00:00.000Z", - "updatedAt": "2024-01-15T00:00:00.000Z", - "lastArchivedAt": null, - "lastPublishedAt": "2024-01-10T00:00:00.000Z", - "organizationId": "org_abc123def456", - "assigneeId": "usr_abc123def456", - "approverId": "usr_xyz789abc123", - "policyTemplateId": null - } - ], - "authType": "session", - "authenticatedUser": { - "id": "usr_abc123def456", - "email": "user@company.com" - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } + "201": { + "description": "" } }, "security": [ @@ -7156,135 +4936,49 @@ "apikey": [] } ], - "summary": "List compliance policies", + "summary": "Sync employees for a dynamic provider", "tags": [ - "Policies" + "Integrations" ], - "x-speakeasy-mcp": { - "name": "list-policies" - }, + "description": "Sync employees for a dynamic provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "List compliance policies | Comp AI API", - "sidebarTitle": "List compliance policies", - "description": "Lists active compliance policies by default. Use includeArchived=true to include archived rows and excludeContent=true when you only need policy metadata.", - "og:title": "List compliance policies | Comp AI API", - "og:description": "Lists active compliance policies by default. Use includeArchived=true to include archived rows and excludeContent=true when you only need policy metadata." + "title": "Sync employees for a dynamic provider | Comp AI API", + "sidebarTitle": "Sync employees for a dynamic provider", + "description": "Sync employees for a dynamic provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Sync employees for a dynamic provider | Comp AI API", + "og:description": "Sync employees for a dynamic provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, - "x-codeSamples": [ - { - "lang": "bash", - "label": "List policies", - "source": "curl --request GET --url \"https://api.trycomp.ai/v1/policies\" --header \"X-API-Key: $COMP_AI_API_KEY\"" - }, - { - "lang": "bash", - "label": "List policies (lightweight, no content)", - "source": "curl --request GET --url \"https://api.trycomp.ai/v1/policies?excludeContent=true\" --header \"X-API-Key: $COMP_AI_API_KEY\"" - }, - { - "lang": "bash", - "label": "List policies including archived", - "source": "curl --request GET --url \"https://api.trycomp.ai/v1/policies?includeArchived=true\" --header \"X-API-Key: $COMP_AI_API_KEY\"" - } - ] - }, + "x-speakeasy-mcp": { + "name": "sync-dynamic-provider-employees" + } + } + }, + "/v1/integrations/sync/dynamic/{providerSlug}/devices": { "post": { - "description": "Create a policy record that can be reviewed, versioned, published, linked to controls, and used as source evidence for questionnaires.", - "operationId": "PoliciesController_createPolicy_v1", + "operationId": "SyncController_syncDynamicProviderDevices_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, + "name": "providerSlug", + "required": true, + "in": "path", "schema": { "type": "string" } - } - ], - "requestBody": { - "required": true, - "description": "Policy creation data", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreatePolicyDto" - } + }, + { + "name": "connectionId", + "required": true, + "in": "query", + "schema": { + "type": "string" } } - }, + ], "responses": { "201": { - "description": "Policy created successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PolicyResponseDto" - }, - "example": { - "id": "pol_abc123def456", - "name": "Data Privacy Policy", - "description": "This policy outlines how we handle and protect personal data", - "status": "draft", - "content": [ - { - "type": "paragraph", - "content": [ - { - "type": "text", - "text": "Policy content here" - } - ] - } - ], - "frequency": "yearly", - "department": "it", - "isRequiredToSign": true, - "signedBy": [], - "reviewDate": "2024-12-31T00:00:00.000Z", - "isArchived": false, - "createdAt": "2024-01-01T00:00:00.000Z", - "updatedAt": "2024-01-15T00:00:00.000Z", - "organizationId": "org_abc123def456", - "assigneeId": "usr_abc123def456", - "approverId": "usr_xyz789abc123" - } - } - } - }, - "400": { - "description": "Bad Request - Invalid policy data", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid policy content format" - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } + "description": "" } }, "security": [ @@ -7292,40 +4986,31 @@ "apikey": [] } ], - "summary": "Create compliance policy", + "summary": "Sync devices for a dynamic provider", "tags": [ - "Policies" + "Integrations" ], + "description": "Sync devices for a dynamic provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Create compliance policy | Comp AI API", - "sidebarTitle": "Create compliance policy", - "description": "Create a policy record that can be reviewed, versioned, published, linked to controls, and used as source evidence for questionnaires.", - "og:title": "Create compliance policy | Comp AI API", - "og:description": "Create a policy record that can be reviewed, versioned, published, linked to controls, and used as source evidence for questionnaires." + "title": "Sync devices for a dynamic provider | Comp AI API", + "sidebarTitle": "Sync devices for a dynamic provider", + "description": "Sync devices for a dynamic provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Sync devices for a dynamic provider | Comp AI API", + "og:description": "Sync devices for a dynamic provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "create-policy" + "name": "sync-dynamic-provider-devices" } } }, - "/v1/policies/publish-all": { - "post": { - "operationId": "PoliciesController_publishAllPolicies_v1", - "parameters": [ - { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - } - ], + "/v1/integrations/sync/two-factor-source": { + "get": { + "operationId": "TwoFactorSourceController_getTwoFactorSource_v1", + "parameters": [], "responses": { - "201": { + "200": { "description": "" } }, @@ -7334,46 +5019,40 @@ "apikey": [] } ], - "summary": "Publish all draft policies", + "summary": "Get the configured 2FA source provider", "tags": [ - "Policies" + "Integrations" ], - "description": "Publish draft policies in bulk so approved policy content can power Trust Center sharing, questionnaire answers, and audit evidence.", + "description": "Get the configured 2FA source provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Publish all draft policies | Comp AI API", - "sidebarTitle": "Publish all draft policies", - "description": "Publish draft policies in bulk so approved policy content can power Trust Center sharing, questionnaire answers, and audit evidence.", - "og:title": "Publish all draft policies | Comp AI API", - "og:description": "Publish draft policies in bulk so approved policy content can power Trust Center sharing, questionnaire answers, and audit evidence." + "title": "Get the configured 2FA source provider | Comp AI API", + "sidebarTitle": "Get the configured 2FA source provider", + "description": "Get the configured 2FA source provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", + "og:title": "Get the configured 2FA source provider | Comp AI API", + "og:description": "Get the configured 2FA source provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." } }, "x-speakeasy-mcp": { - "name": "publish-all-policies" + "name": "get-two-factor-source" } - } - }, - "/v1/policies/download-all": { - "get": { - "description": "Generate a single PDF bundle of published compliance policies for auditors, customer security reviews, and Trust Center workflows.", - "operationId": "PoliciesController_downloadAllPolicies_v1", - "parameters": [ - { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" + }, + "post": { + "operationId": "TwoFactorSourceController_setTwoFactorSource_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SetTwoFactorSourceDto" + } } } - ], + }, "responses": { - "200": { - "description": "Signed URL for PDF bundle returned" - }, - "404": { - "description": "No published policies found" + "201": { + "description": "" } }, "security": [ @@ -7381,48 +5060,29 @@ "apikey": [] } ], - "summary": "Download all published policies", + "summary": "Set the 2FA source provider", "tags": [ - "Policies" + "Integrations" ], + "description": "Set the 2FA source provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Download all published policies | Comp AI API", - "sidebarTitle": "Download all published policies", - "description": "Generate a single PDF bundle of published compliance policies for auditors, customer security reviews, and Trust Center workflows.", - "og:title": "Download all published policies | Comp AI API", - "og:description": "Generate a single PDF bundle of published compliance policies for auditors, customer security reviews, and Trust Center workflows." + "title": "Set the 2FA source provider | Comp AI API", + "sidebarTitle": "Set the 2FA source provider", + "description": "Set the 2FA source provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", + "og:title": "Set the 2FA source provider | Comp AI API", + "og:description": "Set the 2FA source provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." } }, "x-speakeasy-mcp": { - "name": "download-all-policies" + "name": "set-two-factor-source" } } }, - "/v1/policies/{id}/controls": { + "/v1/integrations/sync/available-2fa-sources": { "get": { - "operationId": "PoliciesController_getPolicyControls_v1", - "parameters": [ - { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", - "required": true, - "in": "path", - "description": "Policy ID", - "schema": { - "example": "pol_abc123def456", - "type": "string" - } - } - ], + "operationId": "TwoFactorSourceController_getAvailableTwoFactorSources_v1", + "parameters": [], "responses": { "200": { "description": "" @@ -7433,49 +5093,31 @@ "apikey": [] } ], - "summary": "Get mapped and all controls for a policy", + "summary": "List integrations that can supply per-user 2FA status", "tags": [ - "Policies" + "Integrations" ], - "description": "Get mapped and all controls for a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "description": "List integrations that can supply per-user 2FA status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Get mapped and all controls for a policy | Comp AI API", - "sidebarTitle": "Get mapped and all controls for a policy", - "description": "Get mapped and all controls for a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting.", - "og:title": "Get mapped and all controls for a policy | Comp AI API", - "og:description": "Get mapped and all controls for a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting." + "title": "List integrations that can supply per-user | Comp AI API", + "sidebarTitle": "List integrations that can supply per-user 2FA status", + "description": "List integrations that can supply per-user 2FA status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees.", + "og:title": "List integrations that can supply per-user | Comp AI API", + "og:description": "List integrations that can supply per-user 2FA status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees." } }, "x-speakeasy-mcp": { - "name": "get-policy-controls" + "name": "get-available-two-factor-sources" } - }, - "post": { - "operationId": "PoliciesController_addPolicyControls_v1", - "parameters": [ - { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", - "required": true, - "in": "path", - "description": "Policy ID", - "schema": { - "example": "pol_abc123def456", - "type": "string" - } - } - ], + } + }, + "/v1/integrations/sync/two-factor-statuses": { + "get": { + "operationId": "TwoFactorSourceController_getTwoFactorStatuses_v1", + "parameters": [], "responses": { - "201": { + "200": { "description": "" } }, @@ -7484,45 +5126,34 @@ "apikey": [] } ], - "summary": "Map controls to a policy", + "summary": "Per-user 2FA status from the configured source", "tags": [ - "Policies" + "Integrations" ], - "description": "Map controls to a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "description": "Per-user 2FA status from the configured source in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Map controls to a policy | Comp AI API", - "sidebarTitle": "Map controls to a policy", - "description": "Map controls to a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", - "og:title": "Map controls to a policy | Comp AI API", - "og:description": "Map controls to a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows." + "title": "Per-user 2FA status from the configured source | Comp AI API", + "sidebarTitle": "Per-user 2FA status from the configured source", + "description": "Per-user 2FA status from the configured source in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage.", + "og:title": "Per-user 2FA status from the configured source | Comp AI API", + "og:description": "Per-user 2FA status from the configured source in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage." } }, "x-speakeasy-mcp": { - "name": "add-policy-controls" + "name": "get-two-factor-statuses" } } }, - "/v1/policies/{id}/evidence-tasks": { + "/v1/cloud-security/activity": { "get": { - "operationId": "PoliciesController_getPolicyEvidenceTasks_v1", + "operationId": "CloudSecurityController_getActivity_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", + "name": "connectionId", "required": true, - "in": "path", - "description": "Policy ID", + "in": "query", "schema": { - "example": "pol_abc123def456", "type": "string" } } @@ -7532,165 +5163,91 @@ "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Get tasks that serve as evidence for a policy, grouped by control", + "summary": "List recent cloud security activity", "tags": [ - "Policies" + "CloudSecurity" ], - "description": "Get tasks that serve as evidence for a policy, grouped by control in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "description": "List recent cloud security activity in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", "x-mint": { "metadata": { - "title": "Get tasks that serve as evidence for a | Comp AI API", - "sidebarTitle": "Get tasks that serve as evidence for a policy, grouped by control", - "description": "Get tasks that serve as evidence for a policy, grouped by control in Comp AI. Create, version, publish, export, map, and improve compliance policies.", - "og:title": "Get tasks that serve as evidence for a | Comp AI API", - "og:description": "Get tasks that serve as evidence for a policy, grouped by control in Comp AI. Create, version, publish, export, map, and improve compliance policies." + "title": "List recent cloud security activity | Comp AI API", + "sidebarTitle": "List recent cloud security activity", + "description": "List recent cloud security activity in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud.", + "og:title": "List recent cloud security activity | Comp AI API", + "og:description": "List recent cloud security activity in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud." } }, "x-speakeasy-mcp": { - "name": "get-policy-evidence-tasks" + "name": "get-activity" } } }, - "/v1/policies/{id}/regenerate": { - "post": { - "operationId": "PoliciesController_regeneratePolicy_v1", - "parameters": [ - { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", - "required": true, - "in": "path", - "description": "Policy ID", - "schema": { - "example": "pol_abc123def456", - "type": "string" - } - } - ], + "/v1/cloud-security/providers": { + "get": { + "operationId": "CloudSecurityController_getProviders_v1", + "parameters": [], "responses": { - "201": { + "200": { "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Regenerate policy with AI", + "summary": "List supported cloud providers", "tags": [ - "Policies" + "CloudSecurity" ], - "description": "Regenerate policy content using Comp AI while keeping the result reviewable before it is published or used as compliance evidence.", + "description": "List supported cloud providers in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", "x-mint": { "metadata": { - "title": "Regenerate policy with AI | Comp AI API", - "sidebarTitle": "Regenerate policy with AI", - "description": "Regenerate policy content using Comp AI while keeping the result reviewable before it is published or used as compliance evidence.", - "og:title": "Regenerate policy with AI | Comp AI API", - "og:description": "Regenerate policy content using Comp AI while keeping the result reviewable before it is published or used as compliance evidence." + "title": "List supported cloud providers | Comp AI API", + "sidebarTitle": "List supported cloud providers", + "description": "List supported cloud providers in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture.", + "og:title": "List supported cloud providers | Comp AI API", + "og:description": "List supported cloud providers in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture." } }, "x-speakeasy-mcp": { - "name": "regenerate-policy" + "name": "get-providers" } } }, - "/v1/policies/{id}/pdf/signed-url": { + "/v1/cloud-security/findings": { "get": { - "operationId": "PoliciesController_getPdfSignedUrl_v1", - "parameters": [ - { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", - "required": true, - "in": "path", - "description": "Policy ID", - "schema": { - "example": "pol_abc123def456", - "type": "string" - } - }, - { - "name": "versionId", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - } - ], + "operationId": "CloudSecurityController_getFindings_v1", + "parameters": [], "responses": { "200": { "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Get a signed URL for the policy PDF", + "summary": "List cloud security findings", "tags": [ - "Policies" + "CloudSecurity" ], - "description": "Get a signed URL for the policy PDF in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "description": "List cloud security findings discovered by scans so teams can prioritize remediation before issues become audit findings.", "x-mint": { "metadata": { - "title": "Get a signed URL for the policy PDF | Comp AI API", - "sidebarTitle": "Get a signed URL for the policy PDF", - "description": "Get a signed URL for the policy PDF in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting.", - "og:title": "Get a signed URL for the policy PDF | Comp AI API", - "og:description": "Get a signed URL for the policy PDF in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting." + "title": "List cloud security findings | Comp AI API", + "sidebarTitle": "List cloud security findings", + "description": "List cloud security findings discovered by scans so teams can prioritize remediation before issues become audit findings.", + "og:title": "List cloud security findings | Comp AI API", + "og:description": "List cloud security findings discovered by scans so teams can prioritize remediation before issues become audit findings." } }, "x-speakeasy-mcp": { - "name": "get-pdf-signed-url" + "name": "get-findings" } } }, - "/v1/policies/{id}/pdf": { + "/v1/cloud-security/findings/{findingId}/exception": { "post": { - "description": "Uploads a PDF via multipart `file` or base64 `fileData` JSON. Defaults to the latest draft if no `versionId`; 400 if no draft is available. UI-only — AI clients should use the presigned `/pdf/upload-url` + `/pdf/confirm` flow.", - "operationId": "PoliciesController_uploadPolicyPdf_v1", + "description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the org's owner and the audit log description records the calling key/service name.", + "operationId": "CloudSecurityController_markFindingAsException_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", + "name": "findingId", "required": true, "in": "path", - "description": "Policy ID", "schema": { - "example": "pol_abc123def456", "type": "string" } } @@ -7698,100 +5255,9 @@ "requestBody": { "required": true, "content": { - "multipart/form-data": { - "schema": { - "oneOf": [ - { - "description": "Multipart file upload (recommended)", - "type": "object", - "properties": { - "file": { - "type": "string", - "format": "binary" - }, - "versionId": { - "type": "string", - "description": "Target version ID. If omitted, uploads to the latest draft version." - } - }, - "required": [ - "file" - ] - }, - { - "description": "JSON with base64-encoded file data", - "type": "object", - "properties": { - "fileName": { - "type": "string" - }, - "fileType": { - "type": "string" - }, - "fileData": { - "type": "string", - "description": "Base64-encoded file content" - }, - "versionId": { - "type": "string", - "description": "Target version ID. If omitted, uploads to the latest draft version." - } - }, - "required": [ - "fileName", - "fileType", - "fileData" - ] - } - ] - } - }, "application/json": { "schema": { - "oneOf": [ - { - "description": "Multipart file upload (recommended)", - "type": "object", - "properties": { - "file": { - "type": "string", - "format": "binary" - }, - "versionId": { - "type": "string", - "description": "Target version ID. If omitted, uploads to the latest draft version." - } - }, - "required": [ - "file" - ] - }, - { - "description": "JSON with base64-encoded file data", - "type": "object", - "properties": { - "fileName": { - "type": "string" - }, - "fileType": { - "type": "string" - }, - "fileData": { - "type": "string", - "description": "Base64-encoded file content" - }, - "versionId": { - "type": "string", - "description": "Target version ID. If omitted, uploads to the latest draft version." - } - }, - "required": [ - "fileName", - "fileType", - "fileData" - ] - } - ] + "$ref": "#/components/schemas/MarkExceptionDto" } } } @@ -7801,249 +5267,153 @@ "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Upload a PDF to a policy version (UI-only)", + "summary": "Mark a finding as an exception so it no longer appears in the active Scan Results list", "tags": [ - "Policies" + "CloudSecurity" ], - "x-speakeasy-mcp": { - "disabled": true - }, "x-mint": { "metadata": { - "title": "Upload a PDF to a policy version (UI-only) | Comp AI API", - "sidebarTitle": "Upload a PDF to a policy version (UI-only)", - "description": "Uploads a PDF via multipart `file` or base64 `fileData` JSON. Defaults to the latest draft if no `versionId`; 400 if no draft is available. UI-only — AI.", - "og:title": "Upload a PDF to a policy version (UI-only) | Comp AI API", - "og:description": "Uploads a PDF via multipart `file` or base64 `fileData` JSON. Defaults to the latest draft if no `versionId`; 400 if no draft is available. UI-only — AI." + "title": "Mark a finding as an exception so it no | Comp AI API", + "sidebarTitle": "Mark a finding as an exception so it no longer appears in the active Scan Results list", + "description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the.", + "og:title": "Mark a finding as an exception so it no | Comp AI API", + "og:description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the." } + }, + "x-speakeasy-mcp": { + "name": "mark-finding-as-exception" } - }, - "delete": { - "description": "Deletes the PDF from a specific policy version. If no versionId is provided, deletes from the latest draft version. Cannot delete PDFs from published or pending-approval versions.", - "operationId": "PoliciesController_deletePolicyPdf_v1", + } + }, + "/v1/cloud-security/connections/{connectionId}/scan-mode": { + "patch": { + "description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the org's owner.", + "operationId": "CloudSecurityController_updateAwsScanMode_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", + "name": "connectionId", "required": true, "in": "path", - "description": "Policy ID", - "schema": { - "example": "pol_abc123def456", - "type": "string" - } - }, - { - "name": "versionId", - "required": false, - "in": "query", - "description": "Target version ID. If omitted, targets the latest draft version.", "schema": { "type": "string" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateAwsScanModeDto" + } + } + } + }, "responses": { "200": { "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Delete a policy version PDF", + "summary": "Switch the AWS scan engine for a connection (Comp AI scanners ↔ Security Hub)", "tags": [ - "Policies" + "CloudSecurity" ], "x-mint": { "metadata": { - "title": "Delete a policy version PDF | Comp AI API", - "sidebarTitle": "Delete a policy version PDF", - "description": "Deletes the PDF from a specific policy version. If no versionId is provided, deletes from the latest draft version. Cannot delete PDFs from published.", - "og:title": "Delete a policy version PDF | Comp AI API", - "og:description": "Deletes the PDF from a specific policy version. If no versionId is provided, deletes from the latest draft version. Cannot delete PDFs from published." + "title": "Switch the AWS scan engine for a connection | Comp AI API", + "sidebarTitle": "Switch the AWS scan engine for a connection (Comp AI scanners ↔ Security Hub)", + "description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the.", + "og:title": "Switch the AWS scan engine for a connection | Comp AI API", + "og:description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the." } }, "x-speakeasy-mcp": { - "name": "delete-policy-pdf" + "name": "update-aws-scan-mode" } } }, - "/v1/policies/{id}/pdf/upload-url": { - "post": { - "description": "Generates a presigned S3 URL for uploading a policy PDF directly to storage. Use this when attaching a PDF to a compliance policy — the file bytes are uploaded straight to S3 without passing through the API. Requires the policy ID; if you only know the policy name, look it up first via the list-compliance-policies tool. After uploading the file to the returned URL, finalize the attachment by calling confirm-policy-pdf-uploaded with the same s3Key.", - "operationId": "PoliciesController_requestPolicyPdfUploadUrl_v1", + "/v1/cloud-security/exceptions/{exceptionId}": { + "delete": { + "description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the org's owner.", + "operationId": "CloudSecurityController_revokeException_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", + "name": "exceptionId", "required": true, "in": "path", - "description": "Policy ID", "schema": { - "example": "pol_abc123def456", "type": "string" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestPolicyPdfUploadUrlDto" - } - } - } - }, "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PolicyPdfUploadUrlResponseDto" - } - } - } + "200": { + "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Request a presigned URL to upload a policy PDF", + "summary": "Revoke an exception, reopening the finding", "tags": [ - "Policies" + "CloudSecurity" ], - "x-speakeasy-mcp": { - "name": "request-policy-pdf-upload-url" - }, "x-mint": { "metadata": { - "title": "Request a presigned URL to upload a policy PDF | Comp AI API", - "sidebarTitle": "Request a presigned URL to upload a policy PDF", - "description": "Generates a presigned S3 URL for uploading a policy PDF directly to storage. Use this when attaching a PDF to a compliance policy — the file bytes are.", - "og:title": "Request a presigned URL to upload a policy PDF | Comp AI API", - "og:description": "Generates a presigned S3 URL for uploading a policy PDF directly to storage. Use this when attaching a PDF to a compliance policy — the file bytes are." + "title": "Revoke an exception, reopening the finding | Comp AI API", + "sidebarTitle": "Revoke an exception, reopening the finding", + "description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the.", + "og:title": "Revoke an exception, reopening the finding | Comp AI API", + "og:description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the." } + }, + "x-speakeasy-mcp": { + "name": "revoke-exception" } } }, - "/v1/policies/{id}/pdf/confirm": { - "post": { - "description": "Links an uploaded PDF to a compliance policy after the file has been PUT to a presigned S3 URL. Call this after request-policy-pdf-upload-url returned an s3Key and you successfully uploaded the file bytes to that URL. The endpoint verifies the file exists in S3 before linking it to the policy or version.", - "operationId": "PoliciesController_confirmPolicyPdfUploaded_v1", + "/v1/cloud-security/history": { + "get": { + "operationId": "CloudSecurityController_getHistory_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", + "name": "connectionId", "required": true, - "in": "path", - "description": "Policy ID", + "in": "query", "schema": { - "example": "pol_abc123def456", "type": "string" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ConfirmPolicyPdfUploadedDto" - } - } - } - }, "responses": { - "201": { + "200": { "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Confirm a policy PDF upload completed", + "summary": "List resolution, exception, and regression history for a connection", "tags": [ - "Policies" + "CloudSecurity" ], - "x-speakeasy-mcp": { - "name": "confirm-policy-pdf-uploaded" - }, + "description": "List resolution, exception, and regression history for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", "x-mint": { "metadata": { - "title": "Confirm a policy PDF upload completed | Comp AI API", - "sidebarTitle": "Confirm a policy PDF upload completed", - "description": "Links an uploaded PDF to a compliance policy after the file has been PUT to a presigned S3 URL. Call this after request-policy-pdf-upload-url returned an.", - "og:title": "Confirm a policy PDF upload completed | Comp AI API", - "og:description": "Links an uploaded PDF to a compliance policy after the file has been PUT to a presigned S3 URL. Call this after request-policy-pdf-upload-url returned an." + "title": "List resolution, exception, and regression | Comp AI API", + "sidebarTitle": "List resolution, exception, and regression history for a connection", + "description": "List resolution, exception, and regression history for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services.", + "og:title": "List resolution, exception, and regression | Comp AI API", + "og:description": "List resolution, exception, and regression history for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services." } + }, + "x-speakeasy-mcp": { + "name": "get-history" } } }, - "/v1/policies/{id}/pdf-url": { + "/v1/cloud-security/findings/{findingId}/check-definition": { "get": { - "operationId": "PoliciesController_getPdfUrl_v1", + "operationId": "CloudSecurityController_getCheckDefinition_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", + "name": "findingId", "required": true, "in": "path", - "description": "Policy ID", - "schema": { - "example": "pol_abc123def456", - "type": "string" - } - }, - { - "name": "versionId", - "required": false, - "in": "query", "schema": { "type": "string" } @@ -8054,55 +5424,31 @@ "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Get signed URL for policy PDF (alternate path)", + "summary": "Resolve the \"About this check\" description for a finding (AI-cached for AWS; provider-derived for GCP/Azure)", "tags": [ - "Policies" + "CloudSecurity" ], - "description": "Get signed URL for policy PDF (alternate path) in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "description": "Resolve the \"About this check\" description for a finding (AI-cached for AWS; provider-derived for GCP/Azure) in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture.", "x-mint": { "metadata": { - "title": "Get signed URL for policy PDF (alternate path) | Comp AI API", - "sidebarTitle": "Get signed URL for policy PDF (alternate path)", - "description": "Get signed URL for policy PDF (alternate path) in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting.", - "og:title": "Get signed URL for policy PDF (alternate path) | Comp AI API", - "og:description": "Get signed URL for policy PDF (alternate path) in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting." + "title": "Resolve the \"About this check\" description | Comp AI API", + "sidebarTitle": "Resolve the \"About this check\" description for a finding (AI-cached for AWS; provider-derived for GCP/Azure)", + "description": "Resolve the \"About this check\" description for a finding (AI-cached for AWS; provider-derived for GCP/Azure) in Comp AI. Run AWS, Azure, and GCP cloud.", + "og:title": "Resolve the \"About this check\" description | Comp AI API", + "og:description": "Resolve the \"About this check\" description for a finding (AI-cached for AWS; provider-derived for GCP/Azure) in Comp AI. Run AWS, Azure, and GCP cloud." } }, "x-speakeasy-mcp": { - "name": "get-pdf-url" + "name": "get-check-definition" } } }, - "/v1/policies/{id}/controls/{controlId}": { - "delete": { - "operationId": "PoliciesController_removePolicyControl_v1", + "/v1/cloud-security/resolve-session/{connectionId}": { + "post": { + "operationId": "CloudSecurityController_resolveSession_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", - "required": true, - "in": "path", - "description": "Policy ID", - "schema": { - "example": "pol_abc123def456", - "type": "string" - } - }, - { - "name": "controlId", + "name": "connectionId", "required": true, "in": "path", "schema": { @@ -8111,1075 +5457,675 @@ } ], "responses": { - "200": { + "201": { "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Remove a control mapping from a policy", + "summary": "Resolve short-lived AWS credentials for a connection (internal only)", "tags": [ - "Policies" + "CloudSecurity" ], - "description": "Remove a control mapping from a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "description": "Resolve short-lived AWS credentials for a connection (internal only) in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", "x-mint": { "metadata": { - "title": "Remove a control mapping from a policy | Comp AI API", - "sidebarTitle": "Remove a control mapping from a policy", - "description": "Remove a control mapping from a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting.", - "og:title": "Remove a control mapping from a policy | Comp AI API", - "og:description": "Remove a control mapping from a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting." + "title": "Resolve short-lived AWS credentials for a | Comp AI API", + "sidebarTitle": "Resolve short-lived AWS credentials for a connection (internal only)", + "description": "Resolve short-lived AWS credentials for a connection (internal only) in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services.", + "og:title": "Resolve short-lived AWS credentials for a | Comp AI API", + "og:description": "Resolve short-lived AWS credentials for a connection (internal only) in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services." } }, "x-speakeasy-mcp": { - "name": "remove-policy-control" + "name": "resolve-session" } } }, - "/v1/policies/{id}": { - "get": { - "description": "Retrieve a single compliance policy by its ID, including current content, draft content, review status, framework links, and audit metadata. Use this to read or inspect one policy in detail. If you only have a policy name, find its ID first by listing compliance policies.", - "operationId": "PoliciesController_getPolicy_v1", + "/v1/cloud-security/scan/{connectionId}": { + "post": { + "operationId": "CloudSecurityController_scan_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", + "name": "connectionId", "required": true, "in": "path", - "description": "Policy ID", "schema": { - "example": "pol_abc123def456", "type": "string" } } ], "responses": { - "200": { - "description": "Policy retrieved successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PolicyResponseDto" - }, - "example": { - "id": "pol_abc123def456", - "name": "Data Privacy Policy", - "status": "draft", - "content": [ - { - "type": "paragraph", - "content": [ - { - "type": "text", - "text": "..." - } - ] - } - ], - "isRequiredToSign": true, - "signedBy": [], - "createdAt": "2024-01-01T00:00:00.000Z", - "updatedAt": "2024-01-15T00:00:00.000Z", - "organizationId": "org_abc123def456" - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } - }, - "404": { - "description": "Policy not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Policy with ID pol_abc123def456 not found" - } - } - } - } - } + "201": { + "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Get compliance policy", + "summary": "Run cloud security scan", "tags": [ - "Policies" + "CloudSecurity" ], - "x-speakeasy-mcp": { - "name": "get-policy" - }, + "description": "Trigger a cloud security scan for a connected AWS, Azure, or GCP account and collect findings for compliance remediation.", "x-mint": { "metadata": { - "title": "Get compliance policy | Comp AI API", - "sidebarTitle": "Get compliance policy", - "description": "Retrieve a single compliance policy by its ID, including current content, draft content, review status, framework links, and audit metadata. Use this.", - "og:title": "Get compliance policy | Comp AI API", - "og:description": "Retrieve a single compliance policy by its ID, including current content, draft content, review status, framework links, and audit metadata. Use this." + "title": "Run cloud security scan | Comp AI API", + "sidebarTitle": "Run cloud security scan", + "description": "Trigger a cloud security scan for a connected AWS, Azure, or GCP account and collect findings for compliance remediation.", + "og:title": "Run cloud security scan | Comp AI API", + "og:description": "Trigger a cloud security scan for a connected AWS, Azure, or GCP account and collect findings for compliance remediation." } + }, + "x-speakeasy-mcp": { + "name": "scan" } - }, - "patch": { - "description": "Update compliance policy details or content while keeping policy workflows connected to controls, tasks, and approvals.", - "operationId": "PoliciesController_updatePolicy_v1", + } + }, + "/v1/cloud-security/detect-services/{connectionId}": { + "post": { + "operationId": "CloudSecurityController_detectServices_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", + "name": "connectionId", "required": true, "in": "path", - "description": "Policy ID", "schema": { - "example": "pol_abc123def456", "type": "string" } } ], - "requestBody": { - "required": true, - "description": "Policy update data", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdatePolicyDto" - } - } - } - }, "responses": { - "200": { - "description": "Policy updated successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PolicyResponseDto" - }, - "example": { - "id": "pol_abc123def456", - "name": "Data Privacy Policy", - "description": "This policy outlines how we handle and protect personal data", - "status": "published", - "content": [ - { - "type": "heading", - "attrs": { - "level": 2 - }, - "content": [ - { - "type": "text", - "text": "Purpose" - } - ] - } - ], - "frequency": "yearly", - "department": "it", - "isRequiredToSign": true, - "signedBy": [ - "usr_123" - ], - "reviewDate": "2024-12-31T00:00:00.000Z", - "isArchived": false, - "createdAt": "2024-01-01T00:00:00.000Z", - "updatedAt": "2024-01-15T00:00:00.000Z", - "organizationId": "org_abc123def456", - "assigneeId": "usr_abc123def456", - "approverId": "usr_xyz789abc123" - } - } - } - }, - "400": { - "description": "Bad Request - Invalid update data", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Validation failed" - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } - }, - "404": { - "description": "Policy not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Policy with ID pol_abc123def456 not found" - } - } - } - } - } + "201": { + "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Update compliance policy", + "summary": "Detect available cloud services for a connection", "tags": [ - "Policies" + "CloudSecurity" ], + "description": "Detect available cloud services for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", "x-mint": { "metadata": { - "title": "Update compliance policy | Comp AI API", - "sidebarTitle": "Update compliance policy", - "description": "Update compliance policy details or content while keeping policy workflows connected to controls, tasks, and approvals.", - "og:title": "Update compliance policy | Comp AI API", - "og:description": "Update compliance policy details or content while keeping policy workflows connected to controls, tasks, and approvals." + "title": "Detect available cloud services for a | Comp AI API", + "sidebarTitle": "Detect available cloud services for a connection", + "description": "Detect available cloud services for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings.", + "og:title": "Detect available cloud services for a | Comp AI API", + "og:description": "Detect available cloud services for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings." } }, "x-speakeasy-mcp": { - "name": "update-policy" + "name": "detect-services" } - }, - "delete": { - "description": "Delete a compliance policy that is no longer part of the organization evidence library or control program.", - "operationId": "PoliciesController_deletePolicy_v1", + } + }, + "/v1/cloud-security/detect-gcp-org/{connectionId}": { + "post": { + "operationId": "CloudSecurityController_detectGcpOrg_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", + "name": "connectionId", "required": true, "in": "path", - "description": "Policy ID", "schema": { - "example": "pol_abc123def456", "type": "string" } } ], "responses": { - "200": { - "description": "Policy deleted successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "success": { - "type": "boolean", - "description": "Indicates successful deletion", - "example": true - }, - "deletedPolicy": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The deleted policy ID", - "example": "pol_abc123def456" - }, - "name": { - "type": "string", - "description": "The deleted policy name", - "example": "Data Privacy Policy" - } - } - }, - "authType": { - "type": "string", - "enum": [ - "api-key", - "session" - ], - "description": "How the request was authenticated" - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication or insufficient permissions", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } - }, - "404": { - "description": "Policy not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Policy with ID pol_abc123def456 not found" - } - } - } - } - } + "201": { + "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Delete compliance policy", + "summary": "Detect the GCP organization for a connection", "tags": [ - "Policies" + "CloudSecurity" ], + "description": "Detect the GCP organization for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", "x-mint": { "metadata": { - "title": "Delete compliance policy | Comp AI API", - "sidebarTitle": "Delete compliance policy", - "description": "Delete a compliance policy that is no longer part of the organization evidence library or control program.", - "og:title": "Delete compliance policy | Comp AI API", - "og:description": "Delete a compliance policy that is no longer part of the organization evidence library or control program." + "title": "Detect the GCP organization for a connection | Comp AI API", + "sidebarTitle": "Detect the GCP organization for a connection", + "description": "Detect the GCP organization for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect.", + "og:title": "Detect the GCP organization for a connection | Comp AI API", + "og:description": "Detect the GCP organization for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect." } }, "x-speakeasy-mcp": { - "name": "delete-policy" + "name": "detect-gcp-org" } } }, - "/v1/policies/{id}/versions": { - "get": { - "description": "Get policy versions in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", - "operationId": "PoliciesController_getPolicyVersions_v1", + "/v1/cloud-security/select-gcp-projects/{connectionId}": { + "post": { + "operationId": "CloudSecurityController_selectGcpProjects_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", + "name": "connectionId", "required": true, "in": "path", - "description": "Policy ID", "schema": { - "type": "string", - "example": "pol_abc123def456" + "type": "string" } } ], "responses": { - "200": { - "description": "Policy versions retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "versions": { - "type": "array", - "items": { - "type": "object" - } - }, - "currentVersionId": { - "type": "string", - "nullable": true - }, - "pendingVersionId": { - "type": "string", - "nullable": true - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } - }, - "404": { - "description": "Resource not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Resource not found" - } - } - } - } - } + "201": { + "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Get policy versions", + "summary": "Select GCP projects for a connection", "tags": [ - "Policies" + "CloudSecurity" ], - "x-speakeasy-mcp": { - "name": "list-policy-versions" - }, + "description": "Select GCP projects for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", "x-mint": { "metadata": { - "title": "Get policy versions | Comp AI API", - "sidebarTitle": "Get policy versions", - "description": "Get policy versions in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", - "og:title": "Get policy versions | Comp AI API", - "og:description": "Get policy versions in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows." + "title": "Select GCP projects for a connection | Comp AI API", + "sidebarTitle": "Select GCP projects for a connection", + "description": "Select GCP projects for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud.", + "og:title": "Select GCP projects for a connection | Comp AI API", + "og:description": "Select GCP projects for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud." } + }, + "x-speakeasy-mcp": { + "name": "select-gcp-projects" } - }, + } + }, + "/v1/cloud-security/setup-gcp/{connectionId}": { "post": { - "description": "Creates a new draft version of a policy, cloned from the current published version (or a specified source version). Use this when you need to make any change to a published policy — content edits, PDF attachments, anything. Published.", - "operationId": "PoliciesController_createPolicyVersion_v1", + "operationId": "CloudSecurityController_setupGcp_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, + "name": "connectionId", + "required": true, + "in": "path", "schema": { "type": "string" } - }, + } + ], + "responses": { + "201": { + "description": "" + } + }, + "summary": "Set up GCP for a connection", + "tags": [ + "CloudSecurity" + ], + "description": "Set up GCP for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "x-mint": { + "metadata": { + "title": "Set up GCP for a connection | Comp AI API", + "sidebarTitle": "Set up GCP for a connection", + "description": "Set up GCP for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture.", + "og:title": "Set up GCP for a connection | Comp AI API", + "og:description": "Set up GCP for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture." + } + }, + "x-speakeasy-mcp": { + "name": "setup-gcp" + } + } + }, + "/v1/cloud-security/setup-gcp/{connectionId}/resolve-step": { + "post": { + "operationId": "CloudSecurityController_resolveGcpSetupStep_v1", + "parameters": [ { - "name": "id", + "name": "connectionId", "required": true, "in": "path", - "description": "Policy ID", "schema": { - "type": "string", - "example": "pol_abc123def456" + "type": "string" } } ], - "requestBody": { - "required": true, - "description": "Create a new policy version draft", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateVersionDto" - } - } - } - }, "responses": { "201": { - "description": "Policy version created", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "versionId": { - "type": "string" - }, - "version": { - "type": "number" - } - } - } - } - } - }, - "400": { - "description": "Invalid request", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid request" - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } - }, - "404": { - "description": "Resource not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Resource not found" - } - } - } - } - } + "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Create policy version", + "summary": "Resolve a GCP setup step", "tags": [ - "Policies" + "CloudSecurity" ], - "x-speakeasy-mcp": { - "name": "create-policy-version" - }, + "description": "Resolve a GCP setup step in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", "x-mint": { "metadata": { - "title": "Create policy version | Comp AI API", - "sidebarTitle": "Create policy version", - "description": "Creates a new draft version of a policy, cloned from the current published version (or a specified source version). Use this when you need to make any.", - "og:title": "Create policy version | Comp AI API", - "og:description": "Creates a new draft version of a policy, cloned from the current published version (or a specified source version). Use this when you need to make any." + "title": "Resolve a GCP setup step | Comp AI API", + "sidebarTitle": "Resolve a GCP setup step", + "description": "Resolve a GCP setup step in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture.", + "og:title": "Resolve a GCP setup step | Comp AI API", + "og:description": "Resolve a GCP setup step in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture." } + }, + "x-speakeasy-mcp": { + "name": "resolve-gcp-setup-step" } } }, - "/v1/policies/{id}/versions/{versionId}": { - "get": { - "description": "Get policy version by ID in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", - "operationId": "PoliciesController_getPolicyVersionById_v1", + "/v1/cloud-security/setup-azure/{connectionId}": { + "post": { + "operationId": "CloudSecurityController_setupAzure_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", + "name": "connectionId", "required": true, "in": "path", - "description": "Policy ID", "schema": { - "type": "string", - "example": "pol_abc123def456" + "type": "string" } - }, + } + ], + "responses": { + "201": { + "description": "" + } + }, + "summary": "Set up Azure for a connection", + "tags": [ + "CloudSecurity" + ], + "description": "Set up Azure for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "x-mint": { + "metadata": { + "title": "Set up Azure for a connection | Comp AI API", + "sidebarTitle": "Set up Azure for a connection", + "description": "Set up Azure for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture.", + "og:title": "Set up Azure for a connection | Comp AI API", + "og:description": "Set up Azure for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture." + } + }, + "x-speakeasy-mcp": { + "name": "setup-azure" + } + } + }, + "/v1/cloud-security/validate-azure/{connectionId}": { + "post": { + "operationId": "CloudSecurityController_validateAzure_v1", + "parameters": [ { - "name": "versionId", + "name": "connectionId", "required": true, "in": "path", - "description": "Policy version ID", "schema": { - "type": "string", - "example": "pv_abc123def456" + "type": "string" } } ], "responses": { - "200": { - "description": "Policy version retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "version": { - "type": "object" - }, - "currentVersionId": { - "type": "string", - "nullable": true - }, - "pendingVersionId": { - "type": "string", - "nullable": true - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } - }, - "404": { - "description": "Resource not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Resource not found" - } - } - } - } - } + "201": { + "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Get policy version by ID", + "summary": "Validate Azure credentials for a connection", "tags": [ - "Policies" + "CloudSecurity" ], - "x-speakeasy-mcp": { - "name": "get-policy-version" - }, + "description": "Validate Azure credentials for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", "x-mint": { "metadata": { - "title": "Get policy version by ID | Comp AI API", - "sidebarTitle": "Get policy version by ID", - "description": "Get policy version by ID in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", - "og:title": "Get policy version by ID | Comp AI API", - "og:description": "Get policy version by ID in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows." + "title": "Validate Azure credentials for a connection | Comp AI API", + "sidebarTitle": "Validate Azure credentials for a connection", + "description": "Validate Azure credentials for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect.", + "og:title": "Validate Azure credentials for a connection | Comp AI API", + "og:description": "Validate Azure credentials for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect." } + }, + "x-speakeasy-mcp": { + "name": "validate-azure" } - }, - "patch": { - "description": "Update version content in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", - "operationId": "PoliciesController_updateVersionContent_v1", + } + }, + "/v1/cloud-security/trigger/{connectionId}": { + "post": { + "operationId": "CloudSecurityController_triggerScan_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", + "name": "connectionId", "required": true, "in": "path", - "description": "Policy ID", "schema": { - "type": "string", - "example": "pol_abc123def456" - } - }, - { - "name": "versionId", - "required": true, - "in": "path", - "description": "Policy version ID", - "schema": { - "type": "string", - "example": "pv_abc123def456" + "type": "string" } } ], - "requestBody": { - "required": true, - "description": "Update content for a policy version", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateVersionContentDto" - } - } - } - }, "responses": { - "200": { - "description": "Version content updated", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "versionId": { - "type": "string" - } - } - } - } - } - }, - "400": { - "description": "Invalid request", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid request" - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } - }, - "404": { - "description": "Resource not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Resource not found" - } - } - } - } - } + "201": { + "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Update version content", + "summary": "Trigger a cloud security run for a connection", "tags": [ - "Policies" + "CloudSecurity" ], - "x-speakeasy-mcp": { - "name": "update-policy-version-content" - }, + "description": "Trigger a cloud security run for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", "x-mint": { "metadata": { - "title": "Update version content | Comp AI API", - "sidebarTitle": "Update version content", - "description": "Update version content in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", - "og:title": "Update version content | Comp AI API", - "og:description": "Update version content in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows." + "title": "Trigger a cloud security run for a connection | Comp AI API", + "sidebarTitle": "Trigger a cloud security run for a connection", + "description": "Trigger a cloud security run for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings.", + "og:title": "Trigger a cloud security run for a connection | Comp AI API", + "og:description": "Trigger a cloud security run for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings." } + }, + "x-speakeasy-mcp": { + "name": "trigger-scan" } - }, - "delete": { - "description": "Delete policy version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", - "operationId": "PoliciesController_deletePolicyVersion_v1", + } + }, + "/v1/cloud-security/runs/{runId}": { + "get": { + "operationId": "CloudSecurityController_getRunStatus_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", + "name": "runId", "required": true, "in": "path", - "description": "Policy ID", "schema": { - "type": "string", - "example": "pol_abc123def456" + "type": "string" } }, { - "name": "versionId", + "name": "connectionId", "required": true, - "in": "path", - "description": "Policy version ID", + "in": "query", "schema": { - "type": "string", - "example": "pv_abc123def456" + "type": "string" } } ], "responses": { "200": { - "description": "Version deleted", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "deletedVersion": { - "type": "number" - } - } - } - } - } - }, - "400": { - "description": "Invalid request", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid request" - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } - }, - "404": { - "description": "Resource not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Resource not found" - } - } - } - } - } + "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Delete policy version", + "summary": "Get a cloud security scan run by ID", "tags": [ - "Policies" + "CloudSecurity" ], + "description": "Get a cloud security scan run by ID in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", "x-mint": { "metadata": { - "title": "Delete policy version | Comp AI API", - "sidebarTitle": "Delete policy version", - "description": "Delete policy version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", - "og:title": "Delete policy version | Comp AI API", - "og:description": "Delete policy version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows." + "title": "Get a cloud security scan run by ID | Comp AI API", + "sidebarTitle": "Get a cloud security scan run by ID", + "description": "Get a cloud security scan run by ID in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud.", + "og:title": "Get a cloud security scan run by ID | Comp AI API", + "og:description": "Get a cloud security scan run by ID in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud." } }, "x-speakeasy-mcp": { - "name": "delete-policy-version" + "name": "get-run-status" } } }, - "/v1/policies/{id}/versions/publish": { - "post": { - "description": "Publishes a draft policy version, making it the active/current version of the policy. Pass the versionId of the draft you want to publish — for example one created via create-policy-version and then edited.", - "operationId": "PoliciesController_publishPolicyVersion_v1", + "/v1/risks": { + "get": { + "description": "List organization risks with owners, departments, severity, mitigation status, and evidence for risk management reporting.", + "operationId": "RisksController_getAllRisks_v1", "parameters": [ { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", + "name": "title", "required": false, + "in": "query", + "description": "Search by title (case-insensitive contains)", "schema": { + "example": "data breach", "type": "string" } }, { - "name": "id", - "required": true, - "in": "path", - "description": "Policy ID", + "name": "page", + "required": false, + "in": "query", + "description": "Page number (1-indexed)", "schema": { - "type": "string", - "example": "pol_abc123def456" + "minimum": 1, + "default": 1, + "example": 1, + "type": "number" } - } - ], - "requestBody": { - "required": true, - "description": "Publish a new policy version", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PublishVersionDto" - } + }, + { + "name": "perPage", + "required": false, + "in": "query", + "description": "Number of items per page", + "schema": { + "minimum": 1, + "maximum": 250, + "default": 50, + "example": 50, + "type": "number" + } + }, + { + "name": "sort", + "required": false, + "in": "query", + "description": "Sort by field", + "schema": { + "default": "createdAt", + "type": "string", + "enum": [ + "createdAt", + "updatedAt", + "title", + "status" + ] + } + }, + { + "name": "sortDirection", + "required": false, + "in": "query", + "description": "Sort direction", + "schema": { + "default": "desc", + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + { + "name": "status", + "required": false, + "in": "query", + "description": "Filter by status", + "schema": { + "type": "string", + "enum": [ + "open", + "pending", + "closed", + "archived" + ] + } + }, + { + "name": "category", + "required": false, + "in": "query", + "description": "Filter by category", + "schema": { + "type": "string", + "enum": [ + "customer", + "fraud", + "governance", + "operations", + "other", + "people", + "regulatory", + "reporting", + "resilience", + "technology", + "vendor_management" + ] + } + }, + { + "name": "department", + "required": false, + "in": "query", + "description": "Filter by department. Built-in values: none, admin, gov, hr, it, itsm, qms. Custom department names are also accepted.", + "schema": { + "maxLength": 64, + "example": "it", + "type": "string" + } + }, + { + "name": "assigneeId", + "required": false, + "in": "query", + "description": "Filter by assignee member ID", + "schema": { + "example": "mem_abc123def456", + "type": "string" } } - }, + ], "responses": { "200": { - "description": "Version published", + "description": "Risks retrieved successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { - "versionId": { - "type": "string" + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Risk ID", + "example": "rsk_abc123def456" + }, + "title": { + "type": "string", + "description": "Risk title", + "example": "Data breach vulnerability in user authentication system" + }, + "description": { + "type": "string", + "description": "Risk description", + "example": "Weak password requirements could lead to unauthorized access to user accounts" + }, + "category": { + "type": "string", + "enum": [ + "customer", + "governance", + "operations", + "other", + "people", + "regulatory", + "reporting", + "resilience", + "technology", + "vendor_management" + ], + "example": "technology" + }, + "status": { + "type": "string", + "enum": [ + "open", + "pending", + "closed", + "archived" + ], + "example": "open" + }, + "likelihood": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "possible" + }, + "impact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "major" + }, + "treatmentStrategy": { + "type": "string", + "enum": [ + "accept", + "avoid", + "mitigate", + "transfer" + ], + "example": "mitigate" + }, + "assigneeId": { + "type": "string", + "nullable": true, + "description": "ID of the user assigned to this risk", + "example": "mem_abc123def456" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the risk was created" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "description": "When the risk was last updated" + } + } + } }, - "version": { - "type": "number" + "count": { + "type": "number", + "description": "Total number of risks", + "example": 15 + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ], + "description": "How the request was authenticated" + }, + "authenticatedUser": { + "type": "object", + "description": "User information (only for session auth)", + "properties": { + "id": { + "type": "string", + "example": "usr_def456ghi789" + }, + "email": { + "type": "string", + "example": "user@example.com" + } + } } } } } } }, - "400": { - "description": "Invalid request", + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", "content": { "application/json": { "schema": { @@ -9187,15 +6133,15 @@ "properties": { "message": { "type": "string", - "example": "Invalid request" + "example": "Invalid or expired API key" } } } } } }, - "401": { - "description": "Unauthorized", + "404": { + "description": "Organization not found", "content": { "application/json": { "schema": { @@ -9203,15 +6149,15 @@ "properties": { "message": { "type": "string", - "example": "Unauthorized" + "example": "Organization with ID org_abc123def456 not found" } } } } } }, - "404": { - "description": "Resource not found", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { @@ -9219,7 +6165,7 @@ "properties": { "message": { "type": "string", - "example": "Resource not found" + "example": "Internal server error" } } } @@ -9232,72 +6178,201 @@ "apikey": [] } ], - "summary": "Publish policy version", + "summary": "List organization risks", "tags": [ - "Policies" + "Risks" ], - "x-speakeasy-mcp": { - "name": "publish-policy-version" - }, "x-mint": { "metadata": { - "title": "Publish policy version | Comp AI API", - "sidebarTitle": "Publish policy version", - "description": "Publishes a draft policy version, making it the active/current version of the policy. Pass the versionId of the draft you want to publish — for example one.", - "og:title": "Publish policy version | Comp AI API", - "og:description": "Publishes a draft policy version, making it the active/current version of the policy. Pass the versionId of the draft you want to publish — for example one." + "title": "List organization risks | Comp AI API", + "sidebarTitle": "List organization risks", + "description": "List organization risks with owners, departments, severity, mitigation status, and evidence for risk management reporting.", + "og:title": "List organization risks | Comp AI API", + "og:description": "List organization risks with owners, departments, severity, mitigation status, and evidence for risk management reporting." } + }, + "x-speakeasy-mcp": { + "name": "get-all-risks" } - } - }, - "/v1/policies/{id}/versions/{versionId}/activate": { + }, "post": { - "description": "Set active policy version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", - "operationId": "PoliciesController_setActivePolicyVersion_v1", - "parameters": [ - { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", - "required": true, - "in": "path", - "description": "Policy ID", - "schema": { - "type": "string", - "example": "pol_abc123def456" - } - }, - { - "name": "versionId", - "required": true, - "in": "path", - "description": "Policy version ID", - "schema": { - "type": "string", - "example": "pv_abc123def456" + "description": "Create a risk record with ownership and context so compliance teams can track mitigation and remediation work.", + "operationId": "RisksController_createRisk_v1", + "parameters": [], + "requestBody": { + "required": true, + "description": "Risk creation data", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateRiskDto" + } } } - ], + }, "responses": { - "200": { - "description": "Active version updated", + "201": { + "description": "Risk created successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { - "versionId": { - "type": "string" + "id": { + "type": "string", + "description": "Risk ID", + "example": "rsk_abc123def456" }, - "version": { - "type": "number" + "title": { + "type": "string", + "description": "Risk title", + "example": "Data breach vulnerability in user authentication system" + }, + "description": { + "type": "string", + "description": "Risk description", + "example": "Weak password requirements could lead to unauthorized access to user accounts" + }, + "category": { + "type": "string", + "enum": [ + "customer", + "governance", + "operations", + "other", + "people", + "regulatory", + "reporting", + "resilience", + "technology", + "vendor_management" + ], + "example": "technology" + }, + "department": { + "type": "string", + "enum": [ + "none", + "admin", + "gov", + "hr", + "it", + "itsm", + "qms" + ], + "nullable": true, + "example": "it" + }, + "status": { + "type": "string", + "enum": [ + "open", + "pending", + "closed", + "archived" + ], + "example": "open" + }, + "likelihood": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "possible" + }, + "impact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "major" + }, + "residualLikelihood": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "unlikely" + }, + "residualImpact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "minor" + }, + "treatmentStrategyDescription": { + "type": "string", + "nullable": true, + "example": "Implement multi-factor authentication and strengthen password requirements" + }, + "treatmentStrategy": { + "type": "string", + "enum": [ + "accept", + "avoid", + "mitigate", + "transfer" + ], + "example": "mitigate" + }, + "organizationId": { + "type": "string", + "example": "org_abc123def456" + }, + "assigneeId": { + "type": "string", + "nullable": true, + "description": "ID of the user assigned to this risk", + "example": "mem_abc123def456" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the risk was created" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "description": "When the risk was last updated" + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ], + "description": "How the request was authenticated" + }, + "authenticatedUser": { + "type": "object", + "description": "User information (only for session auth)", + "properties": { + "id": { + "type": "string", + "example": "usr_def456ghi789" + }, + "email": { + "type": "string", + "example": "user@example.com" + } + } } } } @@ -9305,15 +6380,30 @@ } }, "400": { - "description": "Invalid request", + "description": "Bad request - Invalid input data", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "title should not be empty", + "description should not be empty", + "category must be a valid enum value" + ] + }, + "error": { "type": "string", - "example": "Invalid request" + "example": "Bad Request" + }, + "statusCode": { + "type": "number", + "example": 400 } } } @@ -9321,7 +6411,7 @@ } }, "401": { - "description": "Unauthorized", + "description": "Unauthorized - Invalid authentication or insufficient permissions", "content": { "application/json": { "schema": { @@ -9329,7 +6419,7 @@ "properties": { "message": { "type": "string", - "example": "Unauthorized" + "example": "Invalid or expired API key" } } } @@ -9337,7 +6427,7 @@ } }, "404": { - "description": "Resource not found", + "description": "Organization not found", "content": { "application/json": { "schema": { @@ -9345,136 +6435,15 @@ "properties": { "message": { "type": "string", - "example": "Resource not found" - } - } - } - } - } - } - }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Set active policy version", - "tags": [ - "Policies" - ], - "x-mint": { - "metadata": { - "title": "Set active policy version | Comp AI API", - "sidebarTitle": "Set active policy version", - "description": "Set active policy version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", - "og:title": "Set active policy version | Comp AI API", - "og:description": "Set active policy version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows." - } - }, - "x-speakeasy-mcp": { - "name": "set-active-policy-version" - } - } - }, - "/v1/policies/{id}/versions/{versionId}/submit-for-approval": { - "post": { - "description": "Submit version for approval in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", - "operationId": "PoliciesController_submitVersionForApproval_v1", - "parameters": [ - { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", - "required": true, - "in": "path", - "description": "Policy ID", - "schema": { - "type": "string", - "example": "pol_abc123def456" - } - }, - { - "name": "versionId", - "required": true, - "in": "path", - "description": "Policy version ID", - "schema": { - "type": "string", - "example": "pv_abc123def456" - } - } - ], - "requestBody": { - "required": true, - "description": "Submit a policy version for approval", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SubmitForApprovalDto" - } - } - } - }, - "responses": { - "200": { - "description": "Version submitted for approval", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "versionId": { - "type": "string" - }, - "version": { - "type": "number" - } - } - } - } - } - }, - "400": { - "description": "Invalid request", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid request" - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" + "example": "Organization with ID org_abc123def456 not found" } } } } } }, - "404": { - "description": "Resource not found", + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { @@ -9482,7 +6451,7 @@ "properties": { "message": { "type": "string", - "example": "Resource not found" + "example": "Internal server error" } } } @@ -9495,50 +6464,30 @@ "apikey": [] } ], - "summary": "Submit version for approval", + "summary": "Create organization risk", "tags": [ - "Policies" + "Risks" ], - "x-speakeasy-mcp": { - "name": "submit-policy-version-for-approval" - }, "x-mint": { "metadata": { - "title": "Submit version for approval | Comp AI API", - "sidebarTitle": "Submit version for approval", - "description": "Submit version for approval in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval.", - "og:title": "Submit version for approval | Comp AI API", - "og:description": "Submit version for approval in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval." + "title": "Create organization risk | Comp AI API", + "sidebarTitle": "Create organization risk", + "description": "Create a risk record with ownership and context so compliance teams can track mitigation and remediation work.", + "og:title": "Create organization risk | Comp AI API", + "og:description": "Create a risk record with ownership and context so compliance teams can track mitigation and remediation work." } + }, + "x-speakeasy-mcp": { + "name": "create-risk" } } }, - "/v1/policies/{id}/accept-changes": { - "post": { - "operationId": "PoliciesController_acceptPolicyChanges_v1", - "parameters": [ - { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", - "required": true, - "in": "path", - "description": "Policy ID", - "schema": { - "example": "pol_abc123def456", - "type": "string" - } - } - ], + "/v1/risks/stats/by-assignee": { + "get": { + "operationId": "RisksController_getStatsByAssignee_v1", + "parameters": [], "responses": { - "201": { + "200": { "description": "" } }, @@ -9547,51 +6496,31 @@ "apikey": [] } ], - "summary": "Accept pending policy changes and publish the version", + "summary": "Get risk statistics grouped by assignee", "tags": [ - "Policies" + "Risks" ], - "x-speakeasy-mcp": { - "name": "accept-policy-changes" - }, - "description": "Accept pending policy changes and publish the version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "description": "Get risk statistics grouped by assignee in Comp AI. Create, update, and report on organizational risks with ownership, departments, and compliance remediation status.", "x-mint": { "metadata": { - "title": "Accept pending policy changes and publish the | Comp AI API", - "sidebarTitle": "Accept pending policy changes and publish the version", - "description": "Accept pending policy changes and publish the version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted.", - "og:title": "Accept pending policy changes and publish the | Comp AI API", - "og:description": "Accept pending policy changes and publish the version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted." + "title": "Get risk statistics grouped by assignee | Comp AI API", + "sidebarTitle": "Get risk statistics grouped by assignee", + "description": "Get risk statistics grouped by assignee in Comp AI. Create, update, and report on organizational risks with ownership, departments, and compliance.", + "og:title": "Get risk statistics grouped by assignee | Comp AI API", + "og:description": "Get risk statistics grouped by assignee in Comp AI. Create, update, and report on organizational risks with ownership, departments, and compliance." } + }, + "x-speakeasy-mcp": { + "name": "get-stats-by-assignee" } } }, - "/v1/policies/{id}/deny-changes": { - "post": { - "operationId": "PoliciesController_denyPolicyChanges_v1", - "parameters": [ - { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "id", - "required": true, - "in": "path", - "description": "Policy ID", - "schema": { - "example": "pol_abc123def456", - "type": "string" - } - } - ], + "/v1/risks/stats/by-department": { + "get": { + "operationId": "RisksController_getStatsByDepartment_v1", + "parameters": [], "responses": { - "201": { + "200": { "description": "" } }, @@ -9600,76 +6529,273 @@ "apikey": [] } ], - "summary": "Deny pending policy changes", + "summary": "Get risk counts grouped by department", "tags": [ - "Policies" + "Risks" ], - "description": "Deny pending policy changes in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "description": "Get risk counts grouped by department in Comp AI. Create, update, and report on organizational risks with ownership, departments, and compliance remediation status.", "x-mint": { "metadata": { - "title": "Deny pending policy changes | Comp AI API", - "sidebarTitle": "Deny pending policy changes", - "description": "Deny pending policy changes in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval.", - "og:title": "Deny pending policy changes | Comp AI API", - "og:description": "Deny pending policy changes in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval." + "title": "Get risk counts grouped by department | Comp AI API", + "sidebarTitle": "Get risk counts grouped by department", + "description": "Get risk counts grouped by department in Comp AI. Create, update, and report on organizational risks with ownership, departments, and compliance remediation.", + "og:title": "Get risk counts grouped by department | Comp AI API", + "og:description": "Get risk counts grouped by department in Comp AI. Create, update, and report on organizational risks with ownership, departments, and compliance remediation." } }, "x-speakeasy-mcp": { - "name": "deny-policy-changes" + "name": "get-stats-by-department" } } }, - "/v1/policies/{id}/ai-chat": { - "post": { - "description": "Ask policy-specific questions and request draft improvements while preserving human review before policy changes are applied.", - "operationId": "PoliciesController_aiChatPolicy_v1", + "/v1/risks/{id}": { + "get": { + "description": "Retrieve one organization risk with owner, department, likelihood, impact, mitigation, and remediation context.", + "operationId": "RisksController_getRiskById_v1", "parameters": [ - { - "name": "X-Organization-Id", - "in": "header", - "description": "Organization ID (required for session auth, optional for API key auth)", - "required": false, - "schema": { - "type": "string" - } - }, { "name": "id", "required": true, "in": "path", - "description": "Policy ID", + "description": "Risk ID", "schema": { - "example": "pol_abc123def456", + "example": "rsk_abc123def456", "type": "string" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AISuggestPolicyRequestDto" - } - } - } - }, "responses": { "200": { - "description": "Streaming AI response", + "description": "Risk retrieved successfully", "content": { - "text/event-stream": { + "application/json": { "schema": { - "type": "string" + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Risk ID", + "example": "rsk_abc123def456" + }, + "title": { + "type": "string", + "description": "Risk title", + "example": "Data breach vulnerability in user authentication system" + }, + "description": { + "type": "string", + "description": "Risk description", + "example": "Weak password requirements could lead to unauthorized access to user accounts" + }, + "category": { + "type": "string", + "enum": [ + "customer", + "governance", + "operations", + "other", + "people", + "regulatory", + "reporting", + "resilience", + "technology", + "vendor_management" + ], + "example": "technology" + }, + "department": { + "type": "string", + "enum": [ + "none", + "admin", + "gov", + "hr", + "it", + "itsm", + "qms" + ], + "nullable": true, + "example": "it" + }, + "status": { + "type": "string", + "enum": [ + "open", + "pending", + "closed", + "archived" + ], + "example": "open" + }, + "likelihood": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "possible" + }, + "impact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "major" + }, + "residualLikelihood": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "unlikely" + }, + "residualImpact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "minor" + }, + "treatmentStrategyDescription": { + "type": "string", + "nullable": true, + "example": "Implement multi-factor authentication and strengthen password requirements" + }, + "treatmentStrategy": { + "type": "string", + "enum": [ + "accept", + "avoid", + "mitigate", + "transfer" + ], + "example": "mitigate" + }, + "organizationId": { + "type": "string", + "example": "org_abc123def456" + }, + "assigneeId": { + "type": "string", + "nullable": true, + "description": "ID of the user assigned to this risk", + "example": "mem_abc123def456" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the risk was created" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "description": "When the risk was last updated" + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ], + "description": "How the request was authenticated" + }, + "authenticatedUser": { + "type": "object", + "description": "User information (only for session auth)", + "properties": { + "id": { + "type": "string", + "example": "usr_def456ghi789" + }, + "email": { + "type": "string", + "example": "user@example.com" + } + } + } + } } } } }, "401": { - "description": "Unauthorized" + "description": "Unauthorized - Invalid authentication or insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid or expired API key" + } + } + } + } + } + }, + "403": { + "description": "Forbidden - User does not have permission to access this risk", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "You do not have access to view this risk" + } + } + } + } + } }, "404": { - "description": "Policy not found" + "description": "Risk not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Risk with ID rsk_abc123def456 not found in organization org_abc123def456" + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Internal server error" + } + } + } + } + } } }, "security": [ @@ -9677,409 +6803,1605 @@ "apikey": [] } ], - "summary": "Chat with AI about a policy", + "summary": "Get organization risk", "tags": [ - "Policies" + "Risks" ], "x-mint": { "metadata": { - "title": "Chat with AI about a policy | Comp AI API", - "sidebarTitle": "Chat with AI about a policy", - "description": "Ask policy-specific questions and request draft improvements while preserving human review before policy changes are applied.", - "og:title": "Chat with AI about a policy | Comp AI API", - "og:description": "Ask policy-specific questions and request draft improvements while preserving human review before policy changes are applied." - } - }, - "x-speakeasy-mcp": { - "name": "ai-chat-policy" - } - } - }, - "/v1/device-agent/exchange-code": { - "post": { - "operationId": "DeviceAgentController_exchangeCode_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExchangeCodeDto" - } - } - } - }, - "responses": { - "201": { - "description": "" - } - }, - "summary": "Exchange an auth code for device credentials", - "tags": [ - "Device Agent" - ], - "description": "Exchange an auth code for device credentials in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", - "x-mint": { - "metadata": { - "title": "Exchange an auth code for device credentials | Comp AI API", - "sidebarTitle": "Exchange an auth code for device credentials", - "description": "Exchange an auth code for device credentials in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage.", - "og:title": "Exchange an auth code for device credentials | Comp AI API", - "og:description": "Exchange an auth code for device credentials in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage." - } - }, - "x-speakeasy-mcp": { - "name": "exchange-code" - } - } - }, - "/v1/device-agent/updates/{filename}": { - "get": { - "operationId": "DeviceAgentController_getUpdateFile_v1", - "parameters": [ - { - "name": "filename", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - } - }, - "summary": "Download a device-agent update", - "tags": [ - "Device Agent" - ], - "description": "Download a device-agent update in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", - "x-mint": { - "metadata": { - "title": "Download a device-agent update | Comp AI API", - "sidebarTitle": "Download a device-agent update", - "description": "Download a device-agent update in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint.", - "og:title": "Download a device-agent update | Comp AI API", - "og:description": "Download a device-agent update in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint." + "title": "Get organization risk | Comp AI API", + "sidebarTitle": "Get organization risk", + "description": "Retrieve one organization risk with owner, department, likelihood, impact, mitigation, and remediation context.", + "og:title": "Get organization risk | Comp AI API", + "og:description": "Retrieve one organization risk with owner, department, likelihood, impact, mitigation, and remediation context." } }, "x-speakeasy-mcp": { - "name": "get-update-file" + "name": "get-risk-by-id" } }, - "head": { - "operationId": "DeviceAgentController_headUpdateFile_v1", + "patch": { + "description": "Update a risk record as mitigation work progresses so compliance reports reflect the current risk posture.", + "operationId": "RisksController_updateRisk_v1", "parameters": [ { - "name": "filename", + "name": "id", "required": true, "in": "path", + "description": "Risk ID", "schema": { + "example": "rsk_abc123def456", "type": "string" } } ], - "responses": { - "200": { - "description": "" - } - }, - "summary": "Check a device-agent update's metadata", - "tags": [ - "Device Agent" - ], - "description": "Check a device-agent update's metadata in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", - "x-mint": { - "metadata": { - "title": "Check a device-agent update's metadata | Comp AI API", - "sidebarTitle": "Check a device-agent update's metadata", - "description": "Check a device-agent update's metadata in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint.", - "og:title": "Check a device-agent update's metadata | Comp AI API", - "og:description": "Check a device-agent update's metadata in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint." - } - }, - "x-speakeasy-mcp": { - "name": "head-update-file" - } - } - }, - "/v1/device-agent/auth-code": { - "post": { - "operationId": "DeviceAgentController_generateAuthCode_v1", - "parameters": [], "requestBody": { "required": true, + "description": "Risk update data", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuthCodeDto" + "$ref": "#/components/schemas/UpdateRiskDto" } } } }, - "responses": { - "201": { - "description": "" - } - }, - "summary": "Create a device-agent auth code", - "tags": [ - "Device Agent" - ], - "description": "Create a device-agent auth code in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", - "x-mint": { - "metadata": { - "title": "Create a device-agent auth code | Comp AI API", - "sidebarTitle": "Create a device-agent auth code", - "description": "Create a device-agent auth code in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint.", - "og:title": "Create a device-agent auth code | Comp AI API", - "og:description": "Create a device-agent auth code in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint." - } - }, - "x-speakeasy-mcp": { - "name": "generate-auth-code" - } - } - }, - "/v1/device-agent/my-organizations": { - "get": { - "operationId": "DeviceAgentController_getMyOrganizations_v1", - "parameters": [], "responses": { "200": { - "description": "" - } - }, - "summary": "List organizations for the current device", - "tags": [ - "Device Agent" - ], - "description": "List organizations for the current device in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", - "x-mint": { - "metadata": { - "title": "List organizations for the current device | Comp AI API", - "sidebarTitle": "List organizations for the current device", - "description": "List organizations for the current device in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage.", - "og:title": "List organizations for the current device | Comp AI API", - "og:description": "List organizations for the current device in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage." - } - }, - "x-speakeasy-mcp": { - "name": "get-my-organizations" - } - } - }, - "/v1/device-agent/register": { - "post": { - "operationId": "DeviceAgentController_registerDevice_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RegisterDeviceDto" - } - } - } - }, - "responses": { - "201": { - "description": "" - } - }, - "summary": "Register device agent", - "tags": [ - "Device Agent" - ], - "description": "Register a Comp AI Device Agent installation so employee endpoint checks can report into compliance tasks and device inventory.", - "x-mint": { - "metadata": { - "title": "Register device agent | Comp AI API", - "sidebarTitle": "Register device agent", - "description": "Register a Comp AI Device Agent installation so employee endpoint checks can report into compliance tasks and device inventory.", - "og:title": "Register device agent | Comp AI API", - "og:description": "Register a Comp AI Device Agent installation so employee endpoint checks can report into compliance tasks and device inventory." - } - }, - "x-speakeasy-mcp": { - "name": "register-device" - } - } - }, - "/v1/device-agent/check-in": { - "post": { - "operationId": "DeviceAgentController_checkIn_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CheckInDto" + "description": "Risk updated successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Risk ID", + "example": "rsk_abc123def456" + }, + "title": { + "type": "string", + "description": "Risk title", + "example": "Data breach vulnerability in user authentication system" + }, + "description": { + "type": "string", + "description": "Risk description", + "example": "Weak password requirements could lead to unauthorized access to user accounts" + }, + "category": { + "type": "string", + "enum": [ + "customer", + "governance", + "operations", + "other", + "people", + "regulatory", + "reporting", + "resilience", + "technology", + "vendor_management" + ], + "example": "technology" + }, + "department": { + "type": "string", + "enum": [ + "none", + "admin", + "gov", + "hr", + "it", + "itsm", + "qms" + ], + "nullable": true, + "example": "it" + }, + "status": { + "type": "string", + "enum": [ + "open", + "pending", + "closed", + "archived" + ], + "example": "open" + }, + "likelihood": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "possible" + }, + "impact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "major" + }, + "residualLikelihood": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "unlikely" + }, + "residualImpact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "minor" + }, + "treatmentStrategyDescription": { + "type": "string", + "nullable": true, + "example": "Implement multi-factor authentication and strengthen password requirements" + }, + "treatmentStrategy": { + "type": "string", + "enum": [ + "accept", + "avoid", + "mitigate", + "transfer" + ], + "example": "mitigate" + }, + "organizationId": { + "type": "string", + "example": "org_abc123def456" + }, + "assigneeId": { + "type": "string", + "nullable": true, + "description": "ID of the user assigned to this risk", + "example": "mem_abc123def456" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the risk was created" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "description": "When the risk was last updated" + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ], + "description": "How the request was authenticated" + }, + "authenticatedUser": { + "type": "object", + "description": "User information (only for session auth)", + "properties": { + "id": { + "type": "string", + "example": "usr_def456ghi789" + }, + "email": { + "type": "string", + "example": "user@example.com" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad request - Invalid input data", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "title should not be empty", + "category must be a valid enum value", + "status must be a valid enum value" + ] + }, + "error": { + "type": "string", + "example": "Bad Request" + }, + "statusCode": { + "type": "number", + "example": 400 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid or expired API key" + } + } + } + } + } + }, + "404": { + "description": "Risk not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Risk with ID rsk_abc123def456 not found in organization org_abc123def456" + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Internal server error" + } + } + } + } + } + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Update organization risk", + "tags": [ + "Risks" + ], + "x-mint": { + "metadata": { + "title": "Update organization risk | Comp AI API", + "sidebarTitle": "Update organization risk", + "description": "Update a risk record as mitigation work progresses so compliance reports reflect the current risk posture.", + "og:title": "Update organization risk | Comp AI API", + "og:description": "Update a risk record as mitigation work progresses so compliance reports reflect the current risk posture." + } + }, + "x-speakeasy-mcp": { + "name": "update-risk" + } + }, + "delete": { + "description": "Delete an organization risk that no longer needs active tracking in the risk register or compliance program.", + "operationId": "RisksController_deleteRisk_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "description": "Risk ID", + "schema": { + "example": "rsk_abc123def456", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Risk deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Risk deleted successfully" + }, + "deletedRisk": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Deleted risk ID", + "example": "rsk_abc123def456" + }, + "title": { + "type": "string", + "description": "Deleted risk title", + "example": "Data breach vulnerability in user authentication system" + } + } + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ], + "description": "How the request was authenticated" + }, + "authenticatedUser": { + "type": "object", + "description": "User information (only for session auth)", + "properties": { + "id": { + "type": "string", + "example": "usr_def456ghi789" + }, + "email": { + "type": "string", + "example": "user@example.com" + } + } + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid or expired API key" + } + } + } + } + } + }, + "404": { + "description": "Risk not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Risk with ID rsk_abc123def456 not found in organization org_abc123def456" + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Internal server error" + } + } + } + } + } + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Delete organization risk", + "tags": [ + "Risks" + ], + "x-mint": { + "metadata": { + "title": "Delete organization risk | Comp AI API", + "sidebarTitle": "Delete organization risk", + "description": "Delete an organization risk that no longer needs active tracking in the risk register or compliance program.", + "og:title": "Delete organization risk | Comp AI API", + "og:description": "Delete an organization risk that no longer needs active tracking in the risk register or compliance program." + } + }, + "x-speakeasy-mcp": { + "name": "delete-risk" + } + } + }, + "/v1/vendors/global/search": { + "get": { + "operationId": "VendorsController_searchGlobalVendors_v1", + "parameters": [ + { + "name": "name", + "required": false, + "in": "query", + "description": "Vendor name to search for", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Search global vendors", + "tags": [ + "Vendors" + ], + "description": "Search global vendor records to prefill vendor profiles and speed up third-party risk assessment workflows.", + "x-mint": { + "metadata": { + "title": "Search global vendors | Comp AI API", + "sidebarTitle": "Search global vendors", + "description": "Search global vendor records to prefill vendor profiles and speed up third-party risk assessment workflows.", + "og:title": "Search global vendors | Comp AI API", + "og:description": "Search global vendor records to prefill vendor profiles and speed up third-party risk assessment workflows." + } + }, + "x-speakeasy-mcp": { + "name": "search-global-vendors" + } + } + }, + "/v1/vendors": { + "get": { + "description": "List third-party vendors with risk level, owner, assessment status, and Trust Center visibility for vendor risk management.", + "operationId": "VendorsController_getAllVendors_v1", + "parameters": [], + "responses": { + "200": { + "description": "Vendors retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Vendor ID", + "example": "vnd_abc123def456" + }, + "name": { + "type": "string", + "description": "Vendor name", + "example": "CloudTech Solutions Inc." + }, + "description": { + "type": "string", + "description": "Vendor description", + "example": "Cloud infrastructure provider offering AWS-like services" + }, + "category": { + "type": "string", + "enum": [ + "cloud", + "infrastructure", + "software_as_a_service", + "finance", + "marketing", + "sales", + "hr", + "other" + ], + "example": "cloud" + }, + "status": { + "type": "string", + "enum": [ + "not_assessed", + "in_progress", + "assessed" + ], + "example": "not_assessed" + }, + "inherentProbability": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "possible" + }, + "inherentImpact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "moderate" + }, + "residualProbability": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "unlikely" + }, + "residualImpact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "minor" + }, + "website": { + "type": "string", + "nullable": true, + "example": "https://www.cloudtechsolutions.com" + }, + "assigneeId": { + "type": "string", + "nullable": true, + "description": "ID of the user assigned to manage this vendor", + "example": "mem_abc123def456" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the vendor was created" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "description": "When the vendor was last updated" + } + } + } + }, + "count": { + "type": "number", + "description": "Total number of vendors", + "example": 12 + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ], + "description": "How the request was authenticated" + }, + "authenticatedUser": { + "type": "object", + "description": "User information (only for session auth)", + "properties": { + "id": { + "type": "string", + "example": "usr_def456ghi789" + }, + "email": { + "type": "string", + "example": "user@example.com" + } + } + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid or expired API key" + } + } + } + } + } + }, + "404": { + "description": "Organization not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Organization with ID org_abc123def456 not found" + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Internal server error" + } + } + } + } + } + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "List vendors", + "tags": [ + "Vendors" + ], + "x-mint": { + "metadata": { + "title": "List vendors | Comp AI API", + "sidebarTitle": "List vendors", + "description": "List third-party vendors with risk level, owner, assessment status, and Trust Center visibility for vendor risk management.", + "og:title": "List vendors | Comp AI API", + "og:description": "List third-party vendors with risk level, owner, assessment status, and Trust Center visibility for vendor risk management." + } + }, + "x-speakeasy-mcp": { + "name": "get-all-vendors" + } + }, + "post": { + "description": "Create a vendor record so teams can track third-party risk, assessment evidence, owner, category, and compliance status.", + "operationId": "VendorsController_createVendor_v1", + "parameters": [], + "requestBody": { + "required": true, + "description": "Vendor creation data", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateVendorDto" + } + } + } + }, + "responses": { + "201": { + "description": "Vendor created successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Vendor ID", + "example": "vnd_abc123def456" + }, + "name": { + "type": "string", + "description": "Vendor name", + "example": "CloudTech Solutions Inc." + }, + "description": { + "type": "string", + "description": "Vendor description", + "example": "Cloud infrastructure provider offering AWS-like services including compute, storage, and networking solutions for enterprise customers." + }, + "category": { + "type": "string", + "enum": [ + "cloud", + "infrastructure", + "software_as_a_service", + "finance", + "marketing", + "sales", + "hr", + "other" + ], + "example": "cloud" + }, + "status": { + "type": "string", + "enum": [ + "not_assessed", + "in_progress", + "assessed" + ], + "example": "not_assessed" + }, + "inherentProbability": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "possible" + }, + "inherentImpact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "moderate" + }, + "residualProbability": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "unlikely" + }, + "residualImpact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "minor" + }, + "website": { + "type": "string", + "nullable": true, + "example": "https://www.cloudtechsolutions.com" + }, + "organizationId": { + "type": "string", + "example": "org_abc123def456" + }, + "assigneeId": { + "type": "string", + "nullable": true, + "description": "ID of the user assigned to manage this vendor", + "example": "mem_abc123def456" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the vendor was created" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "description": "When the vendor was last updated" + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ], + "description": "How the request was authenticated" + }, + "authenticatedUser": { + "type": "object", + "description": "User information (only for session auth)", + "properties": { + "id": { + "type": "string", + "example": "usr_def456ghi789" + }, + "email": { + "type": "string", + "example": "user@example.com" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad request - Invalid input data", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "name should not be empty", + "description should not be empty", + "category must be a valid enum value", + "website must be a URL address" + ] + }, + "error": { + "type": "string", + "example": "Bad Request" + }, + "statusCode": { + "type": "number", + "example": 400 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid or expired API key" + } + } + } + } + } + }, + "404": { + "description": "Organization not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Organization with ID org_abc123def456 not found" + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Internal server error" + } + } + } + } + } + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Create vendor", + "tags": [ + "Vendors" + ], + "x-mint": { + "metadata": { + "title": "Create vendor | Comp AI API", + "sidebarTitle": "Create vendor", + "description": "Create a vendor record so teams can track third-party risk, assessment evidence, owner, category, and compliance status.", + "og:title": "Create vendor | Comp AI API", + "og:description": "Create a vendor record so teams can track third-party risk, assessment evidence, owner, category, and compliance status." + } + }, + "x-speakeasy-mcp": { + "name": "create-vendor" + } + } + }, + "/v1/vendors/{id}": { + "get": { + "description": "Retrieve one vendor record with ownership, review status, risk context, and third-party compliance metadata.", + "operationId": "VendorsController_getVendorById_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "description": "Vendor ID", + "schema": { + "example": "vnd_abc123def456", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Vendor retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Vendor ID", + "example": "vnd_abc123def456" + }, + "name": { + "type": "string", + "description": "Vendor name", + "example": "CloudTech Solutions Inc." + }, + "description": { + "type": "string", + "description": "Vendor description", + "example": "Cloud infrastructure provider offering AWS-like services including compute, storage, and networking solutions for enterprise customers." + }, + "category": { + "type": "string", + "enum": [ + "cloud", + "infrastructure", + "software_as_a_service", + "finance", + "marketing", + "sales", + "hr", + "other" + ], + "example": "cloud" + }, + "status": { + "type": "string", + "enum": [ + "not_assessed", + "in_progress", + "assessed" + ], + "example": "not_assessed" + }, + "inherentProbability": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "possible" + }, + "inherentImpact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "moderate" + }, + "residualProbability": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "unlikely" + }, + "residualImpact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "minor" + }, + "website": { + "type": "string", + "nullable": true, + "example": "https://www.cloudtechsolutions.com" + }, + "organizationId": { + "type": "string", + "example": "org_abc123def456" + }, + "assigneeId": { + "type": "string", + "nullable": true, + "description": "ID of the user assigned to manage this vendor", + "example": "mem_abc123def456" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the vendor was created" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "description": "When the vendor was last updated" + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ], + "description": "How the request was authenticated" + }, + "authenticatedUser": { + "type": "object", + "description": "User information (only for session auth)", + "properties": { + "id": { + "type": "string", + "example": "usr_def456ghi789" + }, + "email": { + "type": "string", + "example": "user@example.com" + } + } + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid or expired API key" + } + } + } + } + } + }, + "404": { + "description": "Vendor not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Vendor with ID vnd_abc123def456 not found in organization org_abc123def456" + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Internal server error" + } + } + } + } + } + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Get vendor details", + "tags": [ + "Vendors" + ], + "x-mint": { + "metadata": { + "title": "Get vendor details | Comp AI API", + "sidebarTitle": "Get vendor details", + "description": "Retrieve one vendor record with ownership, review status, risk context, and third-party compliance metadata.", + "og:title": "Get vendor details | Comp AI API", + "og:description": "Retrieve one vendor record with ownership, review status, risk context, and third-party compliance metadata." + } + }, + "x-speakeasy-mcp": { + "name": "get-vendor-by-id" + } + }, + "patch": { + "description": "Update vendor ownership, risk attributes, review metadata, and third-party compliance context for an organization.", + "operationId": "VendorsController_updateVendor_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "description": "Vendor ID", + "schema": { + "example": "vnd_abc123def456", + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "description": "Vendor update data", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateVendorDto" + } + } + } + }, + "responses": { + "200": { + "description": "Vendor updated successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Vendor ID", + "example": "vnd_abc123def456" + }, + "name": { + "type": "string", + "description": "Vendor name", + "example": "CloudTech Solutions Inc." + }, + "description": { + "type": "string", + "description": "Vendor description", + "example": "Cloud infrastructure provider offering AWS-like services including compute, storage, and networking solutions for enterprise customers." + }, + "category": { + "type": "string", + "enum": [ + "cloud", + "infrastructure", + "software_as_a_service", + "finance", + "marketing", + "sales", + "hr", + "other" + ], + "example": "cloud" + }, + "status": { + "type": "string", + "enum": [ + "not_assessed", + "in_progress", + "assessed" + ], + "example": "assessed" + }, + "inherentProbability": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "possible" + }, + "inherentImpact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "moderate" + }, + "residualProbability": { + "type": "string", + "enum": [ + "very_unlikely", + "unlikely", + "possible", + "likely", + "very_likely" + ], + "example": "unlikely" + }, + "residualImpact": { + "type": "string", + "enum": [ + "insignificant", + "minor", + "moderate", + "major", + "severe" + ], + "example": "minor" + }, + "website": { + "type": "string", + "nullable": true, + "example": "https://www.cloudtechsolutions.com" + }, + "organizationId": { + "type": "string", + "example": "org_abc123def456" + }, + "assigneeId": { + "type": "string", + "nullable": true, + "description": "ID of the user assigned to manage this vendor", + "example": "mem_abc123def456" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When the vendor was created" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "description": "When the vendor was last updated" + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ], + "description": "How the request was authenticated" + }, + "authenticatedUser": { + "type": "object", + "description": "User information (only for session auth)", + "properties": { + "id": { + "type": "string", + "example": "usr_def456ghi789" + }, + "email": { + "type": "string", + "example": "user@example.com" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad request - Invalid input data", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "name should not be empty", + "category must be a valid enum value", + "status must be a valid enum value", + "website must be a URL address" + ] + }, + "error": { + "type": "string", + "example": "Bad Request" + }, + "statusCode": { + "type": "number", + "example": 400 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid or expired API key" + } + } + } + } + } + }, + "404": { + "description": "Vendor not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Vendor with ID vnd_abc123def456 not found in organization org_abc123def456" + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Internal server error" + } + } + } } } } }, - "responses": { - "201": { - "description": "" + "security": [ + { + "apikey": [] } - }, - "summary": "Submit device compliance check-in", + ], + "summary": "Update vendor record", "tags": [ - "Device Agent" + "Vendors" ], - "description": "Submit device security check results for encryption, antivirus, password policy, screen lock, and other endpoint controls.", "x-mint": { "metadata": { - "title": "Submit device compliance check-in | Comp AI API", - "sidebarTitle": "Submit device compliance check-in", - "description": "Submit device security check results for encryption, antivirus, password policy, screen lock, and other endpoint controls.", - "og:title": "Submit device compliance check-in | Comp AI API", - "og:description": "Submit device security check results for encryption, antivirus, password policy, screen lock, and other endpoint controls." + "title": "Update vendor record | Comp AI API", + "sidebarTitle": "Update vendor record", + "description": "Update vendor ownership, risk attributes, review metadata, and third-party compliance context for an organization.", + "og:title": "Update vendor record | Comp AI API", + "og:description": "Update vendor ownership, risk attributes, review metadata, and third-party compliance context for an organization." } }, "x-speakeasy-mcp": { - "name": "check-in" + "name": "update-vendor" } - } - }, - "/v1/device-agent/status": { - "get": { - "operationId": "DeviceAgentController_getDeviceStatus_v1", + }, + "delete": { + "description": "Permanently removes a vendor from the organization. This action cannot be undone.", + "operationId": "VendorsController_deleteVendor_v1", "parameters": [ { - "name": "deviceId", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "organizationId", + "name": "id", "required": true, - "in": "query", + "in": "path", + "description": "Vendor ID", "schema": { + "example": "vnd_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "" - } - }, - "summary": "Get device-agent status", - "tags": [ - "Device Agent" - ], - "description": "Get device-agent status in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", - "x-mint": { - "metadata": { - "title": "Get device-agent status | Comp AI API", - "sidebarTitle": "Get device-agent status", - "description": "Get device-agent status in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", - "og:title": "Get device-agent status | Comp AI API", - "og:description": "Get device-agent status in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status." - } - }, - "x-speakeasy-mcp": { - "name": "get-device-status" - } - } - }, - "/v1/device-agent/mac": { - "get": { - "description": "Downloads the Comp AI Device Agent installer for macOS as a DMG file. The agent helps monitor device compliance and security policies.", - "operationId": "DeviceAgentController_downloadMacAgent_v1", - "parameters": [], - "responses": { - "default": { - "description": "Internal server error\n\nmacOS agent file not found in S3\n\nUnauthorized - Invalid or missing authentication\n\nmacOS agent DMG file download", + "description": "Vendor deleted successfully", "content": { - "application/x-apple-diskimage": { - "schema": { - "type": "string", - "format": "binary" - }, - "example": "Binary DMG file content" - } - }, - "headers": { - "Content-Disposition": { - "description": "Indicates file should be downloaded with specific filename", - "schema": { - "type": "string", - "example": "attachment; filename=\"Comp AI Agent-1.0.0-arm64.dmg\"" - } - }, - "Content-Type": { - "description": "MIME type for macOS disk image", + "application/json": { "schema": { - "type": "string", - "example": "application/x-apple-diskimage" + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Vendor deleted successfully" + }, + "deletedVendor": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Deleted vendor ID", + "example": "vnd_abc123def456" + }, + "name": { + "type": "string", + "description": "Deleted vendor name", + "example": "CloudTech Solutions Inc." + } + } + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ], + "description": "How the request was authenticated" + }, + "authenticatedUser": { + "type": "object", + "description": "User information (only for session auth)", + "properties": { + "id": { + "type": "string", + "example": "usr_def456ghi789" + }, + "email": { + "type": "string", + "example": "user@example.com" + } + } + } + } } } } - } - }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Download macOS Device Agent", - "tags": [ - "Device Agent" - ], - "x-mint": { - "metadata": { - "title": "Download macOS Device Agent | Comp AI API", - "sidebarTitle": "Download macOS Device Agent", - "description": "Downloads the Comp AI Device Agent installer for macOS as a DMG file. The agent helps monitor device compliance and security policies.", - "og:title": "Download macOS Device Agent | Comp AI API", - "og:description": "Downloads the Comp AI Device Agent installer for macOS as a DMG file. The agent helps monitor device compliance and security policies." - } - }, - "x-speakeasy-mcp": { - "name": "download-mac-agent" - } - } - }, - "/v1/device-agent/windows": { - "get": { - "description": "Downloads a ZIP package containing the Comp AI Device Agent installer for Windows, along with setup scripts and instructions. The package includes an MSI installer, setup batch script customized for the organization and user, and a README.", - "operationId": "DeviceAgentController_downloadWindowsAgent_v1", - "parameters": [], - "responses": { - "default": { - "description": "Internal server error\n\nWindows agent file not found in S3\n\nUnauthorized - Invalid or missing authentication\n\nWindows agent ZIP file download containing MSI installer and setup scripts", + }, + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", "content": { - "application/zip": { + "application/json": { "schema": { - "type": "string", - "format": "binary" - }, - "example": "Binary ZIP file content" + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid or expired API key" + } + } + } } - }, - "headers": { - "Content-Disposition": { - "description": "Indicates file should be downloaded with specific filename", + } + }, + "404": { + "description": "Vendor not found", + "content": { + "application/json": { "schema": { - "type": "string", - "example": "attachment; filename=\"compai-device-agent-windows.zip\"" + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Vendor with ID vnd_abc123def456 not found in organization org_abc123def456" + } + } } - }, - "Content-Type": { - "description": "MIME type for ZIP archive", + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { "schema": { - "type": "string", - "example": "application/zip" + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Internal server error" + } + } } } } @@ -10090,71 +8412,96 @@ "apikey": [] } ], - "summary": "Download Windows Device Agent ZIP", + "summary": "Delete vendor", "tags": [ - "Device Agent" + "Vendors" ], "x-mint": { "metadata": { - "title": "Download Windows Device Agent ZIP | Comp AI API", - "sidebarTitle": "Download Windows Device Agent ZIP", - "description": "Downloads a ZIP package containing the Comp AI Device Agent installer for Windows, along with setup scripts and instructions. The package includes an MSI.", - "og:title": "Download Windows Device Agent ZIP | Comp AI API", - "og:description": "Downloads a ZIP package containing the Comp AI Device Agent installer for Windows, along with setup scripts and instructions. The package includes an MSI." + "title": "Delete vendor | Comp AI API", + "sidebarTitle": "Delete vendor", + "description": "Permanently removes a vendor from the organization. This action cannot be undone.", + "og:title": "Delete vendor | Comp AI API", + "og:description": "Permanently removes a vendor from the organization. This action cannot be undone." } }, "x-speakeasy-mcp": { - "name": "download-windows-agent" + "name": "delete-vendor" } } }, - "/v1/device-agent/sessions/{deviceId}": { - "delete": { - "operationId": "DeviceAgentController_revokeAgentAccess_v1", + "/v1/vendors/{id}/trigger-assessment": { + "post": { + "operationId": "VendorsController_triggerAssessment_v1", "parameters": [ { - "name": "deviceId", + "name": "id", "required": true, "in": "path", + "description": "Vendor ID", "schema": { + "example": "vnd_abc123def456", "type": "string" } } ], "responses": { - "204": { + "201": { "description": "" } }, - "summary": "Revoke a device agent session", + "security": [ + { + "apikey": [] + } + ], + "summary": "Trigger vendor risk assessment", "tags": [ - "Device Agent" + "Vendors" ], - "description": "Revoke a device agent session in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", + "description": "Trigger a vendor risk assessment so Comp AI can update third-party risk evidence and vendor security review status.", "x-mint": { "metadata": { - "title": "Revoke a device agent session | Comp AI API", - "sidebarTitle": "Revoke a device agent session", - "description": "Revoke a device agent session in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security.", - "og:title": "Revoke a device agent session | Comp AI API", - "og:description": "Revoke a device agent session in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security." + "title": "Trigger vendor risk assessment | Comp AI API", + "sidebarTitle": "Trigger vendor risk assessment", + "description": "Trigger a vendor risk assessment so Comp AI can update third-party risk evidence and vendor security review status.", + "og:title": "Trigger vendor risk assessment | Comp AI API", + "og:description": "Trigger a vendor risk assessment so Comp AI can update third-party risk evidence and vendor security review status." } }, "x-speakeasy-mcp": { - "name": "revoke-agent-access" + "name": "trigger-assessment" } } }, - "/v1/tasks": { + "/v1/context": { "get": { - "description": "List compliance tasks with assignments and status so teams can track audit readiness, evidence work, and control implementation.", - "operationId": "TasksController_getTasks_v1", + "description": "List organization context entries used as approved source material for evidence, questionnaires, policies, and AI workflows.", + "operationId": "ContextController_getAllContext_v1", "parameters": [ { - "name": "includeRelations", + "name": "search", "required": false, "in": "query", - "description": "Include controls and automations with runs", + "description": "Search by question text", + "schema": { + "type": "string" + } + }, + { + "name": "page", + "required": false, + "in": "query", + "description": "Page number (1-based)", + "schema": { + "type": "string" + } + }, + { + "name": "perPage", + "required": false, + "in": "query", + "description": "Items per page", "schema": { "type": "string" } @@ -10162,372 +8509,389 @@ ], "responses": { "200": { - "description": "Tasks retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TaskResponseDto" - } - }, - "example": [ - { - "id": "tsk_abc123def456", - "title": "Implement user authentication", - "description": "Add OAuth 2.0 authentication to the platform", - "status": "in_progress", - "createdAt": "2024-01-15T10:30:00Z", - "updatedAt": "2024-01-15T10:30:00Z" - } - ] - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication", + "description": "Context entries retrieved successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { - "message": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "question": { + "type": "string" + }, + "answer": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + } + } + } + }, + "count": { + "type": "number" + }, + "authType": { "type": "string", - "example": "Unauthorized" + "enum": [ + "api-key", + "session" + ] } } - } - } - } - } - }, - "security": [ - { - "apikey": [] - } - ], - "summary": "List compliance tasks", - "tags": [ - "Tasks" - ], - "x-mint": { - "metadata": { - "title": "List compliance tasks | Comp AI API", - "sidebarTitle": "List compliance tasks", - "description": "List compliance tasks with assignments and status so teams can track audit readiness, evidence work, and control implementation.", - "og:title": "List compliance tasks | Comp AI API", - "og:description": "List compliance tasks with assignments and status so teams can track audit readiness, evidence work, and control implementation." - } - }, - "x-codeSamples": [ - { - "lang": "bash", - "label": "List tasks", - "source": "curl --request GET --url \"https://api.trycomp.ai/v1/tasks\" --header \"X-API-Key: $COMP_AI_API_KEY\"" - } - ], - "x-speakeasy-mcp": { - "name": "get-tasks" - } - }, - "post": { - "description": "Create a compliance task for evidence collection, remediation, review, or recurring control work inside an organization.", - "operationId": "TasksController_createTask_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "example": "Implement access controls" - }, - "description": { - "type": "string", - "example": "Set up role-based access controls for the platform" - }, - "assigneeId": { - "type": "string", - "nullable": true, - "example": "mem_abc123" - }, - "frequency": { - "type": "string", - "enum": [ - "daily", - "weekly", - "monthly", - "quarterly", - "yearly" - ], - "nullable": true, - "example": "monthly" - }, - "department": { - "type": "string", - "nullable": true, - "example": "it", - "maxLength": 64, - "description": "Built-in values: none, admin, gov, hr, it, itsm, qms. Custom department names are also accepted." - }, - "controlIds": { - "type": "array", - "items": { - "type": "string" + }, + "example": { + "data": [ + { + "id": "ctx_abc123def456", + "organizationId": "org_xyz789uvw012", + "question": "How do we handle user authentication in our application?", + "answer": "We use a hybrid authentication system supporting both API keys and session-based authentication.", + "tags": [ + "authentication", + "security", + "api", + "sessions" + ], + "createdAt": "2024-01-15T10:30:00.000Z", + "updatedAt": "2024-01-15T14:20:00.000Z" }, - "example": [ - "ctrl_abc123" - ] - }, - "taskTemplateId": { - "type": "string", - "nullable": true, - "example": "tmpl_abc123" - }, - "vendorId": { - "type": "string", - "nullable": true, - "example": "vnd_abc123", - "description": "Vendor ID to connect this task to" + { + "id": "ctx_ghi789jkl012", + "organizationId": "org_xyz789uvw012", + "question": "What database do we use and why?", + "answer": "We use PostgreSQL as our primary database with Prisma as the ORM.", + "tags": [ + "database", + "postgresql", + "prisma", + "architecture" + ], + "createdAt": "2024-01-14T09:15:00.000Z", + "updatedAt": "2024-01-14T09:15:00.000Z" + } + ], + "count": 2, + "authType": "apikey" + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid or missing authentication", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "statusCode": { + "type": "number", + "example": 401 + } } }, - "required": [ - "title", - "description" - ] + "example": { + "message": "Unauthorized", + "statusCode": 401 + } } } - } - }, - "responses": { - "201": { - "description": "Task created successfully", + }, + "404": { + "description": "Organization not found", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TaskResponseDto" + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "statusCode": { + "type": "number", + "example": 404 + } + } + }, + "example": { + "message": "Organization not found", + "statusCode": 404 } } } }, - "400": { - "description": "Invalid request body" - } - }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Create compliance task", - "tags": [ - "Tasks" - ], - "x-mint": { - "metadata": { - "title": "Create compliance task | Comp AI API", - "sidebarTitle": "Create compliance task", - "description": "Create a compliance task for evidence collection, remediation, review, or recurring control work inside an organization.", - "og:title": "Create compliance task | Comp AI API", - "og:description": "Create a compliance task for evidence collection, remediation, review, or recurring control work inside an organization." - } - }, - "x-speakeasy-mcp": { - "name": "create-task" - } - } - }, - "/v1/tasks/templates": { - "get": { - "description": "Get task templates in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_getTaskTemplates_v1", - "parameters": [ - { - "name": "frameworkId", - "required": false, - "in": "query", - "description": "Filter templates by framework ID", - "schema": { - "type": "string" + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "statusCode": { + "type": "number", + "example": 500 + } + } + }, + "example": { + "message": "Internal server error", + "statusCode": 500 + } + } } } - ], - "responses": { - "200": { - "description": "" - } }, "security": [ { "apikey": [] } ], - "summary": "Get task templates", + "summary": "List organization context", "tags": [ - "Tasks" + "Context" ], "x-mint": { "metadata": { - "title": "Get task templates | Comp AI API", - "sidebarTitle": "Get task templates", - "description": "Get task templates in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "og:title": "Get task templates | Comp AI API", - "og:description": "Get task templates in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." + "title": "List organization context | Comp AI API", + "sidebarTitle": "List organization context", + "description": "List organization context entries used as approved source material for evidence, questionnaires, policies, and AI workflows.", + "og:title": "List organization context | Comp AI API", + "og:description": "List organization context entries used as approved source material for evidence, questionnaires, policies, and AI workflows." } }, "x-speakeasy-mcp": { - "name": "get-task-templates" + "name": "get-all-context" } - } - }, - "/v1/tasks/bulk": { - "patch": { - "description": "Update status for multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_updateTasksStatus_v1", + }, + "post": { + "description": "Creates a new context entry for the authenticated organization. All required fields must be provided.", + "operationId": "ContextController_createContext_v1", "parameters": [], "requestBody": { "required": true, + "description": "Context entry data", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "taskIds": { - "type": "array", - "items": { + "$ref": "#/components/schemas/CreateContextDto" + }, + "examples": { + "Authentication Context": { + "value": { + "question": "How do we handle user authentication in our application?", + "answer": "We use a hybrid authentication system supporting both API keys and session-based authentication. API keys are used for programmatic access while sessions are used for web interface interactions.", + "tags": [ + "authentication", + "security", + "api", + "sessions" + ] + } + }, + "Database Context": { + "value": { + "question": "What database do we use and why?", + "answer": "We use PostgreSQL as our primary database with Prisma as the ORM. PostgreSQL provides excellent performance, ACID compliance, and supports advanced features like JSON columns and full-text search.", + "tags": [ + "database", + "postgresql", + "prisma", + "architecture" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Context entry created successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "example": [ - "tsk_abc123", - "tsk_def456" - ] - }, - "status": { - "type": "string", - "enum": [ - "todo", - "in_progress", - "in_review", - "done", - "not_relevant", - "failed" - ], - "example": "in_progress" - }, - "reviewDate": { - "type": "string", - "format": "date-time", - "example": "2025-01-01T00:00:00.000Z", - "description": "Optional review date to set on all tasks" - }, - "notRelevantJustification": { - "type": "string", - "example": "This control is out of scope for our SOC 2 audit.", - "description": "Required justification when marking evidence tasks as not_relevant" + "organizationId": { + "type": "string" + }, + "question": { + "type": "string" + }, + "answer": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ] + } + } + }, + "example": { + "id": "ctx_abc123def456", + "organizationId": "org_xyz789uvw012", + "question": "How do we handle user authentication in our application?", + "answer": "We use a hybrid authentication system supporting both API keys and session-based authentication.", + "tags": [ + "authentication", + "security", + "api", + "sessions" + ], + "createdAt": "2024-01-15T10:30:00.000Z", + "updatedAt": "2024-01-15T10:30:00.000Z", + "authType": "apikey" + } + } + } + }, + "400": { + "description": "Bad request - Invalid input data", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "array", + "items": { + "type": "string" + } + }, + "error": { + "type": "string" + }, + "statusCode": { + "type": "number" + } } }, - "required": [ - "taskIds", - "status" - ] + "example": { + "message": [ + "question should not be empty", + "answer should not be empty" + ], + "error": "Bad Request", + "statusCode": 400 + } } } - } - }, - "responses": { - "200": { - "description": "Tasks updated successfully", + }, + "401": { + "description": "Unauthorized - Invalid or missing authentication", "content": { "application/json": { "schema": { "type": "object", "properties": { - "updatedCount": { + "message": { + "type": "string" + }, + "statusCode": { "type": "number", - "example": 2 + "example": 401 } } + }, + "example": { + "message": "Unauthorized", + "statusCode": 401 } } } }, - "400": { - "description": "Invalid request body" - } - }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Update status for multiple tasks", - "tags": [ - "Tasks" - ], - "x-mint": { - "metadata": { - "title": "Update status for multiple tasks | Comp AI API", - "sidebarTitle": "Update status for multiple tasks", - "description": "Update status for multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity.", - "og:title": "Update status for multiple tasks | Comp AI API", - "og:description": "Update status for multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity." - } - }, - "x-speakeasy-mcp": { - "name": "update-tasks-status" - } - }, - "delete": { - "description": "Delete multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_deleteTasks_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "taskIds": { - "type": "array", - "items": { + "404": { + "description": "Organization not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { "type": "string" }, - "example": [ - "tsk_abc123", - "tsk_def456" - ] + "statusCode": { + "type": "number", + "example": 404 + } } }, - "required": [ - "taskIds" - ] + "example": { + "message": "Organization not found", + "statusCode": 404 + } } } - } - }, - "responses": { - "200": { - "description": "Tasks deleted successfully", + }, + "500": { + "description": "Internal server error", "content": { "application/json": { "schema": { "type": "object", "properties": { - "deletedCount": { + "message": { + "type": "string" + }, + "statusCode": { "type": "number", - "example": 2 + "example": 500 } } + }, + "example": { + "message": "Internal server error", + "statusCode": 500 } } } - }, - "400": { - "description": "Invalid request body" } }, "security": [ @@ -10535,79 +8899,176 @@ "apikey": [] } ], - "summary": "Delete multiple tasks", + "summary": "Create a new context entry", "tags": [ - "Tasks" + "Context" ], "x-mint": { "metadata": { - "title": "Delete multiple tasks | Comp AI API", - "sidebarTitle": "Delete multiple tasks", - "description": "Delete multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "og:title": "Delete multiple tasks | Comp AI API", - "og:description": "Delete multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." + "title": "Create a new context entry | Comp AI API", + "sidebarTitle": "Create a new context entry", + "description": "Creates a new context entry for the authenticated organization. All required fields must be provided.", + "og:title": "Create a new context entry | Comp AI API", + "og:description": "Creates a new context entry for the authenticated organization. All required fields must be provided." } }, "x-speakeasy-mcp": { - "name": "delete-tasks" + "name": "create-context" } } }, - "/v1/tasks/bulk/assignee": { - "patch": { - "description": "Update assignee for multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_updateTasksAssignee_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "taskIds": { - "type": "array", - "items": { + "/v1/context/{id}": { + "get": { + "description": "Retrieve one organization context entry with source details and approved content for compliance automation workflows.", + "operationId": "ContextController_getContextById_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "description": "Context entry ID", + "schema": { + "example": "ctx_abc123def456", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Context entry retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "ctx_abc123def456" + }, + "organizationId": { + "type": "string", + "example": "org_xyz789uvw012" + }, + "question": { + "type": "string" + }, + "answer": { "type": "string" }, - "example": [ - "tsk_abc123", - "tsk_def456" - ] - }, - "assigneeId": { - "type": "string", - "nullable": true, - "example": "mem_abc123", - "description": "Assignee member ID, or null to unassign" + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "authentication", + "security" + ] + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ] + } + } + }, + "example": { + "id": "ctx_abc123def456", + "organizationId": "org_xyz789uvw012", + "question": "How do we handle user authentication in our application?", + "answer": "We use a hybrid authentication system supporting both API keys and session-based authentication.", + "tags": [ + "authentication", + "security", + "api", + "sessions" + ], + "createdAt": "2024-01-15T10:30:00.000Z", + "updatedAt": "2024-01-15T14:20:00.000Z", + "authType": "apikey" + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid or missing authentication", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + }, + "statusCode": { + "type": "number", + "example": 401 + } } }, - "required": [ - "taskIds" - ] + "example": { + "message": "Unauthorized", + "statusCode": 401 + } } } - } - }, - "responses": { - "200": { - "description": "Tasks updated successfully", + }, + "404": { + "description": "Context entry not found", "content": { "application/json": { "schema": { "type": "object", "properties": { - "updatedCount": { + "message": { + "type": "string" + }, + "statusCode": { "type": "number", - "example": 2 + "example": 404 } } + }, + "example": { + "message": "Context entry with ID ctx_abc123def456 not found in organization org_xyz789uvw012", + "statusCode": 404 } } } }, - "400": { - "description": "Invalid request body" + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "statusCode": { + "type": "number", + "example": 500 + } + } + }, + "example": { + "message": "Internal server error", + "statusCode": 500 + } + } + } } }, "security": [ @@ -10615,147 +9076,137 @@ "apikey": [] } ], - "summary": "Update assignee for multiple tasks", + "summary": "Get organization context", "tags": [ - "Tasks" + "Context" ], "x-mint": { "metadata": { - "title": "Update assignee for multiple tasks | Comp AI API", - "sidebarTitle": "Update assignee for multiple tasks", - "description": "Update assignee for multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity.", - "og:title": "Update assignee for multiple tasks | Comp AI API", - "og:description": "Update assignee for multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity." + "title": "Get organization context | Comp AI API", + "sidebarTitle": "Get organization context", + "description": "Retrieve one organization context entry with source details and approved content for compliance automation workflows.", + "og:title": "Get organization context | Comp AI API", + "og:description": "Retrieve one organization context entry with source details and approved content for compliance automation workflows." } }, "x-speakeasy-mcp": { - "name": "update-tasks-assignee" + "name": "get-context-by-id" } - } - }, - "/v1/tasks/reorder": { + }, "patch": { - "description": "Reorder tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_reorderTasks_v1", - "parameters": [], + "description": "Update an organization context entry so approved business details stay current for evidence and questionnaire automation.", + "operationId": "ContextController_updateContext_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "description": "Context entry ID", + "schema": { + "example": "ctx_abc123def456", + "type": "string" + } + } + ], "requestBody": { "required": true, + "description": "Partial context entry data to update", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "updates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "order": { - "type": "number" - }, - "status": { - "type": "string", - "enum": [ - "todo", - "in_progress", - "in_review", - "done", - "not_relevant", - "failed" - ] - } - }, - "required": [ - "id", - "order", - "status" - ] - } + "$ref": "#/components/schemas/UpdateContextDto" + }, + "examples": { + "Update Tags": { + "value": { + "tags": [ + "authentication", + "security", + "api", + "sessions", + "updated" + ] } }, - "required": [ - "updates" - ] + "Update Answer": { + "value": { + "answer": "Updated: We use a hybrid authentication system supporting both API keys and session-based authentication. Recent updates include support for OAuth2 providers." + } + } } } } }, "responses": { "200": { - "description": "Tasks reordered successfully" + "description": "Context entry updated successfully", + "content": { + "application/json": { + "example": { + "id": "ctx_abc123def456", + "organizationId": "org_xyz789uvw012", + "question": "How do we handle user authentication in our application?", + "answer": "Updated: We use a hybrid authentication system supporting both API keys and session-based authentication with OAuth2 support.", + "tags": [ + "authentication", + "security", + "api", + "sessions", + "oauth2" + ], + "createdAt": "2024-01-15T10:30:00.000Z", + "updatedAt": "2024-01-15T15:45:00.000Z", + "authType": "apikey" + } + } + } }, "400": { - "description": "Invalid request body" - } - }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Reorder tasks", - "tags": [ - "Tasks" - ], - "x-mint": { - "metadata": { - "title": "Reorder tasks | Comp AI API", - "sidebarTitle": "Reorder tasks", - "description": "Reorder tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "og:title": "Reorder tasks | Comp AI API", - "og:description": "Reorder tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." - } - }, - "x-speakeasy-mcp": { - "name": "reorder-tasks" - } - } - }, - "/v1/tasks/bulk/submit-for-review": { - "post": { - "description": "Bulk submit tasks for review in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_bulkSubmitForReview_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "taskIds": { - "type": "array", - "items": { - "type": "string" - }, - "example": [ - "tsk_abc123", - "tsk_def456" - ] - }, - "approverId": { - "type": "string", - "example": "mem_abc123", - "description": "Member ID of the approver" - } - }, - "required": [ - "taskIds", - "approverId" - ] + "description": "Bad request - Invalid input data", + "content": { + "application/json": { + "example": { + "message": [ + "tags must be an array of strings" + ], + "error": "Bad Request", + "statusCode": 400 + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid or missing authentication", + "content": { + "application/json": { + "example": { + "message": "Unauthorized", + "statusCode": 401 + } } } - } - }, - "responses": { - "200": { - "description": "Tasks submitted for review" }, - "400": { - "description": "Invalid request" + "404": { + "description": "Context entry not found", + "content": { + "application/json": { + "example": { + "message": "Context entry with ID ctx_abc123def456 not found in organization org_xyz789uvw012", + "statusCode": 404 + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "example": { + "message": "Internal server error", + "statusCode": 500 + } + } + } } }, "security": [ @@ -10763,31 +9214,148 @@ "apikey": [] } ], - "summary": "Bulk submit tasks for review", + "summary": "Update organization context", "tags": [ - "Tasks" + "Context" ], "x-mint": { "metadata": { - "title": "Bulk submit tasks for review | Comp AI API", - "sidebarTitle": "Bulk submit tasks for review", - "description": "Bulk submit tasks for review in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity.", - "og:title": "Bulk submit tasks for review | Comp AI API", - "og:description": "Bulk submit tasks for review in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity." + "title": "Update organization context | Comp AI API", + "sidebarTitle": "Update organization context", + "description": "Update an organization context entry so approved business details stay current for evidence and questionnaire automation.", + "og:title": "Update organization context | Comp AI API", + "og:description": "Update an organization context entry so approved business details stay current for evidence and questionnaire automation." } }, "x-speakeasy-mcp": { - "name": "bulk-submit-for-review" + "name": "update-context" } - } - }, - "/v1/tasks/options": { - "get": { - "operationId": "TasksController_getTaskOptions_v1", - "parameters": [], + }, + "delete": { + "description": "Permanently removes a context entry from the organization. This action cannot be undone.", + "operationId": "ContextController_deleteContext_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "description": "Context entry ID", + "schema": { + "example": "ctx_abc123def456", + "type": "string" + } + } + ], "responses": { "200": { - "description": "" + "description": "Context entry deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "deletedContext": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "question": { + "type": "string" + } + } + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ] + } + } + }, + "example": { + "message": "Context entry deleted successfully", + "deletedContext": { + "id": "ctx_abc123def456", + "question": "How do we handle user authentication in our application?" + }, + "authType": "apikey" + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid or missing authentication", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "statusCode": { + "type": "number", + "example": 401 + } + } + }, + "example": { + "message": "Unauthorized", + "statusCode": 401 + } + } + } + }, + "404": { + "description": "Context entry not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "statusCode": { + "type": "number", + "example": 404 + } + } + }, + "example": { + "message": "Context entry with ID ctx_abc123def456 not found in organization org_xyz789uvw012", + "statusCode": 404 + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "statusCode": { + "type": "number", + "example": 500 + } + } + }, + "example": { + "message": "Internal server error", + "statusCode": 500 + } + } + } } }, "security": [ @@ -10795,65 +9363,94 @@ "apikey": [] } ], - "summary": "Get page options for tasks overview", + "summary": "Delete context entry", "tags": [ - "Tasks" + "Context" ], - "description": "Get page options for tasks overview in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", "x-mint": { "metadata": { - "title": "Get page options for tasks overview | Comp AI API", - "sidebarTitle": "Get page options for tasks overview", - "description": "Get page options for tasks overview in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links.", - "og:title": "Get page options for tasks overview | Comp AI API", - "og:description": "Get page options for tasks overview in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links." + "title": "Delete context entry | Comp AI API", + "sidebarTitle": "Delete context entry", + "description": "Permanently removes a context entry from the organization. This action cannot be undone.", + "og:title": "Delete context entry | Comp AI API", + "og:description": "Permanently removes a context entry from the organization. This action cannot be undone." } }, "x-speakeasy-mcp": { - "name": "get-task-options" + "name": "delete-context" } } }, - "/v1/tasks/{taskId}": { + "/v1/devices": { "get": { - "description": "Get task by ID in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_getTask_v1", - "parameters": [ - { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", - "schema": { - "example": "tsk_abc123def456", - "type": "string" + "description": "List managed employee devices with endpoint compliance status, ownership, and security check results for workforce controls.", + "operationId": "DevicesController_getAllDevices_v1", + "parameters": [], + "responses": { + "200": { + "description": "Devices retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DeviceResponseDto" + } + }, + "count": { + "type": "number", + "description": "Total number of devices", + "example": 25 + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ], + "description": "How the request was authenticated" + }, + "authenticatedUser": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "User ID", + "example": "usr_abc123def456" + }, + "email": { + "type": "string", + "description": "User email", + "example": "user@company.com" + } + } + } + } + } + } } - } - ], - "responses": { - "200": { - "description": "Task retrieved successfully", + }, + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TaskResponseDto" - }, - "example": { - "id": "tsk_abc123def456", - "title": "Implement user authentication", - "description": "Add OAuth 2.0 authentication to the platform", - "status": "in_progress", - "createdAt": "2024-01-15T10:30:00Z", - "updatedAt": "2024-01-15T10:30:00Z" + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid or expired API key" + } + } } } } }, - "403": { - "description": "Forbidden - Not assigned to this task" - }, "404": { - "description": "Task not found", + "description": "Organization not found", "content": { "application/json": { "schema": { @@ -10861,7 +9458,23 @@ "properties": { "message": { "type": "string", - "example": "Task with ID tsk_abc123def456 not found" + "example": "Organization with ID org_abc123def456 not found" + } + } + } + } + } + }, + "500": { + "description": "Internal server error - FleetDM integration issue", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Organization does not have FleetDM configured" } } } @@ -10874,201 +9487,85 @@ "apikey": [] } ], - "summary": "Get task by ID", + "summary": "List managed devices", "tags": [ - "Tasks" + "Devices" ], "x-mint": { "metadata": { - "title": "Get task by ID | Comp AI API", - "sidebarTitle": "Get task by ID", - "description": "Get task by ID in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "og:title": "Get task by ID | Comp AI API", - "og:description": "Get task by ID in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." + "title": "List managed devices | Comp AI API", + "sidebarTitle": "List managed devices", + "description": "List managed employee devices with endpoint compliance status, ownership, and security check results for workforce controls.", + "og:title": "List managed devices | Comp AI API", + "og:description": "List managed employee devices with endpoint compliance status, ownership, and security check results for workforce controls." } }, "x-speakeasy-mcp": { - "name": "get-task" + "name": "get-all-devices" } - }, - "patch": { - "description": "Update a task in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_updateTask_v1", + } + }, + "/v1/devices/member/{memberId}": { + "get": { + "description": "Returns all devices assigned to a specific member within the authenticated organization. Devices are fetched from FleetDM using the member's dedicated fleetDmLabelId.", + "operationId": "DevicesController_getDevicesByMember_v1", "parameters": [ { - "name": "taskId", + "name": "memberId", "required": true, "in": "path", - "description": "Unique task identifier", + "description": "Member ID to get devices for", "schema": { - "example": "tsk_abc123def456", + "example": "mem_abc123def456", "type": "string" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "example": "Review access controls", - "description": "Task title" - }, - "description": { - "type": "string", - "example": "Review and update access control policies", - "description": "Task description" - }, - "status": { - "type": "string", - "enum": [ - "todo", - "in_progress", - "in_review", - "done", - "not_relevant", - "failed" - ], - "example": "in_progress" - }, - "assigneeId": { - "type": "string", - "nullable": true, - "example": "mem_abc123", - "description": "Assignee member ID, or null to unassign" - }, - "approverId": { - "type": "string", - "nullable": true, - "example": "mem_abc123", - "description": "Approver member ID, or null to unassign" - }, - "frequency": { - "type": "string", - "enum": [ - "daily", - "weekly", - "monthly", - "quarterly", - "yearly" - ], - "example": "monthly" - }, - "integrationScheduleFrequency": { - "type": "string", - "enum": [ - "daily", - "weekly", - "monthly", - "quarterly", - "yearly" - ], - "example": "daily", - "description": "Cadence for running the integration check attached to this task" - }, - "department": { - "type": "string", - "example": "it", - "maxLength": 64, - "description": "Built-in values: none, admin, gov, hr, it, itsm, qms. Custom department names are also accepted." - }, - "reviewDate": { - "type": "string", - "format": "date-time", - "example": "2025-01-01T00:00:00.000Z" - }, - "notRelevantJustification": { - "type": "string", - "example": "This control is out of scope for our SOC 2 audit.", - "description": "Required justification when marking evidence tasks as not_relevant" - } - } - } - } - } - }, "responses": { "200": { - "description": "Task updated successfully", + "description": "Member devices retrieved successfully", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TaskResponseDto" + "$ref": "#/components/schemas/DevicesByMemberResponseDto" } } } }, - "400": { - "description": "Invalid request body or task not found" + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } }, "404": { - "description": "Task not found" - } - }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Update a task", - "tags": [ - "Tasks" - ], - "x-mint": { - "metadata": { - "title": "Update a task | Comp AI API", - "sidebarTitle": "Update a task", - "description": "Update a task in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "og:title": "Update a task | Comp AI API", - "og:description": "Update a task in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." - } - }, - "x-speakeasy-mcp": { - "name": "update-task" - } - }, - "delete": { - "description": "Delete a task in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_deleteTask_v1", - "parameters": [ - { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", - "schema": { - "example": "tsk_abc123def456", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Task deleted successfully", + "description": "Organization or member not found", "content": { "application/json": { "schema": { "type": "object", "properties": { - "success": { - "type": "boolean", - "example": true - }, "message": { "type": "string", - "example": "Task deleted successfully" + "example": "Member with ID mem_abc123def456 not found in organization org_abc123def456" } } } } } }, - "404": { - "description": "Task not found" + "500": { + "description": "Internal server error - FleetDM integration issue" } }, "security": [ @@ -11076,42 +9573,49 @@ "apikey": [] } ], - "summary": "Delete a task", + "summary": "Get devices by member ID", "tags": [ - "Tasks" + "Devices" ], "x-mint": { "metadata": { - "title": "Delete a task | Comp AI API", - "sidebarTitle": "Delete a task", - "description": "Delete a task in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "og:title": "Delete a task | Comp AI API", - "og:description": "Delete a task in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." + "title": "Get devices by member ID | Comp AI API", + "sidebarTitle": "Get devices by member ID", + "description": "Returns all devices assigned to a specific member within the authenticated organization. Devices are fetched from FleetDM using the member's dedicated.", + "og:title": "Get devices by member ID | Comp AI API", + "og:description": "Returns all devices assigned to a specific member within the authenticated organization. Devices are fetched from FleetDM using the member's dedicated." } }, "x-speakeasy-mcp": { - "name": "delete-task" + "name": "get-devices-by-member" } } }, - "/v1/tasks/{taskId}/policies": { - "get": { - "operationId": "TasksController_getTaskPolicies_v1", + "/v1/devices/{id}": { + "delete": { + "description": "Delete device in Comp AI. Read and manage employee device inventory and Fleet compliance data used for endpoint security controls.", + "operationId": "DevicesController_deleteDevice_v1", "parameters": [ { - "name": "taskId", + "name": "id", "required": true, "in": "path", - "description": "Unique task identifier", + "description": "Device ID to delete", "schema": { - "example": "tsk_abc123def456", + "example": "dev_abc123def456", "type": "string" } } ], "responses": { - "200": { - "description": "" + "204": { + "description": "Device deleted successfully" + }, + "403": { + "description": "Forbidden - only organization owners can delete devices" + }, + "404": { + "description": "Organization or device not found" } }, "security": [ @@ -11119,63 +9623,164 @@ "apikey": [] } ], - "summary": "Get policies that reference a task via shared controls", + "summary": "Delete device", "tags": [ - "Tasks" + "Devices" ], - "description": "Get policies that reference a task via shared controls in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", "x-mint": { "metadata": { - "title": "Get policies that reference a task via shared | Comp AI API", - "sidebarTitle": "Get policies that reference a task via shared controls", - "description": "Get policies that reference a task via shared controls in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy.", - "og:title": "Get policies that reference a task via shared | Comp AI API", - "og:description": "Get policies that reference a task via shared controls in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy." + "title": "Delete device | Comp AI API", + "sidebarTitle": "Delete device", + "description": "Delete device in Comp AI. Read and manage employee device inventory and Fleet compliance data used for endpoint security controls.", + "og:title": "Delete device | Comp AI API", + "og:description": "Delete device in Comp AI. Read and manage employee device inventory and Fleet compliance data used for endpoint security controls." } }, "x-speakeasy-mcp": { - "name": "get-task-policies" + "name": "delete-device" } } }, - "/v1/tasks/{taskId}/activity": { + "/v1/policies": { "get": { - "description": "Get task activity in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_getTaskActivity_v1", + "description": "Lists active compliance policies by default. Use includeArchived=true to include archived rows and excludeContent=true when you only need policy metadata.", + "operationId": "PoliciesController_getAllPolicies_v1", "parameters": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, "schema": { - "example": "tsk_abc123def456", "type": "string" } }, { - "name": "skip", - "required": true, + "name": "excludeContent", + "required": false, "in": "query", + "description": "When true, omits `content` and `draftContent` from each policy in the response. Use this when listing policies to find one by name/ID — fetch the full content via GET /v1/policies/{id} after.", "schema": { - "type": "string" + "type": "boolean" } }, { - "name": "take", - "required": true, + "name": "includeArchived", + "required": false, "in": "query", + "description": "When true, includes user-archived and framework-sync-archived policies in the response. Defaults to false.", "schema": { - "type": "string" + "type": "boolean" } } ], "responses": { "200": { - "description": "Activity retrieved successfully" + "description": "Policies retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PolicyResponseDto" + }, + "description": "Array of policies" + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ], + "description": "How the request was authenticated" + }, + "authenticatedUser": { + "type": "object", + "description": "Authenticated user information (only present for session auth)", + "properties": { + "id": { + "type": "string", + "description": "User ID", + "example": "usr_abc123def456" + }, + "email": { + "type": "string", + "description": "User email", + "example": "user@company.com" + } + } + } + }, + "required": [ + "data", + "authType" + ] + }, + "example": { + "data": [ + { + "id": "pol_abc123def456", + "name": "Data Privacy Policy", + "description": "This policy outlines how we handle and protect personal data", + "status": "draft", + "content": [ + { + "type": "paragraph", + "attrs": { + "textAlign": null + }, + "content": [ + { + "type": "text", + "text": "This policy outlines our commitment to protecting personal data." + } + ] + } + ], + "frequency": "yearly", + "department": "IT", + "isRequiredToSign": true, + "signedBy": [], + "reviewDate": "2024-12-31T00:00:00.000Z", + "isArchived": false, + "archivedAt": null, + "createdAt": "2024-01-01T00:00:00.000Z", + "updatedAt": "2024-01-15T00:00:00.000Z", + "lastArchivedAt": null, + "lastPublishedAt": "2024-01-10T00:00:00.000Z", + "organizationId": "org_abc123def456", + "assigneeId": "usr_abc123def456", + "approverId": "usr_xyz789abc123", + "policyTemplateId": null + } + ], + "authType": "session", + "authenticatedUser": { + "id": "usr_abc123def456", + "email": "user@company.com" + } + } + } + } }, - "400": { - "description": "Task not found" + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } } }, "security": [ @@ -11183,116 +9788,135 @@ "apikey": [] } ], - "summary": "Get task activity", + "summary": "List compliance policies", "tags": [ - "Tasks" + "Policies" ], + "x-speakeasy-mcp": { + "name": "list-policies" + }, "x-mint": { "metadata": { - "title": "Get task activity | Comp AI API", - "sidebarTitle": "Get task activity", - "description": "Get task activity in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "og:title": "Get task activity | Comp AI API", - "og:description": "Get task activity in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." + "title": "List compliance policies | Comp AI API", + "sidebarTitle": "List compliance policies", + "description": "Lists active compliance policies by default. Use includeArchived=true to include archived rows and excludeContent=true when you only need policy metadata.", + "og:title": "List compliance policies | Comp AI API", + "og:description": "Lists active compliance policies by default. Use includeArchived=true to include archived rows and excludeContent=true when you only need policy metadata." } }, - "x-speakeasy-mcp": { - "name": "get-task-activity" - } - } - }, - "/v1/tasks/{taskId}/regenerate": { - "post": { - "description": "Regenerate task from template in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_regenerateTask_v1", - "parameters": [ + "x-codeSamples": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", - "schema": { - "example": "tsk_abc123def456", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Task regenerated successfully" + "lang": "bash", + "label": "List policies", + "source": "curl --request GET --url \"https://api.trycomp.ai/v1/policies\" --header \"X-API-Key: $COMP_AI_API_KEY\"" }, - "400": { - "description": "Task has no associated template" + { + "lang": "bash", + "label": "List policies (lightweight, no content)", + "source": "curl --request GET --url \"https://api.trycomp.ai/v1/policies?excludeContent=true\" --header \"X-API-Key: $COMP_AI_API_KEY\"" }, - "404": { - "description": "Task not found" - } - }, - "security": [ { - "apikey": [] - } - ], - "summary": "Regenerate task from template", - "tags": [ - "Tasks" - ], - "x-mint": { - "metadata": { - "title": "Regenerate task from template | Comp AI API", - "sidebarTitle": "Regenerate task from template", - "description": "Regenerate task from template in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity.", - "og:title": "Regenerate task from template | Comp AI API", - "og:description": "Regenerate task from template in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity." - } - }, - "x-speakeasy-mcp": { - "name": "regenerate-task" - } - } - }, - "/v1/tasks/{taskId}/submit-for-review": { + "lang": "bash", + "label": "List policies including archived", + "source": "curl --request GET --url \"https://api.trycomp.ai/v1/policies?includeArchived=true\" --header \"X-API-Key: $COMP_AI_API_KEY\"" + } + ] + }, "post": { - "description": "Submit task for review in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_submitForReview_v1", + "description": "Create a policy record that can be reviewed, versioned, published, linked to controls, and used as source evidence for questionnaires.", + "operationId": "PoliciesController_createPolicy_v1", "parameters": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, "schema": { - "example": "tsk_abc123def456", "type": "string" } } ], "requestBody": { "required": true, + "description": "Policy creation data", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "approverId": { - "type": "string", - "example": "mem_abc123", - "description": "Member ID of the approver" - } - }, - "required": [ - "approverId" - ] + "$ref": "#/components/schemas/CreatePolicyDto" } } } }, "responses": { - "200": { - "description": "Task submitted for review" + "201": { + "description": "Policy created successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PolicyResponseDto" + }, + "example": { + "id": "pol_abc123def456", + "name": "Data Privacy Policy", + "description": "This policy outlines how we handle and protect personal data", + "status": "draft", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "Policy content here" + } + ] + } + ], + "frequency": "yearly", + "department": "it", + "isRequiredToSign": true, + "signedBy": [], + "reviewDate": "2024-12-31T00:00:00.000Z", + "isArchived": false, + "createdAt": "2024-01-01T00:00:00.000Z", + "updatedAt": "2024-01-15T00:00:00.000Z", + "organizationId": "org_abc123def456", + "assigneeId": "usr_abc123def456", + "approverId": "usr_xyz789abc123" + } + } + } }, "400": { - "description": "Invalid request" + "description": "Bad Request - Invalid policy data", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid policy content format" + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } } }, "security": [ @@ -11300,49 +9924,41 @@ "apikey": [] } ], - "summary": "Submit task for review", + "summary": "Create compliance policy", "tags": [ - "Tasks" + "Policies" ], "x-mint": { "metadata": { - "title": "Submit task for review | Comp AI API", - "sidebarTitle": "Submit task for review", - "description": "Submit task for review in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "og:title": "Submit task for review | Comp AI API", - "og:description": "Submit task for review in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." + "title": "Create compliance policy | Comp AI API", + "sidebarTitle": "Create compliance policy", + "description": "Create a policy record that can be reviewed, versioned, published, linked to controls, and used as source evidence for questionnaires.", + "og:title": "Create compliance policy | Comp AI API", + "og:description": "Create a policy record that can be reviewed, versioned, published, linked to controls, and used as source evidence for questionnaires." } }, "x-speakeasy-mcp": { - "name": "submit-for-review" + "name": "create-policy" } } }, - "/v1/tasks/{taskId}/approve": { + "/v1/policies/publish-all": { "post": { - "description": "Approve a task that is in review. Only the assigned approver can approve. Moves status to done and creates an audit comment.", - "operationId": "TasksController_approveTask_v1", + "operationId": "PoliciesController_publishAllPolicies_v1", "parameters": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, "schema": { - "example": "tsk_abc123def456", "type": "string" } } ], "responses": { - "200": { - "description": "Task approved successfully" - }, - "400": { - "description": "Task is not in review" - }, - "403": { - "description": "Not the assigned approver" + "201": { + "description": "" } }, "security": [ @@ -11350,49 +9966,46 @@ "apikey": [] } ], - "summary": "Approve a task", + "summary": "Publish all draft policies", "tags": [ - "Tasks" + "Policies" ], + "description": "Publish draft policies in bulk so approved policy content can power Trust Center sharing, questionnaire answers, and audit evidence.", "x-mint": { "metadata": { - "title": "Approve a task | Comp AI API", - "sidebarTitle": "Approve a task", - "description": "Approve a task that is in review. Only the assigned approver can approve. Moves status to done and creates an audit comment.", - "og:title": "Approve a task | Comp AI API", - "og:description": "Approve a task that is in review. Only the assigned approver can approve. Moves status to done and creates an audit comment." + "title": "Publish all draft policies | Comp AI API", + "sidebarTitle": "Publish all draft policies", + "description": "Publish draft policies in bulk so approved policy content can power Trust Center sharing, questionnaire answers, and audit evidence.", + "og:title": "Publish all draft policies | Comp AI API", + "og:description": "Publish draft policies in bulk so approved policy content can power Trust Center sharing, questionnaire answers, and audit evidence." } }, "x-speakeasy-mcp": { - "name": "approve-task" + "name": "publish-all-policies" } } }, - "/v1/tasks/{taskId}/reject": { - "post": { - "description": "Reject a task that is in review. Only the assigned approver can reject. Reverts status to the previous status and creates an audit comment.", - "operationId": "TasksController_rejectTask_v1", + "/v1/policies/download-all": { + "get": { + "description": "Generate a single PDF bundle of published compliance policies for auditors, customer security reviews, and Trust Center workflows.", + "operationId": "PoliciesController_downloadAllPolicies_v1", "parameters": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, "schema": { - "example": "tsk_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "Task rejected successfully" - }, - "400": { - "description": "Task is not in review" + "description": "Signed URL for PDF bundle returned" }, - "403": { - "description": "Not the assigned approver" + "404": { + "description": "No published policies found" } }, "security": [ @@ -11400,212 +10013,102 @@ "apikey": [] } ], - "summary": "Reject a task review", + "summary": "Download all published policies", "tags": [ - "Tasks" + "Policies" ], "x-mint": { "metadata": { - "title": "Reject a task review | Comp AI API", - "sidebarTitle": "Reject a task review", - "description": "Reject a task that is in review. Only the assigned approver can reject. Reverts status to the previous status and creates an audit comment.", - "og:title": "Reject a task review | Comp AI API", - "og:description": "Reject a task that is in review. Only the assigned approver can reject. Reverts status to the previous status and creates an audit comment." + "title": "Download all published policies | Comp AI API", + "sidebarTitle": "Download all published policies", + "description": "Generate a single PDF bundle of published compliance policies for auditors, customer security reviews, and Trust Center workflows.", + "og:title": "Download all published policies | Comp AI API", + "og:description": "Generate a single PDF bundle of published compliance policies for auditors, customer security reviews, and Trust Center workflows." } }, "x-speakeasy-mcp": { - "name": "reject-task" + "name": "download-all-policies" } } }, - "/v1/tasks/{taskId}/attachments": { + "/v1/policies/{id}/controls": { "get": { - "description": "Get task attachments in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_getTaskAttachments_v1", + "operationId": "PoliciesController_getPolicyControls_v1", "parameters": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", - "schema": { - "example": "tsk_abc123def456", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Attachments retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AttachmentResponseDto" - } - }, - "example": [ - { - "id": "att_abc123def456", - "name": "evidence.pdf", - "type": "application/pdf", - "size": 123456, - "downloadUrl": "https://bucket.s3.amazonaws.com/path/to/file.pdf?signature=...", - "createdAt": "2024-01-15T10:30:00Z" - } - ] - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" } }, - "404": { - "description": "Task not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Task with ID tsk_abc123def456 not found" - } - } - } - } + { + "name": "id", + "required": true, + "in": "path", + "description": "Policy ID", + "schema": { + "example": "pol_abc123def456", + "type": "string" } } + ], + "responses": { + "200": { + "description": "" + } }, "security": [ { "apikey": [] } ], - "summary": "Get task attachments", + "summary": "Get mapped and all controls for a policy", "tags": [ - "Tasks" + "Policies" ], + "description": "Get mapped and all controls for a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", "x-mint": { "metadata": { - "title": "Get task attachments | Comp AI API", - "sidebarTitle": "Get task attachments", - "description": "Get task attachments in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "og:title": "Get task attachments | Comp AI API", - "og:description": "Get task attachments in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." + "title": "Get mapped and all controls for a policy | Comp AI API", + "sidebarTitle": "Get mapped and all controls for a policy", + "description": "Get mapped and all controls for a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting.", + "og:title": "Get mapped and all controls for a policy | Comp AI API", + "og:description": "Get mapped and all controls for a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting." } }, "x-speakeasy-mcp": { - "name": "get-task-attachments" + "name": "get-policy-controls" } }, "post": { - "description": "Upload an evidence attachment to a task so auditors and reviewers can trace completion back to source documentation.", - "operationId": "TasksController_uploadTaskAttachment_v1", + "operationId": "PoliciesController_addPolicyControls_v1", "parameters": [ { - "name": "taskId", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "id", "required": true, "in": "path", - "description": "Unique task identifier", + "description": "Policy ID", "schema": { - "example": "tsk_abc123def456", + "example": "pol_abc123def456", "type": "string" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadAttachmentDto" - } - } - } - }, "responses": { "201": { - "description": "Attachment uploaded successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AttachmentResponseDto" - }, - "example": { - "id": "att_abc123def456", - "entityId": "tsk_abc123def456", - "entityType": "task", - "fileName": "evidence.pdf", - "fileType": "application/pdf", - "fileSize": 123456, - "createdAt": "2024-01-01T00:00:00Z", - "createdBy": "usr_abc123def456" - } - } - } - }, - "400": { - "description": "Invalid file data or file too large", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "File exceeds maximum allowed size" - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } - }, - "404": { - "description": "Task not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Task with ID tsk_abc123def456 not found" - } - } - } - } - } + "description": "" } }, "security": [ @@ -11613,104 +10116,52 @@ "apikey": [] } ], - "summary": "Upload task evidence", + "summary": "Map controls to a policy", "tags": [ - "Tasks" + "Policies" ], + "description": "Map controls to a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", "x-mint": { "metadata": { - "title": "Upload task evidence | Comp AI API", - "sidebarTitle": "Upload task evidence", - "description": "Upload an evidence attachment to a task so auditors and reviewers can trace completion back to source documentation.", - "og:title": "Upload task evidence | Comp AI API", - "og:description": "Upload an evidence attachment to a task so auditors and reviewers can trace completion back to source documentation." + "title": "Map controls to a policy | Comp AI API", + "sidebarTitle": "Map controls to a policy", + "description": "Map controls to a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "og:title": "Map controls to a policy | Comp AI API", + "og:description": "Map controls to a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows." } }, "x-speakeasy-mcp": { - "name": "upload-task-attachment" + "name": "add-policy-controls" } } }, - "/v1/tasks/{taskId}/attachments/{attachmentId}/download": { + "/v1/policies/{id}/evidence-tasks": { "get": { - "description": "Generate a signed download URL for an attachment on a compliance task so reviewers can access uploaded evidence.", - "operationId": "TasksController_getTaskAttachmentDownloadUrl_v1", + "operationId": "PoliciesController_getPolicyEvidenceTasks_v1", "parameters": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, "schema": { - "example": "tsk_abc123def456", "type": "string" } }, { - "name": "attachmentId", + "name": "id", "required": true, "in": "path", - "description": "Unique attachment identifier", + "description": "Policy ID", "schema": { - "example": "att_abc123def456", + "example": "pol_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "Download URL generated successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "downloadUrl": { - "type": "string", - "description": "Signed URL for downloading the file", - "example": "https://bucket.s3.amazonaws.com/path/to/file.pdf?signature=..." - }, - "expiresIn": { - "type": "number", - "description": "URL expiration time in seconds", - "example": 900 - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } - }, - "404": { - "description": "Task or attachment not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Task or attachment not found" - } - } - } - } - } + "description": "" } }, "security": [ @@ -11718,106 +10169,52 @@ "apikey": [] } ], - "summary": "Get task attachment download URL", + "summary": "Get tasks that serve as evidence for a policy, grouped by control", "tags": [ - "Tasks" + "Policies" ], + "description": "Get tasks that serve as evidence for a policy, grouped by control in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", "x-mint": { "metadata": { - "title": "Get task attachment download URL | Comp AI API", - "sidebarTitle": "Get task attachment download URL", - "description": "Generate a signed download URL for an attachment on a compliance task so reviewers can access uploaded evidence.", - "og:title": "Get task attachment download URL | Comp AI API", - "og:description": "Generate a signed download URL for an attachment on a compliance task so reviewers can access uploaded evidence." + "title": "Get tasks that serve as evidence for a | Comp AI API", + "sidebarTitle": "Get tasks that serve as evidence for a policy, grouped by control", + "description": "Get tasks that serve as evidence for a policy, grouped by control in Comp AI. Create, version, publish, export, map, and improve compliance policies.", + "og:title": "Get tasks that serve as evidence for a | Comp AI API", + "og:description": "Get tasks that serve as evidence for a policy, grouped by control in Comp AI. Create, version, publish, export, map, and improve compliance policies." } }, "x-speakeasy-mcp": { - "name": "get-task-attachment-download-url" + "name": "get-policy-evidence-tasks" } } }, - "/v1/tasks/{taskId}/attachments/{attachmentId}": { - "delete": { - "description": "Delete task attachment in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "operationId": "TasksController_deleteTaskAttachment_v1", + "/v1/policies/{id}/regenerate": { + "post": { + "operationId": "PoliciesController_regeneratePolicy_v1", "parameters": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, "schema": { - "example": "tsk_abc123def456", "type": "string" } }, { - "name": "attachmentId", + "name": "id", "required": true, "in": "path", - "description": "Unique attachment identifier", + "description": "Policy ID", "schema": { - "example": "att_abc123def456", + "example": "pol_abc123def456", "type": "string" } } ], "responses": { - "200": { - "description": "Attachment deleted successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "success": { - "type": "boolean", - "example": true - }, - "deletedAttachmentId": { - "type": "string", - "example": "att_abc123def456" - }, - "message": { - "type": "string", - "example": "Attachment deleted successfully" - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } - } - }, - "404": { - "description": "Task or attachment not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Task or attachment not found" - } - } - } - } - } + "201": { + "description": "" } }, "security": [ @@ -11825,43 +10222,60 @@ "apikey": [] } ], - "summary": "Delete task attachment", + "summary": "Regenerate policy with AI", "tags": [ - "Tasks" + "Policies" ], + "description": "Regenerate policy content using Comp AI while keeping the result reviewable before it is published or used as compliance evidence.", "x-mint": { "metadata": { - "title": "Delete task attachment | Comp AI API", - "sidebarTitle": "Delete task attachment", - "description": "Delete task attachment in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", - "og:title": "Delete task attachment | Comp AI API", - "og:description": "Delete task attachment in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." + "title": "Regenerate policy with AI | Comp AI API", + "sidebarTitle": "Regenerate policy with AI", + "description": "Regenerate policy content using Comp AI while keeping the result reviewable before it is published or used as compliance evidence.", + "og:title": "Regenerate policy with AI | Comp AI API", + "og:description": "Regenerate policy content using Comp AI while keeping the result reviewable before it is published or used as compliance evidence." } }, "x-speakeasy-mcp": { - "name": "delete-task-attachment" + "name": "regenerate-policy" } } }, - "/v1/tasks/{taskId}/automations": { + "/v1/policies/{id}/pdf/signed-url": { "get": { - "description": "Get all automations for a task in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "operationId": "AutomationsController_getTaskAutomations_v1", + "operationId": "PoliciesController_getPdfSignedUrl_v1", "parameters": [ { - "name": "taskId", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "id", "required": true, "in": "path", - "description": "Unique task identifier", + "description": "Policy ID", + "schema": { + "example": "pol_abc123def456", + "type": "string" + } + }, + { + "name": "versionId", + "required": false, + "in": "query", "schema": { - "example": "tsk_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "Automations retrieved successfully" + "description": "" } }, "security": [ @@ -11869,169 +10283,214 @@ "apikey": [] } ], - "summary": "Get all automations for a task", + "summary": "Get a signed URL for the policy PDF", "tags": [ - "Task Automations" + "Policies" ], + "description": "Get a signed URL for the policy PDF in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", "x-mint": { "metadata": { - "title": "Get all automations for a task | Comp AI API", - "sidebarTitle": "Get all automations for a task", - "description": "Get all automations for a task in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "og:title": "Get all automations for a task | Comp AI API", - "og:description": "Get all automations for a task in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." + "title": "Get a signed URL for the policy PDF | Comp AI API", + "sidebarTitle": "Get a signed URL for the policy PDF", + "description": "Get a signed URL for the policy PDF in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting.", + "og:title": "Get a signed URL for the policy PDF | Comp AI API", + "og:description": "Get a signed URL for the policy PDF in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting." } }, "x-speakeasy-mcp": { - "name": "get-task-automations" + "name": "get-pdf-signed-url" } - }, + } + }, + "/v1/policies/{id}/pdf": { "post": { - "description": "Create an automated evidence workflow attached to a task so Comp AI can collect recurring proof from connected systems.", - "operationId": "AutomationsController_createAutomation_v1", + "description": "Uploads a PDF via multipart `file` or base64 `fileData` JSON. Defaults to the latest draft if no `versionId`; 400 if no draft is available. UI-only — AI clients should use the presigned `/pdf/upload-url` + `/pdf/confirm` flow.", + "operationId": "PoliciesController_uploadPolicyPdf_v1", "parameters": [ { - "name": "taskId", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "id", "required": true, "in": "path", - "description": "Unique task identifier", + "description": "Policy ID", "schema": { - "example": "tsk_abc123def456", + "example": "pol_abc123def456", "type": "string" } } ], - "responses": { - "201": { - "description": "Automation created successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "success": { - "type": "boolean", - "example": true + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "oneOf": [ + { + "description": "Multipart file upload (recommended)", + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary" + }, + "versionId": { + "type": "string", + "description": "Target version ID. If omitted, uploads to the latest draft version." + } }, - "automation": { - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "auto_abc123def456" - }, - "name": { - "type": "string", - "example": "Task Name - Evidence Collection" - } + "required": [ + "file" + ] + }, + { + "description": "JSON with base64-encoded file data", + "type": "object", + "properties": { + "fileName": { + "type": "string" + }, + "fileType": { + "type": "string" + }, + "fileData": { + "type": "string", + "description": "Base64-encoded file content" + }, + "versionId": { + "type": "string", + "description": "Target version ID. If omitted, uploads to the latest draft version." } - } - } - } - } - } - }, - "400": { - "description": "Bad request - Invalid task ID or organization ID", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid task ID or organization ID" - } - } - } - } - } - }, - "401": { - "description": "Unauthorized - Invalid authentication", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } + }, + "required": [ + "fileName", + "fileType", + "fileData" + ] } - } + ] } - } - }, - "404": { - "description": "Task not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Task not found" - } + }, + "application/json": { + "schema": { + "oneOf": [ + { + "description": "Multipart file upload (recommended)", + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary" + }, + "versionId": { + "type": "string", + "description": "Target version ID. If omitted, uploads to the latest draft version." + } + }, + "required": [ + "file" + ] + }, + { + "description": "JSON with base64-encoded file data", + "type": "object", + "properties": { + "fileName": { + "type": "string" + }, + "fileType": { + "type": "string" + }, + "fileData": { + "type": "string", + "description": "Base64-encoded file content" + }, + "versionId": { + "type": "string", + "description": "Target version ID. If omitted, uploads to the latest draft version." + } + }, + "required": [ + "fileName", + "fileType", + "fileData" + ] } - } + ] } } } }, + "responses": { + "201": { + "description": "" + } + }, "security": [ { "apikey": [] } ], - "summary": "Create evidence automation", + "summary": "Upload a PDF to a policy version (UI-only)", "tags": [ - "Task Automations" + "Policies" ], + "x-speakeasy-mcp": { + "disabled": true + }, "x-mint": { "metadata": { - "title": "Create evidence automation | Comp AI API", - "sidebarTitle": "Create evidence automation", - "description": "Create an automated evidence workflow attached to a task so Comp AI can collect recurring proof from connected systems.", - "og:title": "Create evidence automation | Comp AI API", - "og:description": "Create an automated evidence workflow attached to a task so Comp AI can collect recurring proof from connected systems." + "title": "Upload a PDF to a policy version (UI-only) | Comp AI API", + "sidebarTitle": "Upload a PDF to a policy version (UI-only)", + "description": "Uploads a PDF via multipart `file` or base64 `fileData` JSON. Defaults to the latest draft if no `versionId`; 400 if no draft is available. UI-only — AI.", + "og:title": "Upload a PDF to a policy version (UI-only) | Comp AI API", + "og:description": "Uploads a PDF via multipart `file` or base64 `fileData` JSON. Defaults to the latest draft if no `versionId`; 400 if no draft is available. UI-only — AI." } - }, - "x-speakeasy-mcp": { - "name": "create-automation" } - } - }, - "/v1/tasks/{taskId}/automations/{automationId}": { - "get": { - "description": "Get automation details in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "operationId": "AutomationsController_getAutomation_v1", + }, + "delete": { + "description": "Deletes the PDF from a specific policy version. If no versionId is provided, deletes from the latest draft version. Cannot delete PDFs from published or pending-approval versions.", + "operationId": "PoliciesController_deletePolicyPdf_v1", "parameters": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, "schema": { - "example": "tsk_abc123def456", "type": "string" } }, { - "name": "automationId", + "name": "id", "required": true, "in": "path", - "description": "Unique automation identifier", + "description": "Policy ID", + "schema": { + "example": "pol_abc123def456", + "type": "string" + } + }, + { + "name": "versionId", + "required": false, + "in": "query", + "description": "Target version ID. If omitted, targets the latest draft version.", "schema": { - "example": "auto_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "Automation details retrieved successfully" + "description": "" } }, "security": [ @@ -12039,44 +10498,45 @@ "apikey": [] } ], - "summary": "Get automation details", + "summary": "Delete a policy version PDF", "tags": [ - "Task Automations" + "Policies" ], "x-mint": { "metadata": { - "title": "Get automation details | Comp AI API", - "sidebarTitle": "Get automation details", - "description": "Get automation details in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "og:title": "Get automation details | Comp AI API", - "og:description": "Get automation details in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." + "title": "Delete a policy version PDF | Comp AI API", + "sidebarTitle": "Delete a policy version PDF", + "description": "Deletes the PDF from a specific policy version. If no versionId is provided, deletes from the latest draft version. Cannot delete PDFs from published.", + "og:title": "Delete a policy version PDF | Comp AI API", + "og:description": "Deletes the PDF from a specific policy version. If no versionId is provided, deletes from the latest draft version. Cannot delete PDFs from published." } }, "x-speakeasy-mcp": { - "name": "get-automation" + "name": "delete-policy-pdf" } - }, - "patch": { - "description": "Update an existing automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "operationId": "AutomationsController_updateAutomation_v1", + } + }, + "/v1/policies/{id}/pdf/upload-url": { + "post": { + "description": "Generates a presigned S3 URL for uploading a policy PDF directly to storage. Use this when attaching a PDF to a compliance policy — the file bytes are uploaded straight to S3 without passing through the API. Requires the policy ID; if you only know the policy name, look it up first via the list-compliance-policies tool. After uploading the file to the returned URL, finalize the attachment by calling confirm-policy-pdf-uploaded with the same s3Key.", + "operationId": "PoliciesController_requestPolicyPdfUploadUrl_v1", "parameters": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, "schema": { - "example": "tsk_abc123def456", "type": "string" } }, { - "name": "automationId", + "name": "id", "required": true, "in": "path", - "description": "Unique automation identifier", + "description": "Policy ID", "schema": { - "example": "auto_abc123def456", + "example": "pol_abc123def456", "type": "string" } } @@ -12086,144 +10546,144 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateAutomationDto" + "$ref": "#/components/schemas/RequestPolicyPdfUploadUrlDto" } } } }, "responses": { - "200": { - "description": "Automation updated successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "success": { - "type": "boolean", - "example": true - }, - "automation": { - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "auto_abc123def456" - }, - "name": { - "type": "string", - "example": "Updated Automation Name" - }, - "description": { - "type": "string", - "example": "Updated description" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request - Invalid automation ID or data", + "201": { + "description": "", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Invalid automation data" - } - } + "$ref": "#/components/schemas/PolicyPdfUploadUrlResponseDto" } } } - }, - "401": { - "description": "Unauthorized - Invalid authentication", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Unauthorized" - } - } - } - } + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Request a presigned URL to upload a policy PDF", + "tags": [ + "Policies" + ], + "x-speakeasy-mcp": { + "name": "request-policy-pdf-upload-url" + }, + "x-mint": { + "metadata": { + "title": "Request a presigned URL to upload a policy PDF | Comp AI API", + "sidebarTitle": "Request a presigned URL to upload a policy PDF", + "description": "Generates a presigned S3 URL for uploading a policy PDF directly to storage. Use this when attaching a PDF to a compliance policy — the file bytes are.", + "og:title": "Request a presigned URL to upload a policy PDF | Comp AI API", + "og:description": "Generates a presigned S3 URL for uploading a policy PDF directly to storage. Use this when attaching a PDF to a compliance policy — the file bytes are." + } + } + } + }, + "/v1/policies/{id}/pdf/confirm": { + "post": { + "description": "Links an uploaded PDF to a compliance policy after the file has been PUT to a presigned S3 URL. Call this after request-policy-pdf-upload-url returned an s3Key and you successfully uploaded the file bytes to that URL. The endpoint verifies the file exists in S3 before linking it to the policy or version.", + "operationId": "PoliciesController_confirmPolicyPdfUploaded_v1", + "parameters": [ + { + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" } }, - "404": { - "description": "Automation not found", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "example": "Automation not found" - } - } - } + { + "name": "id", + "required": true, + "in": "path", + "description": "Policy ID", + "schema": { + "example": "pol_abc123def456", + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfirmPolicyPdfUploadedDto" } } } }, + "responses": { + "201": { + "description": "" + } + }, "security": [ { "apikey": [] } ], - "summary": "Update an existing automation", + "summary": "Confirm a policy PDF upload completed", "tags": [ - "Task Automations" + "Policies" ], + "x-speakeasy-mcp": { + "name": "confirm-policy-pdf-uploaded" + }, "x-mint": { "metadata": { - "title": "Update an existing automation | Comp AI API", - "sidebarTitle": "Update an existing automation", - "description": "Update an existing automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "og:title": "Update an existing automation | Comp AI API", - "og:description": "Update an existing automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." + "title": "Confirm a policy PDF upload completed | Comp AI API", + "sidebarTitle": "Confirm a policy PDF upload completed", + "description": "Links an uploaded PDF to a compliance policy after the file has been PUT to a presigned S3 URL. Call this after request-policy-pdf-upload-url returned an.", + "og:title": "Confirm a policy PDF upload completed | Comp AI API", + "og:description": "Links an uploaded PDF to a compliance policy after the file has been PUT to a presigned S3 URL. Call this after request-policy-pdf-upload-url returned an." } - }, - "x-speakeasy-mcp": { - "name": "update-automation" } - }, - "delete": { - "description": "Delete an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "operationId": "AutomationsController_deleteAutomation_v1", + } + }, + "/v1/policies/{id}/pdf-url": { + "get": { + "operationId": "PoliciesController_getPdfUrl_v1", "parameters": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, "schema": { - "example": "tsk_abc123def456", "type": "string" } }, { - "name": "automationId", + "name": "id", "required": true, "in": "path", - "description": "Unique automation identifier", + "description": "Policy ID", + "schema": { + "example": "pol_abc123def456", + "type": "string" + } + }, + { + "name": "versionId", + "required": false, + "in": "query", "schema": { - "example": "auto_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "Automation deleted successfully" + "description": "" } }, "security": [ @@ -12231,43 +10691,52 @@ "apikey": [] } ], - "summary": "Delete an automation", + "summary": "Get signed URL for policy PDF (alternate path)", "tags": [ - "Task Automations" + "Policies" ], + "description": "Get signed URL for policy PDF (alternate path) in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", "x-mint": { "metadata": { - "title": "Delete an automation | Comp AI API", - "sidebarTitle": "Delete an automation", - "description": "Delete an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "og:title": "Delete an automation | Comp AI API", - "og:description": "Delete an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." + "title": "Get signed URL for policy PDF (alternate path) | Comp AI API", + "sidebarTitle": "Get signed URL for policy PDF (alternate path)", + "description": "Get signed URL for policy PDF (alternate path) in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting.", + "og:title": "Get signed URL for policy PDF (alternate path) | Comp AI API", + "og:description": "Get signed URL for policy PDF (alternate path) in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting." } }, "x-speakeasy-mcp": { - "name": "delete-automation" + "name": "get-pdf-url" } } }, - "/v1/tasks/{taskId}/automations/{automationId}/runs": { - "get": { - "description": "Get all runs for a specific automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "operationId": "AutomationsController_getAutomationRuns_v1", + "/v1/policies/{id}/controls/{controlId}": { + "delete": { + "operationId": "PoliciesController_removePolicyControl_v1", "parameters": [ { - "name": "taskId", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "id", "required": true, "in": "path", - "description": "Task ID", + "description": "Policy ID", "schema": { + "example": "pol_abc123def456", "type": "string" } }, { - "name": "automationId", + "name": "controlId", "required": true, "in": "path", - "description": "Automation ID", "schema": { "type": "string" } @@ -12275,7 +10744,7 @@ ], "responses": { "200": { - "description": "Runs retrieved successfully" + "description": "" } }, "security": [ @@ -12283,103 +10752,108 @@ "apikey": [] } ], - "summary": "Get all runs for a specific automation", + "summary": "Remove a control mapping from a policy", "tags": [ - "Task Automations" + "Policies" ], + "description": "Remove a control mapping from a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", "x-mint": { "metadata": { - "title": "Get all runs for a specific automation | Comp AI API", - "sidebarTitle": "Get all runs for a specific automation", - "description": "Get all runs for a specific automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "og:title": "Get all runs for a specific automation | Comp AI API", - "og:description": "Get all runs for a specific automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." + "title": "Remove a control mapping from a policy | Comp AI API", + "sidebarTitle": "Remove a control mapping from a policy", + "description": "Remove a control mapping from a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting.", + "og:title": "Remove a control mapping from a policy | Comp AI API", + "og:description": "Remove a control mapping from a policy in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting." } }, "x-speakeasy-mcp": { - "name": "get-automation-runs" + "name": "remove-policy-control" } } }, - "/v1/tasks/{taskId}/automations/{automationId}/versions": { + "/v1/policies/{id}": { "get": { - "description": "Get all versions for an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "operationId": "AutomationsController_getAutomationVersions_v1", + "description": "Retrieve a single compliance policy by its ID, including current content, draft content, review status, framework links, and audit metadata. Use this to read or inspect one policy in detail. If you only have a policy name, find its ID first by listing compliance policies.", + "operationId": "PoliciesController_getPolicy_v1", "parameters": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Task ID", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, "schema": { "type": "string" } }, { - "name": "automationId", + "name": "id", "required": true, "in": "path", - "description": "Automation ID", - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "offset", - "required": true, - "in": "query", + "description": "Policy ID", "schema": { + "example": "pol_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "Versions retrieved successfully", + "description": "Policy retrieved successfully", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "success": { - "type": "boolean" - }, - "versions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "version": { - "type": "number" - }, - "scriptKey": { - "type": "string" - }, - "changelog": { - "type": "string", - "nullable": true - }, - "publishedBy": { - "type": "string", - "nullable": true - }, - "createdAt": { - "type": "string", - "format": "date-time" - } + "$ref": "#/components/schemas/PolicyResponseDto" + }, + "example": { + "id": "pol_abc123def456", + "name": "Data Privacy Policy", + "status": "draft", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "..." } - } + ] + } + ], + "isRequiredToSign": true, + "signedBy": [], + "createdAt": "2024-01-01T00:00:00.000Z", + "updatedAt": "2024-01-15T00:00:00.000Z", + "organizationId": "org_abc123def456" + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } + }, + "404": { + "description": "Policy not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Policy with ID pol_abc123def456 not found" } } } @@ -12392,58 +10866,149 @@ "apikey": [] } ], - "summary": "Get all versions for an automation", + "summary": "Get compliance policy", "tags": [ - "Task Automations" + "Policies" ], + "x-speakeasy-mcp": { + "name": "get-policy" + }, "x-mint": { "metadata": { - "title": "Get all versions for an automation | Comp AI API", - "sidebarTitle": "Get all versions for an automation", - "description": "Get all versions for an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "og:title": "Get all versions for an automation | Comp AI API", - "og:description": "Get all versions for an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." + "title": "Get compliance policy | Comp AI API", + "sidebarTitle": "Get compliance policy", + "description": "Retrieve a single compliance policy by its ID, including current content, draft content, review status, framework links, and audit metadata. Use this.", + "og:title": "Get compliance policy | Comp AI API", + "og:description": "Retrieve a single compliance policy by its ID, including current content, draft content, review status, framework links, and audit metadata. Use this." } - }, - "x-speakeasy-mcp": { - "name": "get-automation-versions" } }, - "post": { - "operationId": "AutomationsController_createVersion_v1", + "patch": { + "description": "Update compliance policy details or content while keeping policy workflows connected to controls, tasks, and approvals.", + "operationId": "PoliciesController_updatePolicy_v1", "parameters": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Task ID", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, "schema": { "type": "string" } }, { - "name": "automationId", + "name": "id", "required": true, "in": "path", - "description": "Automation ID", + "description": "Policy ID", "schema": { + "example": "pol_abc123def456", "type": "string" } } ], "requestBody": { "required": true, + "description": "Policy update data", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateVersionDto" + "$ref": "#/components/schemas/UpdatePolicyDto" } } } }, "responses": { - "201": { - "description": "" + "200": { + "description": "Policy updated successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PolicyResponseDto" + }, + "example": { + "id": "pol_abc123def456", + "name": "Data Privacy Policy", + "description": "This policy outlines how we handle and protect personal data", + "status": "published", + "content": [ + { + "type": "heading", + "attrs": { + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "Purpose" + } + ] + } + ], + "frequency": "yearly", + "department": "it", + "isRequiredToSign": true, + "signedBy": [ + "usr_123" + ], + "reviewDate": "2024-12-31T00:00:00.000Z", + "isArchived": false, + "createdAt": "2024-01-01T00:00:00.000Z", + "updatedAt": "2024-01-15T00:00:00.000Z", + "organizationId": "org_abc123def456", + "assigneeId": "usr_abc123def456", + "approverId": "usr_xyz789abc123" + } + } + } + }, + "400": { + "description": "Bad Request - Invalid update data", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Validation failed" + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } + }, + "404": { + "description": "Policy not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Policy with ID pol_abc123def456 not found" + } + } + } + } + } } }, "security": [ @@ -12451,85 +11016,114 @@ "apikey": [] } ], - "summary": "Create a published version record for an automation", + "summary": "Update compliance policy", "tags": [ - "Task Automations" + "Policies" ], - "description": "Create a published version record for an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", "x-mint": { "metadata": { - "title": "Create a published version record for an | Comp AI API", - "sidebarTitle": "Create a published version record for an automation", - "description": "Create a published version record for an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached.", - "og:title": "Create a published version record for an | Comp AI API", - "og:description": "Create a published version record for an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached." + "title": "Update compliance policy | Comp AI API", + "sidebarTitle": "Update compliance policy", + "description": "Update compliance policy details or content while keeping policy workflows connected to controls, tasks, and approvals.", + "og:title": "Update compliance policy | Comp AI API", + "og:description": "Update compliance policy details or content while keeping policy workflows connected to controls, tasks, and approvals." } }, "x-speakeasy-mcp": { - "name": "create-version" + "name": "update-policy" } - } - }, - "/v1/tasks/{taskId}/automations/runs": { - "get": { - "description": "Get all automation runs for a task in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "operationId": "AutomationsController_getTaskAutomationRuns_v1", + }, + "delete": { + "description": "Delete a compliance policy that is no longer part of the organization evidence library or control program.", + "operationId": "PoliciesController_deletePolicy_v1", "parameters": [ { - "name": "taskId", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "id", "required": true, "in": "path", - "description": "Task ID", + "description": "Policy ID", "schema": { - "example": "tsk_abc123def456", + "example": "pol_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "Automation runs retrieved successfully", + "description": "Policy deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Indicates successful deletion", + "example": true + }, + "deletedPolicy": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The deleted policy ID", + "example": "pol_abc123def456" + }, + "name": { + "type": "string", + "description": "The deleted policy name", + "example": "Data Privacy Policy" + } + } + }, + "authType": { + "type": "string", + "enum": [ + "api-key", + "session" + ], + "description": "How the request was authenticated" + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication or insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } + }, + "404": { + "description": "Policy not found", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "ear_abc123def456" - }, - "status": { - "type": "string", - "enum": [ - "PENDING", - "RUNNING", - "COMPLETED", - "FAILED" - ] - }, - "trigger": { - "type": "string", - "enum": [ - "MANUAL", - "SCHEDULED", - "EVENT" - ] - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "completedAt": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "error": { - "type": "object", - "nullable": true - } + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Policy with ID pol_abc123def456 not found" } } } @@ -12542,46 +11136,107 @@ "apikey": [] } ], - "summary": "Get all automation runs for a task", + "summary": "Delete compliance policy", "tags": [ - "Task Automations" + "Policies" ], "x-mint": { "metadata": { - "title": "Get all automation runs for a task | Comp AI API", - "sidebarTitle": "Get all automation runs for a task", - "description": "Get all automation runs for a task in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", - "og:title": "Get all automation runs for a task | Comp AI API", - "og:description": "Get all automation runs for a task in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." + "title": "Delete compliance policy | Comp AI API", + "sidebarTitle": "Delete compliance policy", + "description": "Delete a compliance policy that is no longer part of the organization evidence library or control program.", + "og:title": "Delete compliance policy | Comp AI API", + "og:description": "Delete a compliance policy that is no longer part of the organization evidence library or control program." } }, "x-speakeasy-mcp": { - "name": "get-task-automation-runs" + "name": "delete-policy" } } }, - "/v1/tasks/{taskId}/evidence": { + "/v1/policies/{id}/versions": { "get": { - "description": "Get task evidence summary in Comp AI. Export task evidence, automation evidence, and reviewer-ready evidence bundles as PDF or ZIP files.", - "operationId": "EvidenceExportController_getTaskEvidenceSummary_v1", + "description": "Get policy versions in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "operationId": "PoliciesController_getPolicyVersions_v1", "parameters": [ { - "name": "taskId", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "id", "required": true, "in": "path", - "description": "Unique task identifier", + "description": "Policy ID", "schema": { - "example": "tsk_abc123def456", - "type": "string" + "type": "string", + "example": "pol_abc123def456" } } ], "responses": { "200": { - "description": "Evidence summary retrieved successfully" + "description": "Policy versions retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "versions": { + "type": "array", + "items": { + "type": "object" + } + }, + "currentVersionId": { + "type": "string", + "nullable": true + }, + "pendingVersionId": { + "type": "string", + "nullable": true + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } }, "404": { - "description": "Task not found" + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Resource not found" + } + } + } + } + } } }, "security": [ @@ -12589,57 +11244,124 @@ "apikey": [] } ], - "summary": "Get task evidence summary", + "summary": "Get policy versions", "tags": [ - "Evidence Export" + "Policies" ], + "x-speakeasy-mcp": { + "name": "list-policy-versions" + }, "x-mint": { "metadata": { - "title": "Get task evidence summary | Comp AI API", - "sidebarTitle": "Get task evidence summary", - "description": "Get task evidence summary in Comp AI. Export task evidence, automation evidence, and reviewer-ready evidence bundles as PDF or ZIP files.", - "og:title": "Get task evidence summary | Comp AI API", - "og:description": "Get task evidence summary in Comp AI. Export task evidence, automation evidence, and reviewer-ready evidence bundles as PDF or ZIP files." + "title": "Get policy versions | Comp AI API", + "sidebarTitle": "Get policy versions", + "description": "Get policy versions in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "og:title": "Get policy versions | Comp AI API", + "og:description": "Get policy versions in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows." } - }, - "x-speakeasy-mcp": { - "name": "get-task-evidence-summary" } - } - }, - "/v1/tasks/{taskId}/evidence/automation/{automationId}/pdf": { - "get": { - "description": "Export automation evidence as PDF in Comp AI. Export task evidence, automation evidence, and reviewer-ready evidence bundles as PDF or ZIP files.", - "operationId": "EvidenceExportController_exportAutomationPDF_v1", + }, + "post": { + "description": "Creates a new draft version of a policy, cloned from the current published version (or a specified source version). Use this when you need to make any change to a published policy — content edits, PDF attachments, anything. Published.", + "operationId": "PoliciesController_createPolicyVersion_v1", "parameters": [ { - "name": "taskId", - "required": true, - "in": "path", - "description": "Unique task identifier", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, "schema": { "type": "string" } }, { - "name": "automationId", + "name": "id", "required": true, "in": "path", - "description": "Unique automation identifier (checkId for app automations)", + "description": "Policy ID", "schema": { - "type": "string" + "type": "string", + "example": "pol_abc123def456" } } ], + "requestBody": { + "required": true, + "description": "Create a new policy version draft", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateVersionDto" + } + } + } + }, "responses": { - "200": { - "description": "PDF file generated successfully", + "201": { + "description": "Policy version created", "content": { - "application/pdf": {} + "application/json": { + "schema": { + "type": "object", + "properties": { + "versionId": { + "type": "string" + }, + "version": { + "type": "number" + } + } + } + } + } + }, + "400": { + "description": "Invalid request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid request" + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Resource not found" + } + } + } + } } - }, - "404": { - "description": "Task or automation not found" } }, "security": [ @@ -12647,57 +11369,114 @@ "apikey": [] } ], - "summary": "Export automation evidence as PDF", + "summary": "Create policy version", "tags": [ - "Evidence Export" + "Policies" ], + "x-speakeasy-mcp": { + "name": "create-policy-version" + }, "x-mint": { "metadata": { - "title": "Export automation evidence as PDF | Comp AI API", - "sidebarTitle": "Export automation evidence as PDF", - "description": "Export automation evidence as PDF in Comp AI. Export task evidence, automation evidence, and reviewer-ready evidence bundles as PDF or ZIP files.", - "og:title": "Export automation evidence as PDF | Comp AI API", - "og:description": "Export automation evidence as PDF in Comp AI. Export task evidence, automation evidence, and reviewer-ready evidence bundles as PDF or ZIP files." + "title": "Create policy version | Comp AI API", + "sidebarTitle": "Create policy version", + "description": "Creates a new draft version of a policy, cloned from the current published version (or a specified source version). Use this when you need to make any.", + "og:title": "Create policy version | Comp AI API", + "og:description": "Creates a new draft version of a policy, cloned from the current published version (or a specified source version). Use this when you need to make any." } - }, - "x-speakeasy-mcp": { - "name": "export-automation-pdf" } } }, - "/v1/tasks/{taskId}/evidence/export": { + "/v1/policies/{id}/versions/{versionId}": { "get": { - "description": "Download a ZIP package containing task evidence and automation results for auditor review or customer security requests.", - "operationId": "EvidenceExportController_exportTaskEvidenceZip_v1", + "description": "Get policy version by ID in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "operationId": "PoliciesController_getPolicyVersionById_v1", "parameters": [ { - "name": "taskId", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "id", "required": true, "in": "path", - "description": "Unique task identifier", + "description": "Policy ID", "schema": { - "type": "string" + "type": "string", + "example": "pol_abc123def456" } }, { - "name": "includeJson", - "required": false, - "in": "query", - "description": "Include raw JSON files alongside PDFs", + "name": "versionId", + "required": true, + "in": "path", + "description": "Policy version ID", "schema": { - "type": "boolean" + "type": "string", + "example": "pv_abc123def456" } } ], "responses": { "200": { - "description": "ZIP file generated successfully", + "description": "Policy version retrieved successfully", "content": { - "application/zip": {} + "application/json": { + "schema": { + "type": "object", + "properties": { + "version": { + "type": "object" + }, + "currentVersionId": { + "type": "string", + "nullable": true + }, + "pendingVersionId": { + "type": "string", + "nullable": true + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } } }, "404": { - "description": "Task not found" + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Resource not found" + } + } + } + } + } } }, "security": [ @@ -12705,157 +11484,128 @@ "apikey": [] } ], - "summary": "Export task evidence as ZIP", + "summary": "Get policy version by ID", "tags": [ - "Evidence Export" + "Policies" ], + "x-speakeasy-mcp": { + "name": "get-policy-version" + }, "x-mint": { "metadata": { - "title": "Export task evidence as ZIP | Comp AI API", - "sidebarTitle": "Export task evidence as ZIP", - "description": "Download a ZIP package containing task evidence and automation results for auditor review or customer security requests.", - "og:title": "Export task evidence as ZIP | Comp AI API", - "og:description": "Download a ZIP package containing task evidence and automation results for auditor review or customer security requests." + "title": "Get policy version by ID | Comp AI API", + "sidebarTitle": "Get policy version by ID", + "description": "Get policy version by ID in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "og:title": "Get policy version by ID | Comp AI API", + "og:description": "Get policy version by ID in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows." } - }, - "x-speakeasy-mcp": { - "name": "export-task-evidence-zip" } - } - }, - "/v1/evidence-export/all": { - "post": { - "description": "Trigger bulk evidence export (Auditor only) in Comp AI. Export all organization evidence for an auditor review package.", - "operationId": "AuditorEvidenceExportController_exportAllEvidence_v1", + }, + "patch": { + "description": "Update version content in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "operationId": "PoliciesController_updateVersionContent_v1", "parameters": [ { - "name": "includeJson", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", "required": false, - "in": "query", - "description": "Include raw JSON files alongside PDFs", "schema": { - "type": "boolean" + "type": "string" } - } - ], - "responses": { - "201": { - "description": "Export job started" - } - }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Trigger bulk evidence export (Auditor only)", - "tags": [ - "Evidence Export (Auditor)" - ], - "x-mint": { - "metadata": { - "title": "Trigger bulk evidence export (Auditor only) | Comp AI API", - "sidebarTitle": "Trigger bulk evidence export (Auditor only)", - "description": "Trigger bulk evidence export (Auditor only) in Comp AI. Export all organization evidence for an auditor review package.", - "og:title": "Trigger bulk evidence export (Auditor only) | Comp AI API", - "og:description": "Trigger bulk evidence export (Auditor only) in Comp AI. Export all organization evidence for an auditor review package." - } - }, - "x-speakeasy-mcp": { - "name": "export-all-evidence" - } - } - }, - "/v1/comments": { - "get": { - "description": "Get comments for an entity in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", - "operationId": "CommentsController_getComments_v1", - "parameters": [ + }, { - "name": "entityId", + "name": "id", "required": true, - "in": "query", - "description": "ID of the entity to get comments for", + "in": "path", + "description": "Policy ID", "schema": { - "example": "tsk_abc123def456", - "type": "string" + "type": "string", + "example": "pol_abc123def456" } }, { - "name": "entityType", + "name": "versionId", "required": true, - "in": "query", - "description": "Type of entity", + "in": "path", + "description": "Policy version ID", "schema": { - "enum": [ - "task", - "vendor", - "risk", - "policy", - "finding" - ], - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Comments retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommentResponseDto" - } - } - } + "type": "string", + "example": "pv_abc123def456" } } - }, - "security": [ - { - "apikey": [] - } ], - "summary": "Get comments for an entity", - "tags": [ - "Comments" - ], - "x-mint": { - "metadata": { - "title": "Get comments for an entity | Comp AI API", - "sidebarTitle": "Get comments for an entity", - "description": "Get comments for an entity in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", - "og:title": "Get comments for an entity | Comp AI API", - "og:description": "Get comments for an entity in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings." - } - }, - "x-speakeasy-mcp": { - "name": "get-comments" - } - }, - "post": { - "description": "Create a new comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", - "operationId": "CommentsController_createComment_v1", - "parameters": [], "requestBody": { "required": true, + "description": "Update content for a policy version", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateCommentDto" + "$ref": "#/components/schemas/UpdateVersionContentDto" } } } }, "responses": { - "201": { - "description": "Comment created successfully", + "200": { + "description": "Version content updated", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CommentResponseDto" + "type": "object", + "properties": { + "versionId": { + "type": "string" + } + } + } + } + } + }, + "400": { + "description": "Invalid request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid request" + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Resource not found" + } + } } } } @@ -12866,57 +11616,117 @@ "apikey": [] } ], - "summary": "Create a new comment", + "summary": "Update version content", "tags": [ - "Comments" + "Policies" ], + "x-speakeasy-mcp": { + "name": "update-policy-version-content" + }, "x-mint": { "metadata": { - "title": "Create a new comment | Comp AI API", - "sidebarTitle": "Create a new comment", - "description": "Create a new comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", - "og:title": "Create a new comment | Comp AI API", - "og:description": "Create a new comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings." + "title": "Update version content | Comp AI API", + "sidebarTitle": "Update version content", + "description": "Update version content in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "og:title": "Update version content | Comp AI API", + "og:description": "Update version content in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows." } - }, - "x-speakeasy-mcp": { - "name": "create-comment" } - } - }, - "/v1/comments/{commentId}": { - "put": { - "description": "Update a comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", - "operationId": "CommentsController_updateComment_v1", + }, + "delete": { + "description": "Delete policy version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "operationId": "PoliciesController_deletePolicyVersion_v1", "parameters": [ { - "name": "commentId", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "id", "required": true, "in": "path", - "description": "Unique comment identifier", + "description": "Policy ID", "schema": { - "example": "cmt_abc123def456", - "type": "string" + "type": "string", + "example": "pol_abc123def456" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateCommentDto" - } + }, + { + "name": "versionId", + "required": true, + "in": "path", + "description": "Policy version ID", + "schema": { + "type": "string", + "example": "pv_abc123def456" } } - }, + ], "responses": { "200": { - "description": "Comment updated successfully", + "description": "Version deleted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CommentResponseDto" + "type": "object", + "properties": { + "deletedVersion": { + "type": "number" + } + } + } + } + } + }, + "400": { + "description": "Invalid request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid request" + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Resource not found" + } + } } } } @@ -12927,75 +11737,89 @@ "apikey": [] } ], - "summary": "Update a comment", + "summary": "Delete policy version", "tags": [ - "Comments" + "Policies" ], "x-mint": { "metadata": { - "title": "Update a comment | Comp AI API", - "sidebarTitle": "Update a comment", - "description": "Update a comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", - "og:title": "Update a comment | Comp AI API", - "og:description": "Update a comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings." + "title": "Delete policy version | Comp AI API", + "sidebarTitle": "Delete policy version", + "description": "Delete policy version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "og:title": "Delete policy version | Comp AI API", + "og:description": "Delete policy version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows." } }, "x-speakeasy-mcp": { - "name": "update-comment" + "name": "delete-policy-version" } - }, - "delete": { - "description": "Delete a comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", - "operationId": "CommentsController_deleteComment_v1", + } + }, + "/v1/policies/{id}/versions/publish": { + "post": { + "description": "Publishes a draft policy version, making it the active/current version of the policy. Pass the versionId of the draft you want to publish — for example one created via create-policy-version and then edited.", + "operationId": "PoliciesController_publishPolicyVersion_v1", "parameters": [ { - "name": "commentId", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "id", "required": true, "in": "path", - "description": "Unique comment identifier", + "description": "Policy ID", "schema": { - "example": "cmt_abc123def456", - "type": "string" + "type": "string", + "example": "pol_abc123def456" } } ], "requestBody": { "required": true, - "description": "Delete comment request body", + "description": "Publish a new policy version", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "userId": { - "type": "string", - "description": "User ID of the comment author (required for API key auth, ignored for JWT auth)", - "example": "usr_abc123def456" - } - } + "$ref": "#/components/schemas/PublishVersionDto" } } } }, "responses": { "200": { - "description": "Comment deleted successfully", + "description": "Version published", "content": { "application/json": { "schema": { "type": "object", "properties": { - "success": { - "type": "boolean", - "example": true - }, - "deletedCommentId": { - "type": "string", - "example": "cmt_abc123def456" + "versionId": { + "type": "string" }, + "version": { + "type": "number" + } + } + } + } + } + }, + "400": { + "description": "Invalid request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { "message": { "type": "string", - "example": "Comment deleted successfully" + "example": "Invalid request" } } } @@ -13003,7 +11827,7 @@ } }, "401": { - "description": "Unauthorized - Invalid authentication", + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -13019,7 +11843,7 @@ } }, "404": { - "description": "Comment not found", + "description": "Resource not found", "content": { "application/json": { "schema": { @@ -13027,7 +11851,7 @@ "properties": { "message": { "type": "string", - "example": "Comment with ID cmt_abc123def456 not found" + "example": "Resource not found" } } } @@ -13040,95 +11864,125 @@ "apikey": [] } ], - "summary": "Delete a comment", + "summary": "Publish policy version", "tags": [ - "Comments" + "Policies" ], - "x-mint": { - "metadata": { - "title": "Delete a comment | Comp AI API", - "sidebarTitle": "Delete a comment", - "description": "Delete a comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", - "og:title": "Delete a comment | Comp AI API", - "og:description": "Delete a comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings." - } - }, "x-speakeasy-mcp": { - "name": "delete-comment" - } - } - }, - "/v1/trust-portal/settings": { - "get": { - "operationId": "TrustPortalController_getSettings_v1", - "parameters": [], - "responses": { - "200": { - "description": "Trust portal settings retrieved successfully" - } + "name": "publish-policy-version" }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Get Trust Center settings", - "tags": [ - "Trust Portal" - ], - "description": "Retrieve Trust Center settings used to configure public status, custom domains, framework visibility, resources, FAQs, and access rules.", "x-mint": { "metadata": { - "title": "Get Trust Center settings | Comp AI API", - "sidebarTitle": "Get Trust Center settings", - "description": "Retrieve Trust Center settings used to configure public status, custom domains, framework visibility, resources, FAQs, and access rules.", - "og:title": "Get Trust Center settings | Comp AI API", - "og:description": "Retrieve Trust Center settings used to configure public status, custom domains, framework visibility, resources, FAQs, and access rules." + "title": "Publish policy version | Comp AI API", + "sidebarTitle": "Publish policy version", + "description": "Publishes a draft policy version, making it the active/current version of the policy. Pass the versionId of the draft you want to publish — for example one.", + "og:title": "Publish policy version | Comp AI API", + "og:description": "Publishes a draft policy version, making it the active/current version of the policy. Pass the versionId of the draft you want to publish — for example one." } - }, - "x-speakeasy-mcp": { - "name": "get-settings" } } }, - "/v1/trust-portal/favicon": { + "/v1/policies/{id}/versions/{versionId}/activate": { "post": { - "operationId": "TrustPortalController_uploadFavicon_v1", - "parameters": [], - "responses": { - "201": { - "description": "Favicon uploaded successfully" - } - }, - "security": [ + "description": "Set active policy version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "operationId": "PoliciesController_setActivePolicyVersion_v1", + "parameters": [ { - "apikey": [] + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "id", + "required": true, + "in": "path", + "description": "Policy ID", + "schema": { + "type": "string", + "example": "pol_abc123def456" + } + }, + { + "name": "versionId", + "required": true, + "in": "path", + "description": "Policy version ID", + "schema": { + "type": "string", + "example": "pv_abc123def456" + } } ], - "summary": "Upload a favicon for the trust portal", - "tags": [ - "Trust Portal" - ], - "description": "Upload a favicon for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", - "x-mint": { - "metadata": { - "title": "Upload a favicon for the trust portal | Comp AI API", - "sidebarTitle": "Upload a favicon for the trust portal", - "description": "Upload a favicon for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", - "og:title": "Upload a favicon for the trust portal | Comp AI API", - "og:description": "Upload a favicon for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." - } - }, - "x-speakeasy-mcp": { - "name": "upload-favicon" - } - }, - "delete": { - "operationId": "TrustPortalController_removeFavicon_v1", - "parameters": [], "responses": { "200": { - "description": "Favicon removed successfully" + "description": "Active version updated", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "versionId": { + "type": "string" + }, + "version": { + "type": "number" + } + } + } + } + } + }, + "400": { + "description": "Invalid request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid request" + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Resource not found" + } + } + } + } + } } }, "security": [ @@ -13136,57 +11990,136 @@ "apikey": [] } ], - "summary": "Remove the trust portal favicon", + "summary": "Set active policy version", "tags": [ - "Trust Portal" + "Policies" ], - "description": "Remove the trust portal favicon in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Remove the trust portal favicon | Comp AI API", - "sidebarTitle": "Remove the trust portal favicon", - "description": "Remove the trust portal favicon in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links.", - "og:title": "Remove the trust portal favicon | Comp AI API", - "og:description": "Remove the trust portal favicon in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links." + "title": "Set active policy version | Comp AI API", + "sidebarTitle": "Set active policy version", + "description": "Set active policy version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "og:title": "Set active policy version | Comp AI API", + "og:description": "Set active policy version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows." } }, "x-speakeasy-mcp": { - "name": "remove-favicon" + "name": "set-active-policy-version" } } }, - "/v1/trust-portal/domain/status": { - "get": { - "description": "Get domain verification status in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", - "operationId": "TrustPortalController_getDomainStatus_v1", + "/v1/policies/{id}/versions/{versionId}/submit-for-approval": { + "post": { + "description": "Submit version for approval in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", + "operationId": "PoliciesController_submitVersionForApproval_v1", "parameters": [ { - "name": "domain", - "required": true, - "in": "query", - "description": "The domain name to check status for", + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, "schema": { - "example": "portal.example.com", "type": "string" } + }, + { + "name": "id", + "required": true, + "in": "path", + "description": "Policy ID", + "schema": { + "type": "string", + "example": "pol_abc123def456" + } + }, + { + "name": "versionId", + "required": true, + "in": "path", + "description": "Policy version ID", + "schema": { + "type": "string", + "example": "pv_abc123def456" + } + } + ], + "requestBody": { + "required": true, + "description": "Submit a policy version for approval", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubmitForApprovalDto" + } + } } - ], + }, "responses": { "200": { - "description": "Domain status retrieved successfully", + "description": "Version submitted for approval", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DomainStatusResponseDto" + "type": "object", + "properties": { + "versionId": { + "type": "string" + }, + "version": { + "type": "number" + } + } + } + } + } + }, + "400": { + "description": "Invalid request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid request" + } + } } } } }, "401": { - "description": "Unauthorized - Invalid or missing authentication" + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } }, - "500": { - "description": "Failed to retrieve domain status from Vercel" + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Resource not found" + } + } + } + } + } } }, "security": [ @@ -13194,52 +12127,51 @@ "apikey": [] } ], - "summary": "Get domain verification status", + "summary": "Submit version for approval", "tags": [ - "Trust Portal" + "Policies" ], + "x-speakeasy-mcp": { + "name": "submit-policy-version-for-approval" + }, "x-mint": { "metadata": { - "title": "Get domain verification status | Comp AI API", - "sidebarTitle": "Get domain verification status", - "description": "Get domain verification status in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links.", - "og:title": "Get domain verification status | Comp AI API", - "og:description": "Get domain verification status in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links." + "title": "Submit version for approval | Comp AI API", + "sidebarTitle": "Submit version for approval", + "description": "Submit version for approval in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval.", + "og:title": "Submit version for approval | Comp AI API", + "og:description": "Submit version for approval in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval." } - }, - "x-speakeasy-mcp": { - "name": "get-domain-status" } } }, - "/v1/trust-portal/compliance-resources/upload": { + "/v1/policies/{id}/accept-changes": { "post": { - "description": "Upload or replace a compliance certificate PDF such as SOC 2, ISO 27001, HIPAA, or GDPR evidence for Trust Center sharing.", - "operationId": "TrustPortalController_uploadComplianceResource_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadComplianceResourceDto" - } + "operationId": "PoliciesController_acceptPolicyChanges_v1", + "parameters": [ + { + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "id", + "required": true, + "in": "path", + "description": "Policy ID", + "schema": { + "example": "pol_abc123def456", + "type": "string" } } - }, + ], "responses": { "201": { - "description": "Compliance certificate uploaded successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ComplianceResourceResponseDto" - } - } - } - }, - "400": { - "description": "Framework not compliant, PDF validation failed, or organization mismatch" + "description": "" } }, "security": [ @@ -13247,48 +12179,52 @@ "apikey": [] } ], - "summary": "Upload compliance certificate", + "summary": "Accept pending policy changes and publish the version", "tags": [ - "Trust Portal" + "Policies" ], + "x-speakeasy-mcp": { + "name": "accept-policy-changes" + }, + "description": "Accept pending policy changes and publish the version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", "x-mint": { "metadata": { - "title": "Upload compliance certificate | Comp AI API", - "sidebarTitle": "Upload compliance certificate", - "description": "Upload or replace a compliance certificate PDF such as SOC 2, ISO 27001, HIPAA, or GDPR evidence for Trust Center sharing.", - "og:title": "Upload compliance certificate | Comp AI API", - "og:description": "Upload or replace a compliance certificate PDF such as SOC 2, ISO 27001, HIPAA, or GDPR evidence for Trust Center sharing." + "title": "Accept pending policy changes and publish the | Comp AI API", + "sidebarTitle": "Accept pending policy changes and publish the version", + "description": "Accept pending policy changes and publish the version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted.", + "og:title": "Accept pending policy changes and publish the | Comp AI API", + "og:description": "Accept pending policy changes and publish the version in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted." } - }, - "x-speakeasy-mcp": { - "name": "upload-compliance-resource" } } }, - "/v1/trust-portal/compliance-resources/signed-url": { + "/v1/policies/{id}/deny-changes": { "post": { - "operationId": "TrustPortalController_getComplianceResourceUrl_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ComplianceResourceSignedUrlDto" - } + "operationId": "PoliciesController_denyPolicyChanges_v1", + "parameters": [ + { + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "id", + "required": true, + "in": "path", + "description": "Policy ID", + "schema": { + "example": "pol_abc123def456", + "type": "string" } } - }, + ], "responses": { - "200": { - "description": "Signed URL generated successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ComplianceResourceUrlResponseDto" - } - } - } + "201": { + "description": "" } }, "security": [ @@ -13296,103 +12232,76 @@ "apikey": [] } ], - "summary": "Generate a temporary signed URL for a compliance certificate", + "summary": "Deny pending policy changes", "tags": [ - "Trust Portal" + "Policies" ], - "description": "Generate a temporary signed URL for a compliance certificate in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "description": "Deny pending policy changes in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval workflows.", "x-mint": { "metadata": { - "title": "Generate a temporary signed URL for a | Comp AI API", - "sidebarTitle": "Generate a temporary signed URL for a compliance certificate", - "description": "Generate a temporary signed URL for a compliance certificate in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance.", - "og:title": "Generate a temporary signed URL for a | Comp AI API", - "og:description": "Generate a temporary signed URL for a compliance certificate in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance." + "title": "Deny pending policy changes | Comp AI API", + "sidebarTitle": "Deny pending policy changes", + "description": "Deny pending policy changes in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval.", + "og:title": "Deny pending policy changes | Comp AI API", + "og:description": "Deny pending policy changes in Comp AI. Create, version, publish, export, map, and improve compliance policies with AI-assisted drafting and approval." } }, "x-speakeasy-mcp": { - "name": "get-compliance-resource-url" + "name": "deny-policy-changes" } } }, - "/v1/trust-portal/compliance-resources/list": { + "/v1/policies/{id}/ai-chat": { "post": { - "operationId": "TrustPortalController_listComplianceResources_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListComplianceResourcesDto" - } - } - } - }, - "responses": { - "200": { - "description": "Compliance certificates retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ComplianceResourceResponseDto" - } - } - } + "description": "Ask policy-specific questions and request draft improvements while preserving human review before policy changes are applied.", + "operationId": "PoliciesController_aiChatPolicy_v1", + "parameters": [ + { + "name": "X-Organization-Id", + "in": "header", + "description": "Organization ID (required for session auth, optional for API key auth)", + "required": false, + "schema": { + "type": "string" } - } - }, - "security": [ + }, { - "apikey": [] + "name": "id", + "required": true, + "in": "path", + "description": "Policy ID", + "schema": { + "example": "pol_abc123def456", + "type": "string" + } } ], - "summary": "List uploaded compliance certificates for the organization", - "tags": [ - "Trust Portal" - ], - "description": "List uploaded compliance certificates for the organization in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", - "x-mint": { - "metadata": { - "title": "List uploaded compliance certificates for the | Comp AI API", - "sidebarTitle": "List uploaded compliance certificates for the organization", - "description": "List uploaded compliance certificates for the organization in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance.", - "og:title": "List uploaded compliance certificates for the | Comp AI API", - "og:description": "List uploaded compliance certificates for the organization in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance." - } - }, - "x-speakeasy-mcp": { - "name": "list-compliance-resources" - } - } - }, - "/v1/trust-portal/documents/upload": { - "post": { - "description": "Upload an additional trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", - "operationId": "TrustPortalController_uploadTrustDocument_v1", - "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UploadTrustDocumentDto" + "$ref": "#/components/schemas/AISuggestPolicyRequestDto" } } } }, "responses": { - "201": { - "description": "Document uploaded successfully", + "200": { + "description": "Streaming AI response", "content": { - "application/json": { + "text/event-stream": { "schema": { - "$ref": "#/components/schemas/TrustDocumentResponseDto" + "type": "string" } } } + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "description": "Policy not found" } }, "security": [ @@ -13400,83 +12309,68 @@ "apikey": [] } ], - "summary": "Upload an additional trust portal document", + "summary": "Chat with AI about a policy", "tags": [ - "Trust Portal" + "Policies" ], "x-mint": { "metadata": { - "title": "Upload an additional trust portal document | Comp AI API", - "sidebarTitle": "Upload an additional trust portal document", - "description": "Upload an additional trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources.", - "og:title": "Upload an additional trust portal document | Comp AI API", - "og:description": "Upload an additional trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources." + "title": "Chat with AI about a policy | Comp AI API", + "sidebarTitle": "Chat with AI about a policy", + "description": "Ask policy-specific questions and request draft improvements while preserving human review before policy changes are applied.", + "og:title": "Chat with AI about a policy | Comp AI API", + "og:description": "Ask policy-specific questions and request draft improvements while preserving human review before policy changes are applied." } }, "x-speakeasy-mcp": { - "name": "upload-trust-document" + "name": "ai-chat-policy" } } }, - "/v1/trust-portal/documents/list": { + "/v1/device-agent/exchange-code": { "post": { - "operationId": "TrustPortalController_listTrustDocuments_v1", + "operationId": "DeviceAgentController_exchangeCode_v1", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ListComplianceResourcesDto" + "$ref": "#/components/schemas/ExchangeCodeDto" } } } }, "responses": { - "200": { - "description": "Documents retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TrustDocumentResponseDto" - } - } - } - } + "201": { + "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "List additional trust portal documents for the organization", + "summary": "Exchange an auth code for device credentials", "tags": [ - "Trust Portal" + "Device Agent" ], - "description": "List additional trust portal documents for the organization in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "description": "Exchange an auth code for device credentials in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", "x-mint": { "metadata": { - "title": "List additional trust portal documents for | Comp AI API", - "sidebarTitle": "List additional trust portal documents for the organization", - "description": "List additional trust portal documents for the organization in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance.", - "og:title": "List additional trust portal documents for | Comp AI API", - "og:description": "List additional trust portal documents for the organization in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance." + "title": "Exchange an auth code for device credentials | Comp AI API", + "sidebarTitle": "Exchange an auth code for device credentials", + "description": "Exchange an auth code for device credentials in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage.", + "og:title": "Exchange an auth code for device credentials | Comp AI API", + "og:description": "Exchange an auth code for device credentials in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage." } }, "x-speakeasy-mcp": { - "name": "list-trust-documents" + "name": "exchange-code" } } }, - "/v1/trust-portal/documents/{documentId}/download": { - "post": { - "operationId": "TrustPortalController_getTrustDocumentUrl_v1", + "/v1/device-agent/updates/{filename}": { + "get": { + "operationId": "DeviceAgentController_getUpdateFile_v1", "parameters": [ { - "name": "documentId", + "name": "filename", "required": true, "in": "path", "schema": { @@ -13484,58 +12378,34 @@ } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TrustDocumentSignedUrlDto" - } - } - } - }, "responses": { "200": { - "description": "Signed URL generated successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TrustDocumentUrlResponseDto" - } - } - } + "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Generate a temporary signed URL for a trust portal document", + "summary": "Download a device-agent update", "tags": [ - "Trust Portal" + "Device Agent" ], - "description": "Generate a temporary signed URL for a trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "description": "Download a device-agent update in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", "x-mint": { "metadata": { - "title": "Generate a temporary signed URL for a trust | Comp AI API", - "sidebarTitle": "Generate a temporary signed URL for a trust portal document", - "description": "Generate a temporary signed URL for a trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance.", - "og:title": "Generate a temporary signed URL for a trust | Comp AI API", - "og:description": "Generate a temporary signed URL for a trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance." + "title": "Download a device-agent update | Comp AI API", + "sidebarTitle": "Download a device-agent update", + "description": "Download a device-agent update in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint.", + "og:title": "Download a device-agent update | Comp AI API", + "og:description": "Download a device-agent update in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint." } }, "x-speakeasy-mcp": { - "name": "get-trust-document-url" + "name": "get-update-file" } - } - }, - "/v1/trust-portal/documents/{documentId}/delete": { - "post": { - "operationId": "TrustPortalController_deleteTrustDocument_v1", + }, + "head": { + "operationId": "DeviceAgentController_headUpdateFile_v1", "parameters": [ { - "name": "documentId", + "name": "filename", "required": true, "in": "path", "schema": { @@ -13543,196 +12413,250 @@ } } ], + "responses": { + "200": { + "description": "" + } + }, + "summary": "Check a device-agent update's metadata", + "tags": [ + "Device Agent" + ], + "description": "Check a device-agent update's metadata in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", + "x-mint": { + "metadata": { + "title": "Check a device-agent update's metadata | Comp AI API", + "sidebarTitle": "Check a device-agent update's metadata", + "description": "Check a device-agent update's metadata in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint.", + "og:title": "Check a device-agent update's metadata | Comp AI API", + "og:description": "Check a device-agent update's metadata in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint." + } + }, + "x-speakeasy-mcp": { + "name": "head-update-file" + } + } + }, + "/v1/device-agent/auth-code": { + "post": { + "operationId": "DeviceAgentController_generateAuthCode_v1", + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DeleteTrustDocumentDto" + "$ref": "#/components/schemas/AuthCodeDto" } } } }, "responses": { - "200": { - "description": "Document deleted successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "success": { - "type": "boolean" - } - } - } - } - } + "201": { + "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Delete (deactivate) a trust portal document", + "summary": "Create a device-agent auth code", "tags": [ - "Trust Portal" + "Device Agent" ], - "description": "Delete (deactivate) a trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "description": "Create a device-agent auth code in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", "x-mint": { "metadata": { - "title": "Delete (deactivate) a trust portal document | Comp AI API", - "sidebarTitle": "Delete (deactivate) a trust portal document", - "description": "Delete (deactivate) a trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources.", - "og:title": "Delete (deactivate) a trust portal document | Comp AI API", - "og:description": "Delete (deactivate) a trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources." + "title": "Create a device-agent auth code | Comp AI API", + "sidebarTitle": "Create a device-agent auth code", + "description": "Create a device-agent auth code in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint.", + "og:title": "Create a device-agent auth code | Comp AI API", + "og:description": "Create a device-agent auth code in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint." } }, "x-speakeasy-mcp": { - "name": "delete-trust-document" + "name": "generate-auth-code" } } }, - "/v1/trust-portal/settings/toggle": { - "put": { - "operationId": "TrustPortalController_togglePortal_v1", + "/v1/device-agent/my-organizations": { + "get": { + "operationId": "DeviceAgentController_getMyOrganizations_v1", "parameters": [], "responses": { "200": { "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Enable or disable the trust portal", + "summary": "List organizations for the current device", "tags": [ - "Trust Portal" + "Device Agent" ], - "description": "Enable or disable the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "description": "List organizations for the current device in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", "x-mint": { "metadata": { - "title": "Enable or disable the trust portal | Comp AI API", - "sidebarTitle": "Enable or disable the trust portal", - "description": "Enable or disable the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", - "og:title": "Enable or disable the trust portal | Comp AI API", - "og:description": "Enable or disable the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." + "title": "List organizations for the current device | Comp AI API", + "sidebarTitle": "List organizations for the current device", + "description": "List organizations for the current device in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage.", + "og:title": "List organizations for the current device | Comp AI API", + "og:description": "List organizations for the current device in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage." } }, "x-speakeasy-mcp": { - "name": "toggle-portal" + "name": "get-my-organizations" } } }, - "/v1/trust-portal/settings/custom-domain": { + "/v1/device-agent/register": { "post": { - "operationId": "TrustPortalController_addCustomDomain_v1", + "operationId": "DeviceAgentController_registerDevice_v1", "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterDeviceDto" + } + } + } + }, "responses": { "201": { "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Add or update a custom domain for the trust portal", + "summary": "Register device agent", "tags": [ - "Trust Portal" + "Device Agent" ], - "description": "Add or update a custom domain for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "description": "Register a Comp AI Device Agent installation so employee endpoint checks can report into compliance tasks and device inventory.", "x-mint": { "metadata": { - "title": "Add or update a custom domain for the trust | Comp AI API", - "sidebarTitle": "Add or update a custom domain for the trust portal", - "description": "Add or update a custom domain for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources.", - "og:title": "Add or update a custom domain for the trust | Comp AI API", - "og:description": "Add or update a custom domain for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources." + "title": "Register device agent | Comp AI API", + "sidebarTitle": "Register device agent", + "description": "Register a Comp AI Device Agent installation so employee endpoint checks can report into compliance tasks and device inventory.", + "og:title": "Register device agent | Comp AI API", + "og:description": "Register a Comp AI Device Agent installation so employee endpoint checks can report into compliance tasks and device inventory." } }, "x-speakeasy-mcp": { - "name": "add-custom-domain" + "name": "register-device" } } }, - "/v1/trust-portal/settings/check-dns": { + "/v1/device-agent/check-in": { "post": { - "operationId": "TrustPortalController_checkDnsRecords_v1", + "operationId": "DeviceAgentController_checkIn_v1", "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CheckInDto" + } + } + } + }, "responses": { "201": { "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Check DNS records for a custom domain", + "summary": "Submit device compliance check-in", "tags": [ - "Trust Portal" + "Device Agent" ], - "description": "Check DNS records for a custom domain in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "description": "Submit device security check results for encryption, antivirus, password policy, screen lock, and other endpoint controls.", "x-mint": { "metadata": { - "title": "Check DNS records for a custom domain | Comp AI API", - "sidebarTitle": "Check DNS records for a custom domain", - "description": "Check DNS records for a custom domain in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", - "og:title": "Check DNS records for a custom domain | Comp AI API", - "og:description": "Check DNS records for a custom domain in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." + "title": "Submit device compliance check-in | Comp AI API", + "sidebarTitle": "Submit device compliance check-in", + "description": "Submit device security check results for encryption, antivirus, password policy, screen lock, and other endpoint controls.", + "og:title": "Submit device compliance check-in | Comp AI API", + "og:description": "Submit device security check results for encryption, antivirus, password policy, screen lock, and other endpoint controls." } }, "x-speakeasy-mcp": { - "name": "check-dns-records" + "name": "check-in" } } }, - "/v1/trust-portal/settings/faqs": { - "put": { - "operationId": "TrustPortalController_updateFaqs_v1", - "parameters": [], + "/v1/device-agent/status": { + "get": { + "operationId": "DeviceAgentController_getDeviceStatus_v1", + "parameters": [ + { + "name": "deviceId", + "required": true, + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "organizationId", + "required": true, + "in": "query", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Update trust portal FAQs", + "summary": "Get device-agent status", "tags": [ - "Trust Portal" + "Device Agent" ], - "description": "Update trust portal FAQs in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "description": "Get device-agent status in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", "x-mint": { "metadata": { - "title": "Update trust portal FAQs | Comp AI API", - "sidebarTitle": "Update trust portal FAQs", - "description": "Update trust portal FAQs in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links.", - "og:title": "Update trust portal FAQs | Comp AI API", - "og:description": "Update trust portal FAQs in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links." + "title": "Get device-agent status | Comp AI API", + "sidebarTitle": "Get device-agent status", + "description": "Get device-agent status in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", + "og:title": "Get device-agent status | Comp AI API", + "og:description": "Get device-agent status in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status." } }, "x-speakeasy-mcp": { - "name": "update-faqs" + "name": "get-device-status" } } }, - "/v1/trust-portal/settings/allowed-domains": { - "put": { - "operationId": "TrustPortalController_updateAllowedDomains_v1", + "/v1/device-agent/mac": { + "get": { + "description": "Downloads the Comp AI Device Agent installer for macOS as a DMG file. The agent helps monitor device compliance and security policies.", + "operationId": "DeviceAgentController_downloadMacAgent_v1", "parameters": [], "responses": { - "200": { - "description": "" + "default": { + "description": "Internal server error\n\nmacOS agent file not found in S3\n\nUnauthorized - Invalid or missing authentication\n\nmacOS agent DMG file download", + "content": { + "application/x-apple-diskimage": { + "schema": { + "type": "string", + "format": "binary" + }, + "example": "Binary DMG file content" + } + }, + "headers": { + "Content-Disposition": { + "description": "Indicates file should be downloaded with specific filename", + "schema": { + "type": "string", + "example": "attachment; filename=\"Comp AI Agent-1.0.0-arm64.dmg\"" + } + }, + "Content-Type": { + "description": "MIME type for macOS disk image", + "schema": { + "type": "string", + "example": "application/x-apple-diskimage" + } + } + } } }, "security": [ @@ -13740,108 +12664,173 @@ "apikey": [] } ], - "summary": "Update allowed domains for the trust portal", + "summary": "Download macOS Device Agent", "tags": [ - "Trust Portal" + "Device Agent" ], - "description": "Update allowed domains for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Update allowed domains for the trust portal | Comp AI API", - "sidebarTitle": "Update allowed domains for the trust portal", - "description": "Update allowed domains for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources.", - "og:title": "Update allowed domains for the trust portal | Comp AI API", - "og:description": "Update allowed domains for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources." + "title": "Download macOS Device Agent | Comp AI API", + "sidebarTitle": "Download macOS Device Agent", + "description": "Downloads the Comp AI Device Agent installer for macOS as a DMG file. The agent helps monitor device compliance and security policies.", + "og:title": "Download macOS Device Agent | Comp AI API", + "og:description": "Downloads the Comp AI Device Agent installer for macOS as a DMG file. The agent helps monitor device compliance and security policies." } }, "x-speakeasy-mcp": { - "name": "update-allowed-domains" + "name": "download-mac-agent" } } }, - "/v1/trust-portal/settings/allowed-emails": { - "put": { - "operationId": "TrustPortalController_updateAllowedEmails_v1", + "/v1/device-agent/windows": { + "get": { + "description": "Downloads a ZIP package containing the Comp AI Device Agent installer for Windows, along with setup scripts and instructions. The package includes an MSI installer, setup batch script customized for the organization and user, and a README.", + "operationId": "DeviceAgentController_downloadWindowsAgent_v1", "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateAllowedEmailsDto" + "responses": { + "default": { + "description": "Internal server error\n\nWindows agent file not found in S3\n\nUnauthorized - Invalid or missing authentication\n\nWindows agent ZIP file download containing MSI installer and setup scripts", + "content": { + "application/zip": { + "schema": { + "type": "string", + "format": "binary" + }, + "example": "Binary ZIP file content" + } + }, + "headers": { + "Content-Disposition": { + "description": "Indicates file should be downloaded with specific filename", + "schema": { + "type": "string", + "example": "attachment; filename=\"compai-device-agent-windows.zip\"" + } + }, + "Content-Type": { + "description": "MIME type for ZIP archive", + "schema": { + "type": "string", + "example": "application/zip" + } } } } }, - "responses": { - "200": { - "description": "" - } - }, "security": [ { "apikey": [] } ], - "summary": "Update allowed emails for the trust portal", + "summary": "Download Windows Device Agent ZIP", "tags": [ - "Trust Portal" + "Device Agent" ], - "description": "Update allowed emails for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Update allowed emails for the trust portal | Comp AI API", - "sidebarTitle": "Update allowed emails for the trust portal", - "description": "Update allowed emails for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources.", - "og:title": "Update allowed emails for the trust portal | Comp AI API", - "og:description": "Update allowed emails for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources." + "title": "Download Windows Device Agent ZIP | Comp AI API", + "sidebarTitle": "Download Windows Device Agent ZIP", + "description": "Downloads a ZIP package containing the Comp AI Device Agent installer for Windows, along with setup scripts and instructions. The package includes an MSI.", + "og:title": "Download Windows Device Agent ZIP | Comp AI API", + "og:description": "Downloads a ZIP package containing the Comp AI Device Agent installer for Windows, along with setup scripts and instructions. The package includes an MSI." } }, "x-speakeasy-mcp": { - "name": "update-allowed-emails" + "name": "download-windows-agent" } } }, - "/v1/trust-portal/settings/frameworks": { - "put": { - "operationId": "TrustPortalController_updateFrameworks_v1", - "parameters": [], + "/v1/device-agent/sessions/{deviceId}": { + "delete": { + "operationId": "DeviceAgentController_revokeAgentAccess_v1", + "parameters": [ + { + "name": "deviceId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], "responses": { - "200": { + "204": { "description": "" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Update trust portal framework settings", + "summary": "Revoke a device agent session", "tags": [ - "Trust Portal" + "Device Agent" ], - "description": "Update trust portal framework settings in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "description": "Revoke a device agent session in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security status.", "x-mint": { "metadata": { - "title": "Update trust portal framework settings | Comp AI API", - "sidebarTitle": "Update trust portal framework settings", - "description": "Update trust portal framework settings in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", - "og:title": "Update trust portal framework settings | Comp AI API", - "og:description": "Update trust portal framework settings in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." + "title": "Revoke a device agent session | Comp AI API", + "sidebarTitle": "Revoke a device agent session", + "description": "Revoke a device agent session in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security.", + "og:title": "Revoke a device agent session | Comp AI API", + "og:description": "Revoke a device agent session in Comp AI. Register employee devices, submit device compliance check-ins, download agent builds, and manage endpoint security." } }, "x-speakeasy-mcp": { - "name": "update-frameworks" + "name": "revoke-agent-access" } } }, - "/v1/trust-portal/custom-frameworks": { + "/v1/tasks": { "get": { - "operationId": "TrustPortalController_listCustomFrameworks_v1", - "parameters": [], + "description": "List compliance tasks with assignments and status so teams can track audit readiness, evidence work, and control implementation.", + "operationId": "TasksController_getTasks_v1", + "parameters": [ + { + "name": "includeRelations", + "required": false, + "in": "query", + "description": "Include controls and automations with runs", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { - "description": "" + "description": "Tasks retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TaskResponseDto" + } + }, + "example": [ + { + "id": "tsk_abc123def456", + "title": "Implement user authentication", + "description": "Add OAuth 2.0 authentication to the platform", + "status": "in_progress", + "createdAt": "2024-01-15T10:30:00Z", + "updatedAt": "2024-01-15T10:30:00Z" + } + ] + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } } }, "security": [ @@ -13849,124 +12838,115 @@ "apikey": [] } ], - "summary": "List org-authored custom frameworks with their trust portal selection", + "summary": "List compliance tasks", "tags": [ - "Trust Portal" + "Tasks" ], - "description": "List org-authored custom frameworks with their trust portal selection in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "List org-authored custom frameworks with | Comp AI API", - "sidebarTitle": "List org-authored custom frameworks with their trust portal selection", - "description": "List org-authored custom frameworks with their trust portal selection in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs.", - "og:title": "List org-authored custom frameworks with | Comp AI API", - "og:description": "List org-authored custom frameworks with their trust portal selection in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs." + "title": "List compliance tasks | Comp AI API", + "sidebarTitle": "List compliance tasks", + "description": "List compliance tasks with assignments and status so teams can track audit readiness, evidence work, and control implementation.", + "og:title": "List compliance tasks | Comp AI API", + "og:description": "List compliance tasks with assignments and status so teams can track audit readiness, evidence work, and control implementation." } }, + "x-codeSamples": [ + { + "lang": "bash", + "label": "List tasks", + "source": "curl --request GET --url \"https://api.trycomp.ai/v1/tasks\" --header \"X-API-Key: $COMP_AI_API_KEY\"" + } + ], "x-speakeasy-mcp": { - "name": "list-custom-frameworks" + "name": "get-tasks" } }, - "put": { - "operationId": "TrustPortalController_updateCustomFramework_v1", + "post": { + "description": "Create a compliance task for evidence collection, remediation, review, or recurring control work inside an organization.", + "operationId": "TasksController_createTask_v1", "parameters": [], "requestBody": { "required": true, - "description": "At least one of `enabled` or `status` must be provided.", "content": { "application/json": { "schema": { "type": "object", - "required": [ - "customFrameworkId" - ], - "anyOf": [ - { - "required": [ - "enabled" - ] - }, - { - "required": [ - "status" - ] - } - ], "properties": { - "customFrameworkId": { + "title": { "type": "string", - "minLength": 1 + "example": "Implement access controls" }, - "enabled": { - "type": "boolean" + "description": { + "type": "string", + "example": "Set up role-based access controls for the platform" }, - "status": { + "assigneeId": { + "type": "string", + "nullable": true, + "example": "mem_abc123" + }, + "frequency": { "type": "string", "enum": [ - "started", - "in_progress", - "compliant" + "daily", + "weekly", + "monthly", + "quarterly", + "yearly" + ], + "nullable": true, + "example": "monthly" + }, + "department": { + "type": "string", + "nullable": true, + "example": "it", + "maxLength": 64, + "description": "Built-in values: none, admin, gov, hr, it, itsm, qms. Custom department names are also accepted." + }, + "controlIds": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "ctrl_abc123" ] + }, + "taskTemplateId": { + "type": "string", + "nullable": true, + "example": "tmpl_abc123" + }, + "vendorId": { + "type": "string", + "nullable": true, + "example": "vnd_abc123", + "description": "Vendor ID to connect this task to" } - } - } - } - } - }, - "responses": { - "200": { - "description": "" - } - }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Enable/disable a custom framework on the trust portal and set its status", - "tags": [ - "Trust Portal" - ], - "description": "Enable/disable a custom framework on the trust portal and set its status in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", - "x-mint": { - "metadata": { - "title": "Enable/disable a custom framework on the | Comp AI API", - "sidebarTitle": "Enable/disable a custom framework on the trust portal and set its status", - "description": "Enable/disable a custom framework on the trust portal and set its status in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs.", - "og:title": "Enable/disable a custom framework on the | Comp AI API", - "og:description": "Enable/disable a custom framework on the trust portal and set its status in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs." - } - }, - "x-speakeasy-mcp": { - "name": "update-custom-framework" - } - } - }, - "/v1/trust-portal/custom-frameworks/badge": { - "post": { - "description": "Stores a PNG/JPEG/WebP badge (max 256KB) in the organization assets bucket. Does not change the framework's portal visibility.", - "operationId": "TrustPortalController_uploadCustomFrameworkBadge_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadCustomFrameworkBadgeDto" + }, + "required": [ + "title", + "description" + ] } } } }, "responses": { "201": { - "description": "Badge uploaded successfully", + "description": "Task created successfully", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CustomFrameworkBadgeResponseDto" + "$ref": "#/components/schemas/TaskResponseDto" } } } + }, + "400": { + "description": "Invalid request body" } }, "security": [ @@ -13974,33 +12954,35 @@ "apikey": [] } ], - "summary": "Upload or replace a custom framework's Trust Portal badge image", + "summary": "Create compliance task", "tags": [ - "Trust Portal" + "Tasks" ], "x-mint": { "metadata": { - "title": "Upload or replace a custom framework's Trust | Comp AI API", - "sidebarTitle": "Upload or replace a custom framework's Trust Portal badge image", - "description": "Stores a PNG/JPEG/WebP badge (max 256KB) in the organization assets bucket. Does not change the framework's portal visibility.", - "og:title": "Upload or replace a custom framework's Trust | Comp AI API", - "og:description": "Stores a PNG/JPEG/WebP badge (max 256KB) in the organization assets bucket. Does not change the framework's portal visibility." + "title": "Create compliance task | Comp AI API", + "sidebarTitle": "Create compliance task", + "description": "Create a compliance task for evidence collection, remediation, review, or recurring control work inside an organization.", + "og:title": "Create compliance task | Comp AI API", + "og:description": "Create a compliance task for evidence collection, remediation, review, or recurring control work inside an organization." } }, "x-speakeasy-mcp": { - "name": "upload-custom-framework-badge" + "name": "create-task" } - }, - "delete": { - "operationId": "TrustPortalController_removeCustomFrameworkBadge_v1", + } + }, + "/v1/tasks/templates": { + "get": { + "description": "Get task templates in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_getTaskTemplates_v1", "parameters": [ { - "name": "customFrameworkId", - "required": true, + "name": "frameworkId", + "required": false, "in": "query", - "description": "Org-authored custom framework ID whose badge to remove", + "description": "Filter templates by framework ID", "schema": { - "example": "cfrm_6914cd0e16e4c7dccbb54426", "type": "string" } } @@ -14015,32 +12997,97 @@ "apikey": [] } ], - "summary": "Remove a custom framework's Trust Portal badge image", + "summary": "Get task templates", "tags": [ - "Trust Portal" + "Tasks" ], - "description": "Remove a custom framework's Trust Portal badge image in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Remove a custom framework's Trust Portal | Comp AI API", - "sidebarTitle": "Remove a custom framework's Trust Portal badge image", - "description": "Remove a custom framework's Trust Portal badge image in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance.", - "og:title": "Remove a custom framework's Trust Portal | Comp AI API", - "og:description": "Remove a custom framework's Trust Portal badge image in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance." + "title": "Get task templates | Comp AI API", + "sidebarTitle": "Get task templates", + "description": "Get task templates in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "og:title": "Get task templates | Comp AI API", + "og:description": "Get task templates in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." } }, "x-speakeasy-mcp": { - "name": "remove-custom-framework-badge" + "name": "get-task-templates" } } }, - "/v1/trust-portal/overview": { - "post": { - "operationId": "TrustPortalController_updateOverview_v1", + "/v1/tasks/bulk": { + "patch": { + "description": "Update status for multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_updateTasksStatus_v1", "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "taskIds": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "tsk_abc123", + "tsk_def456" + ] + }, + "status": { + "type": "string", + "enum": [ + "todo", + "in_progress", + "in_review", + "done", + "not_relevant", + "failed" + ], + "example": "in_progress" + }, + "reviewDate": { + "type": "string", + "format": "date-time", + "example": "2025-01-01T00:00:00.000Z", + "description": "Optional review date to set on all tasks" + }, + "notRelevantJustification": { + "type": "string", + "example": "This control is out of scope for our SOC 2 audit.", + "description": "Required justification when marking evidence tasks as not_relevant" + } + }, + "required": [ + "taskIds", + "status" + ] + } + } + } + }, "responses": { "200": { - "description": "Overview updated successfully" + "description": "Tasks updated successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "updatedCount": { + "type": "number", + "example": 2 + } + } + } + } + } + }, + "400": { + "description": "Invalid request body" } }, "security": [ @@ -14048,39 +13095,71 @@ "apikey": [] } ], - "summary": "Update Trust Center overview", + "summary": "Update status for multiple tasks", "tags": [ - "Trust Portal" + "Tasks" ], - "description": "Update the public Trust Center overview content that explains security posture and compliance status to prospects and customers.", "x-mint": { "metadata": { - "title": "Update Trust Center overview | Comp AI API", - "sidebarTitle": "Update Trust Center overview", - "description": "Update the public Trust Center overview content that explains security posture and compliance status to prospects and customers.", - "og:title": "Update Trust Center overview | Comp AI API", - "og:description": "Update the public Trust Center overview content that explains security posture and compliance status to prospects and customers." + "title": "Update status for multiple tasks | Comp AI API", + "sidebarTitle": "Update status for multiple tasks", + "description": "Update status for multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity.", + "og:title": "Update status for multiple tasks | Comp AI API", + "og:description": "Update status for multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity." } }, "x-speakeasy-mcp": { - "name": "update-overview" + "name": "update-tasks-status" } }, - "get": { - "operationId": "TrustPortalController_getOverview_v1", - "parameters": [ - { - "name": "organizationId", - "required": true, - "in": "query", - "schema": { - "type": "string" + "delete": { + "description": "Delete multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_deleteTasks_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "taskIds": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "tsk_abc123", + "tsk_def456" + ] + } + }, + "required": [ + "taskIds" + ] + } } } - ], + }, "responses": { "200": { - "description": "" + "description": "Tasks deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "deletedCount": { + "type": "number", + "example": 2 + } + } + } + } + } + }, + "400": { + "description": "Invalid request body" } }, "security": [ @@ -14088,72 +13167,79 @@ "apikey": [] } ], - "summary": "Get trust portal overview", + "summary": "Delete multiple tasks", "tags": [ - "Trust Portal" + "Tasks" ], - "description": "Get trust portal overview in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Get trust portal overview | Comp AI API", - "sidebarTitle": "Get trust portal overview", - "description": "Get trust portal overview in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links.", - "og:title": "Get trust portal overview | Comp AI API", - "og:description": "Get trust portal overview in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links." + "title": "Delete multiple tasks | Comp AI API", + "sidebarTitle": "Delete multiple tasks", + "description": "Delete multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "og:title": "Delete multiple tasks | Comp AI API", + "og:description": "Delete multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." } }, "x-speakeasy-mcp": { - "name": "get-overview" + "name": "delete-tasks" } } }, - "/v1/trust-portal/custom-links": { - "post": { - "operationId": "TrustPortalController_createCustomLink_v1", + "/v1/tasks/bulk/assignee": { + "patch": { + "description": "Update assignee for multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_updateTasksAssignee_v1", "parameters": [], - "responses": { - "201": { - "description": "Custom link created successfully" - } - }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Create a custom link for trust portal", - "tags": [ - "Trust Portal" - ], - "description": "Create a custom link for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", - "x-mint": { - "metadata": { - "title": "Create a custom link for trust portal | Comp AI API", - "sidebarTitle": "Create a custom link for trust portal", - "description": "Create a custom link for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", - "og:title": "Create a custom link for trust portal | Comp AI API", - "og:description": "Create a custom link for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." - } - }, - "x-speakeasy-mcp": { - "name": "create-custom-link" - } - }, - "get": { - "operationId": "TrustPortalController_listCustomLinks_v1", - "parameters": [ - { - "name": "organizationId", - "required": true, - "in": "query", - "schema": { - "type": "string" + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "taskIds": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "tsk_abc123", + "tsk_def456" + ] + }, + "assigneeId": { + "type": "string", + "nullable": true, + "example": "mem_abc123", + "description": "Assignee member ID, or null to unassign" + } + }, + "required": [ + "taskIds" + ] + } } } - ], + }, "responses": { "200": { - "description": "" + "description": "Tasks updated successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "updatedCount": { + "type": "number", + "example": 2 + } + } + } + } + } + }, + "400": { + "description": "Invalid request body" } }, "security": [ @@ -14161,41 +13247,80 @@ "apikey": [] } ], - "summary": "List custom links for trust portal", + "summary": "Update assignee for multiple tasks", "tags": [ - "Trust Portal" + "Tasks" ], - "description": "List custom links for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "List custom links for trust portal | Comp AI API", - "sidebarTitle": "List custom links for trust portal", - "description": "List custom links for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", - "og:title": "List custom links for trust portal | Comp AI API", - "og:description": "List custom links for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." + "title": "Update assignee for multiple tasks | Comp AI API", + "sidebarTitle": "Update assignee for multiple tasks", + "description": "Update assignee for multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity.", + "og:title": "Update assignee for multiple tasks | Comp AI API", + "og:description": "Update assignee for multiple tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity." } }, "x-speakeasy-mcp": { - "name": "list-custom-links" + "name": "update-tasks-assignee" } } }, - "/v1/trust-portal/custom-links/{linkId}": { - "post": { - "operationId": "TrustPortalController_updateCustomLink_v1", - "parameters": [ - { - "name": "linkId", - "required": true, - "in": "path", - "schema": { - "type": "string" + "/v1/tasks/reorder": { + "patch": { + "description": "Reorder tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_reorderTasks_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "updates": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "order": { + "type": "number" + }, + "status": { + "type": "string", + "enum": [ + "todo", + "in_progress", + "in_review", + "done", + "not_relevant", + "failed" + ] + } + }, + "required": [ + "id", + "order", + "status" + ] + } + } + }, + "required": [ + "updates" + ] + } } } - ], + }, "responses": { "200": { - "description": "Custom link updated successfully" + "description": "Tasks reordered successfully" + }, + "400": { + "description": "Invalid request body" } }, "security": [ @@ -14203,41 +13328,66 @@ "apikey": [] } ], - "summary": "Update a custom link", + "summary": "Reorder tasks", "tags": [ - "Trust Portal" + "Tasks" ], - "description": "Update a custom link in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Update a custom link | Comp AI API", - "sidebarTitle": "Update a custom link", - "description": "Update a custom link in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor.", - "og:title": "Update a custom link | Comp AI API", - "og:description": "Update a custom link in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor." + "title": "Reorder tasks | Comp AI API", + "sidebarTitle": "Reorder tasks", + "description": "Reorder tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "og:title": "Reorder tasks | Comp AI API", + "og:description": "Reorder tasks in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." } }, "x-speakeasy-mcp": { - "name": "update-custom-link" + "name": "reorder-tasks" } } }, - "/v1/trust-portal/custom-links/{linkId}/delete": { + "/v1/tasks/bulk/submit-for-review": { "post": { - "operationId": "TrustPortalController_deleteCustomLink_v1", - "parameters": [ - { - "name": "linkId", - "required": true, - "in": "path", - "schema": { - "type": "string" + "description": "Bulk submit tasks for review in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_bulkSubmitForReview_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "taskIds": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "tsk_abc123", + "tsk_def456" + ] + }, + "approverId": { + "type": "string", + "example": "mem_abc123", + "description": "Member ID of the approver" + } + }, + "required": [ + "taskIds", + "approverId" + ] + } } } - ], + }, "responses": { "200": { - "description": "Custom link deleted successfully" + "description": "Tasks submitted for review" + }, + "400": { + "description": "Invalid request" } }, "security": [ @@ -14245,32 +13395,31 @@ "apikey": [] } ], - "summary": "Delete a custom link", + "summary": "Bulk submit tasks for review", "tags": [ - "Trust Portal" + "Tasks" ], - "description": "Delete a custom link in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Delete a custom link | Comp AI API", - "sidebarTitle": "Delete a custom link", - "description": "Delete a custom link in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor.", - "og:title": "Delete a custom link | Comp AI API", - "og:description": "Delete a custom link in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor." + "title": "Bulk submit tasks for review | Comp AI API", + "sidebarTitle": "Bulk submit tasks for review", + "description": "Bulk submit tasks for review in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity.", + "og:title": "Bulk submit tasks for review | Comp AI API", + "og:description": "Bulk submit tasks for review in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity." } }, "x-speakeasy-mcp": { - "name": "delete-custom-link" + "name": "bulk-submit-for-review" } } }, - "/v1/trust-portal/custom-links/reorder": { - "post": { - "operationId": "TrustPortalController_reorderCustomLinks_v1", + "/v1/tasks/options": { + "get": { + "operationId": "TasksController_getTaskOptions_v1", "parameters": [], "responses": { "200": { - "description": "Custom links reordered successfully" + "description": "" } }, "security": [ @@ -14278,84 +13427,218 @@ "apikey": [] } ], - "summary": "Reorder custom links", + "summary": "Get page options for tasks overview", "tags": [ - "Trust Portal" + "Tasks" ], - "description": "Reorder custom links in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "description": "Get page options for tasks overview in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", "x-mint": { "metadata": { - "title": "Reorder custom links | Comp AI API", - "sidebarTitle": "Reorder custom links", - "description": "Reorder custom links in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor.", - "og:title": "Reorder custom links | Comp AI API", - "og:description": "Reorder custom links in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor." + "title": "Get page options for tasks overview | Comp AI API", + "sidebarTitle": "Get page options for tasks overview", + "description": "Get page options for tasks overview in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links.", + "og:title": "Get page options for tasks overview | Comp AI API", + "og:description": "Get page options for tasks overview in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links." } }, "x-speakeasy-mcp": { - "name": "reorder-custom-links" + "name": "get-task-options" } } }, - "/v1/trust-portal/vendors/{vendorId}/trust-settings": { - "post": { - "operationId": "TrustPortalController_updateVendorTrustSettings_v1", + "/v1/tasks/{taskId}": { + "get": { + "description": "Get task by ID in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_getTask_v1", "parameters": [ { - "name": "vendorId", + "name": "taskId", "required": true, "in": "path", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } } - ], - "responses": { - "200": { - "description": "Vendor settings updated successfully" - } + ], + "responses": { + "200": { + "description": "Task retrieved successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskResponseDto" + }, + "example": { + "id": "tsk_abc123def456", + "title": "Implement user authentication", + "description": "Add OAuth 2.0 authentication to the platform", + "status": "in_progress", + "createdAt": "2024-01-15T10:30:00Z", + "updatedAt": "2024-01-15T10:30:00Z" + } + } + } + }, + "403": { + "description": "Forbidden - Not assigned to this task" + }, + "404": { + "description": "Task not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Task with ID tsk_abc123def456 not found" + } + } + } + } + } + } }, "security": [ { "apikey": [] } ], - "summary": "Update vendor trust portal settings", + "summary": "Get task by ID", "tags": [ - "Trust Portal" + "Tasks" ], - "description": "Update vendor trust portal settings in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Update vendor trust portal settings | Comp AI API", - "sidebarTitle": "Update vendor trust portal settings", - "description": "Update vendor trust portal settings in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", - "og:title": "Update vendor trust portal settings | Comp AI API", - "og:description": "Update vendor trust portal settings in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." + "title": "Get task by ID | Comp AI API", + "sidebarTitle": "Get task by ID", + "description": "Get task by ID in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "og:title": "Get task by ID | Comp AI API", + "og:description": "Get task by ID in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." } }, "x-speakeasy-mcp": { - "name": "update-vendor-trust-settings" + "name": "get-task" } - } - }, - "/v1/trust-portal/vendors": { - "get": { - "operationId": "TrustPortalController_listVendors_v1", + }, + "patch": { + "description": "Update a task in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_updateTask_v1", "parameters": [ { - "name": "all", - "required": false, - "in": "query", - "description": "When true, returns all org vendors with sync", + "name": "taskId", + "required": true, + "in": "path", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "example": "Review access controls", + "description": "Task title" + }, + "description": { + "type": "string", + "example": "Review and update access control policies", + "description": "Task description" + }, + "status": { + "type": "string", + "enum": [ + "todo", + "in_progress", + "in_review", + "done", + "not_relevant", + "failed" + ], + "example": "in_progress" + }, + "assigneeId": { + "type": "string", + "nullable": true, + "example": "mem_abc123", + "description": "Assignee member ID, or null to unassign" + }, + "approverId": { + "type": "string", + "nullable": true, + "example": "mem_abc123", + "description": "Approver member ID, or null to unassign" + }, + "frequency": { + "type": "string", + "enum": [ + "daily", + "weekly", + "monthly", + "quarterly", + "yearly" + ], + "example": "monthly" + }, + "integrationScheduleFrequency": { + "type": "string", + "enum": [ + "daily", + "weekly", + "monthly", + "quarterly", + "yearly" + ], + "example": "daily", + "description": "Cadence for running the integration check attached to this task" + }, + "department": { + "type": "string", + "example": "it", + "maxLength": 64, + "description": "Built-in values: none, admin, gov, hr, it, itsm, qms. Custom department names are also accepted." + }, + "reviewDate": { + "type": "string", + "format": "date-time", + "example": "2025-01-01T00:00:00.000Z" + }, + "notRelevantJustification": { + "type": "string", + "example": "This control is out of scope for our SOC 2 audit.", + "description": "Required justification when marking evidence tasks as not_relevant" + } + } + } + } + } + }, "responses": { "200": { - "description": "" + "description": "Task updated successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskResponseDto" + } + } + } + }, + "400": { + "description": "Invalid request body or task not found" + }, + "404": { + "description": "Task not found" } }, "security": [ @@ -14363,96 +13646,104 @@ "apikey": [] } ], - "summary": "List vendors configured for trust portal", + "summary": "Update a task", "tags": [ - "Trust Portal" + "Tasks" ], - "description": "List vendors configured for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "List vendors configured for trust portal | Comp AI API", - "sidebarTitle": "List vendors configured for trust portal", - "description": "List vendors configured for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", - "og:title": "List vendors configured for trust portal | Comp AI API", - "og:description": "List vendors configured for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." + "title": "Update a task | Comp AI API", + "sidebarTitle": "Update a task", + "description": "Update a task in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "og:title": "Update a task | Comp AI API", + "og:description": "Update a task in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." } }, "x-speakeasy-mcp": { - "name": "list-vendors" + "name": "update-task" } - } - }, - "/v1/trust-access/{friendlyUrl}/requests": { - "post": { - "description": "Submit a Trust Center access request with requester details, company context, and review reason for administrator approval.", - "operationId": "TrustAccessController_createAccessRequest_v1", + }, + "delete": { + "description": "Delete a task in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_deleteTask_v1", "parameters": [ { - "name": "friendlyUrl", + "name": "taskId", "required": true, "in": "path", - "description": "Trust Portal friendly URL or Organization ID", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateAccessRequestDto" + "responses": { + "200": { + "description": "Task deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "example": true + }, + "message": { + "type": "string", + "example": "Task deleted successfully" + } + } + } } } + }, + "404": { + "description": "Task not found" } }, - "responses": { - "201": { - "description": "Access request created and sent for review" + "security": [ + { + "apikey": [] } - }, - "summary": "Submit Trust Access request", + ], + "summary": "Delete a task", "tags": [ - "Trust Access" + "Tasks" ], "x-mint": { "metadata": { - "title": "Submit Trust Access request | Comp AI API", - "sidebarTitle": "Submit Trust Access request", - "description": "Submit a Trust Center access request with requester details, company context, and review reason for administrator approval.", - "og:title": "Submit Trust Access request | Comp AI API", - "og:description": "Submit a Trust Center access request with requester details, company context, and review reason for administrator approval." + "title": "Delete a task | Comp AI API", + "sidebarTitle": "Delete a task", + "description": "Delete a task in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "og:title": "Delete a task | Comp AI API", + "og:description": "Delete a task in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." } }, "x-speakeasy-mcp": { - "name": "create-access-request" + "name": "delete-task" } } }, - "/v1/trust-access/admin/requests": { + "/v1/tasks/{taskId}/policies": { "get": { - "description": "List pending and completed Trust Center access requests so teams can review customer security inquiries through the API.", - "operationId": "TrustAccessController_listAccessRequests_v1", + "operationId": "TasksController_getTaskPolicies_v1", "parameters": [ { - "name": "status", - "required": false, - "in": "query", + "name": "taskId", + "required": true, + "in": "path", + "description": "Unique task identifier", "schema": { - "type": "string", - "enum": [ - "under_review", - "approved", - "denied", - "canceled" - ] + "example": "tsk_abc123def456", + "type": "string" } } ], "responses": { "200": { - "description": "Access requests retrieved" + "description": "" } }, "security": [ @@ -14460,33 +13751,52 @@ "apikey": [] } ], - "summary": "List Trust Access requests", + "summary": "Get policies that reference a task via shared controls", "tags": [ - "Trust Access" + "Tasks" ], + "description": "Get policies that reference a task via shared controls in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", "x-mint": { "metadata": { - "title": "List Trust Access requests | Comp AI API", - "sidebarTitle": "List Trust Access requests", - "description": "List pending and completed Trust Center access requests so teams can review customer security inquiries through the API.", - "og:title": "List Trust Access requests | Comp AI API", - "og:description": "List pending and completed Trust Center access requests so teams can review customer security inquiries through the API." + "title": "Get policies that reference a task via shared | Comp AI API", + "sidebarTitle": "Get policies that reference a task via shared controls", + "description": "Get policies that reference a task via shared controls in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy.", + "og:title": "Get policies that reference a task via shared | Comp AI API", + "og:description": "Get policies that reference a task via shared controls in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy." } }, "x-speakeasy-mcp": { - "name": "list-access-requests" + "name": "get-task-policies" } } }, - "/v1/trust-access/admin/requests/{id}": { + "/v1/tasks/{taskId}/activity": { "get": { - "description": "Retrieve one Trust Center access request with requester context, status, review metadata, and audit details.", - "operationId": "TrustAccessController_getAccessRequest_v1", + "description": "Get task activity in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_getTaskActivity_v1", "parameters": [ { - "name": "id", + "name": "taskId", "required": true, "in": "path", + "description": "Unique task identifier", + "schema": { + "example": "tsk_abc123def456", + "type": "string" + } + }, + { + "name": "skip", + "required": true, + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "take", + "required": true, + "in": "query", "schema": { "type": "string" } @@ -14494,7 +13804,10 @@ ], "responses": { "200": { - "description": "Request details returned" + "description": "Activity retrieved successfully" + }, + "400": { + "description": "Task not found" } }, "security": [ @@ -14502,51 +13815,49 @@ "apikey": [] } ], - "summary": "Get Trust Access request", + "summary": "Get task activity", "tags": [ - "Trust Access" + "Tasks" ], "x-mint": { "metadata": { - "title": "Get Trust Access request | Comp AI API", - "sidebarTitle": "Get Trust Access request", - "description": "Retrieve one Trust Center access request with requester context, status, review metadata, and audit details.", - "og:title": "Get Trust Access request | Comp AI API", - "og:description": "Retrieve one Trust Center access request with requester context, status, review metadata, and audit details." + "title": "Get task activity | Comp AI API", + "sidebarTitle": "Get task activity", + "description": "Get task activity in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "og:title": "Get task activity | Comp AI API", + "og:description": "Get task activity in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." } }, "x-speakeasy-mcp": { - "name": "get-access-request" + "name": "get-task-activity" } } }, - "/v1/trust-access/admin/requests/{id}/approve": { + "/v1/tasks/{taskId}/regenerate": { "post": { - "description": "Approve a Trust Center access request, configure the grant window, and start the NDA or access email workflow.", - "operationId": "TrustAccessController_approveRequest_v1", + "description": "Regenerate task from template in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_regenerateTask_v1", "parameters": [ { - "name": "id", + "name": "taskId", "required": true, "in": "path", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApproveAccessRequestDto" - } - } - } - }, "responses": { "200": { - "description": "Request approved successfully" + "description": "Task regenerated successfully" + }, + "400": { + "description": "Task has no associated template" + }, + "404": { + "description": "Task not found" } }, "security": [ @@ -14554,34 +13865,36 @@ "apikey": [] } ], - "summary": "Approve Trust Access request", + "summary": "Regenerate task from template", "tags": [ - "Trust Access" + "Tasks" ], "x-mint": { "metadata": { - "title": "Approve Trust Access request | Comp AI API", - "sidebarTitle": "Approve Trust Access request", - "description": "Approve a Trust Center access request, configure the grant window, and start the NDA or access email workflow.", - "og:title": "Approve Trust Access request | Comp AI API", - "og:description": "Approve a Trust Center access request, configure the grant window, and start the NDA or access email workflow." + "title": "Regenerate task from template | Comp AI API", + "sidebarTitle": "Regenerate task from template", + "description": "Regenerate task from template in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity.", + "og:title": "Regenerate task from template | Comp AI API", + "og:description": "Regenerate task from template in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity." } }, "x-speakeasy-mcp": { - "name": "approve-request" + "name": "regenerate-task" } } }, - "/v1/trust-access/admin/requests/{id}/deny": { + "/v1/tasks/{taskId}/submit-for-review": { "post": { - "description": "Reject a Trust Center access request with a review reason so customer security access decisions stay auditable.", - "operationId": "TrustAccessController_denyRequest_v1", + "description": "Submit task for review in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_submitForReview_v1", "parameters": [ { - "name": "id", + "name": "taskId", "required": true, "in": "path", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } } @@ -14591,47 +13904,27 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DenyAccessRequestDto" + "type": "object", + "properties": { + "approverId": { + "type": "string", + "example": "mem_abc123", + "description": "Member ID of the approver" + } + }, + "required": [ + "approverId" + ] } } } }, "responses": { "200": { - "description": "Request denied" - } - }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Deny Trust Access request", - "tags": [ - "Trust Access" - ], - "x-mint": { - "metadata": { - "title": "Deny Trust Access request | Comp AI API", - "sidebarTitle": "Deny Trust Access request", - "description": "Reject a Trust Center access request with a review reason so customer security access decisions stay auditable.", - "og:title": "Deny Trust Access request | Comp AI API", - "og:description": "Reject a Trust Center access request with a review reason so customer security access decisions stay auditable." - } - }, - "x-speakeasy-mcp": { - "name": "deny-request" - } - } - }, - "/v1/trust-access/admin/grants": { - "get": { - "description": "List active, expired, and revoked Trust Access grants for customer security reviews and shared compliance resources.", - "operationId": "TrustAccessController_listGrants_v1", - "parameters": [], - "responses": { - "200": { - "description": "Grants retrieved" + "description": "Task submitted for review" + }, + "400": { + "description": "Invalid request" } }, "security": [ @@ -14639,51 +13932,49 @@ "apikey": [] } ], - "summary": "List Trust Access grants", + "summary": "Submit task for review", "tags": [ - "Trust Access" + "Tasks" ], "x-mint": { "metadata": { - "title": "List Trust Access grants | Comp AI API", - "sidebarTitle": "List Trust Access grants", - "description": "List active, expired, and revoked Trust Access grants for customer security reviews and shared compliance resources.", - "og:title": "List Trust Access grants | Comp AI API", - "og:description": "List active, expired, and revoked Trust Access grants for customer security reviews and shared compliance resources." + "title": "Submit task for review | Comp AI API", + "sidebarTitle": "Submit task for review", + "description": "Submit task for review in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "og:title": "Submit task for review | Comp AI API", + "og:description": "Submit task for review in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." } }, "x-speakeasy-mcp": { - "name": "list-grants" + "name": "submit-for-review" } } }, - "/v1/trust-access/admin/grants/{id}/revoke": { + "/v1/tasks/{taskId}/approve": { "post": { - "description": "Immediately revoke a Trust Access grant when a customer review ends or shared compliance access should be removed.", - "operationId": "TrustAccessController_revokeGrant_v1", + "description": "Approve a task that is in review. Only the assigned approver can approve. Moves status to done and creates an audit comment.", + "operationId": "TasksController_approveTask_v1", "parameters": [ { - "name": "id", + "name": "taskId", "required": true, "in": "path", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RevokeGrantDto" - } - } - } - }, "responses": { "200": { - "description": "Grant revoked" + "description": "Task approved successfully" + }, + "400": { + "description": "Task is not in review" + }, + "403": { + "description": "Not the assigned approver" } }, "security": [ @@ -14691,41 +13982,49 @@ "apikey": [] } ], - "summary": "Revoke Trust Access grant", + "summary": "Approve a task", "tags": [ - "Trust Access" + "Tasks" ], "x-mint": { "metadata": { - "title": "Revoke Trust Access grant | Comp AI API", - "sidebarTitle": "Revoke Trust Access grant", - "description": "Immediately revoke a Trust Access grant when a customer review ends or shared compliance access should be removed.", - "og:title": "Revoke Trust Access grant | Comp AI API", - "og:description": "Immediately revoke a Trust Access grant when a customer review ends or shared compliance access should be removed." + "title": "Approve a task | Comp AI API", + "sidebarTitle": "Approve a task", + "description": "Approve a task that is in review. Only the assigned approver can approve. Moves status to done and creates an audit comment.", + "og:title": "Approve a task | Comp AI API", + "og:description": "Approve a task that is in review. Only the assigned approver can approve. Moves status to done and creates an audit comment." } }, "x-speakeasy-mcp": { - "name": "revoke-grant" + "name": "approve-task" } } }, - "/v1/trust-access/admin/grants/{id}/resend-access-email": { + "/v1/tasks/{taskId}/reject": { "post": { - "description": "Resend the access email for an active Trust Access grant so approved reviewers can reopen shared resources.", - "operationId": "TrustAccessController_resendAccessEmail_v1", + "description": "Reject a task that is in review. Only the assigned approver can reject. Reverts status to the previous status and creates an audit comment.", + "operationId": "TasksController_rejectTask_v1", "parameters": [ { - "name": "id", + "name": "taskId", "required": true, "in": "path", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "Access email resent" + "description": "Task rejected successfully" + }, + "400": { + "description": "Task is not in review" + }, + "403": { + "description": "Not the assigned approver" } }, "security": [ @@ -14733,41 +14032,95 @@ "apikey": [] } ], - "summary": "Resend Trust Access email", + "summary": "Reject a task review", "tags": [ - "Trust Access" + "Tasks" ], "x-mint": { "metadata": { - "title": "Resend Trust Access email | Comp AI API", - "sidebarTitle": "Resend Trust Access email", - "description": "Resend the access email for an active Trust Access grant so approved reviewers can reopen shared resources.", - "og:title": "Resend Trust Access email | Comp AI API", - "og:description": "Resend the access email for an active Trust Access grant so approved reviewers can reopen shared resources." + "title": "Reject a task review | Comp AI API", + "sidebarTitle": "Reject a task review", + "description": "Reject a task that is in review. Only the assigned approver can reject. Reverts status to the previous status and creates an audit comment.", + "og:title": "Reject a task review | Comp AI API", + "og:description": "Reject a task that is in review. Only the assigned approver can reject. Reverts status to the previous status and creates an audit comment." } }, "x-speakeasy-mcp": { - "name": "resend-access-email" + "name": "reject-task" } } }, - "/v1/trust-access/admin/requests/{id}/resend-nda": { - "post": { - "description": "Resend an NDA signing email for a Trust Access request that still requires reviewer signature.", - "operationId": "TrustAccessController_resendNda_v1", + "/v1/tasks/{taskId}/attachments": { + "get": { + "description": "Get task attachments in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_getTaskAttachments_v1", "parameters": [ { - "name": "id", + "name": "taskId", "required": true, "in": "path", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "NDA email resent" + "description": "Attachments retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttachmentResponseDto" + } + }, + "example": [ + { + "id": "att_abc123def456", + "name": "evidence.pdf", + "type": "application/pdf", + "size": 123456, + "downloadUrl": "https://bucket.s3.amazonaws.com/path/to/file.pdf?signature=...", + "createdAt": "2024-01-15T10:30:00Z" + } + ] + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } + }, + "404": { + "description": "Task not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Task with ID tsk_abc123def456 not found" + } + } + } + } + } } }, "security": [ @@ -14775,41 +14128,116 @@ "apikey": [] } ], - "summary": "Resend Trust Access NDA", + "summary": "Get task attachments", "tags": [ - "Trust Access" + "Tasks" ], "x-mint": { "metadata": { - "title": "Resend Trust Access NDA | Comp AI API", - "sidebarTitle": "Resend Trust Access NDA", - "description": "Resend an NDA signing email for a Trust Access request that still requires reviewer signature.", - "og:title": "Resend Trust Access NDA | Comp AI API", - "og:description": "Resend an NDA signing email for a Trust Access request that still requires reviewer signature." + "title": "Get task attachments | Comp AI API", + "sidebarTitle": "Get task attachments", + "description": "Get task attachments in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "og:title": "Get task attachments | Comp AI API", + "og:description": "Get task attachments in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." } }, "x-speakeasy-mcp": { - "name": "resend-nda" + "name": "get-task-attachments" } - } - }, - "/v1/trust-access/admin/requests/{id}/preview-nda": { + }, "post": { - "description": "Generate a preview NDA PDF for a Trust Access request before the reviewer signs and receives access.", - "operationId": "TrustAccessController_previewNda_v1", + "description": "Upload an evidence attachment to a task so auditors and reviewers can trace completion back to source documentation.", + "operationId": "TasksController_uploadTaskAttachment_v1", "parameters": [ { - "name": "id", + "name": "taskId", "required": true, "in": "path", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadAttachmentDto" + } + } + } + }, "responses": { - "200": { - "description": "Preview NDA generated" + "201": { + "description": "Attachment uploaded successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttachmentResponseDto" + }, + "example": { + "id": "att_abc123def456", + "entityId": "tsk_abc123def456", + "entityType": "task", + "fileName": "evidence.pdf", + "fileType": "application/pdf", + "fileSize": 123456, + "createdAt": "2024-01-01T00:00:00Z", + "createdBy": "usr_abc123def456" + } + } + } + }, + "400": { + "description": "Invalid file data or file too large", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "File exceeds maximum allowed size" + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } + }, + "404": { + "description": "Task not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Task with ID tsk_abc123def456 not found" + } + } + } + } + } } }, "security": [ @@ -14817,125 +14245,190 @@ "apikey": [] } ], - "summary": "Preview Trust Access NDA", + "summary": "Upload task evidence", "tags": [ - "Trust Access" + "Tasks" ], "x-mint": { "metadata": { - "title": "Preview Trust Access NDA | Comp AI API", - "sidebarTitle": "Preview Trust Access NDA", - "description": "Generate a preview NDA PDF for a Trust Access request before the reviewer signs and receives access.", - "og:title": "Preview Trust Access NDA | Comp AI API", - "og:description": "Generate a preview NDA PDF for a Trust Access request before the reviewer signs and receives access." + "title": "Upload task evidence | Comp AI API", + "sidebarTitle": "Upload task evidence", + "description": "Upload an evidence attachment to a task so auditors and reviewers can trace completion back to source documentation.", + "og:title": "Upload task evidence | Comp AI API", + "og:description": "Upload an evidence attachment to a task so auditors and reviewers can trace completion back to source documentation." } }, "x-speakeasy-mcp": { - "name": "preview-nda" + "name": "upload-task-attachment" } } }, - "/v1/trust-access/{friendlyUrl}/reclaim": { - "post": { - "description": "Request a fresh Trust Access link for a reviewer who already has an active grant on a published Trust Center.", - "operationId": "TrustAccessController_reclaimAccess_v1", + "/v1/tasks/{taskId}/attachments/{attachmentId}/download": { + "get": { + "description": "Generate a signed download URL for an attachment on a compliance task so reviewers can access uploaded evidence.", + "operationId": "TasksController_getTaskAttachmentDownloadUrl_v1", "parameters": [ { - "name": "friendlyUrl", + "name": "taskId", "required": true, "in": "path", - "description": "Trust Portal friendly URL or Organization ID", + "description": "Unique task identifier", + "schema": { + "example": "tsk_abc123def456", + "type": "string" + } + }, + { + "name": "attachmentId", + "required": true, + "in": "path", + "description": "Unique attachment identifier", "schema": { + "example": "att_abc123def456", "type": "string" } + } + ], + "responses": { + "200": { + "description": "Download URL generated successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "downloadUrl": { + "type": "string", + "description": "Signed URL for downloading the file", + "example": "https://bucket.s3.amazonaws.com/path/to/file.pdf?signature=..." + }, + "expiresIn": { + "type": "number", + "description": "URL expiration time in seconds", + "example": 900 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } }, - { - "name": "query", - "required": false, - "in": "query", - "description": "Query parameter to append to the access link (e.g., security-questionnaire)", - "schema": { - "example": "security-questionnaire", - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReclaimAccessDto" + "404": { + "description": "Task or attachment not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Task or attachment not found" + } + } + } } } } }, - "responses": { - "200": { - "description": "Access link sent to email" + "security": [ + { + "apikey": [] } - }, - "summary": "Reclaim Trust Access link", + ], + "summary": "Get task attachment download URL", "tags": [ - "Trust Access" + "Tasks" ], "x-mint": { "metadata": { - "title": "Reclaim Trust Access link | Comp AI API", - "sidebarTitle": "Reclaim Trust Access link", - "description": "Request a fresh Trust Access link for a reviewer who already has an active grant on a published Trust Center.", - "og:title": "Reclaim Trust Access link | Comp AI API", - "og:description": "Request a fresh Trust Access link for a reviewer who already has an active grant on a published Trust Center." + "title": "Get task attachment download URL | Comp AI API", + "sidebarTitle": "Get task attachment download URL", + "description": "Generate a signed download URL for an attachment on a compliance task so reviewers can access uploaded evidence.", + "og:title": "Get task attachment download URL | Comp AI API", + "og:description": "Generate a signed download URL for an attachment on a compliance task so reviewers can access uploaded evidence." } }, "x-speakeasy-mcp": { - "name": "reclaim-access" + "name": "get-task-attachment-download-url" } } }, - "/v1/trust-access/{friendlyUrl}/faqs": { - "get": { - "description": "Retrieve published Trust Center FAQs for an organization so public trust pages can show customer security answers.", - "operationId": "TrustAccessController_getFaqs_v1", + "/v1/tasks/{taskId}/attachments/{attachmentId}": { + "delete": { + "description": "Delete task attachment in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "operationId": "TasksController_deleteTaskAttachment_v1", "parameters": [ { - "name": "friendlyUrl", + "name": "taskId", "required": true, "in": "path", - "description": "Trust Portal friendly URL or Organization ID", + "description": "Unique task identifier", + "schema": { + "example": "tsk_abc123def456", + "type": "string" + } + }, + { + "name": "attachmentId", + "required": true, + "in": "path", + "description": "Unique attachment identifier", "schema": { + "example": "att_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "FAQs retrieved successfully", + "description": "Attachment deleted successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { - "faqs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "question": { - "type": "string" - }, - "answer": { - "type": "string" - }, - "order": { - "type": "number" - } - } - }, - "nullable": true + "success": { + "type": "boolean", + "example": true + }, + "deletedAttachmentId": { + "type": "string", + "example": "att_abc123def456" + }, + "message": { + "type": "string", + "example": "Attachment deleted successfully" + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" } } } @@ -14943,130 +14436,175 @@ } }, "404": { - "description": "Trust site not found or not published" + "description": "Task or attachment not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Task or attachment not found" + } + } + } + } + } } }, - "summary": "Get Trust Center FAQs", + "security": [ + { + "apikey": [] + } + ], + "summary": "Delete task attachment", "tags": [ - "Trust Access" + "Tasks" ], "x-mint": { "metadata": { - "title": "Get Trust Center FAQs | Comp AI API", - "sidebarTitle": "Get Trust Center FAQs", - "description": "Retrieve published Trust Center FAQs for an organization so public trust pages can show customer security answers.", - "og:title": "Get Trust Center FAQs | Comp AI API", - "og:description": "Retrieve published Trust Center FAQs for an organization so public trust pages can show customer security answers." + "title": "Delete task attachment | Comp AI API", + "sidebarTitle": "Delete task attachment", + "description": "Delete task attachment in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history.", + "og:title": "Delete task attachment | Comp AI API", + "og:description": "Delete task attachment in Comp AI. Manage compliance task lifecycle, assignments, review approvals, evidence uploads, policy links, and activity history." } }, "x-speakeasy-mcp": { - "name": "get-faqs" + "name": "delete-task-attachment" } } }, - "/v1/trust-access/{friendlyUrl}/overview": { + "/v1/tasks/{taskId}/automations": { "get": { - "description": "Retrieve the published Trust Center overview for an organization, including public security posture messaging.", - "operationId": "TrustAccessController_getPublicOverview_v1", + "description": "Get all automations for a task in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "operationId": "AutomationsController_getTaskAutomations_v1", "parameters": [ { - "name": "friendlyUrl", + "name": "taskId", "required": true, "in": "path", - "description": "Trust Portal friendly URL or Organization ID", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "Overview retrieved successfully" + "description": "Automations retrieved successfully" } }, - "summary": "Get Trust Center overview", + "security": [ + { + "apikey": [] + } + ], + "summary": "Get all automations for a task", "tags": [ - "Trust Access" + "Task Automations" ], "x-mint": { "metadata": { - "title": "Get Trust Center overview | Comp AI API", - "sidebarTitle": "Get Trust Center overview", - "description": "Retrieve the published Trust Center overview for an organization, including public security posture messaging.", - "og:title": "Get Trust Center overview | Comp AI API", - "og:description": "Retrieve the published Trust Center overview for an organization, including public security posture messaging." + "title": "Get all automations for a task | Comp AI API", + "sidebarTitle": "Get all automations for a task", + "description": "Get all automations for a task in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "og:title": "Get all automations for a task | Comp AI API", + "og:description": "Get all automations for a task in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." } }, "x-speakeasy-mcp": { - "name": "get-public-overview" + "name": "get-task-automations" } - } - }, - "/v1/trust-access/{friendlyUrl}/custom-links": { - "get": { - "description": "List published custom links shown on an organization Trust Center for customer security and compliance reviews.", - "operationId": "TrustAccessController_getPublicCustomLinks_v1", + }, + "post": { + "description": "Create an automated evidence workflow attached to a task so Comp AI can collect recurring proof from connected systems.", + "operationId": "AutomationsController_createAutomation_v1", "parameters": [ { - "name": "friendlyUrl", + "name": "taskId", "required": true, "in": "path", - "description": "Trust Portal friendly URL or Organization ID", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } - } - ], - "responses": { - "200": { - "description": "Custom links retrieved successfully" - } - }, - "summary": "List Trust Center custom links", - "tags": [ - "Trust Access" - ], - "x-mint": { - "metadata": { - "title": "List Trust Center custom links | Comp AI API", - "sidebarTitle": "List Trust Center custom links", - "description": "List published custom links shown on an organization Trust Center for customer security and compliance reviews.", - "og:title": "List Trust Center custom links | Comp AI API", - "og:description": "List published custom links shown on an organization Trust Center for customer security and compliance reviews." - } - }, - "x-speakeasy-mcp": { - "name": "get-public-custom-links" - } - } - }, - "/v1/trust-access/{friendlyUrl}/favicon": { - "get": { - "description": "Retrieve the favicon URL used by a published Trust Center so embedded or mirrored experiences can match branding.", - "operationId": "TrustAccessController_getPublicFavicon_v1", - "parameters": [ - { - "name": "friendlyUrl", - "required": true, - "in": "path", - "description": "Trust Portal friendly URL or Organization ID", - "schema": { - "type": "string" + } + ], + "responses": { + "201": { + "description": "Automation created successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "example": true + }, + "automation": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "auto_abc123def456" + }, + "name": { + "type": "string", + "example": "Task Name - Evidence Collection" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad request - Invalid task ID or organization ID", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid task ID or organization ID" + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } } - } - ], - "responses": { - "200": { - "description": "Favicon URL retrieved successfully", + }, + "404": { + "description": "Task not found", "content": { "application/json": { "schema": { "type": "object", "properties": { - "faviconUrl": { + "message": { "type": "string", - "nullable": true, - "description": "Signed URL to the favicon, or null if not set" + "example": "Task not found" } } } @@ -15074,232 +14612,250 @@ } } }, - "summary": "Get Trust Center favicon", + "security": [ + { + "apikey": [] + } + ], + "summary": "Create evidence automation", "tags": [ - "Trust Access" + "Task Automations" ], "x-mint": { "metadata": { - "title": "Get Trust Center favicon | Comp AI API", - "sidebarTitle": "Get Trust Center favicon", - "description": "Retrieve the favicon URL used by a published Trust Center so embedded or mirrored experiences can match branding.", - "og:title": "Get Trust Center favicon | Comp AI API", - "og:description": "Retrieve the favicon URL used by a published Trust Center so embedded or mirrored experiences can match branding." + "title": "Create evidence automation | Comp AI API", + "sidebarTitle": "Create evidence automation", + "description": "Create an automated evidence workflow attached to a task so Comp AI can collect recurring proof from connected systems.", + "og:title": "Create evidence automation | Comp AI API", + "og:description": "Create an automated evidence workflow attached to a task so Comp AI can collect recurring proof from connected systems." } }, "x-speakeasy-mcp": { - "name": "get-public-favicon" + "name": "create-automation" } } }, - "/v1/trust-access/{friendlyUrl}/vendors": { + "/v1/tasks/{taskId}/automations/{automationId}": { "get": { - "description": "List published vendors and subprocessors for an organization Trust Center so reviewers can inspect third-party posture.", - "operationId": "TrustAccessController_getPublicVendors_v1", + "description": "Get automation details in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "operationId": "AutomationsController_getAutomation_v1", "parameters": [ { - "name": "friendlyUrl", + "name": "taskId", "required": true, "in": "path", - "description": "Trust Portal friendly URL or Organization ID", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } - } - ], - "responses": { - "200": { - "description": "Vendors retrieved successfully" - } - }, - "summary": "List Trust Center vendors", - "tags": [ - "Trust Access" - ], - "x-mint": { - "metadata": { - "title": "List Trust Center vendors | Comp AI API", - "sidebarTitle": "List Trust Center vendors", - "description": "List published vendors and subprocessors for an organization Trust Center so reviewers can inspect third-party posture.", - "og:title": "List Trust Center vendors | Comp AI API", - "og:description": "List published vendors and subprocessors for an organization Trust Center so reviewers can inspect third-party posture." - } - }, - "x-speakeasy-mcp": { - "name": "get-public-vendors" - } - } - }, - "/v1/trust-access/{friendlyUrl}/custom-frameworks": { - "get": { - "description": "Get org-authored custom frameworks shown on a trust portal in Comp AI. Manage external Trust Center access requests, NDA signing, grants, tokenized document downloads, public FAQs, and reviewer access.", - "operationId": "TrustAccessController_getPublicCustomFrameworks_v1", - "parameters": [ + }, { - "name": "friendlyUrl", + "name": "automationId", "required": true, "in": "path", - "description": "Trust Portal friendly URL or Organization ID", + "description": "Unique automation identifier", "schema": { + "example": "auto_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "Custom frameworks retrieved successfully" + "description": "Automation details retrieved successfully" } }, - "summary": "Get org-authored custom frameworks shown on a trust portal", + "security": [ + { + "apikey": [] + } + ], + "summary": "Get automation details", "tags": [ - "Trust Access" + "Task Automations" ], "x-mint": { "metadata": { - "title": "Get org-authored custom frameworks shown on a | Comp AI API", - "sidebarTitle": "Get org-authored custom frameworks shown on a trust portal", - "description": "Get org-authored custom frameworks shown on a trust portal in Comp AI. Manage external Trust Center access requests, NDA signing, grants, tokenized document.", - "og:title": "Get org-authored custom frameworks shown on a | Comp AI API", - "og:description": "Get org-authored custom frameworks shown on a trust portal in Comp AI. Manage external Trust Center access requests, NDA signing, grants, tokenized document." + "title": "Get automation details | Comp AI API", + "sidebarTitle": "Get automation details", + "description": "Get automation details in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "og:title": "Get automation details | Comp AI API", + "og:description": "Get automation details in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." } }, "x-speakeasy-mcp": { - "name": "get-public-custom-frameworks" + "name": "get-automation" } - } - }, - "/v1/findings": { - "get": { - "operationId": "FindingsController_listFindings_v1", + }, + "patch": { + "description": "Update an existing automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "operationId": "AutomationsController_updateAutomation_v1", "parameters": [ - { - "name": "status", - "required": false, - "in": "query", - "schema": { - "enum": [ - "open", - "ready_for_review", - "needs_revision", - "closed" - ], - "type": "string" - } - }, - { - "name": "severity", - "required": false, - "in": "query", - "schema": { - "enum": [ - "low", - "medium", - "high", - "critical" - ], - "type": "string" - } - }, - { - "name": "area", - "required": false, - "in": "query", - "schema": { - "enum": [ - "people", - "documents", - "compliance", - "risks", - "vendors", - "policies", - "other" - ], - "type": "string" - } - }, { "name": "taskId", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "evidenceSubmissionId", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "evidenceFormType", - "required": false, - "in": "query", - "schema": { - "enum": [ - "board-meeting", - "it-leadership-meeting", - "risk-committee-meeting", - "meeting", - "access-request", - "whistleblower-report", - "penetration-test", - "rbac-matrix", - "infrastructure-inventory", - "employee-performance-evaluation", - "network-diagram", - "tabletop-exercise", - "account-types" - ], - "type": "string" - } - }, - { - "name": "policyId", - "required": false, - "in": "query", + "required": true, + "in": "path", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } }, { - "name": "vendorId", - "required": false, - "in": "query", + "name": "automationId", + "required": true, + "in": "path", + "description": "Unique automation identifier", "schema": { + "example": "auto_abc123def456", "type": "string" } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateAutomationDto" + } + } + } + }, + "responses": { + "200": { + "description": "Automation updated successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "example": true + }, + "automation": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "auto_abc123def456" + }, + "name": { + "type": "string", + "example": "Updated Automation Name" + }, + "description": { + "type": "string", + "example": "Updated description" + } + } + } + } + } + } + } }, - { - "name": "riskId", - "required": false, - "in": "query", - "schema": { - "type": "string" + "400": { + "description": "Bad request - Invalid automation ID or data", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Invalid automation data" + } + } + } + } + } + }, + "401": { + "description": "Unauthorized - Invalid authentication", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } } }, + "404": { + "description": "Automation not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Automation not found" + } + } + } + } + } + } + }, + "security": [ { - "name": "memberId", - "required": false, - "in": "query", + "apikey": [] + } + ], + "summary": "Update an existing automation", + "tags": [ + "Task Automations" + ], + "x-mint": { + "metadata": { + "title": "Update an existing automation | Comp AI API", + "sidebarTitle": "Update an existing automation", + "description": "Update an existing automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "og:title": "Update an existing automation | Comp AI API", + "og:description": "Update an existing automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." + } + }, + "x-speakeasy-mcp": { + "name": "update-automation" + } + }, + "delete": { + "description": "Delete an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "operationId": "AutomationsController_deleteAutomation_v1", + "parameters": [ + { + "name": "taskId", + "required": true, + "in": "path", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } }, { - "name": "deviceId", - "required": false, - "in": "query", + "name": "automationId", + "required": true, + "in": "path", + "description": "Unique automation identifier", "schema": { + "example": "auto_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "" + "description": "Automation deleted successfully" } }, "security": [ @@ -15307,40 +14863,51 @@ "apikey": [] } ], - "summary": "List audit findings", + "summary": "Delete an automation", "tags": [ - "Findings" + "Task Automations" ], - "description": "List audit findings with status, severity, owner, history, and remediation context for compliance review workflows.", "x-mint": { "metadata": { - "title": "List audit findings | Comp AI API", - "sidebarTitle": "List audit findings", - "description": "List audit findings with status, severity, owner, history, and remediation context for compliance review workflows.", - "og:title": "List audit findings | Comp AI API", - "og:description": "List audit findings with status, severity, owner, history, and remediation context for compliance review workflows." + "title": "Delete an automation | Comp AI API", + "sidebarTitle": "Delete an automation", + "description": "Delete an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "og:title": "Delete an automation | Comp AI API", + "og:description": "Delete an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." } }, "x-speakeasy-mcp": { - "name": "list-findings" + "name": "delete-automation" } - }, - "post": { - "operationId": "FindingsController_createFinding_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateFindingDto" - } + } + }, + "/v1/tasks/{taskId}/automations/{automationId}/runs": { + "get": { + "description": "Get all runs for a specific automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "operationId": "AutomationsController_getAutomationRuns_v1", + "parameters": [ + { + "name": "taskId", + "required": true, + "in": "path", + "description": "Task ID", + "schema": { + "type": "string" + } + }, + { + "name": "automationId", + "required": true, + "in": "path", + "description": "Automation ID", + "schema": { + "type": "string" } } - }, + ], "responses": { - "201": { - "description": "" + "200": { + "description": "Runs retrieved successfully" } }, "security": [ @@ -15348,47 +14915,108 @@ "apikey": [] } ], - "summary": "Create audit finding", + "summary": "Get all runs for a specific automation", "tags": [ - "Findings" + "Task Automations" ], - "description": "Create an audit finding so teams can track issue ownership, remediation activity, severity, and supporting evidence.", "x-mint": { "metadata": { - "title": "Create audit finding | Comp AI API", - "sidebarTitle": "Create audit finding", - "description": "Create an audit finding so teams can track issue ownership, remediation activity, severity, and supporting evidence.", - "og:title": "Create audit finding | Comp AI API", - "og:description": "Create an audit finding so teams can track issue ownership, remediation activity, severity, and supporting evidence." + "title": "Get all runs for a specific automation | Comp AI API", + "sidebarTitle": "Get all runs for a specific automation", + "description": "Get all runs for a specific automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "og:title": "Get all runs for a specific automation | Comp AI API", + "og:description": "Get all runs for a specific automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." } }, "x-speakeasy-mcp": { - "name": "create-finding" + "name": "get-automation-runs" } } }, - "/v1/findings/organization": { + "/v1/tasks/{taskId}/automations/{automationId}/versions": { "get": { - "operationId": "FindingsController_getOrganizationFindings_v1", + "description": "Get all versions for an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "operationId": "AutomationsController_getAutomationVersions_v1", "parameters": [ { - "name": "status", - "required": false, + "name": "taskId", + "required": true, + "in": "path", + "description": "Task ID", + "schema": { + "type": "string" + } + }, + { + "name": "automationId", + "required": true, + "in": "path", + "description": "Automation ID", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "required": true, + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "offset", + "required": true, "in": "query", "schema": { - "enum": [ - "open", - "ready_for_review", - "needs_revision", - "closed" - ], "type": "string" } } ], "responses": { "200": { - "description": "" + "description": "Versions retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean" + }, + "versions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "version": { + "type": "number" + }, + "scriptKey": { + "type": "string" + }, + "changelog": { + "type": "string", + "nullable": true + }, + "publishedBy": { + "type": "string", + "nullable": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + } + } + } + } + } + } + } + } } }, "security": [ @@ -15396,41 +15024,57 @@ "apikey": [] } ], - "summary": "List all findings for the organization", + "summary": "Get all versions for an automation", "tags": [ - "Findings" + "Task Automations" ], - "description": "List all findings for the organization in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization.", "x-mint": { "metadata": { - "title": "List all findings for the organization | Comp AI API", - "sidebarTitle": "List all findings for the organization", - "description": "List all findings for the organization in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an.", - "og:title": "List all findings for the organization | Comp AI API", - "og:description": "List all findings for the organization in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an." + "title": "Get all versions for an automation | Comp AI API", + "sidebarTitle": "Get all versions for an automation", + "description": "Get all versions for an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "og:title": "Get all versions for an automation | Comp AI API", + "og:description": "Get all versions for an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." } }, "x-speakeasy-mcp": { - "name": "get-organization-findings" + "name": "get-automation-versions" } - } - }, - "/v1/findings/{id}": { - "get": { - "operationId": "FindingsController_getFindingById_v1", + }, + "post": { + "operationId": "AutomationsController_createVersion_v1", "parameters": [ { - "name": "id", + "name": "taskId", "required": true, "in": "path", - "description": "Finding ID", + "description": "Task ID", + "schema": { + "type": "string" + } + }, + { + "name": "automationId", + "required": true, + "in": "path", + "description": "Automation ID", "schema": { "type": "string" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateVersionDto" + } + } + } + }, "responses": { - "200": { + "201": { "description": "" } }, @@ -15439,50 +15083,90 @@ "apikey": [] } ], - "summary": "Get finding by ID", + "summary": "Create a published version record for an automation", "tags": [ - "Findings" + "Task Automations" ], - "description": "Get finding by ID in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization.", + "description": "Create a published version record for an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", "x-mint": { "metadata": { - "title": "Get finding by ID | Comp AI API", - "sidebarTitle": "Get finding by ID", - "description": "Get finding by ID in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization.", - "og:title": "Get finding by ID | Comp AI API", - "og:description": "Get finding by ID in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization." + "title": "Create a published version record for an | Comp AI API", + "sidebarTitle": "Create a published version record for an automation", + "description": "Create a published version record for an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached.", + "og:title": "Create a published version record for an | Comp AI API", + "og:description": "Create a published version record for an automation in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached." } }, "x-speakeasy-mcp": { - "name": "get-finding-by-id" + "name": "create-version" } - }, - "patch": { - "operationId": "FindingsController_updateFinding_v1", + } + }, + "/v1/tasks/{taskId}/automations/runs": { + "get": { + "description": "Get all automation runs for a task in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "operationId": "AutomationsController_getTaskAutomationRuns_v1", "parameters": [ { - "name": "id", + "name": "taskId", "required": true, "in": "path", - "description": "Finding ID", + "description": "Task ID", "schema": { + "example": "tsk_abc123def456", "type": "string" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateFindingDto" - } - } - } - }, "responses": { "200": { - "description": "" + "description": "Automation runs retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "ear_abc123def456" + }, + "status": { + "type": "string", + "enum": [ + "PENDING", + "RUNNING", + "COMPLETED", + "FAILED" + ] + }, + "trigger": { + "type": "string", + "enum": [ + "MANUAL", + "SCHEDULED", + "EVENT" + ] + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "completedAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "error": { + "type": "object", + "nullable": true + } + } + } + } + } + } } }, "security": [ @@ -15490,40 +15174,46 @@ "apikey": [] } ], - "summary": "Update a finding (status transition rules apply)", + "summary": "Get all automation runs for a task", "tags": [ - "Findings" + "Task Automations" ], - "description": "Update a finding (status transition rules apply) in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization.", "x-mint": { "metadata": { - "title": "Update a finding (status transition rules | Comp AI API", - "sidebarTitle": "Update a finding (status transition rules apply)", - "description": "Update a finding (status transition rules apply) in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history.", - "og:title": "Update a finding (status transition rules | Comp AI API", - "og:description": "Update a finding (status transition rules apply) in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history." + "title": "Get all automation runs for a task | Comp AI API", + "sidebarTitle": "Get all automation runs for a task", + "description": "Get all automation runs for a task in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks.", + "og:title": "Get all automation runs for a task | Comp AI API", + "og:description": "Get all automation runs for a task in Comp AI. Create, version, run, and inspect automated evidence collection workflows attached to compliance tasks." } }, "x-speakeasy-mcp": { - "name": "update-finding" + "name": "get-task-automation-runs" } - }, - "delete": { - "operationId": "FindingsController_deleteFinding_v1", + } + }, + "/v1/tasks/{taskId}/evidence": { + "get": { + "description": "Get task evidence summary in Comp AI. Export task evidence, automation evidence, and reviewer-ready evidence bundles as PDF or ZIP files.", + "operationId": "EvidenceExportController_getTaskEvidenceSummary_v1", "parameters": [ { - "name": "id", + "name": "taskId", "required": true, "in": "path", - "description": "Finding ID", + "description": "Unique task identifier", "schema": { + "example": "tsk_abc123def456", "type": "string" } } ], "responses": { "200": { - "description": "" + "description": "Evidence summary retrieved successfully" + }, + "404": { + "description": "Task not found" } }, "security": [ @@ -15531,34 +15221,43 @@ "apikey": [] } ], - "summary": "Delete a finding (auditor or platform admin only)", + "summary": "Get task evidence summary", "tags": [ - "Findings" + "Evidence Export" ], - "description": "Delete a finding (auditor or platform admin only) in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization.", "x-mint": { "metadata": { - "title": "Delete a finding (auditor or platform admin | Comp AI API", - "sidebarTitle": "Delete a finding (auditor or platform admin only)", - "description": "Delete a finding (auditor or platform admin only) in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history.", - "og:title": "Delete a finding (auditor or platform admin | Comp AI API", - "og:description": "Delete a finding (auditor or platform admin only) in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history." + "title": "Get task evidence summary | Comp AI API", + "sidebarTitle": "Get task evidence summary", + "description": "Get task evidence summary in Comp AI. Export task evidence, automation evidence, and reviewer-ready evidence bundles as PDF or ZIP files.", + "og:title": "Get task evidence summary | Comp AI API", + "og:description": "Get task evidence summary in Comp AI. Export task evidence, automation evidence, and reviewer-ready evidence bundles as PDF or ZIP files." } }, "x-speakeasy-mcp": { - "name": "delete-finding" + "name": "get-task-evidence-summary" } } }, - "/v1/findings/{id}/history": { + "/v1/tasks/{taskId}/evidence/automation/{automationId}/pdf": { "get": { - "operationId": "FindingsController_getFindingHistory_v1", + "description": "Export automation evidence as PDF in Comp AI. Export task evidence, automation evidence, and reviewer-ready evidence bundles as PDF or ZIP files.", + "operationId": "EvidenceExportController_exportAutomationPDF_v1", "parameters": [ { - "name": "id", + "name": "taskId", + "required": true, + "in": "path", + "description": "Unique task identifier", + "schema": { + "type": "string" + } + }, + { + "name": "automationId", "required": true, "in": "path", - "description": "Finding ID", + "description": "Unique automation identifier (checkId for app automations)", "schema": { "type": "string" } @@ -15566,7 +15265,13 @@ ], "responses": { "200": { - "description": "" + "description": "PDF file generated successfully", + "content": { + "application/pdf": {} + } + }, + "404": { + "description": "Task or automation not found" } }, "security": [ @@ -15574,90 +15279,57 @@ "apikey": [] } ], - "summary": "Get activity history for a finding", + "summary": "Export automation evidence as PDF", "tags": [ - "Findings" + "Evidence Export" ], - "description": "Get activity history for a finding in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization.", "x-mint": { "metadata": { - "title": "Get activity history for a finding | Comp AI API", - "sidebarTitle": "Get activity history for a finding", - "description": "Get activity history for a finding in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an.", - "og:title": "Get activity history for a finding | Comp AI API", - "og:description": "Get activity history for a finding in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an." + "title": "Export automation evidence as PDF | Comp AI API", + "sidebarTitle": "Export automation evidence as PDF", + "description": "Export automation evidence as PDF in Comp AI. Export task evidence, automation evidence, and reviewer-ready evidence bundles as PDF or ZIP files.", + "og:title": "Export automation evidence as PDF | Comp AI API", + "og:description": "Export automation evidence as PDF in Comp AI. Export task evidence, automation evidence, and reviewer-ready evidence bundles as PDF or ZIP files." } }, "x-speakeasy-mcp": { - "name": "get-finding-history" + "name": "export-automation-pdf" } } }, - "/v1/roles": { - "post": { - "description": "Create a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", - "operationId": "RolesController_createRole_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateRoleDto" - } + "/v1/tasks/{taskId}/evidence/export": { + "get": { + "description": "Download a ZIP package containing task evidence and automation results for auditor review or customer security requests.", + "operationId": "EvidenceExportController_exportTaskEvidenceZip_v1", + "parameters": [ + { + "name": "taskId", + "required": true, + "in": "path", + "description": "Unique task identifier", + "schema": { + "type": "string" + } + }, + { + "name": "includeJson", + "required": false, + "in": "query", + "description": "Include raw JSON files alongside PDFs", + "schema": { + "type": "boolean" } } - }, + ], "responses": { - "201": { - "description": "Role created successfully", + "200": { + "description": "ZIP file generated successfully", "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "example": "rol_abc123" - }, - "name": { - "type": "string", - "example": "compliance-lead" - }, - "permissions": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "isBuiltIn": { - "type": "boolean", - "example": false - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - } - } - } - } + "application/zip": {} } }, - "400": { - "description": "Invalid role data or role already exists" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden - cannot grant permissions you do not have" + "404": { + "description": "Task not found" } }, "security": [ @@ -15665,87 +15337,42 @@ "apikey": [] } ], - "summary": "Create a custom role", + "summary": "Export task evidence as ZIP", "tags": [ - "Roles" + "Evidence Export" ], "x-mint": { "metadata": { - "title": "Create a custom role | Comp AI API", - "sidebarTitle": "Create a custom role", - "description": "Create a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", - "og:title": "Create a custom role | Comp AI API", - "og:description": "Create a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control." + "title": "Export task evidence as ZIP | Comp AI API", + "sidebarTitle": "Export task evidence as ZIP", + "description": "Download a ZIP package containing task evidence and automation results for auditor review or customer security requests.", + "og:title": "Export task evidence as ZIP | Comp AI API", + "og:description": "Download a ZIP package containing task evidence and automation results for auditor review or customer security requests." } }, "x-speakeasy-mcp": { - "name": "create-role" + "name": "export-task-evidence-zip" } - }, - "get": { - "description": "List all roles in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", - "operationId": "RolesController_listRoles_v1", - "parameters": [], - "responses": { - "200": { - "description": "List of roles", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "builtInRoles": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "isBuiltIn": { - "type": "boolean" - }, - "description": { - "type": "string" - } - } - } - }, - "customRoles": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "permissions": { - "type": "object" - }, - "isBuiltIn": { - "type": "boolean" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - } - } - } - } - } - } - } + } + }, + "/v1/evidence-export/all": { + "post": { + "description": "Trigger bulk evidence export (Auditor only) in Comp AI. Export all organization evidence for an auditor review package.", + "operationId": "AuditorEvidenceExportController_exportAllEvidence_v1", + "parameters": [ + { + "name": "includeJson", + "required": false, + "in": "query", + "description": "Include raw JSON files alongside PDFs", + "schema": { + "type": "boolean" } - }, - "401": { - "description": "Unauthorized" + } + ], + "responses": { + "201": { + "description": "Export job started" } }, "security": [ @@ -15753,62 +15380,69 @@ "apikey": [] } ], - "summary": "List all roles", + "summary": "Trigger bulk evidence export (Auditor only)", "tags": [ - "Roles" + "Evidence Export (Auditor)" ], "x-mint": { "metadata": { - "title": "List all roles | Comp AI API", - "sidebarTitle": "List all roles", - "description": "List all roles in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", - "og:title": "List all roles | Comp AI API", - "og:description": "List all roles in Comp AI. Create custom roles and resolve permission sets for organization-level access control." + "title": "Trigger bulk evidence export (Auditor only) | Comp AI API", + "sidebarTitle": "Trigger bulk evidence export (Auditor only)", + "description": "Trigger bulk evidence export (Auditor only) in Comp AI. Export all organization evidence for an auditor review package.", + "og:title": "Trigger bulk evidence export (Auditor only) | Comp AI API", + "og:description": "Trigger bulk evidence export (Auditor only) in Comp AI. Export all organization evidence for an auditor review package." } }, "x-speakeasy-mcp": { - "name": "list-roles" + "name": "export-all-evidence" } } }, - "/v1/roles/permissions": { + "/v1/comments": { "get": { - "description": "Returns the merged permissions for the given custom role names. Used by the frontend to resolve effective permissions for users with custom roles.", - "operationId": "RolesController_getPermissionsForRoles_v1", + "description": "Get comments for an entity in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", + "operationId": "CommentsController_getComments_v1", "parameters": [ { - "name": "roles", + "name": "entityId", + "required": true, + "in": "query", + "description": "ID of the entity to get comments for", + "schema": { + "example": "tsk_abc123def456", + "type": "string" + } + }, + { + "name": "entityType", "required": true, "in": "query", + "description": "Type of entity", "schema": { + "enum": [ + "task", + "vendor", + "risk", + "policy", + "finding" + ], "type": "string" } } ], "responses": { "200": { - "description": "Merged permissions for the requested roles", + "description": "Comments retrieved successfully", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "permissions": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - } + "type": "array", + "items": { + "$ref": "#/components/schemas/CommentResponseDto" } } } } - }, - "401": { - "description": "Unauthorized" } }, "security": [ @@ -15816,60 +15450,44 @@ "apikey": [] } ], - "summary": "Resolve permissions for custom roles", + "summary": "Get comments for an entity", "tags": [ - "Roles" + "Comments" ], "x-mint": { "metadata": { - "title": "Resolve permissions for custom roles | Comp AI API", - "sidebarTitle": "Resolve permissions for custom roles", - "description": "Returns the merged permissions for the given custom role names. Used by the frontend to resolve effective permissions for users with custom roles.", - "og:title": "Resolve permissions for custom roles | Comp AI API", - "og:description": "Returns the merged permissions for the given custom role names. Used by the frontend to resolve effective permissions for users with custom roles." + "title": "Get comments for an entity | Comp AI API", + "sidebarTitle": "Get comments for an entity", + "description": "Get comments for an entity in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", + "og:title": "Get comments for an entity | Comp AI API", + "og:description": "Get comments for an entity in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings." } }, "x-speakeasy-mcp": { - "name": "get-permissions-for-roles" + "name": "get-comments" } - } - }, - "/v1/roles/built-in/{name}/obligations": { - "get": { - "description": "Returns the effective obligations for a built-in role (owner, admin, auditor, employee, contractor) — DB override if present, else the hardcoded default.", - "operationId": "RolesController_getBuiltInObligations_v1", - "parameters": [ - { - "name": "name", - "required": true, - "in": "path", - "description": "Built-in role name", - "schema": { - "example": "owner", - "type": "string" + }, + "post": { + "description": "Create a new comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", + "operationId": "CommentsController_createComment_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateCommentDto" + } } } - ], + }, "responses": { - "200": { - "description": "Effective obligations for the built-in role", + "201": { + "description": "Comment created successfully", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "obligations": { - "type": "object", - "properties": { - "compliance": { - "type": "boolean" - } - } - } - } + "$ref": "#/components/schemas/CommentResponseDto" } } } @@ -15880,34 +15498,36 @@ "apikey": [] } ], - "summary": "Get obligations for a built-in role", + "summary": "Create a new comment", "tags": [ - "Roles" + "Comments" ], "x-mint": { "metadata": { - "title": "Get obligations for a built-in role | Comp AI API", - "sidebarTitle": "Get obligations for a built-in role", - "description": "Returns the effective obligations for a built-in role (owner, admin, auditor, employee, contractor) — DB override if present, else the hardcoded default.", - "og:title": "Get obligations for a built-in role | Comp AI API", - "og:description": "Returns the effective obligations for a built-in role (owner, admin, auditor, employee, contractor) — DB override if present, else the hardcoded default." + "title": "Create a new comment | Comp AI API", + "sidebarTitle": "Create a new comment", + "description": "Create a new comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", + "og:title": "Create a new comment | Comp AI API", + "og:description": "Create a new comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings." } }, "x-speakeasy-mcp": { - "name": "get-built-in-obligations" + "name": "create-comment" } - }, - "patch": { - "description": "Override the obligations for a built-in role (e.g., turn off the compliance obligation for owners). Permissions stay sourced from the hardcoded defaults.", - "operationId": "RolesController_updateBuiltInObligations_v1", + } + }, + "/v1/comments/{commentId}": { + "put": { + "description": "Update a comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", + "operationId": "CommentsController_updateComment_v1", "parameters": [ { - "name": "name", + "name": "commentId", "required": true, "in": "path", - "description": "Built-in role name", + "description": "Unique comment identifier", "schema": { - "example": "owner", + "example": "cmt_abc123def456", "type": "string" } } @@ -15917,37 +15537,21 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateBuiltInObligationsDto" + "$ref": "#/components/schemas/UpdateCommentDto" } } } }, "responses": { "200": { - "description": "Obligations updated", + "description": "Comment updated successfully", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "obligations": { - "type": "object", - "properties": { - "compliance": { - "type": "boolean" - } - } - } - } + "$ref": "#/components/schemas/CommentResponseDto" } } } - }, - "400": { - "description": "Not a built-in role" } }, "security": [ @@ -15955,67 +15559,75 @@ "apikey": [] } ], - "summary": "Update obligations for a built-in role", + "summary": "Update a comment", "tags": [ - "Roles" + "Comments" ], "x-mint": { "metadata": { - "title": "Update obligations for a built-in role | Comp AI API", - "sidebarTitle": "Update obligations for a built-in role", - "description": "Override the obligations for a built-in role (e.g., turn off the compliance obligation for owners). Permissions stay sourced from the hardcoded defaults.", - "og:title": "Update obligations for a built-in role | Comp AI API", - "og:description": "Override the obligations for a built-in role (e.g., turn off the compliance obligation for owners). Permissions stay sourced from the hardcoded defaults." + "title": "Update a comment | Comp AI API", + "sidebarTitle": "Update a comment", + "description": "Update a comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", + "og:title": "Update a comment | Comp AI API", + "og:description": "Update a comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings." } }, "x-speakeasy-mcp": { - "name": "update-built-in-obligations" + "name": "update-comment" } - } - }, - "/v1/roles/{roleId}": { - "get": { - "description": "Get a role by ID in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", - "operationId": "RolesController_getRole_v1", + }, + "delete": { + "description": "Delete a comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", + "operationId": "CommentsController_deleteComment_v1", "parameters": [ { - "name": "roleId", + "name": "commentId", "required": true, "in": "path", - "description": "Role ID", + "description": "Unique comment identifier", "schema": { - "example": "rol_abc123", + "example": "cmt_abc123def456", "type": "string" } } ], + "requestBody": { + "required": true, + "description": "Delete comment request body", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User ID of the comment author (required for API key auth, ignored for JWT auth)", + "example": "usr_abc123def456" + } + } + } + } + } + }, "responses": { "200": { - "description": "Role details", + "description": "Comment deleted successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "permissions": { - "type": "object" - }, - "isBuiltIn": { - "type": "boolean" + "success": { + "type": "boolean", + "example": true }, - "createdAt": { + "deletedCommentId": { "type": "string", - "format": "date-time" + "example": "cmt_abc123def456" }, - "updatedAt": { + "message": { "type": "string", - "format": "date-time" + "example": "Comment deleted successfully" } } } @@ -16023,10 +15635,68 @@ } }, "401": { - "description": "Unauthorized" + "description": "Unauthorized - Invalid authentication", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Unauthorized" + } + } + } + } + } }, "404": { - "description": "Role not found" + "description": "Comment not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Comment with ID cmt_abc123def456 not found" + } + } + } + } + } + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Delete a comment", + "tags": [ + "Comments" + ], + "x-mint": { + "metadata": { + "title": "Delete a comment | Comp AI API", + "sidebarTitle": "Delete a comment", + "description": "Delete a comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings.", + "og:title": "Delete a comment | Comp AI API", + "og:description": "Delete a comment in Comp AI. Create and manage collaboration comments on compliance entities such as tasks, policies, risks, vendors, and findings." + } + }, + "x-speakeasy-mcp": { + "name": "delete-comment" + } + } + }, + "/v1/trust-portal/settings": { + "get": { + "operationId": "TrustPortalController_getSettings_v1", + "parameters": [], + "responses": { + "200": { + "description": "Trust portal settings retrieved successfully" } }, "security": [ @@ -16034,92 +15704,63 @@ "apikey": [] } ], - "summary": "Get a role by ID", + "summary": "Get Trust Center settings", "tags": [ - "Roles" + "Trust Portal" ], + "description": "Retrieve Trust Center settings used to configure public status, custom domains, framework visibility, resources, FAQs, and access rules.", "x-mint": { "metadata": { - "title": "Get a role by ID | Comp AI API", - "sidebarTitle": "Get a role by ID", - "description": "Get a role by ID in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", - "og:title": "Get a role by ID | Comp AI API", - "og:description": "Get a role by ID in Comp AI. Create custom roles and resolve permission sets for organization-level access control." + "title": "Get Trust Center settings | Comp AI API", + "sidebarTitle": "Get Trust Center settings", + "description": "Retrieve Trust Center settings used to configure public status, custom domains, framework visibility, resources, FAQs, and access rules.", + "og:title": "Get Trust Center settings | Comp AI API", + "og:description": "Retrieve Trust Center settings used to configure public status, custom domains, framework visibility, resources, FAQs, and access rules." } }, "x-speakeasy-mcp": { - "name": "get-role" + "name": "get-settings" } - }, - "patch": { - "description": "Update a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", - "operationId": "RolesController_updateRole_v1", - "parameters": [ + } + }, + "/v1/trust-portal/favicon": { + "post": { + "operationId": "TrustPortalController_uploadFavicon_v1", + "parameters": [], + "responses": { + "201": { + "description": "Favicon uploaded successfully" + } + }, + "security": [ { - "name": "roleId", - "required": true, - "in": "path", - "description": "Role ID", - "schema": { - "example": "rol_abc123", - "type": "string" - } + "apikey": [] } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateRoleDto" - } - } + "summary": "Upload a favicon for the trust portal", + "tags": [ + "Trust Portal" + ], + "description": "Upload a favicon for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "x-mint": { + "metadata": { + "title": "Upload a favicon for the trust portal | Comp AI API", + "sidebarTitle": "Upload a favicon for the trust portal", + "description": "Upload a favicon for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", + "og:title": "Upload a favicon for the trust portal | Comp AI API", + "og:description": "Upload a favicon for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." } }, + "x-speakeasy-mcp": { + "name": "upload-favicon" + } + }, + "delete": { + "operationId": "TrustPortalController_removeFavicon_v1", + "parameters": [], "responses": { "200": { - "description": "Role updated successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "permissions": { - "type": "object" - }, - "isBuiltIn": { - "type": "boolean" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - } - } - } - } - } - }, - "400": { - "description": "Invalid role data" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden - cannot grant permissions you do not have" - }, - "404": { - "description": "Role not found" + "description": "Favicon removed successfully" } }, "security": [ @@ -16127,65 +15768,57 @@ "apikey": [] } ], - "summary": "Update a custom role", + "summary": "Remove the trust portal favicon", "tags": [ - "Roles" + "Trust Portal" ], + "description": "Remove the trust portal favicon in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Update a custom role | Comp AI API", - "sidebarTitle": "Update a custom role", - "description": "Update a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", - "og:title": "Update a custom role | Comp AI API", - "og:description": "Update a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control." + "title": "Remove the trust portal favicon | Comp AI API", + "sidebarTitle": "Remove the trust portal favicon", + "description": "Remove the trust portal favicon in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links.", + "og:title": "Remove the trust portal favicon | Comp AI API", + "og:description": "Remove the trust portal favicon in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links." } }, "x-speakeasy-mcp": { - "name": "update-role" + "name": "remove-favicon" } - }, - "delete": { - "description": "Delete a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", - "operationId": "RolesController_deleteRole_v1", + } + }, + "/v1/trust-portal/domain/status": { + "get": { + "description": "Get domain verification status in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "operationId": "TrustPortalController_getDomainStatus_v1", "parameters": [ { - "name": "roleId", + "name": "domain", "required": true, - "in": "path", - "description": "Role ID", + "in": "query", + "description": "The domain name to check status for", "schema": { - "example": "rol_abc123", + "example": "portal.example.com", "type": "string" } } ], "responses": { "200": { - "description": "Role deleted successfully", + "description": "Domain status retrieved successfully", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "success": { - "type": "boolean" - }, - "message": { - "type": "string" - } - } + "$ref": "#/components/schemas/DomainStatusResponseDto" } } } }, - "400": { - "description": "Cannot delete - members assigned to role" - }, "401": { - "description": "Unauthorized" + "description": "Unauthorized - Invalid or missing authentication" }, - "404": { - "description": "Role not found" + "500": { + "description": "Failed to retrieve domain status from Vercel" } }, "security": [ @@ -16193,31 +15826,52 @@ "apikey": [] } ], - "summary": "Delete a custom role", + "summary": "Get domain verification status", "tags": [ - "Roles" + "Trust Portal" ], "x-mint": { "metadata": { - "title": "Delete a custom role | Comp AI API", - "sidebarTitle": "Delete a custom role", - "description": "Delete a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", - "og:title": "Delete a custom role | Comp AI API", - "og:description": "Delete a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control." + "title": "Get domain verification status | Comp AI API", + "sidebarTitle": "Get domain verification status", + "description": "Get domain verification status in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links.", + "og:title": "Get domain verification status | Comp AI API", + "og:description": "Get domain verification status in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links." } }, "x-speakeasy-mcp": { - "name": "delete-role" + "name": "get-domain-status" } } }, - "/v1/questionnaire": { - "get": { - "operationId": "QuestionnaireController_findAll_v1", + "/v1/trust-portal/compliance-resources/upload": { + "post": { + "description": "Upload or replace a compliance certificate PDF such as SOC 2, ISO 27001, HIPAA, or GDPR evidence for Trust Center sharing.", + "operationId": "TrustPortalController_uploadComplianceResource_v1", "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadComplianceResourceDto" + } + } + } + }, "responses": { - "200": { - "description": "List of questionnaires" + "201": { + "description": "Compliance certificate uploaded successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ComplianceResourceResponseDto" + } + } + } + }, + "400": { + "description": "Framework not compliant, PDF validation failed, or organization mismatch" } }, "security": [ @@ -16225,42 +15879,48 @@ "apikey": [] } ], - "summary": "List security questionnaires", + "summary": "Upload compliance certificate", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "List saved security questionnaires for an organization so teams can track customer reviews, answer status, and response history.", "x-mint": { - "href": "/api-reference/questionnaire/list-questionnaires", "metadata": { - "title": "List security questionnaires | Comp AI API", - "sidebarTitle": "List security questionnaires", - "description": "List saved security questionnaires for an organization so teams can track customer reviews, answer status, and response history.", - "og:title": "List security questionnaires | Comp AI API", - "og:description": "List saved security questionnaires for an organization so teams can track customer reviews, answer status, and response history." + "title": "Upload compliance certificate | Comp AI API", + "sidebarTitle": "Upload compliance certificate", + "description": "Upload or replace a compliance certificate PDF such as SOC 2, ISO 27001, HIPAA, or GDPR evidence for Trust Center sharing.", + "og:title": "Upload compliance certificate | Comp AI API", + "og:description": "Upload or replace a compliance certificate PDF such as SOC 2, ISO 27001, HIPAA, or GDPR evidence for Trust Center sharing." } }, "x-speakeasy-mcp": { - "name": "questionnaire-find-all" + "name": "upload-compliance-resource" } } }, - "/v1/questionnaire/{id}": { - "get": { - "operationId": "QuestionnaireController_findById_v1", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" + "/v1/trust-portal/compliance-resources/signed-url": { + "post": { + "operationId": "TrustPortalController_getComplianceResourceUrl_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ComplianceResourceSignedUrlDto" + } } } - ], + }, "responses": { "200": { - "description": "Questionnaire details" + "description": "Signed URL generated successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ComplianceResourceUrlResponseDto" + } + } + } } }, "security": [ @@ -16268,40 +15928,52 @@ "apikey": [] } ], - "summary": "Get security questionnaire details", + "summary": "Generate a temporary signed URL for a compliance certificate", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "Retrieve one saved security questionnaire, including extracted questions, generated answers, and review context for the requesting client.", + "description": "Generate a temporary signed URL for a compliance certificate in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { - "href": "/api-reference/questionnaire/get-a-questionnaire-by-id", "metadata": { - "title": "Get security questionnaire details | Comp AI API", - "sidebarTitle": "Get security questionnaire details", - "description": "Retrieve one saved security questionnaire, including extracted questions, generated answers, and review context for the requesting client.", - "og:title": "Get security questionnaire details | Comp AI API", - "og:description": "Retrieve one saved security questionnaire, including extracted questions, generated answers, and review context for the requesting client." + "title": "Generate a temporary signed URL for a | Comp AI API", + "sidebarTitle": "Generate a temporary signed URL for a compliance certificate", + "description": "Generate a temporary signed URL for a compliance certificate in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance.", + "og:title": "Generate a temporary signed URL for a | Comp AI API", + "og:description": "Generate a temporary signed URL for a compliance certificate in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance." } }, "x-speakeasy-mcp": { - "name": "find-by-id" + "name": "get-compliance-resource-url" } - }, - "delete": { - "operationId": "QuestionnaireController_deleteById_v1", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" + } + }, + "/v1/trust-portal/compliance-resources/list": { + "post": { + "operationId": "TrustPortalController_listComplianceResources_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ListComplianceResourcesDto" + } } } - ], + }, "responses": { "200": { - "description": "Questionnaire deleted" + "description": "Compliance certificates retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComplianceResourceResponseDto" + } + } + } + } } }, "security": [ @@ -16309,47 +15981,47 @@ "apikey": [] } ], - "summary": "Delete a security questionnaire", + "summary": "List uploaded compliance certificates for the organization", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "Delete a saved security questionnaire when a customer review or vendor assessment no longer needs to be retained.", + "description": "List uploaded compliance certificates for the organization in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { - "href": "/api-reference/questionnaire/delete-a-questionnaire", "metadata": { - "title": "Delete a security questionnaire | Comp AI API", - "sidebarTitle": "Delete a security questionnaire", - "description": "Delete a saved security questionnaire when a customer review or vendor assessment no longer needs to be retained.", - "og:title": "Delete a security questionnaire | Comp AI API", - "og:description": "Delete a saved security questionnaire when a customer review or vendor assessment no longer needs to be retained." + "title": "List uploaded compliance certificates for the | Comp AI API", + "sidebarTitle": "List uploaded compliance certificates for the organization", + "description": "List uploaded compliance certificates for the organization in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance.", + "og:title": "List uploaded compliance certificates for the | Comp AI API", + "og:description": "List uploaded compliance certificates for the organization in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance." } }, "x-speakeasy-mcp": { - "name": "delete-by-id" + "name": "list-compliance-resources" } } }, - "/v1/questionnaire/{id}/auto-answer": { + "/v1/trust-portal/documents/upload": { "post": { - "description": "Starts background answer generation for an already-parsed questionnaire and returns a run handle immediately. Poll GET /v1/questionnaire/:id until answeredQuestions equals totalQuestions, then read the answers from its questions.", - "operationId": "QuestionnaireController_triggerAutoAnswer_v1", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" + "description": "Upload an additional trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "operationId": "TrustPortalController_uploadTrustDocument_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadTrustDocumentDto" + } } } - ], + }, "responses": { - "200": { - "description": "", + "201": { + "description": "Document uploaded successfully", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TriggerAutoAnswerResponseDto" + "$ref": "#/components/schemas/TrustDocumentResponseDto" } } } @@ -16360,45 +16032,48 @@ "apikey": [] } ], - "summary": "Generate answers for a questionnaire", + "summary": "Upload an additional trust portal document", "tags": [ - "Questionnaire" + "Trust Portal" ], - "x-speakeasy-mcp": { - "name": "generate-questionnaire-answers" - }, "x-mint": { "metadata": { - "title": "Generate answers for a questionnaire | Comp AI API", - "sidebarTitle": "Generate answers for a questionnaire", - "description": "Starts background answer generation for an already-parsed questionnaire and returns a run handle immediately. Poll GET /v1/questionnaire/:id until.", - "og:title": "Generate answers for a questionnaire | Comp AI API", - "og:description": "Starts background answer generation for an already-parsed questionnaire and returns a run handle immediately. Poll GET /v1/questionnaire/:id until." + "title": "Upload an additional trust portal document | Comp AI API", + "sidebarTitle": "Upload an additional trust portal document", + "description": "Upload an additional trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources.", + "og:title": "Upload an additional trust portal document | Comp AI API", + "og:description": "Upload an additional trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources." } + }, + "x-speakeasy-mcp": { + "name": "upload-trust-document" } } }, - "/v1/questionnaire/parse": { + "/v1/trust-portal/documents/list": { "post": { - "operationId": "QuestionnaireController_parseQuestionnaire_v1", + "operationId": "TrustPortalController_listTrustDocuments_v1", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ParseQuestionnaireDto" + "$ref": "#/components/schemas/ListComplianceResourcesDto" } } } }, "responses": { "200": { - "description": "Parsed questionnaire content", + "description": "Documents retrieved successfully", "content": { "application/json": { "schema": { - "type": "object" + "type": "array", + "items": { + "$ref": "#/components/schemas/TrustDocumentResponseDto" + } } } } @@ -16409,77 +16084,55 @@ "apikey": [] } ], - "summary": "Parse questionnaire content", + "summary": "List additional trust portal documents for the organization", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "Parse questionnaire content from a submitted payload so teams can extract security questions before generating or reviewing answers.", + "description": "List additional trust portal documents for the organization in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { - "href": "/api-reference/questionnaire/parse-an-uploaded-questionnaire-file", "metadata": { - "title": "Parse questionnaire content | Comp AI API", - "sidebarTitle": "Parse questionnaire content", - "description": "Parse questionnaire content from a submitted payload so teams can extract security questions before generating or reviewing answers.", - "og:title": "Parse questionnaire content | Comp AI API", - "og:description": "Parse questionnaire content from a submitted payload so teams can extract security questions before generating or reviewing answers." + "title": "List additional trust portal documents for | Comp AI API", + "sidebarTitle": "List additional trust portal documents for the organization", + "description": "List additional trust portal documents for the organization in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance.", + "og:title": "List additional trust portal documents for | Comp AI API", + "og:description": "List additional trust portal documents for the organization in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance." } }, "x-speakeasy-mcp": { - "name": "parse-questionnaire" + "name": "list-trust-documents" } } }, - "/v1/questionnaire/answer-single": { + "/v1/trust-portal/documents/{documentId}/download": { "post": { - "operationId": "QuestionnaireController_answerSingleQuestion_v1", - "parameters": [], + "operationId": "TrustPortalController_getTrustDocumentUrl_v1", + "parameters": [ + { + "name": "documentId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AnswerSingleQuestionDto" + "$ref": "#/components/schemas/TrustDocumentSignedUrlDto" } } } }, "responses": { "200": { - "description": "Generated single answer result", + "description": "Signed URL generated successfully", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "success": { - "type": "boolean" - }, - "data": { - "type": "object", - "properties": { - "questionIndex": { - "type": "number" - }, - "question": { - "type": "string" - }, - "answer": { - "type": "string", - "nullable": true - }, - "sources": { - "type": "array", - "items": { - "type": "object" - } - }, - "error": { - "type": "string", - "nullable": true - } - } - } - } + "$ref": "#/components/schemas/TrustDocumentUrlResponseDto" } } } @@ -16490,43 +16143,51 @@ "apikey": [] } ], - "summary": "Answer one questionnaire question", + "summary": "Generate a temporary signed URL for a trust portal document", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "Generate an answer for one security questionnaire item using the organization evidence library and return source references for review.", + "description": "Generate a temporary signed URL for a trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { - "href": "/api-reference/questionnaire/answer-a-single-questionnaire-question", "metadata": { - "title": "Answer one questionnaire question | Comp AI API", - "sidebarTitle": "Answer one questionnaire question", - "description": "Generate an answer for one security questionnaire item using the organization evidence library and return source references for review.", - "og:title": "Answer one questionnaire question | Comp AI API", - "og:description": "Generate an answer for one security questionnaire item using the organization evidence library and return source references for review." + "title": "Generate a temporary signed URL for a trust | Comp AI API", + "sidebarTitle": "Generate a temporary signed URL for a trust portal document", + "description": "Generate a temporary signed URL for a trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance.", + "og:title": "Generate a temporary signed URL for a trust | Comp AI API", + "og:description": "Generate a temporary signed URL for a trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance." } }, "x-speakeasy-mcp": { - "name": "answer-single-question" + "name": "get-trust-document-url" } } }, - "/v1/questionnaire/save-answer": { + "/v1/trust-portal/documents/{documentId}/delete": { "post": { - "operationId": "QuestionnaireController_saveAnswer_v1", - "parameters": [], + "operationId": "TrustPortalController_deleteTrustDocument_v1", + "parameters": [ + { + "name": "documentId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SaveAnswerDto" + "$ref": "#/components/schemas/DeleteTrustDocumentDto" } } } }, "responses": { "200": { - "description": "Save manual or generated answer", + "description": "Document deleted successfully", "content": { "application/json": { "schema": { @@ -16534,10 +16195,6 @@ "properties": { "success": { "type": "boolean" - }, - "error": { - "type": "string", - "nullable": true } } } @@ -16550,59 +16207,32 @@ "apikey": [] } ], - "summary": "Save questionnaire answer", + "summary": "Delete (deactivate) a trust portal document", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "Save a manual or AI-generated security questionnaire answer for later review, export, and audit tracking.", + "description": "Delete (deactivate) a trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { - "href": "/api-reference/questionnaire/save-a-questionnaire-answer", "metadata": { - "title": "Save questionnaire answer | Comp AI API", - "sidebarTitle": "Save questionnaire answer", - "description": "Save a manual or AI-generated security questionnaire answer for later review, export, and audit tracking.", - "og:title": "Save questionnaire answer | Comp AI API", - "og:description": "Save a manual or AI-generated security questionnaire answer for later review, export, and audit tracking." + "title": "Delete (deactivate) a trust portal document | Comp AI API", + "sidebarTitle": "Delete (deactivate) a trust portal document", + "description": "Delete (deactivate) a trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources.", + "og:title": "Delete (deactivate) a trust portal document | Comp AI API", + "og:description": "Delete (deactivate) a trust portal document in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources." } }, "x-speakeasy-mcp": { - "name": "save-answer" + "name": "delete-trust-document" } } }, - "/v1/questionnaire/delete-answer": { - "post": { - "operationId": "QuestionnaireController_deleteAnswer_v1", + "/v1/trust-portal/settings/toggle": { + "put": { + "operationId": "TrustPortalController_togglePortal_v1", "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteAnswerDto" - } - } - } - }, "responses": { "200": { - "description": "Delete questionnaire answer", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "success": { - "type": "boolean" - }, - "error": { - "type": "string", - "nullable": true - } - } - } - } - } + "description": "" } }, "security": [ @@ -16610,43 +16240,65 @@ "apikey": [] } ], - "summary": "Delete questionnaire answer", + "summary": "Enable or disable the trust portal", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "Delete a stored questionnaire answer when it should be removed from the active response set.", + "description": "Enable or disable the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { - "href": "/api-reference/questionnaire/delete-a-questionnaire-answer", "metadata": { - "title": "Delete questionnaire answer | Comp AI API", - "sidebarTitle": "Delete questionnaire answer", - "description": "Delete a stored questionnaire answer when it should be removed from the active response set.", - "og:title": "Delete questionnaire answer | Comp AI API", - "og:description": "Delete a stored questionnaire answer when it should be removed from the active response set." + "title": "Enable or disable the trust portal | Comp AI API", + "sidebarTitle": "Enable or disable the trust portal", + "description": "Enable or disable the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", + "og:title": "Enable or disable the trust portal | Comp AI API", + "og:description": "Enable or disable the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." } }, "x-speakeasy-mcp": { - "name": "delete-answer" + "name": "toggle-portal" } } }, - "/v1/questionnaire/export": { + "/v1/trust-portal/settings/custom-domain": { "post": { - "operationId": "QuestionnaireController_exportById_v1", + "operationId": "TrustPortalController_addCustomDomain_v1", "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExportByIdDto" - } - } + "responses": { + "201": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Add or update a custom domain for the trust portal", + "tags": [ + "Trust Portal" + ], + "description": "Add or update a custom domain for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "x-mint": { + "metadata": { + "title": "Add or update a custom domain for the trust | Comp AI API", + "sidebarTitle": "Add or update a custom domain for the trust portal", + "description": "Add or update a custom domain for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources.", + "og:title": "Add or update a custom domain for the trust | Comp AI API", + "og:description": "Add or update a custom domain for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources." } }, + "x-speakeasy-mcp": { + "name": "add-custom-domain" + } + } + }, + "/v1/trust-portal/settings/check-dns": { + "post": { + "operationId": "TrustPortalController_checkDnsRecords_v1", + "parameters": [], "responses": { - "200": { - "description": "Export questionnaire by ID to specified format" + "201": { + "description": "" } }, "security": [ @@ -16654,141 +16306,141 @@ "apikey": [] } ], - "summary": "Export a security questionnaire", + "summary": "Check DNS records for a custom domain", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "Export a saved security questionnaire response package as PDF, CSV, or XLSX for customer and vendor security reviews.", + "description": "Check DNS records for a custom domain in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { - "href": "/api-reference/questionnaire/export-a-questionnaire", "metadata": { - "title": "Export a security questionnaire | Comp AI API", - "sidebarTitle": "Export a security questionnaire", - "description": "Export a saved security questionnaire response package as PDF, CSV, or XLSX for customer and vendor security reviews.", - "og:title": "Export a security questionnaire | Comp AI API", - "og:description": "Export a saved security questionnaire response package as PDF, CSV, or XLSX for customer and vendor security reviews." + "title": "Check DNS records for a custom domain | Comp AI API", + "sidebarTitle": "Check DNS records for a custom domain", + "description": "Check DNS records for a custom domain in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", + "og:title": "Check DNS records for a custom domain | Comp AI API", + "og:description": "Check DNS records for a custom domain in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." } }, "x-speakeasy-mcp": { - "name": "export-by-id" + "name": "check-dns-records" } } }, - "/v1/questionnaire/upload-and-parse": { - "post": { - "operationId": "QuestionnaireController_uploadAndParse_v1", + "/v1/trust-portal/settings/faqs": { + "put": { + "operationId": "TrustPortalController_updateFaqs_v1", "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadAndParseDto" - } - } + "responses": { + "200": { + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Update trust portal FAQs", + "tags": [ + "Trust Portal" + ], + "description": "Update trust portal FAQs in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "x-mint": { + "metadata": { + "title": "Update trust portal FAQs | Comp AI API", + "sidebarTitle": "Update trust portal FAQs", + "description": "Update trust portal FAQs in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links.", + "og:title": "Update trust portal FAQs | Comp AI API", + "og:description": "Update trust portal FAQs in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links." } }, + "x-speakeasy-mcp": { + "name": "update-faqs" + } + } + }, + "/v1/trust-portal/settings/allowed-domains": { + "put": { + "operationId": "TrustPortalController_updateAllowedDomains_v1", + "parameters": [], "responses": { "200": { - "description": "Upload file and trigger async parsing. Returns runId for realtime tracking.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "runId": { - "type": "string" - }, - "publicAccessToken": { - "type": "string" - } - } - } + "description": "" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Update allowed domains for the trust portal", + "tags": [ + "Trust Portal" + ], + "description": "Update allowed domains for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "x-mint": { + "metadata": { + "title": "Update allowed domains for the trust portal | Comp AI API", + "sidebarTitle": "Update allowed domains for the trust portal", + "description": "Update allowed domains for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources.", + "og:title": "Update allowed domains for the trust portal | Comp AI API", + "og:description": "Update allowed domains for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources." + } + }, + "x-speakeasy-mcp": { + "name": "update-allowed-domains" + } + } + }, + "/v1/trust-portal/settings/allowed-emails": { + "put": { + "operationId": "TrustPortalController_updateAllowedEmails_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateAllowedEmailsDto" } } } }, + "responses": { + "200": { + "description": "" + } + }, "security": [ { "apikey": [] } ], - "summary": "Start questionnaire parsing", + "summary": "Update allowed emails for the trust portal", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "Upload a questionnaire payload and start asynchronous parsing, returning a run ID for real-time progress tracking.", + "description": "Update allowed emails for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { - "href": "/api-reference/questionnaire/upload-and-parse-a-questionnaire-file", "metadata": { - "title": "Start questionnaire parsing | Comp AI API", - "sidebarTitle": "Start questionnaire parsing", - "description": "Upload a questionnaire payload and start asynchronous parsing, returning a run ID for real-time progress tracking.", - "og:title": "Start questionnaire parsing | Comp AI API", - "og:description": "Upload a questionnaire payload and start asynchronous parsing, returning a run ID for real-time progress tracking." + "title": "Update allowed emails for the trust portal | Comp AI API", + "sidebarTitle": "Update allowed emails for the trust portal", + "description": "Update allowed emails for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources.", + "og:title": "Update allowed emails for the trust portal | Comp AI API", + "og:description": "Update allowed emails for the trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources." } }, "x-speakeasy-mcp": { - "name": "upload-and-parse" + "name": "update-allowed-emails" } } }, - "/v1/questionnaire/upload-and-parse/upload": { - "post": { - "operationId": "QuestionnaireController_uploadAndParseUpload_v1", + "/v1/trust-portal/settings/frameworks": { + "put": { + "operationId": "TrustPortalController_updateFrameworks_v1", "parameters": [], - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "properties": { - "file": { - "type": "string", - "format": "binary", - "description": "Questionnaire file (PDF, image, XLSX, CSV, TXT)" - }, - "organizationId": { - "type": "string", - "description": "Organization ID" - }, - "source": { - "type": "string", - "enum": [ - "internal", - "external" - ], - "default": "internal", - "description": "Source of the upload" - } - }, - "required": [ - "file", - "organizationId" - ] - } - } - } - }, "responses": { "200": { - "description": "Upload file, parse questions (no answers), save to DB, return questionnaireId", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "questionnaireId": { - "type": "string" - }, - "totalQuestions": { - "type": "number" - } - } - } - } - } + "description": "" } }, "security": [ @@ -16796,76 +16448,50 @@ "apikey": [] } ], - "summary": "Upload and parse questionnaire file", + "summary": "Update trust portal framework settings", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "Upload a security questionnaire file, extract questions, save the parsed questionnaire, and return its identifier and question count.", + "description": "Update trust portal framework settings in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { - "href": "/api-reference/questionnaire/upload-a-questionnaire-file-and-parse-its-questions", "metadata": { - "title": "Upload and parse questionnaire file | Comp AI API", - "sidebarTitle": "Upload and parse questionnaire file", - "description": "Upload a security questionnaire file, extract questions, save the parsed questionnaire, and return its identifier and question count.", - "og:title": "Upload and parse questionnaire file | Comp AI API", - "og:description": "Upload a security questionnaire file, extract questions, save the parsed questionnaire, and return its identifier and question count." + "title": "Update trust portal framework settings | Comp AI API", + "sidebarTitle": "Update trust portal framework settings", + "description": "Update trust portal framework settings in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", + "og:title": "Update trust portal framework settings | Comp AI API", + "og:description": "Update trust portal framework settings in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." } }, "x-speakeasy-mcp": { - "name": "upload-and-parse-upload" + "name": "update-frameworks" } } }, - "/v1/questionnaire/parse/upload": { - "post": { - "operationId": "QuestionnaireController_parseQuestionnaireUpload_v1", + "/v1/trust-portal/settings/security-questionnaire": { + "put": { + "operationId": "TrustPortalController_updateSecurityQuestionnaire_v1", "parameters": [], "requestBody": { "required": true, "content": { - "multipart/form-data": { + "application/json": { "schema": { "type": "object", + "required": [ + "enabled" + ], "properties": { - "file": { - "type": "string", - "format": "binary", - "description": "Questionnaire file (PDF, image, XLSX, CSV, TXT)" - }, - "organizationId": { - "type": "string", - "description": "Organization to use for generating answers" - }, - "format": { - "type": "string", - "enum": [ - "pdf", - "csv", - "xlsx" - ], - "default": "xlsx", - "description": "Output format (defaults to XLSX)" - }, - "source": { - "type": "string", - "enum": [ - "internal", - "external" - ], - "default": "internal", - "description": "Indicates if the request originated from our UI (internal) or trust portal (external)." + "enabled": { + "type": "boolean", + "description": "When false, the Security Questionnaire is hidden from the public trust portal." } - }, - "required": [ - "file", - "organizationId" - ] + } } } } }, "responses": { - "201": { + "200": { "description": "" } }, @@ -16874,42 +16500,31 @@ "apikey": [] } ], - "summary": "Auto-answer uploaded questionnaire", + "summary": "Show or hide the Security Questionnaire on the public trust portal", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "Upload a questionnaire file and generate answer exports from approved organization evidence in PDF, CSV, or XLSX format.", + "description": "Show or hide the Security Questionnaire on the public trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { - "href": "/api-reference/questionnaire/upload-a-questionnaire-file-and-auto-answer-with-export", "metadata": { - "title": "Auto-answer uploaded questionnaire | Comp AI API", - "sidebarTitle": "Auto-answer uploaded questionnaire", - "description": "Upload a questionnaire file and generate answer exports from approved organization evidence in PDF, CSV, or XLSX format.", - "og:title": "Auto-answer uploaded questionnaire | Comp AI API", - "og:description": "Upload a questionnaire file and generate answer exports from approved organization evidence in PDF, CSV, or XLSX format." + "title": "Show or hide the Security Questionnaire on | Comp AI API", + "sidebarTitle": "Show or hide the Security Questionnaire on the public trust portal", + "description": "Show or hide the Security Questionnaire on the public trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs.", + "og:title": "Show or hide the Security Questionnaire on | Comp AI API", + "og:description": "Show or hide the Security Questionnaire on the public trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs." } }, "x-speakeasy-mcp": { - "name": "parse-questionnaire-upload" + "name": "update-security-questionnaire" } } }, - "/v1/questionnaire/answers/export": { - "post": { - "operationId": "QuestionnaireController_autoAnswerAndExport_v1", + "/v1/trust-portal/custom-frameworks": { + "get": { + "operationId": "TrustPortalController_listCustomFrameworks_v1", "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExportQuestionnaireDto" - } - } - } - }, "responses": { - "201": { + "200": { "description": "" } }, @@ -16918,67 +16533,72 @@ "apikey": [] } ], - "summary": "Export generated questionnaire answers", + "summary": "List org-authored custom frameworks with their trust portal selection", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "Generate and export questionnaire answers from a submitted payload using approved organization evidence.", + "description": "List org-authored custom frameworks with their trust portal selection in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { - "href": "/api-reference/questionnaire/export-questionnaire-answers", "metadata": { - "title": "Export generated questionnaire answers | Comp AI API", - "sidebarTitle": "Export generated questionnaire answers", - "description": "Generate and export questionnaire answers from a submitted payload using approved organization evidence.", - "og:title": "Export generated questionnaire answers | Comp AI API", - "og:description": "Generate and export questionnaire answers from a submitted payload using approved organization evidence." + "title": "List org-authored custom frameworks with | Comp AI API", + "sidebarTitle": "List org-authored custom frameworks with their trust portal selection", + "description": "List org-authored custom frameworks with their trust portal selection in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs.", + "og:title": "List org-authored custom frameworks with | Comp AI API", + "og:description": "List org-authored custom frameworks with their trust portal selection in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs." } }, "x-speakeasy-mcp": { - "name": "auto-answer-and-export" + "name": "list-custom-frameworks" } - } - }, - "/v1/questionnaire/answers/export/upload": { - "post": { - "operationId": "QuestionnaireController_autoAnswerAndExportUpload_v1", + }, + "put": { + "operationId": "TrustPortalController_updateCustomFramework_v1", "parameters": [], "requestBody": { "required": true, + "description": "At least one of `enabled` or `status` must be provided.", "content": { - "multipart/form-data": { + "application/json": { "schema": { "type": "object", + "required": [ + "customFrameworkId" + ], + "anyOf": [ + { + "required": [ + "enabled" + ] + }, + { + "required": [ + "status" + ] + } + ], "properties": { - "file": { + "customFrameworkId": { "type": "string", - "format": "binary", - "description": "Questionnaire file (PDF, image, XLSX, CSV, TXT)" + "minLength": 1 }, - "organizationId": { - "type": "string", - "description": "Organization to use for answer generation" + "enabled": { + "type": "boolean" }, - "format": { + "status": { "type": "string", "enum": [ - "pdf", - "csv", - "xlsx" - ], - "default": "xlsx", - "description": "Output format (defaults to XLSX)" + "started", + "in_progress", + "compliant" + ] } - }, - "required": [ - "file", - "organizationId" - ] + } } } } }, "responses": { - "201": { + "200": { "description": "" } }, @@ -16987,43 +16607,50 @@ "apikey": [] } ], - "summary": "Upload and export generated answers", + "summary": "Enable/disable a custom framework on the trust portal and set its status", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "Upload a questionnaire file and return generated answer exports in PDF, CSV, or XLSX format.", + "description": "Enable/disable a custom framework on the trust portal and set its status in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { - "href": "/api-reference/questionnaire/upload-a-questionnaire-file-and-export-auto-generated-answers", "metadata": { - "title": "Upload and export generated answers | Comp AI API", - "sidebarTitle": "Upload and export generated answers", - "description": "Upload a questionnaire file and return generated answer exports in PDF, CSV, or XLSX format.", - "og:title": "Upload and export generated answers | Comp AI API", - "og:description": "Upload a questionnaire file and return generated answer exports in PDF, CSV, or XLSX format." + "title": "Enable/disable a custom framework on the | Comp AI API", + "sidebarTitle": "Enable/disable a custom framework on the trust portal and set its status", + "description": "Enable/disable a custom framework on the trust portal and set its status in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs.", + "og:title": "Enable/disable a custom framework on the | Comp AI API", + "og:description": "Enable/disable a custom framework on the trust portal and set its status in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs." } }, "x-speakeasy-mcp": { - "name": "auto-answer-and-export-upload" + "name": "update-custom-framework" } } }, - "/v1/questionnaire/auto-answer": { + "/v1/trust-portal/custom-frameworks/badge": { "post": { - "operationId": "QuestionnaireController_autoAnswer_v1", + "description": "Stores a PNG/JPEG/WebP badge (max 256KB) in the organization assets bucket. Does not change the framework's portal visibility.", + "operationId": "TrustPortalController_uploadCustomFrameworkBadge_v1", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AutoAnswerDto" + "$ref": "#/components/schemas/UploadCustomFrameworkBadgeDto" } } } }, "responses": { "201": { - "description": "" + "description": "Badge uploaded successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFrameworkBadgeResponseDto" + } + } + } } }, "security": [ @@ -17031,33 +16658,40 @@ "apikey": [] } ], - "summary": "Stream generated questionnaire answers", + "summary": "Upload or replace a custom framework's Trust Portal badge image", "tags": [ - "Questionnaire" + "Trust Portal" ], - "description": "Stream generated questionnaire answers over server-sent events so clients can show progress while answers are produced.", "x-mint": { - "href": "/api-reference/questionnaire/auto-answer-a-questionnaire", "metadata": { - "title": "Stream generated questionnaire answers | Comp AI API", - "sidebarTitle": "Stream generated questionnaire answers", - "description": "Stream generated questionnaire answers over server-sent events so clients can show progress while answers are produced.", - "og:title": "Stream generated questionnaire answers | Comp AI API", - "og:description": "Stream generated questionnaire answers over server-sent events so clients can show progress while answers are produced." + "title": "Upload or replace a custom framework's Trust | Comp AI API", + "sidebarTitle": "Upload or replace a custom framework's Trust Portal badge image", + "description": "Stores a PNG/JPEG/WebP badge (max 256KB) in the organization assets bucket. Does not change the framework's portal visibility.", + "og:title": "Upload or replace a custom framework's Trust | Comp AI API", + "og:description": "Stores a PNG/JPEG/WebP badge (max 256KB) in the organization assets bucket. Does not change the framework's portal visibility." } }, "x-speakeasy-mcp": { - "name": "auto-answer" + "name": "upload-custom-framework-badge" } - } - }, - "/v1/knowledge-base/documents": { - "get": { - "operationId": "KnowledgeBaseController_listDocuments_v1", - "parameters": [], + }, + "delete": { + "operationId": "TrustPortalController_removeCustomFrameworkBadge_v1", + "parameters": [ + { + "name": "customFrameworkId", + "required": true, + "in": "query", + "description": "Org-authored custom framework ID whose badge to remove", + "schema": { + "example": "cfrm_6914cd0e16e4c7dccbb54426", + "type": "string" + } + } + ], "responses": { "200": { - "description": "List of knowledge base documents" + "description": "" } }, "security": [ @@ -17065,32 +16699,32 @@ "apikey": [] } ], - "summary": "List knowledge base documents", + "summary": "Remove a custom framework's Trust Portal badge image", "tags": [ - "Knowledge Base" + "Trust Portal" ], - "description": "List uploaded knowledge base documents that Comp AI can use as approved source material for answers, policies, and reviews.", + "description": "Remove a custom framework's Trust Portal badge image in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "List knowledge base documents | Comp AI API", - "sidebarTitle": "List knowledge base documents", - "description": "List uploaded knowledge base documents that Comp AI can use as approved source material for answers, policies, and reviews.", - "og:title": "List knowledge base documents | Comp AI API", - "og:description": "List uploaded knowledge base documents that Comp AI can use as approved source material for answers, policies, and reviews." + "title": "Remove a custom framework's Trust Portal | Comp AI API", + "sidebarTitle": "Remove a custom framework's Trust Portal badge image", + "description": "Remove a custom framework's Trust Portal badge image in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance.", + "og:title": "Remove a custom framework's Trust Portal | Comp AI API", + "og:description": "Remove a custom framework's Trust Portal badge image in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance." } }, "x-speakeasy-mcp": { - "name": "list-documents" + "name": "remove-custom-framework-badge" } } }, - "/v1/knowledge-base/manual-answers": { - "get": { - "operationId": "KnowledgeBaseController_listManualAnswers_v1", + "/v1/trust-portal/overview": { + "post": { + "operationId": "TrustPortalController_updateOverview_v1", "parameters": [], "responses": { "200": { - "description": "List of manual answers" + "description": "Overview updated successfully" } }, "security": [ @@ -17098,40 +16732,39 @@ "apikey": [] } ], - "summary": "List all manual answers for an organization", + "summary": "Update Trust Center overview", "tags": [ - "Knowledge Base" + "Trust Portal" ], - "description": "List all manual answers for an organization in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", + "description": "Update the public Trust Center overview content that explains security posture and compliance status to prospects and customers.", "x-mint": { "metadata": { - "title": "List all manual answers for an organization | Comp AI API", - "sidebarTitle": "List all manual answers for an organization", - "description": "List all manual answers for an organization in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power.", - "og:title": "List all manual answers for an organization | Comp AI API", - "og:description": "List all manual answers for an organization in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power." + "title": "Update Trust Center overview | Comp AI API", + "sidebarTitle": "Update Trust Center overview", + "description": "Update the public Trust Center overview content that explains security posture and compliance status to prospects and customers.", + "og:title": "Update Trust Center overview | Comp AI API", + "og:description": "Update the public Trust Center overview content that explains security posture and compliance status to prospects and customers." } }, "x-speakeasy-mcp": { - "name": "list-manual-answers" + "name": "update-overview" } }, - "post": { - "operationId": "KnowledgeBaseController_saveManualAnswer_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SaveManualAnswerDto" - } + "get": { + "operationId": "TrustPortalController_getOverview_v1", + "parameters": [ + { + "name": "organizationId", + "required": true, + "in": "query", + "schema": { + "type": "string" } } - }, + ], "responses": { "200": { - "description": "Manual answer saved" + "description": "" } }, "security": [ @@ -17139,42 +16772,72 @@ "apikey": [] } ], - "summary": "Save reusable manual answer", + "summary": "Get trust portal overview", "tags": [ - "Knowledge Base" + "Trust Portal" ], - "description": "Save or update a reusable manual answer for security questionnaires that need approved, consistent response language.", + "description": "Get trust portal overview in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Save reusable manual answer | Comp AI API", - "sidebarTitle": "Save reusable manual answer", - "description": "Save or update a reusable manual answer for security questionnaires that need approved, consistent response language.", - "og:title": "Save reusable manual answer | Comp AI API", - "og:description": "Save or update a reusable manual answer for security questionnaires that need approved, consistent response language." + "title": "Get trust portal overview | Comp AI API", + "sidebarTitle": "Get trust portal overview", + "description": "Get trust portal overview in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links.", + "og:title": "Get trust portal overview | Comp AI API", + "og:description": "Get trust portal overview in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links." } }, "x-speakeasy-mcp": { - "name": "save-manual-answer" + "name": "get-overview" } } }, - "/v1/knowledge-base/documents/upload": { + "/v1/trust-portal/custom-links": { "post": { - "operationId": "KnowledgeBaseController_uploadDocument_v1", + "operationId": "TrustPortalController_createCustomLink_v1", "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadDocumentDto" - } - } + "responses": { + "201": { + "description": "Custom link created successfully" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Create a custom link for trust portal", + "tags": [ + "Trust Portal" + ], + "description": "Create a custom link for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", + "x-mint": { + "metadata": { + "title": "Create a custom link for trust portal | Comp AI API", + "sidebarTitle": "Create a custom link for trust portal", + "description": "Create a custom link for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", + "og:title": "Create a custom link for trust portal | Comp AI API", + "og:description": "Create a custom link for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." } }, + "x-speakeasy-mcp": { + "name": "create-custom-link" + } + }, + "get": { + "operationId": "TrustPortalController_listCustomLinks_v1", + "parameters": [ + { + "name": "organizationId", + "required": true, + "in": "query", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { - "description": "Document uploaded successfully" + "description": "" } }, "security": [ @@ -17182,31 +16845,31 @@ "apikey": [] } ], - "summary": "Upload knowledge base document", + "summary": "List custom links for trust portal", "tags": [ - "Knowledge Base" + "Trust Portal" ], - "description": "Upload supporting documentation so Comp AI can process approved source material for questionnaire answers and policy workflows.", + "description": "List custom links for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Upload knowledge base document | Comp AI API", - "sidebarTitle": "Upload knowledge base document", - "description": "Upload supporting documentation so Comp AI can process approved source material for questionnaire answers and policy workflows.", - "og:title": "Upload knowledge base document | Comp AI API", - "og:description": "Upload supporting documentation so Comp AI can process approved source material for questionnaire answers and policy workflows." + "title": "List custom links for trust portal | Comp AI API", + "sidebarTitle": "List custom links for trust portal", + "description": "List custom links for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", + "og:title": "List custom links for trust portal | Comp AI API", + "og:description": "List custom links for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." } }, "x-speakeasy-mcp": { - "name": "upload-document" + "name": "list-custom-links" } } }, - "/v1/knowledge-base/documents/{documentId}/download": { + "/v1/trust-portal/custom-links/{linkId}": { "post": { - "operationId": "KnowledgeBaseController_getDownloadUrl_v1", + "operationId": "TrustPortalController_updateCustomLink_v1", "parameters": [ { - "name": "documentId", + "name": "linkId", "required": true, "in": "path", "schema": { @@ -17216,7 +16879,7 @@ ], "responses": { "200": { - "description": "Signed download URL generated" + "description": "Custom link updated successfully" } }, "security": [ @@ -17224,31 +16887,31 @@ "apikey": [] } ], - "summary": "Get a signed download URL for a document", + "summary": "Update a custom link", "tags": [ - "Knowledge Base" + "Trust Portal" ], - "description": "Get a signed download URL for a document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", + "description": "Update a custom link in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Get a signed download URL for a document | Comp AI API", - "sidebarTitle": "Get a signed download URL for a document", - "description": "Get a signed download URL for a document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power.", - "og:title": "Get a signed download URL for a document | Comp AI API", - "og:description": "Get a signed download URL for a document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power." + "title": "Update a custom link | Comp AI API", + "sidebarTitle": "Update a custom link", + "description": "Update a custom link in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor.", + "og:title": "Update a custom link | Comp AI API", + "og:description": "Update a custom link in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor." } }, "x-speakeasy-mcp": { - "name": "get-download-url" + "name": "update-custom-link" } } }, - "/v1/knowledge-base/documents/{documentId}/view": { + "/v1/trust-portal/custom-links/{linkId}/delete": { "post": { - "operationId": "KnowledgeBaseController_getViewUrl_v1", + "operationId": "TrustPortalController_deleteCustomLink_v1", "parameters": [ { - "name": "documentId", + "name": "linkId", "required": true, "in": "path", "schema": { @@ -17258,7 +16921,7 @@ ], "responses": { "200": { - "description": "Signed view URL generated" + "description": "Custom link deleted successfully" } }, "security": [ @@ -17266,41 +16929,32 @@ "apikey": [] } ], - "summary": "Get a signed view URL for a document", + "summary": "Delete a custom link", "tags": [ - "Knowledge Base" + "Trust Portal" ], - "description": "Get a signed view URL for a document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", + "description": "Delete a custom link in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Get a signed view URL for a document | Comp AI API", - "sidebarTitle": "Get a signed view URL for a document", - "description": "Get a signed view URL for a document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power.", - "og:title": "Get a signed view URL for a document | Comp AI API", - "og:description": "Get a signed view URL for a document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power." + "title": "Delete a custom link | Comp AI API", + "sidebarTitle": "Delete a custom link", + "description": "Delete a custom link in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor.", + "og:title": "Delete a custom link | Comp AI API", + "og:description": "Delete a custom link in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor." } }, "x-speakeasy-mcp": { - "name": "get-view-url" + "name": "delete-custom-link" } } }, - "/v1/knowledge-base/documents/{documentId}/delete": { + "/v1/trust-portal/custom-links/reorder": { "post": { - "operationId": "KnowledgeBaseController_deleteDocument_v1", - "parameters": [ - { - "name": "documentId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], + "operationId": "TrustPortalController_reorderCustomLinks_v1", + "parameters": [], "responses": { "200": { - "description": "Document deleted successfully" + "description": "Custom links reordered successfully" } }, "security": [ @@ -17308,42 +16962,41 @@ "apikey": [] } ], - "summary": "Delete a knowledge base document", + "summary": "Reorder custom links", "tags": [ - "Knowledge Base" + "Trust Portal" ], - "description": "Delete a knowledge base document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", + "description": "Reorder custom links in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Delete a knowledge base document | Comp AI API", - "sidebarTitle": "Delete a knowledge base document", - "description": "Delete a knowledge base document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power.", - "og:title": "Delete a knowledge base document | Comp AI API", - "og:description": "Delete a knowledge base document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power." + "title": "Reorder custom links | Comp AI API", + "sidebarTitle": "Reorder custom links", + "description": "Reorder custom links in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor.", + "og:title": "Reorder custom links | Comp AI API", + "og:description": "Reorder custom links in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor." } }, "x-speakeasy-mcp": { - "name": "delete-document" + "name": "reorder-custom-links" } } }, - "/v1/knowledge-base/documents/process": { + "/v1/trust-portal/vendors/{vendorId}/trust-settings": { "post": { - "operationId": "KnowledgeBaseController_processDocuments_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProcessDocumentsDto" - } + "operationId": "TrustPortalController_updateVendorTrustSettings_v1", + "parameters": [ + { + "name": "vendorId", + "required": true, + "in": "path", + "schema": { + "type": "string" } } - }, + ], "responses": { "200": { - "description": "Document processing triggered" + "description": "Vendor settings updated successfully" } }, "security": [ @@ -17351,33 +17004,34 @@ "apikey": [] } ], - "summary": "Process knowledge base documents", + "summary": "Update vendor trust portal settings", "tags": [ - "Knowledge Base" + "Trust Portal" ], - "description": "Start document processing so uploaded knowledge base files become searchable source material for AI-assisted compliance workflows.", + "description": "Update vendor trust portal settings in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Process knowledge base documents | Comp AI API", - "sidebarTitle": "Process knowledge base documents", - "description": "Start document processing so uploaded knowledge base files become searchable source material for AI-assisted compliance workflows.", - "og:title": "Process knowledge base documents | Comp AI API", - "og:description": "Start document processing so uploaded knowledge base files become searchable source material for AI-assisted compliance workflows." + "title": "Update vendor trust portal settings | Comp AI API", + "sidebarTitle": "Update vendor trust portal settings", + "description": "Update vendor trust portal settings in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", + "og:title": "Update vendor trust portal settings | Comp AI API", + "og:description": "Update vendor trust portal settings in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." } }, "x-speakeasy-mcp": { - "name": "process-documents" + "name": "update-vendor-trust-settings" } } }, - "/v1/knowledge-base/runs/{runId}/token": { - "post": { - "operationId": "KnowledgeBaseController_createRunToken_v1", + "/v1/trust-portal/vendors": { + "get": { + "operationId": "TrustPortalController_listVendors_v1", "parameters": [ { - "name": "runId", - "required": true, - "in": "path", + "name": "all", + "required": false, + "in": "query", + "description": "When true, returns all org vendors with sync", "schema": { "type": "string" } @@ -17385,7 +17039,7 @@ ], "responses": { "200": { - "description": "Public access token created" + "description": "" } }, "security": [ @@ -17393,33 +17047,35 @@ "apikey": [] } ], - "summary": "Create a public access token for a run", + "summary": "List vendors configured for trust portal", "tags": [ - "Knowledge Base" + "Trust Portal" ], - "description": "Create a public access token for a run in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", + "description": "List vendors configured for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents, links, and vendor disclosures.", "x-mint": { "metadata": { - "title": "Create a public access token for a run | Comp AI API", - "sidebarTitle": "Create a public access token for a run", - "description": "Create a public access token for a run in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power.", - "og:title": "Create a public access token for a run | Comp AI API", - "og:description": "Create a public access token for a run in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power." + "title": "List vendors configured for trust portal | Comp AI API", + "sidebarTitle": "List vendors configured for trust portal", + "description": "List vendors configured for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents.", + "og:title": "List vendors configured for trust portal | Comp AI API", + "og:description": "List vendors configured for trust portal in Comp AI. Configure the live Trust Center, custom domain, public overview, FAQs, compliance resources, documents." } }, "x-speakeasy-mcp": { - "name": "create-run-token" + "name": "list-vendors" } } }, - "/v1/knowledge-base/manual-answers/{manualAnswerId}/delete": { + "/v1/trust-access/{friendlyUrl}/requests": { "post": { - "operationId": "KnowledgeBaseController_deleteManualAnswer_v1", + "description": "Submit a Trust Center access request with requester details, company context, and review reason for administrator approval.", + "operationId": "TrustAccessController_createAccessRequest_v1", "parameters": [ { - "name": "manualAnswerId", + "name": "friendlyUrl", "required": true, "in": "path", + "description": "Trust Portal friendly URL or Organization ID", "schema": { "type": "string" } @@ -17430,14 +17086,57 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DeleteManualAnswerDto" + "$ref": "#/components/schemas/CreateAccessRequestDto" } } } }, + "responses": { + "201": { + "description": "Access request created and sent for review" + } + }, + "summary": "Submit Trust Access request", + "tags": [ + "Trust Access" + ], + "x-mint": { + "metadata": { + "title": "Submit Trust Access request | Comp AI API", + "sidebarTitle": "Submit Trust Access request", + "description": "Submit a Trust Center access request with requester details, company context, and review reason for administrator approval.", + "og:title": "Submit Trust Access request | Comp AI API", + "og:description": "Submit a Trust Center access request with requester details, company context, and review reason for administrator approval." + } + }, + "x-speakeasy-mcp": { + "name": "create-access-request" + } + } + }, + "/v1/trust-access/admin/requests": { + "get": { + "description": "List pending and completed Trust Center access requests so teams can review customer security inquiries through the API.", + "operationId": "TrustAccessController_listAccessRequests_v1", + "parameters": [ + { + "name": "status", + "required": false, + "in": "query", + "schema": { + "type": "string", + "enum": [ + "under_review", + "approved", + "denied", + "canceled" + ] + } + } + ], "responses": { "200": { - "description": "Manual answer deleted" + "description": "Access requests retrieved" } }, "security": [ @@ -17445,42 +17144,41 @@ "apikey": [] } ], - "summary": "Delete a manual answer", + "summary": "List Trust Access requests", "tags": [ - "Knowledge Base" + "Trust Access" ], - "description": "Delete a manual answer in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", "x-mint": { "metadata": { - "title": "Delete a manual answer | Comp AI API", - "sidebarTitle": "Delete a manual answer", - "description": "Delete a manual answer in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI.", - "og:title": "Delete a manual answer | Comp AI API", - "og:description": "Delete a manual answer in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI." + "title": "List Trust Access requests | Comp AI API", + "sidebarTitle": "List Trust Access requests", + "description": "List pending and completed Trust Center access requests so teams can review customer security inquiries through the API.", + "og:title": "List Trust Access requests | Comp AI API", + "og:description": "List pending and completed Trust Center access requests so teams can review customer security inquiries through the API." } }, "x-speakeasy-mcp": { - "name": "delete-manual-answer" + "name": "list-access-requests" } } }, - "/v1/knowledge-base/manual-answers/delete-all": { - "post": { - "operationId": "KnowledgeBaseController_deleteAllManualAnswers_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteAllManualAnswersDto" - } + "/v1/trust-access/admin/requests/{id}": { + "get": { + "description": "Retrieve one Trust Center access request with requester context, status, review metadata, and audit details.", + "operationId": "TrustAccessController_getAccessRequest_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" } } - }, + ], "responses": { "200": { - "description": "All manual answers deleted" + "description": "Request details returned" } }, "security": [ @@ -17488,54 +17186,51 @@ "apikey": [] } ], - "summary": "Delete all manual answers for an organization", + "summary": "Get Trust Access request", "tags": [ - "Knowledge Base" + "Trust Access" ], - "description": "Delete all manual answers for an organization in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", "x-mint": { "metadata": { - "title": "Delete all manual answers for an organization | Comp AI API", - "sidebarTitle": "Delete all manual answers for an organization", - "description": "Delete all manual answers for an organization in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power.", - "og:title": "Delete all manual answers for an organization | Comp AI API", - "og:description": "Delete all manual answers for an organization in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power." + "title": "Get Trust Access request | Comp AI API", + "sidebarTitle": "Get Trust Access request", + "description": "Retrieve one Trust Center access request with requester context, status, review metadata, and audit details.", + "og:title": "Get Trust Access request | Comp AI API", + "og:description": "Retrieve one Trust Center access request with requester context, status, review metadata, and audit details." } }, "x-speakeasy-mcp": { - "name": "delete-all-manual-answers" + "name": "get-access-request" } } }, - "/v1/soa/save-answer": { + "/v1/trust-access/admin/requests/{id}/approve": { "post": { - "operationId": "SOAController_saveAnswer_v1", - "parameters": [], + "description": "Approve a Trust Center access request, configure the grant window, and start the NDA or access email workflow.", + "operationId": "TrustAccessController_approveRequest_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SaveSOAAnswerDto" + "$ref": "#/components/schemas/ApproveAccessRequestDto" } } } }, "responses": { "200": { - "description": "Answer saved successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "success": { - "type": "boolean" - } - } - } - } - } + "description": "Request approved successfully" } }, "security": [ @@ -17543,43 +17238,51 @@ "apikey": [] } ], - "summary": "Save a SOA answer", + "summary": "Approve Trust Access request", "tags": [ - "SOA" + "Trust Access" ], - "description": "Save a SOA answer in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "Save a SOA answer | Comp AI API", - "sidebarTitle": "Save a SOA answer", - "description": "Save a SOA answer in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", - "og:title": "Save a SOA answer | Comp AI API", - "og:description": "Save a SOA answer in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents." + "title": "Approve Trust Access request | Comp AI API", + "sidebarTitle": "Approve Trust Access request", + "description": "Approve a Trust Center access request, configure the grant window, and start the NDA or access email workflow.", + "og:title": "Approve Trust Access request | Comp AI API", + "og:description": "Approve a Trust Center access request, configure the grant window, and start the NDA or access email workflow." } }, "x-speakeasy-mcp": { - "name": "soa-save-answer" + "name": "approve-request" } } }, - "/v1/soa/auto-fill": { + "/v1/trust-access/admin/requests/{id}/deny": { "post": { - "description": "Auto-fill a Statement of Applicability draft using organization context and framework mappings for ISO 27001 review.", - "operationId": "SOAController_autoFill_v1", - "parameters": [], + "description": "Reject a Trust Center access request with a review reason so customer security access decisions stay auditable.", + "operationId": "TrustAccessController_denyRequest_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AutoFillSOADto" + "$ref": "#/components/schemas/DenyAccessRequestDto" } } } }, "responses": { - "201": { - "description": "" + "200": { + "description": "Request denied" } }, "security": [ @@ -17587,41 +17290,32 @@ "apikey": [] } ], - "summary": "Auto-fill ISO 27001 SOA", + "summary": "Deny Trust Access request", "tags": [ - "SOA" + "Trust Access" ], "x-mint": { "metadata": { - "title": "Auto-fill ISO 27001 SOA | Comp AI API", - "sidebarTitle": "Auto-fill ISO 27001 SOA", - "description": "Auto-fill a Statement of Applicability draft using organization context and framework mappings for ISO 27001 review.", - "og:title": "Auto-fill ISO 27001 SOA | Comp AI API", - "og:description": "Auto-fill a Statement of Applicability draft using organization context and framework mappings for ISO 27001 review." + "title": "Deny Trust Access request | Comp AI API", + "sidebarTitle": "Deny Trust Access request", + "description": "Reject a Trust Center access request with a review reason so customer security access decisions stay auditable.", + "og:title": "Deny Trust Access request | Comp AI API", + "og:description": "Reject a Trust Center access request with a review reason so customer security access decisions stay auditable." } }, "x-speakeasy-mcp": { - "name": "auto-fill" + "name": "deny-request" } } }, - "/v1/soa/create-document": { - "post": { - "operationId": "SOAController_createDocument_v1", + "/v1/trust-access/admin/grants": { + "get": { + "description": "List active, expired, and revoked Trust Access grants for customer security reviews and shared compliance resources.", + "operationId": "TrustAccessController_listGrants_v1", "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateSOADocumentDto" - } - } - } - }, "responses": { "200": { - "description": "Document created successfully" + "description": "Grants retrieved" } }, "security": [ @@ -17629,42 +17323,51 @@ "apikey": [] } ], - "summary": "Create a new SOA document", + "summary": "List Trust Access grants", "tags": [ - "SOA" + "Trust Access" ], - "description": "Create a new SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "Create a new SOA document | Comp AI API", - "sidebarTitle": "Create a new SOA document", - "description": "Create a new SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", - "og:title": "Create a new SOA document | Comp AI API", - "og:description": "Create a new SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents." + "title": "List Trust Access grants | Comp AI API", + "sidebarTitle": "List Trust Access grants", + "description": "List active, expired, and revoked Trust Access grants for customer security reviews and shared compliance resources.", + "og:title": "List Trust Access grants | Comp AI API", + "og:description": "List active, expired, and revoked Trust Access grants for customer security reviews and shared compliance resources." } }, "x-speakeasy-mcp": { - "name": "create-document" + "name": "list-grants" } } }, - "/v1/soa/ensure-setup": { + "/v1/trust-access/admin/grants/{id}/revoke": { "post": { - "operationId": "SOAController_ensureSetup_v1", - "parameters": [], + "description": "Immediately revoke a Trust Access grant when a customer review ends or shared compliance access should be removed.", + "operationId": "TrustAccessController_revokeGrant_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EnsureSOASetupDto" + "$ref": "#/components/schemas/RevokeGrantDto" } } } }, "responses": { "200": { - "description": "Setup ensured" + "description": "Grant revoked" } }, "security": [ @@ -17672,42 +17375,41 @@ "apikey": [] } ], - "summary": "Ensure SOA configuration and document exist", + "summary": "Revoke Trust Access grant", "tags": [ - "SOA" + "Trust Access" ], - "description": "Ensure SOA configuration and document exist in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "Ensure SOA configuration and document exist | Comp AI API", - "sidebarTitle": "Ensure SOA configuration and document exist", - "description": "Ensure SOA configuration and document exist in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", - "og:title": "Ensure SOA configuration and document exist | Comp AI API", - "og:description": "Ensure SOA configuration and document exist in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents." + "title": "Revoke Trust Access grant | Comp AI API", + "sidebarTitle": "Revoke Trust Access grant", + "description": "Immediately revoke a Trust Access grant when a customer review ends or shared compliance access should be removed.", + "og:title": "Revoke Trust Access grant | Comp AI API", + "og:description": "Immediately revoke a Trust Access grant when a customer review ends or shared compliance access should be removed." } }, "x-speakeasy-mcp": { - "name": "ensure-setup" + "name": "revoke-grant" } } }, - "/v1/soa/get-setup": { + "/v1/trust-access/admin/grants/{id}/resend-access-email": { "post": { - "operationId": "SOAController_getSetup_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EnsureSOASetupDto" - } + "description": "Resend the access email for an active Trust Access grant so approved reviewers can reopen shared resources.", + "operationId": "TrustAccessController_resendAccessEmail_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" } } - }, + ], "responses": { "200": { - "description": "Setup returned (configuration/document may be null)" + "description": "Access email resent" } }, "security": [ @@ -17715,42 +17417,41 @@ "apikey": [] } ], - "summary": "Read SOA configuration and document without creating either", + "summary": "Resend Trust Access email", "tags": [ - "SOA" + "Trust Access" ], - "description": "Read SOA configuration and document without creating either in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "Read SOA configuration and document without | Comp AI API", - "sidebarTitle": "Read SOA configuration and document without creating either", - "description": "Read SOA configuration and document without creating either in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability.", - "og:title": "Read SOA configuration and document without | Comp AI API", - "og:description": "Read SOA configuration and document without creating either in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability." + "title": "Resend Trust Access email | Comp AI API", + "sidebarTitle": "Resend Trust Access email", + "description": "Resend the access email for an active Trust Access grant so approved reviewers can reopen shared resources.", + "og:title": "Resend Trust Access email | Comp AI API", + "og:description": "Resend the access email for an active Trust Access grant so approved reviewers can reopen shared resources." } }, "x-speakeasy-mcp": { - "name": "get-setup" + "name": "resend-access-email" } } }, - "/v1/soa/approve": { + "/v1/trust-access/admin/requests/{id}/resend-nda": { "post": { - "operationId": "SOAController_approveDocument_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApproveSOADocumentDto" - } + "description": "Resend an NDA signing email for a Trust Access request that still requires reviewer signature.", + "operationId": "TrustAccessController_resendNda_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" } } - }, + ], "responses": { "200": { - "description": "Document approved successfully" + "description": "NDA email resent" } }, "security": [ @@ -17758,42 +17459,41 @@ "apikey": [] } ], - "summary": "Approve a SOA document", + "summary": "Resend Trust Access NDA", "tags": [ - "SOA" + "Trust Access" ], - "description": "Approve a SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "Approve a SOA document | Comp AI API", - "sidebarTitle": "Approve a SOA document", - "description": "Approve a SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", - "og:title": "Approve a SOA document | Comp AI API", - "og:description": "Approve a SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents." + "title": "Resend Trust Access NDA | Comp AI API", + "sidebarTitle": "Resend Trust Access NDA", + "description": "Resend an NDA signing email for a Trust Access request that still requires reviewer signature.", + "og:title": "Resend Trust Access NDA | Comp AI API", + "og:description": "Resend an NDA signing email for a Trust Access request that still requires reviewer signature." } }, "x-speakeasy-mcp": { - "name": "approve-document" + "name": "resend-nda" } } }, - "/v1/soa/decline": { + "/v1/trust-access/admin/requests/{id}/preview-nda": { "post": { - "operationId": "SOAController_declineDocument_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeclineSOADocumentDto" - } + "description": "Generate a preview NDA PDF for a Trust Access request before the reviewer signs and receives access.", + "operationId": "TrustAccessController_previewNda_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" } } - }, + ], "responses": { "200": { - "description": "Document declined successfully" + "description": "Preview NDA generated" } }, "security": [ @@ -17801,162 +17501,201 @@ "apikey": [] } ], - "summary": "Decline a SOA document", + "summary": "Preview Trust Access NDA", "tags": [ - "SOA" + "Trust Access" ], - "description": "Decline a SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "Decline a SOA document | Comp AI API", - "sidebarTitle": "Decline a SOA document", - "description": "Decline a SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", - "og:title": "Decline a SOA document | Comp AI API", - "og:description": "Decline a SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents." + "title": "Preview Trust Access NDA | Comp AI API", + "sidebarTitle": "Preview Trust Access NDA", + "description": "Generate a preview NDA PDF for a Trust Access request before the reviewer signs and receives access.", + "og:title": "Preview Trust Access NDA | Comp AI API", + "og:description": "Generate a preview NDA PDF for a Trust Access request before the reviewer signs and receives access." } }, "x-speakeasy-mcp": { - "name": "decline-document" + "name": "preview-nda" } } }, - "/v1/soa/submit-for-approval": { + "/v1/trust-access/{friendlyUrl}/reclaim": { "post": { - "operationId": "SOAController_submitForApproval_v1", - "parameters": [], + "description": "Request a fresh Trust Access link for a reviewer who already has an active grant on a published Trust Center.", + "operationId": "TrustAccessController_reclaimAccess_v1", + "parameters": [ + { + "name": "friendlyUrl", + "required": true, + "in": "path", + "description": "Trust Portal friendly URL or Organization ID", + "schema": { + "type": "string" + } + }, + { + "name": "query", + "required": false, + "in": "query", + "description": "Query parameter to append to the access link (e.g., security-questionnaire)", + "schema": { + "example": "security-questionnaire", + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SubmitSOAForApprovalDto" + "$ref": "#/components/schemas/ReclaimAccessDto" } } } }, "responses": { "200": { - "description": "Document submitted for approval successfully" + "description": "Access link sent to email" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Submit SOA document for approval", + "summary": "Reclaim Trust Access link", "tags": [ - "SOA" + "Trust Access" ], - "description": "Submit SOA document for approval in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "Submit SOA document for approval | Comp AI API", - "sidebarTitle": "Submit SOA document for approval", - "description": "Submit SOA document for approval in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", - "og:title": "Submit SOA document for approval | Comp AI API", - "og:description": "Submit SOA document for approval in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents." + "title": "Reclaim Trust Access link | Comp AI API", + "sidebarTitle": "Reclaim Trust Access link", + "description": "Request a fresh Trust Access link for a reviewer who already has an active grant on a published Trust Center.", + "og:title": "Reclaim Trust Access link | Comp AI API", + "og:description": "Request a fresh Trust Access link for a reviewer who already has an active grant on a published Trust Center." } }, "x-speakeasy-mcp": { - "name": "submit-for-approval" + "name": "reclaim-access" } } }, - "/v1/soa/export": { - "post": { - "operationId": "SOAController_exportDocument_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExportSOADocumentDto" - } + "/v1/trust-access/{friendlyUrl}/faqs": { + "get": { + "description": "Retrieve published Trust Center FAQs for an organization so public trust pages can show customer security answers.", + "operationId": "TrustAccessController_getFaqs_v1", + "parameters": [ + { + "name": "friendlyUrl", + "required": true, + "in": "path", + "description": "Trust Portal friendly URL or Organization ID", + "schema": { + "type": "string" } } - }, + ], "responses": { "200": { - "description": "Export SOA document to PDF" + "description": "FAQs retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "faqs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "question": { + "type": "string" + }, + "answer": { + "type": "string" + }, + "order": { + "type": "number" + } + } + }, + "nullable": true + } + } + } + } + } + }, + "404": { + "description": "Trust site not found or not published" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Export ISO 27001 SOA", + "summary": "Get Trust Center FAQs", "tags": [ - "SOA" + "Trust Access" ], - "description": "Export the approved Statement of Applicability document for ISO 27001 auditors, customer reviews, and internal records.", "x-mint": { "metadata": { - "title": "Export ISO 27001 SOA | Comp AI API", - "sidebarTitle": "Export ISO 27001 SOA", - "description": "Export the approved Statement of Applicability document for ISO 27001 auditors, customer reviews, and internal records.", - "og:title": "Export ISO 27001 SOA | Comp AI API", - "og:description": "Export the approved Statement of Applicability document for ISO 27001 auditors, customer reviews, and internal records." + "title": "Get Trust Center FAQs | Comp AI API", + "sidebarTitle": "Get Trust Center FAQs", + "description": "Retrieve published Trust Center FAQs for an organization so public trust pages can show customer security answers.", + "og:title": "Get Trust Center FAQs | Comp AI API", + "og:description": "Retrieve published Trust Center FAQs for an organization so public trust pages can show customer security answers." } }, "x-speakeasy-mcp": { - "name": "export-document" + "name": "get-faqs" } } }, - "/v1/isms/ensure-setup": { - "post": { - "operationId": "IsmsController_ensureSetup_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EnsureIsmsSetupDto" - } + "/v1/trust-access/{friendlyUrl}/overview": { + "get": { + "description": "Retrieve the published Trust Center overview for an organization, including public security posture messaging.", + "operationId": "TrustAccessController_getPublicOverview_v1", + "parameters": [ + { + "name": "friendlyUrl", + "required": true, + "in": "path", + "description": "Trust Portal friendly URL or Organization ID", + "schema": { + "type": "string" } } - }, + ], "responses": { "200": { - "description": "Setup ensured" + "description": "Overview retrieved successfully" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Ensure ISMS foundational documents exist", + "summary": "Get Trust Center overview", "tags": [ - "ISMS" + "Trust Access" ], - "description": "Ensure ISMS foundational documents exist in Comp AI.", "x-mint": { "metadata": { - "title": "Ensure ISMS foundational documents exist | Comp AI API", - "sidebarTitle": "Ensure ISMS foundational documents exist", - "description": "Ensure ISMS foundational documents exist in Comp AI.", - "og:title": "Ensure ISMS foundational documents exist | Comp AI API", - "og:description": "Ensure ISMS foundational documents exist in Comp AI." + "title": "Get Trust Center overview | Comp AI API", + "sidebarTitle": "Get Trust Center overview", + "description": "Retrieve the published Trust Center overview for an organization, including public security posture messaging.", + "og:title": "Get Trust Center overview | Comp AI API", + "og:description": "Retrieve the published Trust Center overview for an organization, including public security posture messaging." } }, "x-speakeasy-mcp": { - "name": "isms-ensure-setup" + "name": "get-public-overview" } } }, - "/v1/isms/documents/{id}": { + "/v1/trust-access/{friendlyUrl}/security-questionnaire": { "get": { - "operationId": "IsmsController_getDocument_v1", + "description": "Whether the org offers the AI-assisted Security Questionnaire on its public trust portal. Defaults to enabled when the portal can't be resolved.", + "operationId": "TrustAccessController_getPublicSecurityQuestionnaire_v1", "parameters": [ { - "name": "id", + "name": "friendlyUrl", "required": true, "in": "path", + "description": "Trust Portal friendly URL or Organization ID", "schema": { "type": "string" } @@ -17964,101 +17703,87 @@ ], "responses": { "200": { - "description": "ISMS document" + "description": "Security Questionnaire visibility retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + } + } + } } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Get an ISMS document with its latest version", + "summary": "Get Security Questionnaire visibility for a trust portal", "tags": [ - "ISMS" + "Trust Access" ], - "description": "Get an ISMS document with its latest version in Comp AI.", "x-mint": { "metadata": { - "title": "Get an ISMS document with its latest version | Comp AI API", - "sidebarTitle": "Get an ISMS document with its latest version", - "description": "Get an ISMS document with its latest version in Comp AI.", - "og:title": "Get an ISMS document with its latest version | Comp AI API", - "og:description": "Get an ISMS document with its latest version in Comp AI." + "title": "Get Security Questionnaire visibility for a | Comp AI API", + "sidebarTitle": "Get Security Questionnaire visibility for a trust portal", + "description": "Whether the org offers the AI-assisted Security Questionnaire on its public trust portal. Defaults to enabled when the portal can't be resolved.", + "og:title": "Get Security Questionnaire visibility for a | Comp AI API", + "og:description": "Whether the org offers the AI-assisted Security Questionnaire on its public trust portal. Defaults to enabled when the portal can't be resolved." } }, "x-speakeasy-mcp": { - "name": "get-document" + "name": "get-public-security-questionnaire" } } }, - "/v1/isms/documents/{id}/controls": { - "post": { - "operationId": "IsmsController_addControls_v1", + "/v1/trust-access/{friendlyUrl}/custom-links": { + "get": { + "description": "List published custom links shown on an organization Trust Center for customer security and compliance reviews.", + "operationId": "TrustAccessController_getPublicCustomLinks_v1", "parameters": [ { - "name": "id", + "name": "friendlyUrl", "required": true, "in": "path", + "description": "Trust Portal friendly URL or Organization ID", "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LinkIsmsControlsDto" - } - } - } - }, + ], "responses": { "200": { - "description": "Controls linked" + "description": "Custom links retrieved successfully" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Map organization controls to an ISMS document", + "summary": "List Trust Center custom links", "tags": [ - "ISMS" + "Trust Access" ], - "description": "Map organization controls to an ISMS document in Comp AI.", "x-mint": { "metadata": { - "title": "Map organization controls to an ISMS document | Comp AI API", - "sidebarTitle": "Map organization controls to an ISMS document", - "description": "Map organization controls to an ISMS document in Comp AI.", - "og:title": "Map organization controls to an ISMS document | Comp AI API", - "og:description": "Map organization controls to an ISMS document in Comp AI." + "title": "List Trust Center custom links | Comp AI API", + "sidebarTitle": "List Trust Center custom links", + "description": "List published custom links shown on an organization Trust Center for customer security and compliance reviews.", + "og:title": "List Trust Center custom links | Comp AI API", + "og:description": "List published custom links shown on an organization Trust Center for customer security and compliance reviews." } }, "x-speakeasy-mcp": { - "name": "add-controls" + "name": "get-public-custom-links" } } }, - "/v1/isms/documents/{id}/controls/{controlId}": { - "delete": { - "operationId": "IsmsController_removeControl_v1", + "/v1/trust-access/{friendlyUrl}/favicon": { + "get": { + "description": "Retrieve the favicon URL used by a published Trust Center so embedded or mirrored experiences can match branding.", + "operationId": "TrustAccessController_getPublicFavicon_v1", "parameters": [ { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "controlId", + "name": "friendlyUrl", "required": true, "in": "path", + "description": "Trust Portal friendly URL or Organization ID", "schema": { "type": "string" } @@ -18066,41 +17791,51 @@ ], "responses": { "200": { - "description": "Control unlinked" + "description": "Favicon URL retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "faviconUrl": { + "type": "string", + "nullable": true, + "description": "Signed URL to the favicon, or null if not set" + } + } + } + } + } } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Remove a control mapping from an ISMS document", + "summary": "Get Trust Center favicon", "tags": [ - "ISMS" + "Trust Access" ], - "description": "Remove a control mapping from an ISMS document in Comp AI.", "x-mint": { "metadata": { - "title": "Remove a control mapping from an ISMS document | Comp AI API", - "sidebarTitle": "Remove a control mapping from an ISMS document", - "description": "Remove a control mapping from an ISMS document in Comp AI.", - "og:title": "Remove a control mapping from an ISMS document | Comp AI API", - "og:description": "Remove a control mapping from an ISMS document in Comp AI." + "title": "Get Trust Center favicon | Comp AI API", + "sidebarTitle": "Get Trust Center favicon", + "description": "Retrieve the favicon URL used by a published Trust Center so embedded or mirrored experiences can match branding.", + "og:title": "Get Trust Center favicon | Comp AI API", + "og:description": "Retrieve the favicon URL used by a published Trust Center so embedded or mirrored experiences can match branding." } }, "x-speakeasy-mcp": { - "name": "remove-control" + "name": "get-public-favicon" } } }, - "/v1/isms/documents/{id}/generate": { - "post": { - "operationId": "IsmsController_generate_v1", + "/v1/trust-access/{friendlyUrl}/vendors": { + "get": { + "description": "List published vendors and subprocessors for an organization Trust Center so reviewers can inspect third-party posture.", + "operationId": "TrustAccessController_getPublicVendors_v1", "parameters": [ { - "name": "id", + "name": "friendlyUrl", "required": true, "in": "path", + "description": "Trust Portal friendly URL or Organization ID", "schema": { "type": "string" } @@ -18108,177 +17843,189 @@ ], "responses": { "200": { - "description": "Document with derived issues" + "description": "Vendors retrieved successfully" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Derive Context-of-the-Organization issues", + "summary": "List Trust Center vendors", "tags": [ - "ISMS" + "Trust Access" ], - "description": "Derive Context-of-the-Organization issues in Comp AI.", "x-mint": { "metadata": { - "title": "Derive Context-of-the-Organization issues | Comp AI API", - "sidebarTitle": "Derive Context-of-the-Organization issues", - "description": "Derive Context-of-the-Organization issues in Comp AI.", - "og:title": "Derive Context-of-the-Organization issues | Comp AI API", - "og:description": "Derive Context-of-the-Organization issues in Comp AI." + "title": "List Trust Center vendors | Comp AI API", + "sidebarTitle": "List Trust Center vendors", + "description": "List published vendors and subprocessors for an organization Trust Center so reviewers can inspect third-party posture.", + "og:title": "List Trust Center vendors | Comp AI API", + "og:description": "List published vendors and subprocessors for an organization Trust Center so reviewers can inspect third-party posture." } }, "x-speakeasy-mcp": { - "name": "generate" + "name": "get-public-vendors" } } }, - "/v1/isms/documents/{id}/submit-for-approval": { - "post": { - "operationId": "IsmsController_submitForApproval_v1", + "/v1/trust-access/{friendlyUrl}/custom-frameworks": { + "get": { + "description": "Get org-authored custom frameworks shown on a trust portal in Comp AI. Manage external Trust Center access requests, NDA signing, grants, tokenized document downloads, public FAQs, and reviewer access.", + "operationId": "TrustAccessController_getPublicCustomFrameworks_v1", "parameters": [ { - "name": "id", + "name": "friendlyUrl", "required": true, "in": "path", + "description": "Trust Portal friendly URL or Organization ID", "schema": { "type": "string" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SubmitIsmsForApprovalDto" - } - } - } - }, "responses": { "200": { - "description": "Document submitted for approval" + "description": "Custom frameworks retrieved successfully" } }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Submit an ISMS document for approval", + "summary": "Get org-authored custom frameworks shown on a trust portal", "tags": [ - "ISMS" + "Trust Access" ], - "description": "Submit an ISMS document for approval in Comp AI.", "x-mint": { "metadata": { - "title": "Submit an ISMS document for approval | Comp AI API", - "sidebarTitle": "Submit an ISMS document for approval", - "description": "Submit an ISMS document for approval in Comp AI.", - "og:title": "Submit an ISMS document for approval | Comp AI API", - "og:description": "Submit an ISMS document for approval in Comp AI." + "title": "Get org-authored custom frameworks shown on a | Comp AI API", + "sidebarTitle": "Get org-authored custom frameworks shown on a trust portal", + "description": "Get org-authored custom frameworks shown on a trust portal in Comp AI. Manage external Trust Center access requests, NDA signing, grants, tokenized document.", + "og:title": "Get org-authored custom frameworks shown on a | Comp AI API", + "og:description": "Get org-authored custom frameworks shown on a trust portal in Comp AI. Manage external Trust Center access requests, NDA signing, grants, tokenized document." } }, "x-speakeasy-mcp": { - "name": "isms-submit-for-approval" + "name": "get-public-custom-frameworks" } } }, - "/v1/isms/documents/{id}/approve": { - "post": { - "operationId": "IsmsController_approve_v1", + "/v1/findings": { + "get": { + "operationId": "FindingsController_listFindings_v1", "parameters": [ { - "name": "id", - "required": true, - "in": "path", + "name": "status", + "required": false, + "in": "query", + "schema": { + "enum": [ + "open", + "ready_for_review", + "needs_revision", + "closed" + ], + "type": "string" + } + }, + { + "name": "severity", + "required": false, + "in": "query", + "schema": { + "enum": [ + "low", + "medium", + "high", + "critical" + ], + "type": "string" + } + }, + { + "name": "area", + "required": false, + "in": "query", + "schema": { + "enum": [ + "people", + "documents", + "compliance", + "risks", + "vendors", + "policies", + "other" + ], + "type": "string" + } + }, + { + "name": "taskId", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "evidenceSubmissionId", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "evidenceFormType", + "required": false, + "in": "query", + "schema": { + "enum": [ + "board-meeting", + "it-leadership-meeting", + "risk-committee-meeting", + "meeting", + "access-request", + "whistleblower-report", + "penetration-test", + "rbac-matrix", + "infrastructure-inventory", + "employee-performance-evaluation", + "network-diagram", + "tabletop-exercise", + "account-types" + ], + "type": "string" + } + }, + { + "name": "policyId", + "required": false, + "in": "query", "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Document approved" - } - }, - "security": [ + }, { - "apikey": [] - } - ], - "summary": "Approve an ISMS document", - "tags": [ - "ISMS" - ], - "description": "Approve an ISMS document in Comp AI.", - "x-mint": { - "metadata": { - "title": "Approve an ISMS document | Comp AI API", - "sidebarTitle": "Approve an ISMS document", - "description": "Approve an ISMS document in Comp AI.", - "og:title": "Approve an ISMS document | Comp AI API", - "og:description": "Approve an ISMS document in Comp AI." - } - }, - "x-speakeasy-mcp": { - "name": "approve" - } - } - }, - "/v1/isms/documents/{id}/decline": { - "post": { - "operationId": "IsmsController_decline_v1", - "parameters": [ + "name": "vendorId", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + }, { - "name": "id", - "required": true, - "in": "path", + "name": "riskId", + "required": false, + "in": "query", "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "Document declined" - } - }, - "security": [ + }, { - "apikey": [] - } - ], - "summary": "Decline an ISMS document", - "tags": [ - "ISMS" - ], - "description": "Decline an ISMS document in Comp AI.", - "x-mint": { - "metadata": { - "title": "Decline an ISMS document | Comp AI API", - "sidebarTitle": "Decline an ISMS document", - "description": "Decline an ISMS document in Comp AI.", - "og:title": "Decline an ISMS document | Comp AI API", - "og:description": "Decline an ISMS document in Comp AI." - } - }, - "x-speakeasy-mcp": { - "name": "decline" - } - } - }, - "/v1/isms/documents/{id}/drift": { - "get": { - "operationId": "IsmsController_drift_v1", - "parameters": [ + "name": "memberId", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + }, { - "name": "id", - "required": true, - "in": "path", + "name": "deviceId", + "required": false, + "in": "query", "schema": { "type": "string" } @@ -18286,7 +18033,7 @@ ], "responses": { "200": { - "description": "Drift status" + "description": "" } }, "security": [ @@ -18294,51 +18041,40 @@ "apikey": [] } ], - "summary": "Detect drift against the approved snapshot", + "summary": "List audit findings", "tags": [ - "ISMS" + "Findings" ], - "description": "Detect drift against the approved snapshot in Comp AI.", + "description": "List audit findings with status, severity, owner, history, and remediation context for compliance review workflows.", "x-mint": { "metadata": { - "title": "Detect drift against the approved snapshot | Comp AI API", - "sidebarTitle": "Detect drift against the approved snapshot", - "description": "Detect drift against the approved snapshot in Comp AI.", - "og:title": "Detect drift against the approved snapshot | Comp AI API", - "og:description": "Detect drift against the approved snapshot in Comp AI." + "title": "List audit findings | Comp AI API", + "sidebarTitle": "List audit findings", + "description": "List audit findings with status, severity, owner, history, and remediation context for compliance review workflows.", + "og:title": "List audit findings | Comp AI API", + "og:description": "List audit findings with status, severity, owner, history, and remediation context for compliance review workflows." } }, "x-speakeasy-mcp": { - "name": "drift" + "name": "list-findings" } - } - }, - "/v1/isms/documents/{id}/export": { + }, "post": { - "operationId": "IsmsController_exportDocument_v1", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], + "operationId": "FindingsController_createFinding_v1", + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ExportIsmsDocumentDto" + "$ref": "#/components/schemas/CreateFindingDto" } } } }, "responses": { - "200": { - "description": "Rendered document" + "201": { + "description": "" } }, "security": [ @@ -18346,127 +18082,47 @@ "apikey": [] } ], - "summary": "Export an ISMS document as PDF or DOCX", + "summary": "Create audit finding", "tags": [ - "ISMS" - ], - "description": "Export an ISMS document as PDF or DOCX in Comp AI.", - "x-mint": { - "metadata": { - "title": "Export an ISMS document as PDF or DOCX | Comp AI API", - "sidebarTitle": "Export an ISMS document as PDF or DOCX", - "description": "Export an ISMS document as PDF or DOCX in Comp AI.", - "og:title": "Export an ISMS document as PDF or DOCX | Comp AI API", - "og:description": "Export an ISMS document as PDF or DOCX in Comp AI." - } - }, - "x-speakeasy-mcp": { - "name": "isms-export-document" - } - } - }, - "/v1/isms/documents/{id}/registers/{register}": { - "post": { - "operationId": "IsmsRegistersController_createRow_v1", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "register", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } + "Findings" ], - "requestBody": { - "required": true, - "description": "Register row fields (per-register; validated at runtime by zod)", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "internal", - "external" - ] - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "effect": { - "type": "string" - }, - "name": { - "type": "string" - }, - "needsExpectations": { - "type": "string" - }, - "interestedPartyId": { - "type": "string" - }, - "partyName": { - "type": "string" - }, - "requirement": { - "type": "string" - }, - "treatment": { - "type": "string" - }, - "objective": { - "type": "string" - }, - "target": { - "type": "string" - }, - "ownerMemberId": { - "type": "string" - }, - "cadence": { - "type": "string" - }, - "plan": { - "type": "string" - }, - "measurementMethod": { - "type": "string" - }, - "status": { - "type": "string", - "enum": [ - "not_started", - "on_track", - "at_risk", - "met" - ] - }, - "position": { - "type": "integer", - "minimum": 0 - } - } - } - } + "description": "Create an audit finding so teams can track issue ownership, remediation activity, severity, and supporting evidence.", + "x-mint": { + "metadata": { + "title": "Create audit finding | Comp AI API", + "sidebarTitle": "Create audit finding", + "description": "Create an audit finding so teams can track issue ownership, remediation activity, severity, and supporting evidence.", + "og:title": "Create audit finding | Comp AI API", + "og:description": "Create an audit finding so teams can track issue ownership, remediation activity, severity, and supporting evidence." } }, + "x-speakeasy-mcp": { + "name": "create-finding" + } + } + }, + "/v1/findings/organization": { + "get": { + "operationId": "FindingsController_getOrganizationFindings_v1", + "parameters": [ + { + "name": "status", + "required": false, + "in": "query", + "schema": { + "enum": [ + "open", + "ready_for_review", + "needs_revision", + "closed" + ], + "type": "string" + } + } + ], "responses": { "200": { - "description": "Register row created" + "description": "" } }, "security": [ @@ -18474,127 +18130,42 @@ "apikey": [] } ], - "summary": "Create a row in an ISMS register", + "summary": "List all findings for the organization", "tags": [ - "ISMS" + "Findings" ], - "description": "Create a row in an ISMS register in Comp AI.", + "description": "List all findings for the organization in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization.", "x-mint": { "metadata": { - "title": "Create a row in an ISMS register | Comp AI API", - "sidebarTitle": "Create a row in an ISMS register", - "description": "Create a row in an ISMS register in Comp AI.", - "og:title": "Create a row in an ISMS register | Comp AI API", - "og:description": "Create a row in an ISMS register in Comp AI." + "title": "List all findings for the organization | Comp AI API", + "sidebarTitle": "List all findings for the organization", + "description": "List all findings for the organization in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an.", + "og:title": "List all findings for the organization | Comp AI API", + "og:description": "List all findings for the organization in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an." } }, "x-speakeasy-mcp": { - "name": "create-row" + "name": "get-organization-findings" } } }, - "/v1/isms/registers/{register}/{rowId}": { - "patch": { - "operationId": "IsmsRegistersController_updateRow_v1", + "/v1/findings/{id}": { + "get": { + "operationId": "FindingsController_getFindingById_v1", "parameters": [ { - "name": "register", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "rowId", + "name": "id", "required": true, "in": "path", + "description": "Finding ID", "schema": { "type": "string" } } ], - "requestBody": { - "required": true, - "description": "Register row fields (per-register; validated at runtime by zod)", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "internal", - "external" - ] - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "effect": { - "type": "string" - }, - "name": { - "type": "string" - }, - "needsExpectations": { - "type": "string" - }, - "interestedPartyId": { - "type": "string" - }, - "partyName": { - "type": "string" - }, - "requirement": { - "type": "string" - }, - "treatment": { - "type": "string" - }, - "objective": { - "type": "string" - }, - "target": { - "type": "string" - }, - "ownerMemberId": { - "type": "string" - }, - "cadence": { - "type": "string" - }, - "plan": { - "type": "string" - }, - "measurementMethod": { - "type": "string" - }, - "status": { - "type": "string", - "enum": [ - "not_started", - "on_track", - "at_risk", - "met" - ] - }, - "position": { - "type": "integer", - "minimum": 0 - } - } - } - } - } - }, "responses": { "200": { - "description": "Register row updated" + "description": "" } }, "security": [ @@ -18602,47 +18173,50 @@ "apikey": [] } ], - "summary": "Update a row in an ISMS register", + "summary": "Get finding by ID", "tags": [ - "ISMS" + "Findings" ], - "description": "Update a row in an ISMS register in Comp AI.", + "description": "Get finding by ID in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization.", "x-mint": { "metadata": { - "title": "Update a row in an ISMS register | Comp AI API", - "sidebarTitle": "Update a row in an ISMS register", - "description": "Update a row in an ISMS register in Comp AI.", - "og:title": "Update a row in an ISMS register | Comp AI API", - "og:description": "Update a row in an ISMS register in Comp AI." + "title": "Get finding by ID | Comp AI API", + "sidebarTitle": "Get finding by ID", + "description": "Get finding by ID in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization.", + "og:title": "Get finding by ID | Comp AI API", + "og:description": "Get finding by ID in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization." } }, "x-speakeasy-mcp": { - "name": "update-row" + "name": "get-finding-by-id" } }, - "delete": { - "operationId": "IsmsRegistersController_deleteRow_v1", + "patch": { + "operationId": "FindingsController_updateFinding_v1", "parameters": [ { - "name": "register", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "rowId", + "name": "id", "required": true, "in": "path", + "description": "Finding ID", "schema": { "type": "string" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateFindingDto" + } + } + } + }, "responses": { "200": { - "description": "Register row deleted" + "description": "" } }, "security": [ @@ -18650,62 +18224,40 @@ "apikey": [] } ], - "summary": "Delete a row in an ISMS register", + "summary": "Update a finding (status transition rules apply)", "tags": [ - "ISMS" + "Findings" ], - "description": "Delete a row in an ISMS register in Comp AI.", + "description": "Update a finding (status transition rules apply) in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization.", "x-mint": { "metadata": { - "title": "Delete a row in an ISMS register | Comp AI API", - "sidebarTitle": "Delete a row in an ISMS register", - "description": "Delete a row in an ISMS register in Comp AI.", - "og:title": "Delete a row in an ISMS register | Comp AI API", - "og:description": "Delete a row in an ISMS register in Comp AI." + "title": "Update a finding (status transition rules | Comp AI API", + "sidebarTitle": "Update a finding (status transition rules apply)", + "description": "Update a finding (status transition rules apply) in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history.", + "og:title": "Update a finding (status transition rules | Comp AI API", + "og:description": "Update a finding (status transition rules apply) in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history." } }, "x-speakeasy-mcp": { - "name": "delete-row" + "name": "update-finding" } - } - }, - "/v1/isms/documents/{id}/narrative": { - "post": { - "operationId": "IsmsRegistersController_saveNarrative_v1", + }, + "delete": { + "operationId": "FindingsController_deleteFinding_v1", "parameters": [ { "name": "id", "required": true, "in": "path", + "description": "Finding ID", "schema": { "type": "string" } } ], - "requestBody": { - "required": true, - "description": "Singleton document narrative payload", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "narrative": { - "type": "object", - "description": "Per-type narrative object (e.g. ISMS scope or leadership commitment), validated at runtime by zod", - "additionalProperties": true - } - }, - "required": [ - "narrative" - ] - } - } - } - }, "responses": { "200": { - "description": "Narrative saved" + "description": "" } }, "security": [ @@ -18713,33 +18265,34 @@ "apikey": [] } ], - "summary": "Save a singleton document narrative", + "summary": "Delete a finding (auditor or platform admin only)", "tags": [ - "ISMS" + "Findings" ], - "description": "Save a singleton document narrative in Comp AI.", + "description": "Delete a finding (auditor or platform admin only) in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization.", "x-mint": { "metadata": { - "title": "Save a singleton document narrative | Comp AI API", - "sidebarTitle": "Save a singleton document narrative", - "description": "Save a singleton document narrative in Comp AI.", - "og:title": "Save a singleton document narrative | Comp AI API", - "og:description": "Save a singleton document narrative in Comp AI." + "title": "Delete a finding (auditor or platform admin | Comp AI API", + "sidebarTitle": "Delete a finding (auditor or platform admin only)", + "description": "Delete a finding (auditor or platform admin only) in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history.", + "og:title": "Delete a finding (auditor or platform admin | Comp AI API", + "og:description": "Delete a finding (auditor or platform admin only) in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history." } }, "x-speakeasy-mcp": { - "name": "save-narrative" + "name": "delete-finding" } } }, - "/v1/isms/profile": { + "/v1/findings/{id}/history": { "get": { - "operationId": "IsmsProfileController_getProfile_v1", + "operationId": "FindingsController_getFindingHistory_v1", "parameters": [ { - "name": "frameworkId", + "name": "id", "required": true, - "in": "query", + "in": "path", + "description": "Finding ID", "schema": { "type": "string" } @@ -18747,7 +18300,7 @@ ], "responses": { "200": { - "description": "Wizard profile, defaults and member options" + "description": "" } }, "security": [ @@ -18755,59 +18308,178 @@ "apikey": [] } ], - "summary": "Get the ISMS wizard profile, defaults and members", + "summary": "Get activity history for a finding", "tags": [ - "ISMS" + "Findings" ], - "description": "Get the ISMS wizard profile, defaults and members in Comp AI.", + "description": "Get activity history for a finding in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an organization.", "x-mint": { "metadata": { - "title": "Get the ISMS wizard profile, defaults and | Comp AI API", - "sidebarTitle": "Get the ISMS wizard profile, defaults and members", - "description": "Get the ISMS wizard profile, defaults and members in Comp AI.", - "og:title": "Get the ISMS wizard profile, defaults and | Comp AI API", - "og:description": "Get the ISMS wizard profile, defaults and members in Comp AI." + "title": "Get activity history for a finding | Comp AI API", + "sidebarTitle": "Get activity history for a finding", + "description": "Get activity history for a finding in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an.", + "og:title": "Get activity history for a finding | Comp AI API", + "og:description": "Get activity history for a finding in Comp AI. Create, review, update, and track audit findings, remediation activity, and finding history for an." } }, "x-speakeasy-mcp": { - "name": "get-profile" + "name": "get-finding-history" } - }, + } + }, + "/v1/roles": { "post": { - "operationId": "IsmsProfileController_saveProfile_v1", + "description": "Create a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", + "operationId": "RolesController_createRole_v1", "parameters": [], "requestBody": { "required": true, - "description": "Partial ISMS wizard answers (validated at runtime by zod)", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "frameworkId": { - "type": "string" - }, - "answers": { - "type": "object", - "description": "Deeply-partial wizard answers (any subset of the wizard steps)", - "additionalProperties": true - }, - "complete": { - "type": "boolean", - "description": "Whether the wizard is being finalized" + "$ref": "#/components/schemas/CreateRoleDto" + } + } + } + }, + "responses": { + "201": { + "description": "Role created successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "rol_abc123" + }, + "name": { + "type": "string", + "example": "compliance-lead" + }, + "permissions": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "isBuiltIn": { + "type": "boolean", + "example": false + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + } } - }, - "required": [ - "frameworkId", - "answers" - ] + } } } + }, + "400": { + "description": "Invalid role data or role already exists" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden - cannot grant permissions you do not have" + } + }, + "security": [ + { + "apikey": [] + } + ], + "summary": "Create a custom role", + "tags": [ + "Roles" + ], + "x-mint": { + "metadata": { + "title": "Create a custom role | Comp AI API", + "sidebarTitle": "Create a custom role", + "description": "Create a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", + "og:title": "Create a custom role | Comp AI API", + "og:description": "Create a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control." } }, + "x-speakeasy-mcp": { + "name": "create-role" + } + }, + "get": { + "description": "List all roles in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", + "operationId": "RolesController_listRoles_v1", + "parameters": [], "responses": { "200": { - "description": "Saved profile" + "description": "List of roles", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "builtInRoles": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "isBuiltIn": { + "type": "boolean" + }, + "description": { + "type": "string" + } + } + } + }, + "customRoles": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permissions": { + "type": "object" + }, + "isBuiltIn": { + "type": "boolean" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + } + } + } + } + } + } + } + } + }, + "401": { + "description": "Unauthorized" } }, "security": [ @@ -18815,42 +18487,62 @@ "apikey": [] } ], - "summary": "Save (partial) ISMS wizard answers", + "summary": "List all roles", "tags": [ - "ISMS" + "Roles" ], - "description": "Save (partial) ISMS wizard answers in Comp AI.", "x-mint": { "metadata": { - "title": "Save (partial) ISMS wizard answers | Comp AI API", - "sidebarTitle": "Save (partial) ISMS wizard answers", - "description": "Save (partial) ISMS wizard answers in Comp AI.", - "og:title": "Save (partial) ISMS wizard answers | Comp AI API", - "og:description": "Save (partial) ISMS wizard answers in Comp AI." + "title": "List all roles | Comp AI API", + "sidebarTitle": "List all roles", + "description": "List all roles in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", + "og:title": "List all roles | Comp AI API", + "og:description": "List all roles in Comp AI. Create custom roles and resolve permission sets for organization-level access control." } }, "x-speakeasy-mcp": { - "name": "save-profile" + "name": "list-roles" } } }, - "/v1/isms/generate-all": { - "post": { - "operationId": "IsmsProfileController_generateAll_v1", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateAllDto" - } + "/v1/roles/permissions": { + "get": { + "description": "Returns the merged permissions for the given custom role names. Used by the frontend to resolve effective permissions for users with custom roles.", + "operationId": "RolesController_getPermissionsForRoles_v1", + "parameters": [ + { + "name": "roles", + "required": true, + "in": "query", + "schema": { + "type": "string" } } - }, + ], "responses": { "200": { - "description": "Regenerated ISMS documents" + "description": "Merged permissions for the requested roles", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "permissions": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + }, + "401": { + "description": "Unauthorized" } }, "security": [ @@ -18858,41 +18550,63 @@ "apikey": [] } ], - "summary": "Ensure and regenerate all ISMS documents", + "summary": "Resolve permissions for custom roles", "tags": [ - "ISMS" + "Roles" ], - "description": "Ensure and regenerate all ISMS documents in Comp AI.", "x-mint": { "metadata": { - "title": "Ensure and regenerate all ISMS documents | Comp AI API", - "sidebarTitle": "Ensure and regenerate all ISMS documents", - "description": "Ensure and regenerate all ISMS documents in Comp AI.", - "og:title": "Ensure and regenerate all ISMS documents | Comp AI API", - "og:description": "Ensure and regenerate all ISMS documents in Comp AI." + "title": "Resolve permissions for custom roles | Comp AI API", + "sidebarTitle": "Resolve permissions for custom roles", + "description": "Returns the merged permissions for the given custom role names. Used by the frontend to resolve effective permissions for users with custom roles.", + "og:title": "Resolve permissions for custom roles | Comp AI API", + "og:description": "Returns the merged permissions for the given custom role names. Used by the frontend to resolve effective permissions for users with custom roles." } }, "x-speakeasy-mcp": { - "name": "generate-all" + "name": "get-permissions-for-roles" } } }, - "/v1/integrations/connections/providers": { + "/v1/roles/built-in/{name}/obligations": { "get": { - "operationId": "ConnectionsController_listProviders_v1", + "description": "Returns the effective obligations for a built-in role (owner, admin, auditor, employee, contractor) — DB override if present, else the hardcoded default.", + "operationId": "RolesController_getBuiltInObligations_v1", "parameters": [ { - "name": "activeOnly", + "name": "name", "required": true, - "in": "query", + "in": "path", + "description": "Built-in role name", "schema": { + "example": "owner", "type": "string" } } ], "responses": { "200": { - "description": "" + "description": "Effective obligations for the built-in role", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "obligations": { + "type": "object", + "properties": { + "compliance": { + "type": "boolean" + } + } + } + } + } + } + } } }, "security": [ @@ -18900,41 +18614,74 @@ "apikey": [] } ], - "summary": "List integration providers", + "summary": "Get obligations for a built-in role", "tags": [ - "Integrations" + "Roles" ], - "description": "List available integration providers that can connect to the organization for automated evidence collection and compliance checks.", "x-mint": { "metadata": { - "title": "List integration providers | Comp AI API", - "sidebarTitle": "List integration providers", - "description": "List available integration providers that can connect to the organization for automated evidence collection and compliance checks.", - "og:title": "List integration providers | Comp AI API", - "og:description": "List available integration providers that can connect to the organization for automated evidence collection and compliance checks." + "title": "Get obligations for a built-in role | Comp AI API", + "sidebarTitle": "Get obligations for a built-in role", + "description": "Returns the effective obligations for a built-in role (owner, admin, auditor, employee, contractor) — DB override if present, else the hardcoded default.", + "og:title": "Get obligations for a built-in role | Comp AI API", + "og:description": "Returns the effective obligations for a built-in role (owner, admin, auditor, employee, contractor) — DB override if present, else the hardcoded default." } }, "x-speakeasy-mcp": { - "name": "list-providers" + "name": "get-built-in-obligations" } - } - }, - "/v1/integrations/connections/providers/{slug}": { - "get": { - "operationId": "ConnectionsController_getProvider_v1", + }, + "patch": { + "description": "Override the obligations for a built-in role (e.g., turn off the compliance obligation for owners). Permissions stay sourced from the hardcoded defaults.", + "operationId": "RolesController_updateBuiltInObligations_v1", "parameters": [ { - "name": "slug", + "name": "name", "required": true, "in": "path", + "description": "Built-in role name", "schema": { + "example": "owner", "type": "string" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateBuiltInObligationsDto" + } + } + } + }, "responses": { "200": { - "description": "" + "description": "Obligations updated", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "obligations": { + "type": "object", + "properties": { + "compliance": { + "type": "boolean" + } + } + } + } + } + } + } + }, + "400": { + "description": "Not a built-in role" } }, "security": [ @@ -18942,32 +18689,78 @@ "apikey": [] } ], - "summary": "Get an integration provider by slug", + "summary": "Update obligations for a built-in role", "tags": [ - "Integrations" + "Roles" ], - "description": "Get an integration provider by slug in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Get an integration provider by slug | Comp AI API", - "sidebarTitle": "Get an integration provider by slug", - "description": "Get an integration provider by slug in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Get an integration provider by slug | Comp AI API", - "og:description": "Get an integration provider by slug in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Update obligations for a built-in role | Comp AI API", + "sidebarTitle": "Update obligations for a built-in role", + "description": "Override the obligations for a built-in role (e.g., turn off the compliance obligation for owners). Permissions stay sourced from the hardcoded defaults.", + "og:title": "Update obligations for a built-in role | Comp AI API", + "og:description": "Override the obligations for a built-in role (e.g., turn off the compliance obligation for owners). Permissions stay sourced from the hardcoded defaults." } }, "x-speakeasy-mcp": { - "name": "get-provider" + "name": "update-built-in-obligations" } } }, - "/v1/integrations/connections": { + "/v1/roles/{roleId}": { "get": { - "operationId": "ConnectionsController_listConnections_v1", - "parameters": [], + "description": "Get a role by ID in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", + "operationId": "RolesController_getRole_v1", + "parameters": [ + { + "name": "roleId", + "required": true, + "in": "path", + "description": "Role ID", + "schema": { + "example": "rol_abc123", + "type": "string" + } + } + ], "responses": { "200": { - "description": "" + "description": "Role details", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permissions": { + "type": "object" + }, + "isBuiltIn": { + "type": "boolean" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + } + } + } + } + } + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "description": "Role not found" } }, "security": [ @@ -18975,40 +18768,92 @@ "apikey": [] } ], - "summary": "List integration connections", + "summary": "Get a role by ID", "tags": [ - "Integrations" + "Roles" ], - "description": "List integration connections in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "List integration connections | Comp AI API", - "sidebarTitle": "List integration connections", - "description": "List integration connections in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "List integration connections | Comp AI API", - "og:description": "List integration connections in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Get a role by ID | Comp AI API", + "sidebarTitle": "Get a role by ID", + "description": "Get a role by ID in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", + "og:title": "Get a role by ID | Comp AI API", + "og:description": "Get a role by ID in Comp AI. Create custom roles and resolve permission sets for organization-level access control." } }, "x-speakeasy-mcp": { - "name": "list-connections" + "name": "get-role" } }, - "post": { - "operationId": "ConnectionsController_createConnection_v1", - "parameters": [], + "patch": { + "description": "Update a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", + "operationId": "RolesController_updateRole_v1", + "parameters": [ + { + "name": "roleId", + "required": true, + "in": "path", + "description": "Role ID", + "schema": { + "example": "rol_abc123", + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateConnectionDto" + "$ref": "#/components/schemas/UpdateRoleDto" + } + } + } + }, + "responses": { + "200": { + "description": "Role updated successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permissions": { + "type": "object" + }, + "isBuiltIn": { + "type": "boolean" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + } + } + } } } - } - }, - "responses": { - "201": { - "description": "" + }, + "400": { + "description": "Invalid role data" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden - cannot grant permissions you do not have" + }, + "404": { + "description": "Role not found" } }, "security": [ @@ -19016,41 +18861,65 @@ "apikey": [] } ], - "summary": "Create integration connection", + "summary": "Update a custom role", "tags": [ - "Integrations" + "Roles" ], - "description": "Create an integration connection so Comp AI can collect evidence, run checks, or sync data from a connected provider.", "x-mint": { "metadata": { - "title": "Create integration connection | Comp AI API", - "sidebarTitle": "Create integration connection", - "description": "Create an integration connection so Comp AI can collect evidence, run checks, or sync data from a connected provider.", - "og:title": "Create integration connection | Comp AI API", - "og:description": "Create an integration connection so Comp AI can collect evidence, run checks, or sync data from a connected provider." + "title": "Update a custom role | Comp AI API", + "sidebarTitle": "Update a custom role", + "description": "Update a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", + "og:title": "Update a custom role | Comp AI API", + "og:description": "Update a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control." } }, "x-speakeasy-mcp": { - "name": "create-connection" + "name": "update-role" } - } - }, - "/v1/integrations/connections/{id}": { - "get": { - "operationId": "ConnectionsController_getConnection_v1", + }, + "delete": { + "description": "Delete a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", + "operationId": "RolesController_deleteRole_v1", "parameters": [ { - "name": "id", + "name": "roleId", "required": true, "in": "path", + "description": "Role ID", "schema": { + "example": "rol_abc123", "type": "string" } } ], "responses": { "200": { - "description": "" + "description": "Role deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean" + }, + "message": { + "type": "string" + } + } + } + } + } + }, + "400": { + "description": "Cannot delete - members assigned to role" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "description": "Role not found" } }, "security": [ @@ -19058,39 +18927,31 @@ "apikey": [] } ], - "summary": "Get an integration connection by ID", + "summary": "Delete a custom role", "tags": [ - "Integrations" + "Roles" ], - "description": "Get an integration connection by ID in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Get an integration connection by ID | Comp AI API", - "sidebarTitle": "Get an integration connection by ID", - "description": "Get an integration connection by ID in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Get an integration connection by ID | Comp AI API", - "og:description": "Get an integration connection by ID in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Delete a custom role | Comp AI API", + "sidebarTitle": "Delete a custom role", + "description": "Delete a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control.", + "og:title": "Delete a custom role | Comp AI API", + "og:description": "Delete a custom role in Comp AI. Create custom roles and resolve permission sets for organization-level access control." } }, "x-speakeasy-mcp": { - "name": "get-connection" + "name": "delete-role" } - }, - "delete": { - "operationId": "ConnectionsController_deleteConnection_v1", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], + } + }, + "/v1/questionnaire": { + "get": { + "operationId": "QuestionnaireController_findAll_v1", + "parameters": [], "responses": { "200": { - "description": "" + "description": "List of questionnaires" } }, "security": [ @@ -19098,26 +18959,29 @@ "apikey": [] } ], - "summary": "Delete an integration connection", + "summary": "List security questionnaires", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "Delete an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "List saved security questionnaires for an organization so teams can track customer reviews, answer status, and response history.", "x-mint": { + "href": "/api-reference/questionnaire/list-questionnaires", "metadata": { - "title": "Delete an integration connection | Comp AI API", - "sidebarTitle": "Delete an integration connection", - "description": "Delete an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Delete an integration connection | Comp AI API", - "og:description": "Delete an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "List security questionnaires | Comp AI API", + "sidebarTitle": "List security questionnaires", + "description": "List saved security questionnaires for an organization so teams can track customer reviews, answer status, and response history.", + "og:title": "List security questionnaires | Comp AI API", + "og:description": "List saved security questionnaires for an organization so teams can track customer reviews, answer status, and response history." } }, "x-speakeasy-mcp": { - "name": "delete-connection" + "name": "questionnaire-find-all" } - }, - "patch": { - "operationId": "ConnectionsController_updateConnection_v1", + } + }, + "/v1/questionnaire/{id}": { + "get": { + "operationId": "QuestionnaireController_findById_v1", "parameters": [ { "name": "id", @@ -19128,19 +18992,9 @@ } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateConnectionDto" - } - } - } - }, "responses": { "200": { - "description": "" + "description": "Questionnaire details" } }, "security": [ @@ -19148,28 +19002,27 @@ "apikey": [] } ], - "summary": "Update an integration connection", + "summary": "Get security questionnaire details", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "Update an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Retrieve one saved security questionnaire, including extracted questions, generated answers, and review context for the requesting client.", "x-mint": { + "href": "/api-reference/questionnaire/get-a-questionnaire-by-id", "metadata": { - "title": "Update an integration connection | Comp AI API", - "sidebarTitle": "Update an integration connection", - "description": "Update an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Update an integration connection | Comp AI API", - "og:description": "Update an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Get security questionnaire details | Comp AI API", + "sidebarTitle": "Get security questionnaire details", + "description": "Retrieve one saved security questionnaire, including extracted questions, generated answers, and review context for the requesting client.", + "og:title": "Get security questionnaire details | Comp AI API", + "og:description": "Retrieve one saved security questionnaire, including extracted questions, generated answers, and review context for the requesting client." } }, "x-speakeasy-mcp": { - "name": "update-connection" + "name": "find-by-id" } - } - }, - "/v1/integrations/connections/{id}/test": { - "post": { - "operationId": "ConnectionsController_testConnection_v1", + }, + "delete": { + "operationId": "QuestionnaireController_deleteById_v1", "parameters": [ { "name": "id", @@ -19181,8 +19034,8 @@ } ], "responses": { - "201": { - "description": "" + "200": { + "description": "Questionnaire deleted" } }, "security": [ @@ -19190,28 +19043,30 @@ "apikey": [] } ], - "summary": "Test an integration connection", + "summary": "Delete a security questionnaire", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "Test an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Delete a saved security questionnaire when a customer review or vendor assessment no longer needs to be retained.", "x-mint": { + "href": "/api-reference/questionnaire/delete-a-questionnaire", "metadata": { - "title": "Test an integration connection | Comp AI API", - "sidebarTitle": "Test an integration connection", - "description": "Test an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Test an integration connection | Comp AI API", - "og:description": "Test an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Delete a security questionnaire | Comp AI API", + "sidebarTitle": "Delete a security questionnaire", + "description": "Delete a saved security questionnaire when a customer review or vendor assessment no longer needs to be retained.", + "og:title": "Delete a security questionnaire | Comp AI API", + "og:description": "Delete a saved security questionnaire when a customer review or vendor assessment no longer needs to be retained." } }, "x-speakeasy-mcp": { - "name": "test-connection" + "name": "delete-by-id" } } }, - "/v1/integrations/connections/{id}/pause": { + "/v1/questionnaire/{id}/auto-answer": { "post": { - "operationId": "ConnectionsController_pauseConnection_v1", + "description": "Starts background answer generation for an already-parsed questionnaire and returns a run handle immediately. Poll GET /v1/questionnaire/:id until answeredQuestions equals totalQuestions, then read the answers from its questions.", + "operationId": "QuestionnaireController_triggerAutoAnswer_v1", "parameters": [ { "name": "id", @@ -19223,8 +19078,15 @@ } ], "responses": { - "201": { - "description": "" + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TriggerAutoAnswerResponseDto" + } + } + } } }, "security": [ @@ -19232,41 +19094,48 @@ "apikey": [] } ], - "summary": "Pause an integration connection", + "summary": "Generate answers for a questionnaire", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "Pause an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "x-speakeasy-mcp": { + "name": "generate-questionnaire-answers" + }, "x-mint": { "metadata": { - "title": "Pause an integration connection | Comp AI API", - "sidebarTitle": "Pause an integration connection", - "description": "Pause an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Pause an integration connection | Comp AI API", - "og:description": "Pause an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Generate answers for a questionnaire | Comp AI API", + "sidebarTitle": "Generate answers for a questionnaire", + "description": "Starts background answer generation for an already-parsed questionnaire and returns a run handle immediately. Poll GET /v1/questionnaire/:id until.", + "og:title": "Generate answers for a questionnaire | Comp AI API", + "og:description": "Starts background answer generation for an already-parsed questionnaire and returns a run handle immediately. Poll GET /v1/questionnaire/:id until." } - }, - "x-speakeasy-mcp": { - "name": "pause-connection" } - } - }, - "/v1/integrations/connections/{id}/resume": { - "post": { - "operationId": "ConnectionsController_resumeConnection_v1", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" + } + }, + "/v1/questionnaire/parse": { + "post": { + "operationId": "QuestionnaireController_parseQuestionnaire_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ParseQuestionnaireDto" + } } } - ], + }, "responses": { - "201": { - "description": "" + "200": { + "description": "Parsed questionnaire content", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } } }, "security": [ @@ -19274,41 +19143,80 @@ "apikey": [] } ], - "summary": "Resume an integration connection", + "summary": "Parse questionnaire content", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "Resume an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Parse questionnaire content from a submitted payload so teams can extract security questions before generating or reviewing answers.", "x-mint": { + "href": "/api-reference/questionnaire/parse-an-uploaded-questionnaire-file", "metadata": { - "title": "Resume an integration connection | Comp AI API", - "sidebarTitle": "Resume an integration connection", - "description": "Resume an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Resume an integration connection | Comp AI API", - "og:description": "Resume an integration connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Parse questionnaire content | Comp AI API", + "sidebarTitle": "Parse questionnaire content", + "description": "Parse questionnaire content from a submitted payload so teams can extract security questions before generating or reviewing answers.", + "og:title": "Parse questionnaire content | Comp AI API", + "og:description": "Parse questionnaire content from a submitted payload so teams can extract security questions before generating or reviewing answers." } }, "x-speakeasy-mcp": { - "name": "resume-connection" + "name": "parse-questionnaire" } } }, - "/v1/integrations/connections/{id}/disconnect": { + "/v1/questionnaire/answer-single": { "post": { - "operationId": "ConnectionsController_disconnectConnection_v1", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" + "operationId": "QuestionnaireController_answerSingleQuestion_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnswerSingleQuestionDto" + } } } - ], + }, "responses": { - "201": { - "description": "" + "200": { + "description": "Generated single answer result", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean" + }, + "data": { + "type": "object", + "properties": { + "questionIndex": { + "type": "number" + }, + "question": { + "type": "string" + }, + "answer": { + "type": "string", + "nullable": true + }, + "sources": { + "type": "array", + "items": { + "type": "object" + } + }, + "error": { + "type": "string", + "nullable": true + } + } + } + } + } + } + } } }, "security": [ @@ -19316,51 +19224,59 @@ "apikey": [] } ], - "summary": "Disconnect an integration", + "summary": "Answer one questionnaire question", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "Disconnect an integration in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Generate an answer for one security questionnaire item using the organization evidence library and return source references for review.", "x-mint": { + "href": "/api-reference/questionnaire/answer-a-single-questionnaire-question", "metadata": { - "title": "Disconnect an integration | Comp AI API", - "sidebarTitle": "Disconnect an integration", - "description": "Disconnect an integration in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "Disconnect an integration | Comp AI API", - "og:description": "Disconnect an integration in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Answer one questionnaire question | Comp AI API", + "sidebarTitle": "Answer one questionnaire question", + "description": "Generate an answer for one security questionnaire item using the organization evidence library and return source references for review.", + "og:title": "Answer one questionnaire question | Comp AI API", + "og:description": "Generate an answer for one security questionnaire item using the organization evidence library and return source references for review." } }, "x-speakeasy-mcp": { - "name": "disconnect-connection" + "name": "answer-single-question" } } }, - "/v1/integrations/connections/{id}/services": { - "put": { - "operationId": "ConnectionsController_updateConnectionServices_v1", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], + "/v1/questionnaire/save-answer": { + "post": { + "operationId": "QuestionnaireController_saveAnswer_v1", + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateConnectionServicesDto" + "$ref": "#/components/schemas/SaveAnswerDto" } } } }, "responses": { "200": { - "description": "" + "description": "Save manual or generated answer", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean" + }, + "error": { + "type": "string", + "nullable": true + } + } + } + } + } } }, "security": [ @@ -19368,39 +19284,59 @@ "apikey": [] } ], - "summary": "Set services enabled on a connection", + "summary": "Save questionnaire answer", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "Set services enabled on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Save a manual or AI-generated security questionnaire answer for later review, export, and audit tracking.", "x-mint": { + "href": "/api-reference/questionnaire/save-a-questionnaire-answer", "metadata": { - "title": "Set services enabled on a connection | Comp AI API", - "sidebarTitle": "Set services enabled on a connection", - "description": "Set services enabled on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Set services enabled on a connection | Comp AI API", - "og:description": "Set services enabled on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Save questionnaire answer | Comp AI API", + "sidebarTitle": "Save questionnaire answer", + "description": "Save a manual or AI-generated security questionnaire answer for later review, export, and audit tracking.", + "og:title": "Save questionnaire answer | Comp AI API", + "og:description": "Save a manual or AI-generated security questionnaire answer for later review, export, and audit tracking." } }, "x-speakeasy-mcp": { - "name": "update-connection-services" + "name": "save-answer" } - }, - "get": { - "operationId": "ServicesController_getConnectionServices_v1", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" + } + }, + "/v1/questionnaire/delete-answer": { + "post": { + "operationId": "QuestionnaireController_deleteAnswer_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteAnswerDto" + } } } - ], + }, "responses": { "200": { - "description": "" + "description": "Delete questionnaire answer", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean" + }, + "error": { + "type": "string", + "nullable": true + } + } + } + } + } } }, "security": [ @@ -19408,41 +19344,43 @@ "apikey": [] } ], - "summary": "List services enabled on a connection", + "summary": "Delete questionnaire answer", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "List services enabled on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Delete a stored questionnaire answer when it should be removed from the active response set.", "x-mint": { + "href": "/api-reference/questionnaire/delete-a-questionnaire-answer", "metadata": { - "title": "List services enabled on a connection | Comp AI API", - "sidebarTitle": "List services enabled on a connection", - "description": "List services enabled on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "List services enabled on a connection | Comp AI API", - "og:description": "List services enabled on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Delete questionnaire answer | Comp AI API", + "sidebarTitle": "Delete questionnaire answer", + "description": "Delete a stored questionnaire answer when it should be removed from the active response set.", + "og:title": "Delete questionnaire answer | Comp AI API", + "og:description": "Delete a stored questionnaire answer when it should be removed from the active response set." } }, "x-speakeasy-mcp": { - "name": "get-connection-services" - } - } - }, - "/v1/integrations/checks/providers/{providerSlug}": { - "get": { - "operationId": "ChecksController_listProviderChecks_v1", - "parameters": [ - { - "name": "providerSlug", - "required": true, - "in": "path", - "schema": { - "type": "string" + "name": "delete-answer" + } + } + }, + "/v1/questionnaire/export": { + "post": { + "operationId": "QuestionnaireController_exportById_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExportByIdDto" + } } } - ], + }, "responses": { "200": { - "description": "" + "description": "Export questionnaire by ID to specified format" } }, "security": [ @@ -19450,41 +19388,58 @@ "apikey": [] } ], - "summary": "List check definitions for a provider", + "summary": "Export a security questionnaire", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "List check definitions for a provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Export a saved security questionnaire response package as PDF, CSV, or XLSX for customer and vendor security reviews.", "x-mint": { + "href": "/api-reference/questionnaire/export-a-questionnaire", "metadata": { - "title": "List check definitions for a provider | Comp AI API", - "sidebarTitle": "List check definitions for a provider", - "description": "List check definitions for a provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "List check definitions for a provider | Comp AI API", - "og:description": "List check definitions for a provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Export a security questionnaire | Comp AI API", + "sidebarTitle": "Export a security questionnaire", + "description": "Export a saved security questionnaire response package as PDF, CSV, or XLSX for customer and vendor security reviews.", + "og:title": "Export a security questionnaire | Comp AI API", + "og:description": "Export a saved security questionnaire response package as PDF, CSV, or XLSX for customer and vendor security reviews." } }, "x-speakeasy-mcp": { - "name": "list-provider-checks" + "name": "export-by-id" } } }, - "/v1/integrations/checks/connections/{connectionId}": { - "get": { - "operationId": "ChecksController_listConnectionChecks_v1", - "parameters": [ - { - "name": "connectionId", - "required": true, - "in": "path", - "schema": { - "type": "string" + "/v1/questionnaire/upload-and-parse": { + "post": { + "operationId": "QuestionnaireController_uploadAndParse_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadAndParseDto" + } } } - ], + }, "responses": { "200": { - "description": "" + "description": "Upload file and trigger async parsing. Returns runId for realtime tracking.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "runId": { + "type": "string" + }, + "publicAccessToken": { + "type": "string" + } + } + } + } + } } }, "security": [ @@ -19492,51 +19447,82 @@ "apikey": [] } ], - "summary": "List checks for a connection", + "summary": "Start questionnaire parsing", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "List checks for a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Upload a questionnaire payload and start asynchronous parsing, returning a run ID for real-time progress tracking.", "x-mint": { + "href": "/api-reference/questionnaire/upload-and-parse-a-questionnaire-file", "metadata": { - "title": "List checks for a connection | Comp AI API", - "sidebarTitle": "List checks for a connection", - "description": "List checks for a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "List checks for a connection | Comp AI API", - "og:description": "List checks for a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Start questionnaire parsing | Comp AI API", + "sidebarTitle": "Start questionnaire parsing", + "description": "Upload a questionnaire payload and start asynchronous parsing, returning a run ID for real-time progress tracking.", + "og:title": "Start questionnaire parsing | Comp AI API", + "og:description": "Upload a questionnaire payload and start asynchronous parsing, returning a run ID for real-time progress tracking." } }, "x-speakeasy-mcp": { - "name": "list-connection-checks" + "name": "upload-and-parse" } } }, - "/v1/integrations/checks/connections/{connectionId}/run": { + "/v1/questionnaire/upload-and-parse/upload": { "post": { - "operationId": "ChecksController_runConnectionChecks_v1", - "parameters": [ - { - "name": "connectionId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], + "operationId": "QuestionnaireController_uploadAndParseUpload_v1", + "parameters": [], "requestBody": { "required": true, "content": { - "application/json": { + "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/RunChecksDto" + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary", + "description": "Questionnaire file (PDF, image, XLSX, CSV, TXT)" + }, + "organizationId": { + "type": "string", + "description": "Organization ID" + }, + "source": { + "type": "string", + "enum": [ + "internal", + "external" + ], + "default": "internal", + "description": "Source of the upload" + } + }, + "required": [ + "file", + "organizationId" + ] } } } }, "responses": { - "201": { - "description": "" + "200": { + "description": "Upload file, parse questions (no answers), save to DB, return questionnaireId", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "questionnaireId": { + "type": "string" + }, + "totalQuestions": { + "type": "number" + } + } + } + } + } } }, "security": [ @@ -19544,46 +19530,74 @@ "apikey": [] } ], - "summary": "Run integration checks", + "summary": "Upload and parse questionnaire file", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "Run all compliance checks for an integration connection and capture results as automated evidence.", + "description": "Upload a security questionnaire file, extract questions, save the parsed questionnaire, and return its identifier and question count.", "x-mint": { + "href": "/api-reference/questionnaire/upload-a-questionnaire-file-and-parse-its-questions", "metadata": { - "title": "Run integration checks | Comp AI API", - "sidebarTitle": "Run integration checks", - "description": "Run all compliance checks for an integration connection and capture results as automated evidence.", - "og:title": "Run integration checks | Comp AI API", - "og:description": "Run all compliance checks for an integration connection and capture results as automated evidence." + "title": "Upload and parse questionnaire file | Comp AI API", + "sidebarTitle": "Upload and parse questionnaire file", + "description": "Upload a security questionnaire file, extract questions, save the parsed questionnaire, and return its identifier and question count.", + "og:title": "Upload and parse questionnaire file | Comp AI API", + "og:description": "Upload a security questionnaire file, extract questions, save the parsed questionnaire, and return its identifier and question count." } }, "x-speakeasy-mcp": { - "name": "run-connection-checks" + "name": "upload-and-parse-upload" } } }, - "/v1/integrations/checks/connections/{connectionId}/run/{checkId}": { + "/v1/questionnaire/parse/upload": { "post": { - "operationId": "ChecksController_runSingleCheck_v1", - "parameters": [ - { - "name": "connectionId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "checkId", - "required": true, - "in": "path", - "schema": { - "type": "string" + "operationId": "QuestionnaireController_parseQuestionnaireUpload_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary", + "description": "Questionnaire file (PDF, image, XLSX, CSV, TXT)" + }, + "organizationId": { + "type": "string", + "description": "Organization to use for generating answers" + }, + "format": { + "type": "string", + "enum": [ + "pdf", + "csv", + "xlsx" + ], + "default": "xlsx", + "description": "Output format (defaults to XLSX)" + }, + "source": { + "type": "string", + "enum": [ + "internal", + "external" + ], + "default": "internal", + "description": "Indicates if the request originated from our UI (internal) or trust portal (external)." + } + }, + "required": [ + "file", + "organizationId" + ] + } } } - ], + }, "responses": { "201": { "description": "" @@ -19594,40 +19608,42 @@ "apikey": [] } ], - "summary": "Run a single check on a connection", + "summary": "Auto-answer uploaded questionnaire", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "Run a single check on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Upload a questionnaire file and generate answer exports from approved organization evidence in PDF, CSV, or XLSX format.", "x-mint": { + "href": "/api-reference/questionnaire/upload-a-questionnaire-file-and-auto-answer-with-export", "metadata": { - "title": "Run a single check on a connection | Comp AI API", - "sidebarTitle": "Run a single check on a connection", - "description": "Run a single check on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Run a single check on a connection | Comp AI API", - "og:description": "Run a single check on a connection in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Auto-answer uploaded questionnaire | Comp AI API", + "sidebarTitle": "Auto-answer uploaded questionnaire", + "description": "Upload a questionnaire file and generate answer exports from approved organization evidence in PDF, CSV, or XLSX format.", + "og:title": "Auto-answer uploaded questionnaire | Comp AI API", + "og:description": "Upload a questionnaire file and generate answer exports from approved organization evidence in PDF, CSV, or XLSX format." } }, "x-speakeasy-mcp": { - "name": "run-single-check" + "name": "parse-questionnaire-upload" } } }, - "/v1/integrations/variables/providers/{providerSlug}": { - "get": { - "operationId": "VariablesController_getProviderVariables_v1", - "parameters": [ - { - "name": "providerSlug", - "required": true, - "in": "path", - "schema": { - "type": "string" + "/v1/questionnaire/answers/export": { + "post": { + "operationId": "QuestionnaireController_autoAnswerAndExport_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExportQuestionnaireDto" + } } } - ], + }, "responses": { - "200": { + "201": { "description": "" } }, @@ -19636,40 +19652,67 @@ "apikey": [] } ], - "summary": "List variable definitions for a provider", + "summary": "Export generated questionnaire answers", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "List variable definitions for a provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Generate and export questionnaire answers from a submitted payload using approved organization evidence.", "x-mint": { + "href": "/api-reference/questionnaire/export-questionnaire-answers", "metadata": { - "title": "List variable definitions for a provider | Comp AI API", - "sidebarTitle": "List variable definitions for a provider", - "description": "List variable definitions for a provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "List variable definitions for a provider | Comp AI API", - "og:description": "List variable definitions for a provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Export generated questionnaire answers | Comp AI API", + "sidebarTitle": "Export generated questionnaire answers", + "description": "Generate and export questionnaire answers from a submitted payload using approved organization evidence.", + "og:title": "Export generated questionnaire answers | Comp AI API", + "og:description": "Generate and export questionnaire answers from a submitted payload using approved organization evidence." } }, "x-speakeasy-mcp": { - "name": "get-provider-variables" + "name": "auto-answer-and-export" } } }, - "/v1/integrations/variables/connections/{connectionId}": { - "get": { - "operationId": "VariablesController_getConnectionVariables_v1", - "parameters": [ - { - "name": "connectionId", - "required": true, - "in": "path", - "schema": { - "type": "string" + "/v1/questionnaire/answers/export/upload": { + "post": { + "operationId": "QuestionnaireController_autoAnswerAndExportUpload_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary", + "description": "Questionnaire file (PDF, image, XLSX, CSV, TXT)" + }, + "organizationId": { + "type": "string", + "description": "Organization to use for answer generation" + }, + "format": { + "type": "string", + "enum": [ + "pdf", + "csv", + "xlsx" + ], + "default": "xlsx", + "description": "Output format (defaults to XLSX)" + } + }, + "required": [ + "file", + "organizationId" + ] + } } } - ], + }, "responses": { - "200": { + "201": { "description": "" } }, @@ -19678,42 +19721,36 @@ "apikey": [] } ], - "summary": "List connection variables", + "summary": "Upload and export generated answers", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "List connection variables in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Upload a questionnaire file and return generated answer exports in PDF, CSV, or XLSX format.", "x-mint": { + "href": "/api-reference/questionnaire/upload-a-questionnaire-file-and-export-auto-generated-answers", "metadata": { - "title": "List connection variables | Comp AI API", - "sidebarTitle": "List connection variables", - "description": "List connection variables in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "List connection variables | Comp AI API", - "og:description": "List connection variables in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Upload and export generated answers | Comp AI API", + "sidebarTitle": "Upload and export generated answers", + "description": "Upload a questionnaire file and return generated answer exports in PDF, CSV, or XLSX format.", + "og:title": "Upload and export generated answers | Comp AI API", + "og:description": "Upload a questionnaire file and return generated answer exports in PDF, CSV, or XLSX format." } }, "x-speakeasy-mcp": { - "name": "get-connection-variables" + "name": "auto-answer-and-export-upload" } - }, + } + }, + "/v1/questionnaire/auto-answer": { "post": { - "operationId": "VariablesController_saveConnectionVariables_v1", - "parameters": [ - { - "name": "connectionId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], + "operationId": "QuestionnaireController_autoAnswer_v1", + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SaveVariablesDto" + "$ref": "#/components/schemas/AutoAnswerDto" } } } @@ -19728,49 +19765,33 @@ "apikey": [] } ], - "summary": "Update connection variables", + "summary": "Stream generated questionnaire answers", "tags": [ - "Integrations" + "Questionnaire" ], - "description": "Update connection variables in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Stream generated questionnaire answers over server-sent events so clients can show progress while answers are produced.", "x-mint": { + "href": "/api-reference/questionnaire/auto-answer-a-questionnaire", "metadata": { - "title": "Update connection variables | Comp AI API", - "sidebarTitle": "Update connection variables", - "description": "Update connection variables in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "Update connection variables | Comp AI API", - "og:description": "Update connection variables in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Stream generated questionnaire answers | Comp AI API", + "sidebarTitle": "Stream generated questionnaire answers", + "description": "Stream generated questionnaire answers over server-sent events so clients can show progress while answers are produced.", + "og:title": "Stream generated questionnaire answers | Comp AI API", + "og:description": "Stream generated questionnaire answers over server-sent events so clients can show progress while answers are produced." } }, "x-speakeasy-mcp": { - "name": "save-connection-variables" + "name": "auto-answer" } } }, - "/v1/integrations/variables/connections/{connectionId}/options/{variableId}": { + "/v1/knowledge-base/documents": { "get": { - "operationId": "VariablesController_fetchVariableOptions_v1", - "parameters": [ - { - "name": "connectionId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "variableId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], + "operationId": "KnowledgeBaseController_listDocuments_v1", + "parameters": [], "responses": { "200": { - "description": "" + "description": "List of knowledge base documents" } }, "security": [ @@ -19778,41 +19799,32 @@ "apikey": [] } ], - "summary": "Get options for a connection variable", + "summary": "List knowledge base documents", "tags": [ - "Integrations" + "Knowledge Base" ], - "description": "Get options for a connection variable in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "List uploaded knowledge base documents that Comp AI can use as approved source material for answers, policies, and reviews.", "x-mint": { "metadata": { - "title": "Get options for a connection variable | Comp AI API", - "sidebarTitle": "Get options for a connection variable", - "description": "Get options for a connection variable in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Get options for a connection variable | Comp AI API", - "og:description": "Get options for a connection variable in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "List knowledge base documents | Comp AI API", + "sidebarTitle": "List knowledge base documents", + "description": "List uploaded knowledge base documents that Comp AI can use as approved source material for answers, policies, and reviews.", + "og:title": "List knowledge base documents | Comp AI API", + "og:description": "List uploaded knowledge base documents that Comp AI can use as approved source material for answers, policies, and reviews." } }, "x-speakeasy-mcp": { - "name": "fetch-variable-options" + "name": "list-documents" } } }, - "/v1/integrations/tasks/template/{templateId}/checks": { + "/v1/knowledge-base/manual-answers": { "get": { - "operationId": "TaskIntegrationsController_getChecksForTaskTemplate_v1", - "parameters": [ - { - "name": "templateId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], + "operationId": "KnowledgeBaseController_listManualAnswers_v1", + "parameters": [], "responses": { "200": { - "description": "" + "description": "List of manual answers" } }, "security": [ @@ -19820,41 +19832,40 @@ "apikey": [] } ], - "summary": "List checks for a task template", + "summary": "List all manual answers for an organization", "tags": [ - "Integrations" + "Knowledge Base" ], - "description": "List checks for a task template in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "List all manual answers for an organization in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", "x-mint": { "metadata": { - "title": "List checks for a task template | Comp AI API", - "sidebarTitle": "List checks for a task template", - "description": "List checks for a task template in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "List checks for a task template | Comp AI API", - "og:description": "List checks for a task template in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "List all manual answers for an organization | Comp AI API", + "sidebarTitle": "List all manual answers for an organization", + "description": "List all manual answers for an organization in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power.", + "og:title": "List all manual answers for an organization | Comp AI API", + "og:description": "List all manual answers for an organization in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power." } }, "x-speakeasy-mcp": { - "name": "get-checks-for-task-template" + "name": "list-manual-answers" } - } - }, - "/v1/integrations/tasks/{taskId}/checks": { - "get": { - "operationId": "TaskIntegrationsController_getChecksForTask_v1", - "parameters": [ - { - "name": "taskId", - "required": true, - "in": "path", - "schema": { - "type": "string" + }, + "post": { + "operationId": "KnowledgeBaseController_saveManualAnswer_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SaveManualAnswerDto" + } } } - ], + }, "responses": { "200": { - "description": "" + "description": "Manual answer saved" } }, "security": [ @@ -19862,51 +19873,42 @@ "apikey": [] } ], - "summary": "List checks attached to a task", + "summary": "Save reusable manual answer", "tags": [ - "Integrations" + "Knowledge Base" ], - "description": "List checks attached to a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Save or update a reusable manual answer for security questionnaires that need approved, consistent response language.", "x-mint": { "metadata": { - "title": "List checks attached to a task | Comp AI API", - "sidebarTitle": "List checks attached to a task", - "description": "List checks attached to a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "List checks attached to a task | Comp AI API", - "og:description": "List checks attached to a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Save reusable manual answer | Comp AI API", + "sidebarTitle": "Save reusable manual answer", + "description": "Save or update a reusable manual answer for security questionnaires that need approved, consistent response language.", + "og:title": "Save reusable manual answer | Comp AI API", + "og:description": "Save or update a reusable manual answer for security questionnaires that need approved, consistent response language." } }, "x-speakeasy-mcp": { - "name": "get-checks-for-task" + "name": "save-manual-answer" } } }, - "/v1/integrations/tasks/{taskId}/run-check": { + "/v1/knowledge-base/documents/upload": { "post": { - "operationId": "TaskIntegrationsController_runCheckForTask_v1", - "parameters": [ - { - "name": "taskId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], + "operationId": "KnowledgeBaseController_uploadDocument_v1", + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RunCheckForTaskDto" + "$ref": "#/components/schemas/UploadDocumentDto" } } } }, "responses": { - "201": { - "description": "" + "200": { + "description": "Document uploaded successfully" } }, "security": [ @@ -19914,31 +19916,31 @@ "apikey": [] } ], - "summary": "Run a check for a task", + "summary": "Upload knowledge base document", "tags": [ - "Integrations" + "Knowledge Base" ], - "description": "Run a check for a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Upload supporting documentation so Comp AI can process approved source material for questionnaire answers and policy workflows.", "x-mint": { "metadata": { - "title": "Run a check for a task | Comp AI API", - "sidebarTitle": "Run a check for a task", - "description": "Run a check for a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "Run a check for a task | Comp AI API", - "og:description": "Run a check for a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Upload knowledge base document | Comp AI API", + "sidebarTitle": "Upload knowledge base document", + "description": "Upload supporting documentation so Comp AI can process approved source material for questionnaire answers and policy workflows.", + "og:title": "Upload knowledge base document | Comp AI API", + "og:description": "Upload supporting documentation so Comp AI can process approved source material for questionnaire answers and policy workflows." } }, "x-speakeasy-mcp": { - "name": "run-check-for-task" + "name": "upload-document" } } }, - "/v1/integrations/tasks/{taskId}/checks/disconnect": { + "/v1/knowledge-base/documents/{documentId}/download": { "post": { - "operationId": "TaskIntegrationsController_disconnectCheckFromTask_v1", + "operationId": "KnowledgeBaseController_getDownloadUrl_v1", "parameters": [ { - "name": "taskId", + "name": "documentId", "required": true, "in": "path", "schema": { @@ -19946,19 +19948,9 @@ } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ToggleCheckForTaskDto" - } - } - } - }, "responses": { - "201": { - "description": "" + "200": { + "description": "Signed download URL generated" } }, "security": [ @@ -19966,31 +19958,31 @@ "apikey": [] } ], - "summary": "Disconnect checks from a task", + "summary": "Get a signed download URL for a document", "tags": [ - "Integrations" + "Knowledge Base" ], - "description": "Disconnect checks from a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Get a signed download URL for a document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", "x-mint": { "metadata": { - "title": "Disconnect checks from a task | Comp AI API", - "sidebarTitle": "Disconnect checks from a task", - "description": "Disconnect checks from a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "Disconnect checks from a task | Comp AI API", - "og:description": "Disconnect checks from a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Get a signed download URL for a document | Comp AI API", + "sidebarTitle": "Get a signed download URL for a document", + "description": "Get a signed download URL for a document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power.", + "og:title": "Get a signed download URL for a document | Comp AI API", + "og:description": "Get a signed download URL for a document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power." } }, "x-speakeasy-mcp": { - "name": "disconnect-check-from-task" + "name": "get-download-url" } } }, - "/v1/integrations/tasks/{taskId}/checks/reconnect": { + "/v1/knowledge-base/documents/{documentId}/view": { "post": { - "operationId": "TaskIntegrationsController_reconnectCheckToTask_v1", + "operationId": "KnowledgeBaseController_getViewUrl_v1", "parameters": [ { - "name": "taskId", + "name": "documentId", "required": true, "in": "path", "schema": { @@ -19998,19 +19990,9 @@ } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ToggleCheckForTaskDto" - } - } - } - }, "responses": { - "201": { - "description": "" + "200": { + "description": "Signed view URL generated" } }, "security": [ @@ -20018,49 +20000,41 @@ "apikey": [] } ], - "summary": "Reconnect checks to a task", + "summary": "Get a signed view URL for a document", "tags": [ - "Integrations" + "Knowledge Base" ], - "description": "Reconnect checks to a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Get a signed view URL for a document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", "x-mint": { "metadata": { - "title": "Reconnect checks to a task | Comp AI API", - "sidebarTitle": "Reconnect checks to a task", - "description": "Reconnect checks to a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "Reconnect checks to a task | Comp AI API", - "og:description": "Reconnect checks to a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Get a signed view URL for a document | Comp AI API", + "sidebarTitle": "Get a signed view URL for a document", + "description": "Get a signed view URL for a document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power.", + "og:title": "Get a signed view URL for a document | Comp AI API", + "og:description": "Get a signed view URL for a document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power." } }, "x-speakeasy-mcp": { - "name": "reconnect-check-to-task" + "name": "get-view-url" } } }, - "/v1/integrations/tasks/{taskId}/runs": { - "get": { - "operationId": "TaskIntegrationsController_getTaskCheckRuns_v1", + "/v1/knowledge-base/documents/{documentId}/delete": { + "post": { + "operationId": "KnowledgeBaseController_deleteDocument_v1", "parameters": [ { - "name": "taskId", + "name": "documentId", "required": true, "in": "path", "schema": { "type": "string" } - }, - { - "name": "limit", - "required": true, - "in": "query", - "schema": { - "type": "string" - } } ], "responses": { "200": { - "description": "" + "description": "Document deleted successfully" } }, "security": [ @@ -20068,41 +20042,42 @@ "apikey": [] } ], - "summary": "List check runs for a task", + "summary": "Delete a knowledge base document", "tags": [ - "Integrations" + "Knowledge Base" ], - "description": "List check runs for a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Delete a knowledge base document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", "x-mint": { "metadata": { - "title": "List check runs for a task | Comp AI API", - "sidebarTitle": "List check runs for a task", - "description": "List check runs for a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "List check runs for a task | Comp AI API", - "og:description": "List check runs for a task in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Delete a knowledge base document | Comp AI API", + "sidebarTitle": "Delete a knowledge base document", + "description": "Delete a knowledge base document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power.", + "og:title": "Delete a knowledge base document | Comp AI API", + "og:description": "Delete a knowledge base document in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power." } }, "x-speakeasy-mcp": { - "name": "get-task-check-runs" + "name": "delete-document" } } }, - "/v1/integrations/sync/google-workspace/employees": { + "/v1/knowledge-base/documents/process": { "post": { - "operationId": "SyncController_syncGoogleWorkspaceEmployees_v1", - "parameters": [ - { - "name": "connectionId", - "required": true, - "in": "query", - "schema": { - "type": "string" + "operationId": "KnowledgeBaseController_processDocuments_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessDocumentsDto" + } } } - ], + }, "responses": { - "201": { - "description": "" + "200": { + "description": "Document processing triggered" } }, "security": [ @@ -20110,32 +20085,41 @@ "apikey": [] } ], - "summary": "Sync Google Workspace employees", + "summary": "Process knowledge base documents", "tags": [ - "Integrations" + "Knowledge Base" ], - "description": "Sync Google Workspace employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Start document processing so uploaded knowledge base files become searchable source material for AI-assisted compliance workflows.", "x-mint": { "metadata": { - "title": "Sync Google Workspace employees | Comp AI API", - "sidebarTitle": "Sync Google Workspace employees", - "description": "Sync Google Workspace employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Sync Google Workspace employees | Comp AI API", - "og:description": "Sync Google Workspace employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Process knowledge base documents | Comp AI API", + "sidebarTitle": "Process knowledge base documents", + "description": "Start document processing so uploaded knowledge base files become searchable source material for AI-assisted compliance workflows.", + "og:title": "Process knowledge base documents | Comp AI API", + "og:description": "Start document processing so uploaded knowledge base files become searchable source material for AI-assisted compliance workflows." } }, "x-speakeasy-mcp": { - "name": "sync-google-workspace-employees" + "name": "process-documents" } } }, - "/v1/integrations/sync/google-workspace/status": { + "/v1/knowledge-base/runs/{runId}/token": { "post": { - "operationId": "SyncController_getGoogleWorkspaceStatus_v1", - "parameters": [], + "operationId": "KnowledgeBaseController_createRunToken_v1", + "parameters": [ + { + "name": "runId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], "responses": { - "201": { - "description": "" + "200": { + "description": "Public access token created" } }, "security": [ @@ -20143,41 +20127,51 @@ "apikey": [] } ], - "summary": "Get Google Workspace sync status", + "summary": "Create a public access token for a run", "tags": [ - "Integrations" + "Knowledge Base" ], - "description": "Get Google Workspace sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Create a public access token for a run in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", "x-mint": { "metadata": { - "title": "Get Google Workspace sync status | Comp AI API", - "sidebarTitle": "Get Google Workspace sync status", - "description": "Get Google Workspace sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Get Google Workspace sync status | Comp AI API", - "og:description": "Get Google Workspace sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Create a public access token for a run | Comp AI API", + "sidebarTitle": "Create a public access token for a run", + "description": "Create a public access token for a run in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power.", + "og:title": "Create a public access token for a run | Comp AI API", + "og:description": "Create a public access token for a run in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power." } }, "x-speakeasy-mcp": { - "name": "get-google-workspace-status" + "name": "create-run-token" } } }, - "/v1/integrations/sync/rippling/employees": { + "/v1/knowledge-base/manual-answers/{manualAnswerId}/delete": { "post": { - "operationId": "SyncController_syncRipplingEmployees_v1", + "operationId": "KnowledgeBaseController_deleteManualAnswer_v1", "parameters": [ { - "name": "connectionId", + "name": "manualAnswerId", "required": true, - "in": "query", + "in": "path", "schema": { "type": "string" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteManualAnswerDto" + } + } + } + }, "responses": { - "201": { - "description": "" + "200": { + "description": "Manual answer deleted" } }, "security": [ @@ -20185,32 +20179,42 @@ "apikey": [] } ], - "summary": "Sync Rippling employees", + "summary": "Delete a manual answer", "tags": [ - "Integrations" + "Knowledge Base" ], - "description": "Sync Rippling employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Delete a manual answer in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", "x-mint": { "metadata": { - "title": "Sync Rippling employees | Comp AI API", - "sidebarTitle": "Sync Rippling employees", - "description": "Sync Rippling employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "Sync Rippling employees | Comp AI API", - "og:description": "Sync Rippling employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Delete a manual answer | Comp AI API", + "sidebarTitle": "Delete a manual answer", + "description": "Delete a manual answer in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI.", + "og:title": "Delete a manual answer | Comp AI API", + "og:description": "Delete a manual answer in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI." } }, "x-speakeasy-mcp": { - "name": "sync-rippling-employees" + "name": "delete-manual-answer" } } }, - "/v1/integrations/sync/rippling/status": { + "/v1/knowledge-base/manual-answers/delete-all": { "post": { - "operationId": "SyncController_getRipplingStatus_v1", + "operationId": "KnowledgeBaseController_deleteAllManualAnswers_v1", "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteAllManualAnswersDto" + } + } + } + }, "responses": { - "201": { - "description": "" + "200": { + "description": "All manual answers deleted" } }, "security": [ @@ -20218,41 +20222,54 @@ "apikey": [] } ], - "summary": "Get Rippling sync status", + "summary": "Delete all manual answers for an organization", "tags": [ - "Integrations" + "Knowledge Base" ], - "description": "Get Rippling sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Delete all manual answers for an organization in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power questionnaires and AI policy workflows.", "x-mint": { "metadata": { - "title": "Get Rippling sync status | Comp AI API", - "sidebarTitle": "Get Rippling sync status", - "description": "Get Rippling sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "Get Rippling sync status | Comp AI API", - "og:description": "Get Rippling sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Delete all manual answers for an organization | Comp AI API", + "sidebarTitle": "Delete all manual answers for an organization", + "description": "Delete all manual answers for an organization in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power.", + "og:title": "Delete all manual answers for an organization | Comp AI API", + "og:description": "Delete all manual answers for an organization in Comp AI. Upload source documents, process them for retrieval, and manage reusable manual answers that power." } }, "x-speakeasy-mcp": { - "name": "get-rippling-status" + "name": "delete-all-manual-answers" } } }, - "/v1/integrations/sync/jumpcloud/employees": { + "/v1/soa/save-answer": { "post": { - "operationId": "SyncController_syncJumpCloudEmployees_v1", - "parameters": [ - { - "name": "connectionId", - "required": true, - "in": "query", - "schema": { - "type": "string" + "operationId": "SOAController_saveAnswer_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SaveSOAAnswerDto" + } } } - ], + }, "responses": { - "201": { - "description": "" + "200": { + "description": "Answer saved successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean" + } + } + } + } + } } }, "security": [ @@ -20260,29 +20277,40 @@ "apikey": [] } ], - "summary": "Sync JumpCloud employees", + "summary": "Save a SOA answer", "tags": [ - "Integrations" + "SOA" ], - "description": "Sync JumpCloud employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Save a SOA answer in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "Sync JumpCloud employees | Comp AI API", - "sidebarTitle": "Sync JumpCloud employees", - "description": "Sync JumpCloud employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "Sync JumpCloud employees | Comp AI API", - "og:description": "Sync JumpCloud employees in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Save a SOA answer | Comp AI API", + "sidebarTitle": "Save a SOA answer", + "description": "Save a SOA answer in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", + "og:title": "Save a SOA answer | Comp AI API", + "og:description": "Save a SOA answer in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents." } }, "x-speakeasy-mcp": { - "name": "sync-jump-cloud-employees" + "name": "soa-save-answer" } } }, - "/v1/integrations/sync/jumpcloud/status": { + "/v1/soa/auto-fill": { "post": { - "operationId": "SyncController_getJumpCloudStatus_v1", + "description": "Auto-fill a Statement of Applicability draft using organization context and framework mappings for ISO 27001 review.", + "operationId": "SOAController_autoFill_v1", "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoFillSOADto" + } + } + } + }, "responses": { "201": { "description": "" @@ -20293,73 +20321,41 @@ "apikey": [] } ], - "summary": "Get JumpCloud sync status", + "summary": "Auto-fill ISO 27001 SOA", "tags": [ - "Integrations" + "SOA" ], - "description": "Get JumpCloud sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", "x-mint": { "metadata": { - "title": "Get JumpCloud sync status | Comp AI API", - "sidebarTitle": "Get JumpCloud sync status", - "description": "Get JumpCloud sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "Get JumpCloud sync status | Comp AI API", - "og:description": "Get JumpCloud sync status in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Auto-fill ISO 27001 SOA | Comp AI API", + "sidebarTitle": "Auto-fill ISO 27001 SOA", + "description": "Auto-fill a Statement of Applicability draft using organization context and framework mappings for ISO 27001 review.", + "og:title": "Auto-fill ISO 27001 SOA | Comp AI API", + "og:description": "Auto-fill a Statement of Applicability draft using organization context and framework mappings for ISO 27001 review." } }, "x-speakeasy-mcp": { - "name": "get-jump-cloud-status" + "name": "auto-fill" } } }, - "/v1/integrations/sync/employee-sync-provider": { - "get": { - "operationId": "SyncController_getEmployeeSyncProvider_v1", - "parameters": [], - "responses": { - "200": { - "description": "" - } - }, - "security": [ - { - "apikey": [] - } - ], - "summary": "Get the currently configured employee sync provider", - "tags": [ - "Integrations" - ], - "description": "Get the currently configured employee sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", - "x-mint": { - "metadata": { - "title": "Get the currently configured employee sync | Comp AI API", - "sidebarTitle": "Get the currently configured employee sync provider", - "description": "Get the currently configured employee sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage.", - "og:title": "Get the currently configured employee sync | Comp AI API", - "og:description": "Get the currently configured employee sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage." - } - }, - "x-speakeasy-mcp": { - "name": "get-employee-sync-provider" - } - }, + "/v1/soa/create-document": { "post": { - "operationId": "SyncController_setEmployeeSyncProvider_v1", + "operationId": "SOAController_createDocument_v1", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SetEmployeeSyncProviderDto" + "$ref": "#/components/schemas/CreateSOADocumentDto" } } } }, "responses": { - "201": { - "description": "" + "200": { + "description": "Document created successfully" } }, "security": [ @@ -20367,32 +20363,42 @@ "apikey": [] } ], - "summary": "Set the employee sync provider", + "summary": "Create a new SOA document", "tags": [ - "Integrations" + "SOA" ], - "description": "Set the employee sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Create a new SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "Set the employee sync provider | Comp AI API", - "sidebarTitle": "Set the employee sync provider", - "description": "Set the employee sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Set the employee sync provider | Comp AI API", - "og:description": "Set the employee sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Create a new SOA document | Comp AI API", + "sidebarTitle": "Create a new SOA document", + "description": "Create a new SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", + "og:title": "Create a new SOA document | Comp AI API", + "og:description": "Create a new SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents." } }, "x-speakeasy-mcp": { - "name": "set-employee-sync-provider" + "name": "create-document" } } }, - "/v1/integrations/sync/device-sync-provider": { - "get": { - "operationId": "SyncController_getDeviceSyncProvider_v1", + "/v1/soa/ensure-setup": { + "post": { + "operationId": "SOAController_ensureSetup_v1", "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EnsureSOASetupDto" + } + } + } + }, "responses": { "200": { - "description": "" + "description": "Setup ensured" } }, "security": [ @@ -20400,30 +20406,42 @@ "apikey": [] } ], - "summary": "Get the currently configured device sync provider", + "summary": "Ensure SOA configuration and document exist", "tags": [ - "Integrations" + "SOA" ], - "description": "Get the currently configured device sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Ensure SOA configuration and document exist in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "Get the currently configured device sync | Comp AI API", - "sidebarTitle": "Get the currently configured device sync provider", - "description": "Get the currently configured device sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage.", - "og:title": "Get the currently configured device sync | Comp AI API", - "og:description": "Get the currently configured device sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage." + "title": "Ensure SOA configuration and document exist | Comp AI API", + "sidebarTitle": "Ensure SOA configuration and document exist", + "description": "Ensure SOA configuration and document exist in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", + "og:title": "Ensure SOA configuration and document exist | Comp AI API", + "og:description": "Ensure SOA configuration and document exist in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents." } }, "x-speakeasy-mcp": { - "name": "get-device-sync-provider" + "name": "ensure-setup" } - }, + } + }, + "/v1/soa/get-setup": { "post": { - "operationId": "SyncController_setDeviceSyncProvider_v1", + "operationId": "SOAController_getSetup_v1", "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EnsureSOASetupDto" + } + } + } + }, "responses": { - "201": { - "description": "" + "200": { + "description": "Setup returned (configuration/document may be null)" } }, "security": [ @@ -20431,41 +20449,42 @@ "apikey": [] } ], - "summary": "Set the device sync provider", + "summary": "Read SOA configuration and document without creating either", "tags": [ - "Integrations" + "SOA" ], - "description": "Set the device sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Read SOA configuration and document without creating either in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "Set the device sync provider | Comp AI API", - "sidebarTitle": "Set the device sync provider", - "description": "Set the device sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect.", - "og:title": "Set the device sync provider | Comp AI API", - "og:description": "Set the device sync provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect." + "title": "Read SOA configuration and document without | Comp AI API", + "sidebarTitle": "Read SOA configuration and document without creating either", + "description": "Read SOA configuration and document without creating either in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability.", + "og:title": "Read SOA configuration and document without | Comp AI API", + "og:description": "Read SOA configuration and document without creating either in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability." } }, "x-speakeasy-mcp": { - "name": "set-device-sync-provider" + "name": "get-setup" } } }, - "/v1/integrations/sync/available-providers": { - "get": { - "operationId": "SyncController_getAvailableSyncProviders_v1", - "parameters": [ - { - "name": "syncType", - "required": true, - "in": "query", - "schema": { - "type": "string" + "/v1/soa/approve": { + "post": { + "operationId": "SOAController_approveDocument_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApproveSOADocumentDto" + } } } - ], + }, "responses": { "200": { - "description": "" + "description": "Document approved successfully" } }, "security": [ @@ -20473,49 +20492,42 @@ "apikey": [] } ], - "summary": "List sync providers available to the org", + "summary": "Approve a SOA document", "tags": [ - "Integrations" + "SOA" ], - "description": "List sync providers available to the org in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Approve a SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "List sync providers available to the org | Comp AI API", - "sidebarTitle": "List sync providers available to the org", - "description": "List sync providers available to the org in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "List sync providers available to the org | Comp AI API", - "og:description": "List sync providers available to the org in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Approve a SOA document | Comp AI API", + "sidebarTitle": "Approve a SOA document", + "description": "Approve a SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", + "og:title": "Approve a SOA document | Comp AI API", + "og:description": "Approve a SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents." } }, "x-speakeasy-mcp": { - "name": "get-available-sync-providers" + "name": "approve-document" } } }, - "/v1/integrations/sync/dynamic/{providerSlug}/employees": { + "/v1/soa/decline": { "post": { - "operationId": "SyncController_syncDynamicProviderEmployees_v1", - "parameters": [ - { - "name": "providerSlug", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "connectionId", - "required": true, - "in": "query", - "schema": { - "type": "string" + "operationId": "SOAController_declineDocument_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeclineSOADocumentDto" + } } } - ], + }, "responses": { - "201": { - "description": "" + "200": { + "description": "Document declined successfully" } }, "security": [ @@ -20523,49 +20535,42 @@ "apikey": [] } ], - "summary": "Sync employees for a dynamic provider", + "summary": "Decline a SOA document", "tags": [ - "Integrations" + "SOA" ], - "description": "Sync employees for a dynamic provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Decline a SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "Sync employees for a dynamic provider | Comp AI API", - "sidebarTitle": "Sync employees for a dynamic provider", - "description": "Sync employees for a dynamic provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Sync employees for a dynamic provider | Comp AI API", - "og:description": "Sync employees for a dynamic provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Decline a SOA document | Comp AI API", + "sidebarTitle": "Decline a SOA document", + "description": "Decline a SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", + "og:title": "Decline a SOA document | Comp AI API", + "og:description": "Decline a SOA document in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents." } }, "x-speakeasy-mcp": { - "name": "sync-dynamic-provider-employees" + "name": "decline-document" } } }, - "/v1/integrations/sync/dynamic/{providerSlug}/devices": { + "/v1/soa/submit-for-approval": { "post": { - "operationId": "SyncController_syncDynamicProviderDevices_v1", - "parameters": [ - { - "name": "providerSlug", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "connectionId", - "required": true, - "in": "query", - "schema": { - "type": "string" + "operationId": "SOAController_submitForApproval_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubmitSOAForApprovalDto" + } } } - ], + }, "responses": { - "201": { - "description": "" + "200": { + "description": "Document submitted for approval successfully" } }, "security": [ @@ -20573,125 +20578,159 @@ "apikey": [] } ], - "summary": "Sync devices for a dynamic provider", + "summary": "Submit SOA document for approval", "tags": [ - "Integrations" + "SOA" ], - "description": "Sync devices for a dynamic provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables, and collect automated evidence.", + "description": "Submit SOA document for approval in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", "x-mint": { "metadata": { - "title": "Sync devices for a dynamic provider | Comp AI API", - "sidebarTitle": "Sync devices for a dynamic provider", - "description": "Sync devices for a dynamic provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables.", - "og:title": "Sync devices for a dynamic provider | Comp AI API", - "og:description": "Sync devices for a dynamic provider in Comp AI. Connect vendor systems, configure OAuth apps, run compliance checks, sync employees, manage variables." + "title": "Submit SOA document for approval | Comp AI API", + "sidebarTitle": "Submit SOA document for approval", + "description": "Submit SOA document for approval in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents.", + "og:title": "Submit SOA document for approval | Comp AI API", + "og:description": "Submit SOA document for approval in Comp AI. Create, auto-fill, review, approve, and export ISO 27001 Statement of Applicability documents." } }, "x-speakeasy-mcp": { - "name": "sync-dynamic-provider-devices" + "name": "submit-for-approval" } } }, - "/v1/cloud-security/activity": { - "get": { - "operationId": "CloudSecurityController_getActivity_v1", - "parameters": [ - { - "name": "connectionId", - "required": true, - "in": "query", - "schema": { - "type": "string" + "/v1/soa/export": { + "post": { + "operationId": "SOAController_exportDocument_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExportSOADocumentDto" + } } } - ], + }, "responses": { "200": { - "description": "" + "description": "Export SOA document to PDF" } }, - "summary": "List recent cloud security activity", + "security": [ + { + "apikey": [] + } + ], + "summary": "Export ISO 27001 SOA", "tags": [ - "CloudSecurity" + "SOA" ], - "description": "List recent cloud security activity in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "description": "Export the approved Statement of Applicability document for ISO 27001 auditors, customer reviews, and internal records.", "x-mint": { "metadata": { - "title": "List recent cloud security activity | Comp AI API", - "sidebarTitle": "List recent cloud security activity", - "description": "List recent cloud security activity in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud.", - "og:title": "List recent cloud security activity | Comp AI API", - "og:description": "List recent cloud security activity in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud." + "title": "Export ISO 27001 SOA | Comp AI API", + "sidebarTitle": "Export ISO 27001 SOA", + "description": "Export the approved Statement of Applicability document for ISO 27001 auditors, customer reviews, and internal records.", + "og:title": "Export ISO 27001 SOA | Comp AI API", + "og:description": "Export the approved Statement of Applicability document for ISO 27001 auditors, customer reviews, and internal records." } }, "x-speakeasy-mcp": { - "name": "get-activity" + "name": "export-document" } } }, - "/v1/cloud-security/providers": { - "get": { - "operationId": "CloudSecurityController_getProviders_v1", + "/v1/isms/ensure-setup": { + "post": { + "operationId": "IsmsController_ensureSetup_v1", "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EnsureIsmsSetupDto" + } + } + } + }, "responses": { "200": { - "description": "" + "description": "Setup ensured" } }, - "summary": "List supported cloud providers", + "security": [ + { + "apikey": [] + } + ], + "summary": "Ensure ISMS foundational documents exist", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "List supported cloud providers in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "description": "Ensure ISMS foundational documents exist in Comp AI.", "x-mint": { "metadata": { - "title": "List supported cloud providers | Comp AI API", - "sidebarTitle": "List supported cloud providers", - "description": "List supported cloud providers in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture.", - "og:title": "List supported cloud providers | Comp AI API", - "og:description": "List supported cloud providers in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture." + "title": "Ensure ISMS foundational documents exist | Comp AI API", + "sidebarTitle": "Ensure ISMS foundational documents exist", + "description": "Ensure ISMS foundational documents exist in Comp AI.", + "og:title": "Ensure ISMS foundational documents exist | Comp AI API", + "og:description": "Ensure ISMS foundational documents exist in Comp AI." } }, "x-speakeasy-mcp": { - "name": "get-providers" + "name": "isms-ensure-setup" } } }, - "/v1/cloud-security/findings": { + "/v1/isms/documents/{id}": { "get": { - "operationId": "CloudSecurityController_getFindings_v1", - "parameters": [], + "operationId": "IsmsController_getDocument_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { - "description": "" + "description": "ISMS document" } }, - "summary": "List cloud security findings", + "security": [ + { + "apikey": [] + } + ], + "summary": "Get an ISMS document with its latest version", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "List cloud security findings discovered by scans so teams can prioritize remediation before issues become audit findings.", + "description": "Get an ISMS document with its latest version in Comp AI.", "x-mint": { "metadata": { - "title": "List cloud security findings | Comp AI API", - "sidebarTitle": "List cloud security findings", - "description": "List cloud security findings discovered by scans so teams can prioritize remediation before issues become audit findings.", - "og:title": "List cloud security findings | Comp AI API", - "og:description": "List cloud security findings discovered by scans so teams can prioritize remediation before issues become audit findings." + "title": "Get an ISMS document with its latest version | Comp AI API", + "sidebarTitle": "Get an ISMS document with its latest version", + "description": "Get an ISMS document with its latest version in Comp AI.", + "og:title": "Get an ISMS document with its latest version | Comp AI API", + "og:description": "Get an ISMS document with its latest version in Comp AI." } }, "x-speakeasy-mcp": { - "name": "get-findings" + "name": "get-document" } } }, - "/v1/cloud-security/findings/{findingId}/exception": { + "/v1/isms/documents/{id}/controls": { "post": { - "description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the org's owner and the audit log description records the calling key/service name.", - "operationId": "CloudSecurityController_markFindingAsException_v1", + "operationId": "IsmsController_addControls_v1", "parameters": [ { - "name": "findingId", + "name": "id", "required": true, "in": "path", "schema": { @@ -20704,88 +20743,96 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MarkExceptionDto" + "$ref": "#/components/schemas/LinkIsmsControlsDto" } } } }, "responses": { - "201": { - "description": "" + "200": { + "description": "Controls linked" } }, - "summary": "Mark a finding as an exception so it no longer appears in the active Scan Results list", + "security": [ + { + "apikey": [] + } + ], + "summary": "Map organization controls to an ISMS document", "tags": [ - "CloudSecurity" + "ISMS" ], + "description": "Map organization controls to an ISMS document in Comp AI.", "x-mint": { "metadata": { - "title": "Mark a finding as an exception so it no | Comp AI API", - "sidebarTitle": "Mark a finding as an exception so it no longer appears in the active Scan Results list", - "description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the.", - "og:title": "Mark a finding as an exception so it no | Comp AI API", - "og:description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the." + "title": "Map organization controls to an ISMS document | Comp AI API", + "sidebarTitle": "Map organization controls to an ISMS document", + "description": "Map organization controls to an ISMS document in Comp AI.", + "og:title": "Map organization controls to an ISMS document | Comp AI API", + "og:description": "Map organization controls to an ISMS document in Comp AI." } }, "x-speakeasy-mcp": { - "name": "mark-finding-as-exception" + "name": "add-controls" } } }, - "/v1/cloud-security/connections/{connectionId}/scan-mode": { - "patch": { - "description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the org's owner.", - "operationId": "CloudSecurityController_updateAwsScanMode_v1", + "/v1/isms/documents/{id}/controls/{controlId}": { + "delete": { + "operationId": "IsmsController_removeControl_v1", "parameters": [ { - "name": "connectionId", + "name": "id", "required": true, "in": "path", "schema": { "type": "string" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateAwsScanModeDto" - } + }, + { + "name": "controlId", + "required": true, + "in": "path", + "schema": { + "type": "string" } } - }, + ], "responses": { "200": { - "description": "" + "description": "Control unlinked" } }, - "summary": "Switch the AWS scan engine for a connection (Comp AI scanners ↔ Security Hub)", + "security": [ + { + "apikey": [] + } + ], + "summary": "Remove a control mapping from an ISMS document", "tags": [ - "CloudSecurity" + "ISMS" ], + "description": "Remove a control mapping from an ISMS document in Comp AI.", "x-mint": { "metadata": { - "title": "Switch the AWS scan engine for a connection | Comp AI API", - "sidebarTitle": "Switch the AWS scan engine for a connection (Comp AI scanners ↔ Security Hub)", - "description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the.", - "og:title": "Switch the AWS scan engine for a connection | Comp AI API", - "og:description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the." + "title": "Remove a control mapping from an ISMS document | Comp AI API", + "sidebarTitle": "Remove a control mapping from an ISMS document", + "description": "Remove a control mapping from an ISMS document in Comp AI.", + "og:title": "Remove a control mapping from an ISMS document | Comp AI API", + "og:description": "Remove a control mapping from an ISMS document in Comp AI." } }, "x-speakeasy-mcp": { - "name": "update-aws-scan-mode" + "name": "remove-control" } } }, - "/v1/cloud-security/exceptions/{exceptionId}": { - "delete": { - "description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the org's owner.", - "operationId": "CloudSecurityController_revokeException_v1", + "/v1/isms/documents/{id}/generate": { + "post": { + "operationId": "IsmsController_generate_v1", "parameters": [ { - "name": "exceptionId", + "name": "id", "required": true, "in": "path", "schema": { @@ -20795,70 +20842,91 @@ ], "responses": { "200": { - "description": "" + "description": "Document with derived issues" } }, - "summary": "Revoke an exception, reopening the finding", + "security": [ + { + "apikey": [] + } + ], + "summary": "Derive Context-of-the-Organization issues", "tags": [ - "CloudSecurity" + "ISMS" ], + "description": "Derive Context-of-the-Organization issues in Comp AI.", "x-mint": { "metadata": { - "title": "Revoke an exception, reopening the finding | Comp AI API", - "sidebarTitle": "Revoke an exception, reopening the finding", - "description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the.", - "og:title": "Revoke an exception, reopening the finding | Comp AI API", - "og:description": "Accepts session, API key, or service token auth. For API key / service token callers without an explicit user attribution, the action is attributed to the." + "title": "Derive Context-of-the-Organization issues | Comp AI API", + "sidebarTitle": "Derive Context-of-the-Organization issues", + "description": "Derive Context-of-the-Organization issues in Comp AI.", + "og:title": "Derive Context-of-the-Organization issues | Comp AI API", + "og:description": "Derive Context-of-the-Organization issues in Comp AI." } }, "x-speakeasy-mcp": { - "name": "revoke-exception" + "name": "generate" } } }, - "/v1/cloud-security/history": { - "get": { - "operationId": "CloudSecurityController_getHistory_v1", + "/v1/isms/documents/{id}/submit-for-approval": { + "post": { + "operationId": "IsmsController_submitForApproval_v1", "parameters": [ { - "name": "connectionId", + "name": "id", "required": true, - "in": "query", + "in": "path", "schema": { "type": "string" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubmitIsmsForApprovalDto" + } + } + } + }, "responses": { "200": { - "description": "" + "description": "Document submitted for approval" } }, - "summary": "List resolution, exception, and regression history for a connection", + "security": [ + { + "apikey": [] + } + ], + "summary": "Submit an ISMS document for approval", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "List resolution, exception, and regression history for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "description": "Submit an ISMS document for approval in Comp AI.", "x-mint": { "metadata": { - "title": "List resolution, exception, and regression | Comp AI API", - "sidebarTitle": "List resolution, exception, and regression history for a connection", - "description": "List resolution, exception, and regression history for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services.", - "og:title": "List resolution, exception, and regression | Comp AI API", - "og:description": "List resolution, exception, and regression history for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services." + "title": "Submit an ISMS document for approval | Comp AI API", + "sidebarTitle": "Submit an ISMS document for approval", + "description": "Submit an ISMS document for approval in Comp AI.", + "og:title": "Submit an ISMS document for approval | Comp AI API", + "og:description": "Submit an ISMS document for approval in Comp AI." } }, "x-speakeasy-mcp": { - "name": "get-history" + "name": "isms-submit-for-approval" } } }, - "/v1/cloud-security/findings/{findingId}/check-definition": { - "get": { - "operationId": "CloudSecurityController_getCheckDefinition_v1", + "/v1/isms/documents/{id}/approve": { + "post": { + "operationId": "IsmsController_approve_v1", "parameters": [ { - "name": "findingId", + "name": "id", "required": true, "in": "path", "schema": { @@ -20868,34 +20936,39 @@ ], "responses": { "200": { - "description": "" + "description": "Document approved" } }, - "summary": "Resolve the \"About this check\" description for a finding (AI-cached for AWS; provider-derived for GCP/Azure)", + "security": [ + { + "apikey": [] + } + ], + "summary": "Approve an ISMS document", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "Resolve the \"About this check\" description for a finding (AI-cached for AWS; provider-derived for GCP/Azure) in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture.", + "description": "Approve an ISMS document in Comp AI.", "x-mint": { "metadata": { - "title": "Resolve the \"About this check\" description | Comp AI API", - "sidebarTitle": "Resolve the \"About this check\" description for a finding (AI-cached for AWS; provider-derived for GCP/Azure)", - "description": "Resolve the \"About this check\" description for a finding (AI-cached for AWS; provider-derived for GCP/Azure) in Comp AI. Run AWS, Azure, and GCP cloud.", - "og:title": "Resolve the \"About this check\" description | Comp AI API", - "og:description": "Resolve the \"About this check\" description for a finding (AI-cached for AWS; provider-derived for GCP/Azure) in Comp AI. Run AWS, Azure, and GCP cloud." + "title": "Approve an ISMS document | Comp AI API", + "sidebarTitle": "Approve an ISMS document", + "description": "Approve an ISMS document in Comp AI.", + "og:title": "Approve an ISMS document | Comp AI API", + "og:description": "Approve an ISMS document in Comp AI." } }, "x-speakeasy-mcp": { - "name": "get-check-definition" + "name": "approve" } } }, - "/v1/cloud-security/resolve-session/{connectionId}": { + "/v1/isms/documents/{id}/decline": { "post": { - "operationId": "CloudSecurityController_resolveSession_v1", + "operationId": "IsmsController_decline_v1", "parameters": [ { - "name": "connectionId", + "name": "id", "required": true, "in": "path", "schema": { @@ -20904,35 +20977,40 @@ } ], "responses": { - "201": { - "description": "" + "200": { + "description": "Document declined" } }, - "summary": "Resolve short-lived AWS credentials for a connection (internal only)", + "security": [ + { + "apikey": [] + } + ], + "summary": "Decline an ISMS document", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "Resolve short-lived AWS credentials for a connection (internal only) in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "description": "Decline an ISMS document in Comp AI.", "x-mint": { "metadata": { - "title": "Resolve short-lived AWS credentials for a | Comp AI API", - "sidebarTitle": "Resolve short-lived AWS credentials for a connection (internal only)", - "description": "Resolve short-lived AWS credentials for a connection (internal only) in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services.", - "og:title": "Resolve short-lived AWS credentials for a | Comp AI API", - "og:description": "Resolve short-lived AWS credentials for a connection (internal only) in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services." + "title": "Decline an ISMS document | Comp AI API", + "sidebarTitle": "Decline an ISMS document", + "description": "Decline an ISMS document in Comp AI.", + "og:title": "Decline an ISMS document | Comp AI API", + "og:description": "Decline an ISMS document in Comp AI." } }, "x-speakeasy-mcp": { - "name": "resolve-session" + "name": "decline" } } }, - "/v1/cloud-security/scan/{connectionId}": { - "post": { - "operationId": "CloudSecurityController_scan_v1", + "/v1/isms/documents/{id}/drift": { + "get": { + "operationId": "IsmsController_drift_v1", "parameters": [ { - "name": "connectionId", + "name": "id", "required": true, "in": "path", "schema": { @@ -20941,35 +21019,40 @@ } ], "responses": { - "201": { - "description": "" + "200": { + "description": "Drift status" } }, - "summary": "Run cloud security scan", + "security": [ + { + "apikey": [] + } + ], + "summary": "Detect drift against the approved snapshot", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "Trigger a cloud security scan for a connected AWS, Azure, or GCP account and collect findings for compliance remediation.", + "description": "Detect drift against the approved snapshot in Comp AI.", "x-mint": { "metadata": { - "title": "Run cloud security scan | Comp AI API", - "sidebarTitle": "Run cloud security scan", - "description": "Trigger a cloud security scan for a connected AWS, Azure, or GCP account and collect findings for compliance remediation.", - "og:title": "Run cloud security scan | Comp AI API", - "og:description": "Trigger a cloud security scan for a connected AWS, Azure, or GCP account and collect findings for compliance remediation." + "title": "Detect drift against the approved snapshot | Comp AI API", + "sidebarTitle": "Detect drift against the approved snapshot", + "description": "Detect drift against the approved snapshot in Comp AI.", + "og:title": "Detect drift against the approved snapshot | Comp AI API", + "og:description": "Detect drift against the approved snapshot in Comp AI." } }, "x-speakeasy-mcp": { - "name": "scan" + "name": "drift" } } }, - "/v1/cloud-security/detect-services/{connectionId}": { - "post": { - "operationId": "CloudSecurityController_detectServices_v1", + "/v1/isms/documents/{id}/versions": { + "get": { + "operationId": "IsmsController_getVersions_v1", "parameters": [ { - "name": "connectionId", + "name": "id", "required": true, "in": "path", "schema": { @@ -20978,35 +21061,40 @@ } ], "responses": { - "201": { - "description": "" + "200": { + "description": "Published versions, newest first" } }, - "summary": "Detect available cloud services for a connection", + "security": [ + { + "apikey": [] + } + ], + "summary": "List an ISMS document's published version history", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "Detect available cloud services for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "description": "List an ISMS document's published version history in Comp AI.", "x-mint": { "metadata": { - "title": "Detect available cloud services for a | Comp AI API", - "sidebarTitle": "Detect available cloud services for a connection", - "description": "Detect available cloud services for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings.", - "og:title": "Detect available cloud services for a | Comp AI API", - "og:description": "Detect available cloud services for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings." + "title": "List an ISMS document's published version | Comp AI API", + "sidebarTitle": "List an ISMS document's published version history", + "description": "List an ISMS document's published version history in Comp AI.", + "og:title": "List an ISMS document's published version | Comp AI API", + "og:description": "List an ISMS document's published version history in Comp AI." } }, "x-speakeasy-mcp": { - "name": "detect-services" + "name": "get-versions" } } }, - "/v1/cloud-security/detect-gcp-org/{connectionId}": { + "/v1/isms/documents/{id}/export": { "post": { - "operationId": "CloudSecurityController_detectGcpOrg_v1", + "operationId": "IsmsController_exportDocument_v1", "parameters": [ { - "name": "connectionId", + "name": "id", "required": true, "in": "path", "schema": { @@ -21014,73 +21102,260 @@ } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExportIsmsDocumentDto" + } + } + } + }, "responses": { - "201": { - "description": "" + "200": { + "description": "Rendered document" } }, - "summary": "Detect the GCP organization for a connection", + "security": [ + { + "apikey": [] + } + ], + "summary": "Export an ISMS document as PDF or DOCX", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "Detect the GCP organization for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "description": "Export an ISMS document as PDF or DOCX in Comp AI.", "x-mint": { "metadata": { - "title": "Detect the GCP organization for a connection | Comp AI API", - "sidebarTitle": "Detect the GCP organization for a connection", - "description": "Detect the GCP organization for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect.", - "og:title": "Detect the GCP organization for a connection | Comp AI API", - "og:description": "Detect the GCP organization for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect." + "title": "Export an ISMS document as PDF or DOCX | Comp AI API", + "sidebarTitle": "Export an ISMS document as PDF or DOCX", + "description": "Export an ISMS document as PDF or DOCX in Comp AI.", + "og:title": "Export an ISMS document as PDF or DOCX | Comp AI API", + "og:description": "Export an ISMS document as PDF or DOCX in Comp AI." } }, "x-speakeasy-mcp": { - "name": "detect-gcp-org" + "name": "isms-export-document" } } }, - "/v1/cloud-security/select-gcp-projects/{connectionId}": { + "/v1/isms/documents/{id}/registers/{register}": { "post": { - "operationId": "CloudSecurityController_selectGcpProjects_v1", + "operationId": "IsmsRegistersController_createRow_v1", "parameters": [ { - "name": "connectionId", + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + }, + { + "name": "register", "required": true, "in": "path", "schema": { "type": "string" } } - ], + ], + "requestBody": { + "required": true, + "description": "Register row fields (per-register; validated at runtime by zod)", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "internal", + "external" + ] + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "effect": { + "type": "string" + }, + "name": { + "type": "string" + }, + "needsExpectations": { + "type": "string" + }, + "interestedPartyId": { + "type": "string" + }, + "partyName": { + "type": "string" + }, + "requirement": { + "type": "string" + }, + "treatment": { + "type": "string" + }, + "objective": { + "type": "string" + }, + "target": { + "type": "string" + }, + "ownerMemberId": { + "type": "string" + }, + "cadence": { + "type": "string" + }, + "plan": { + "type": "string" + }, + "measurementMethod": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "not_started", + "on_track", + "at_risk", + "met" + ] + }, + "responsibilities": { + "type": "string" + }, + "authorities": { + "type": "string" + }, + "authorityGrantedBy": { + "type": "string" + }, + "requiredCompetence": { + "type": "string" + }, + "auditRoute": { + "type": "string", + "enum": [ + "in_house", + "external", + "training_planned" + ], + "nullable": true + }, + "auditRouteMemberId": { + "type": "string", + "nullable": true + }, + "auditFirmName": { + "type": "string", + "nullable": true + }, + "auditEvidenceRef": { + "type": "string", + "nullable": true + }, + "auditCourse": { + "type": "string", + "nullable": true + }, + "auditDueDate": { + "type": "string", + "nullable": true + }, + "roleId": { + "type": "string" + }, + "memberId": { + "type": "string" + }, + "basisOfCompetence": { + "type": "string", + "enum": [ + "education", + "training", + "experience", + "combination" + ], + "nullable": true + }, + "evidenceRetained": { + "type": "string", + "nullable": true + }, + "gap": { + "type": "string", + "nullable": true + }, + "remediationAction": { + "type": "string", + "nullable": true + }, + "remediationDueDate": { + "type": "string", + "nullable": true + }, + "position": { + "type": "integer", + "minimum": 0 + } + } + } + } + } + }, "responses": { - "201": { - "description": "" + "200": { + "description": "Register row created" } }, - "summary": "Select GCP projects for a connection", + "security": [ + { + "apikey": [] + } + ], + "summary": "Create a row in an ISMS register", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "Select GCP projects for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "description": "Create a row in an ISMS register in Comp AI.", "x-mint": { "metadata": { - "title": "Select GCP projects for a connection | Comp AI API", - "sidebarTitle": "Select GCP projects for a connection", - "description": "Select GCP projects for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud.", - "og:title": "Select GCP projects for a connection | Comp AI API", - "og:description": "Select GCP projects for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud." + "title": "Create a row in an ISMS register | Comp AI API", + "sidebarTitle": "Create a row in an ISMS register", + "description": "Create a row in an ISMS register in Comp AI.", + "og:title": "Create a row in an ISMS register | Comp AI API", + "og:description": "Create a row in an ISMS register in Comp AI." } }, "x-speakeasy-mcp": { - "name": "select-gcp-projects" + "name": "create-row" } } }, - "/v1/cloud-security/setup-gcp/{connectionId}": { - "post": { - "operationId": "CloudSecurityController_setupGcp_v1", + "/v1/isms/registers/{register}/{rowId}": { + "patch": { + "operationId": "IsmsRegistersController_updateRow_v1", "parameters": [ { - "name": "connectionId", + "name": "register", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + }, + { + "name": "rowId", "required": true, "in": "path", "schema": { @@ -21088,36 +21363,198 @@ } } ], + "requestBody": { + "required": true, + "description": "Register row fields (per-register; validated at runtime by zod)", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "internal", + "external" + ] + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "effect": { + "type": "string" + }, + "name": { + "type": "string" + }, + "needsExpectations": { + "type": "string" + }, + "interestedPartyId": { + "type": "string" + }, + "partyName": { + "type": "string" + }, + "requirement": { + "type": "string" + }, + "treatment": { + "type": "string" + }, + "objective": { + "type": "string" + }, + "target": { + "type": "string" + }, + "ownerMemberId": { + "type": "string" + }, + "cadence": { + "type": "string" + }, + "plan": { + "type": "string" + }, + "measurementMethod": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "not_started", + "on_track", + "at_risk", + "met" + ] + }, + "responsibilities": { + "type": "string" + }, + "authorities": { + "type": "string" + }, + "authorityGrantedBy": { + "type": "string" + }, + "requiredCompetence": { + "type": "string" + }, + "auditRoute": { + "type": "string", + "enum": [ + "in_house", + "external", + "training_planned" + ], + "nullable": true + }, + "auditRouteMemberId": { + "type": "string", + "nullable": true + }, + "auditFirmName": { + "type": "string", + "nullable": true + }, + "auditEvidenceRef": { + "type": "string", + "nullable": true + }, + "auditCourse": { + "type": "string", + "nullable": true + }, + "auditDueDate": { + "type": "string", + "nullable": true + }, + "roleId": { + "type": "string" + }, + "memberId": { + "type": "string" + }, + "basisOfCompetence": { + "type": "string", + "enum": [ + "education", + "training", + "experience", + "combination" + ], + "nullable": true + }, + "evidenceRetained": { + "type": "string", + "nullable": true + }, + "gap": { + "type": "string", + "nullable": true + }, + "remediationAction": { + "type": "string", + "nullable": true + }, + "remediationDueDate": { + "type": "string", + "nullable": true + }, + "position": { + "type": "integer", + "minimum": 0 + } + } + } + } + } + }, "responses": { - "201": { - "description": "" + "200": { + "description": "Register row updated" } }, - "summary": "Set up GCP for a connection", + "security": [ + { + "apikey": [] + } + ], + "summary": "Update a row in an ISMS register", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "Set up GCP for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "description": "Update a row in an ISMS register in Comp AI.", "x-mint": { "metadata": { - "title": "Set up GCP for a connection | Comp AI API", - "sidebarTitle": "Set up GCP for a connection", - "description": "Set up GCP for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture.", - "og:title": "Set up GCP for a connection | Comp AI API", - "og:description": "Set up GCP for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture." + "title": "Update a row in an ISMS register | Comp AI API", + "sidebarTitle": "Update a row in an ISMS register", + "description": "Update a row in an ISMS register in Comp AI.", + "og:title": "Update a row in an ISMS register | Comp AI API", + "og:description": "Update a row in an ISMS register in Comp AI." } }, "x-speakeasy-mcp": { - "name": "setup-gcp" + "name": "update-row" } - } - }, - "/v1/cloud-security/setup-gcp/{connectionId}/resolve-step": { - "post": { - "operationId": "CloudSecurityController_resolveGcpSetupStep_v1", + }, + "delete": { + "operationId": "IsmsRegistersController_deleteRow_v1", "parameters": [ { - "name": "connectionId", + "name": "register", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + }, + { + "name": "rowId", "required": true, "in": "path", "schema": { @@ -21126,182 +21563,239 @@ } ], "responses": { - "201": { - "description": "" + "200": { + "description": "Register row deleted" } }, - "summary": "Resolve a GCP setup step", + "security": [ + { + "apikey": [] + } + ], + "summary": "Delete a row in an ISMS register", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "Resolve a GCP setup step in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "description": "Delete a row in an ISMS register in Comp AI.", "x-mint": { "metadata": { - "title": "Resolve a GCP setup step | Comp AI API", - "sidebarTitle": "Resolve a GCP setup step", - "description": "Resolve a GCP setup step in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture.", - "og:title": "Resolve a GCP setup step | Comp AI API", - "og:description": "Resolve a GCP setup step in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture." + "title": "Delete a row in an ISMS register | Comp AI API", + "sidebarTitle": "Delete a row in an ISMS register", + "description": "Delete a row in an ISMS register in Comp AI.", + "og:title": "Delete a row in an ISMS register | Comp AI API", + "og:description": "Delete a row in an ISMS register in Comp AI." } }, "x-speakeasy-mcp": { - "name": "resolve-gcp-setup-step" + "name": "delete-row" } } }, - "/v1/cloud-security/setup-azure/{connectionId}": { + "/v1/isms/documents/{id}/narrative": { "post": { - "operationId": "CloudSecurityController_setupAzure_v1", + "operationId": "IsmsRegistersController_saveNarrative_v1", "parameters": [ { - "name": "connectionId", + "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } - ], + ], + "requestBody": { + "required": true, + "description": "Singleton document narrative payload", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "narrative": { + "type": "object", + "description": "Per-type narrative object (e.g. ISMS scope or leadership commitment), validated at runtime by zod", + "additionalProperties": true + } + }, + "required": [ + "narrative" + ] + } + } + } + }, "responses": { - "201": { - "description": "" + "200": { + "description": "Narrative saved" } }, - "summary": "Set up Azure for a connection", + "security": [ + { + "apikey": [] + } + ], + "summary": "Save a singleton document narrative", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "Set up Azure for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "description": "Save a singleton document narrative in Comp AI.", "x-mint": { "metadata": { - "title": "Set up Azure for a connection | Comp AI API", - "sidebarTitle": "Set up Azure for a connection", - "description": "Set up Azure for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture.", - "og:title": "Set up Azure for a connection | Comp AI API", - "og:description": "Set up Azure for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture." + "title": "Save a singleton document narrative | Comp AI API", + "sidebarTitle": "Save a singleton document narrative", + "description": "Save a singleton document narrative in Comp AI.", + "og:title": "Save a singleton document narrative | Comp AI API", + "og:description": "Save a singleton document narrative in Comp AI." } }, "x-speakeasy-mcp": { - "name": "setup-azure" + "name": "save-narrative" } } }, - "/v1/cloud-security/validate-azure/{connectionId}": { - "post": { - "operationId": "CloudSecurityController_validateAzure_v1", + "/v1/isms/profile": { + "get": { + "operationId": "IsmsProfileController_getProfile_v1", "parameters": [ { - "name": "connectionId", + "name": "frameworkId", "required": true, - "in": "path", + "in": "query", "schema": { "type": "string" } } ], "responses": { - "201": { - "description": "" + "200": { + "description": "Wizard profile, defaults and member options" } }, - "summary": "Validate Azure credentials for a connection", + "security": [ + { + "apikey": [] + } + ], + "summary": "Get the ISMS wizard profile, defaults and members", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "Validate Azure credentials for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "description": "Get the ISMS wizard profile, defaults and members in Comp AI.", "x-mint": { "metadata": { - "title": "Validate Azure credentials for a connection | Comp AI API", - "sidebarTitle": "Validate Azure credentials for a connection", - "description": "Validate Azure credentials for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect.", - "og:title": "Validate Azure credentials for a connection | Comp AI API", - "og:description": "Validate Azure credentials for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect." + "title": "Get the ISMS wizard profile, defaults and | Comp AI API", + "sidebarTitle": "Get the ISMS wizard profile, defaults and members", + "description": "Get the ISMS wizard profile, defaults and members in Comp AI.", + "og:title": "Get the ISMS wizard profile, defaults and | Comp AI API", + "og:description": "Get the ISMS wizard profile, defaults and members in Comp AI." } }, "x-speakeasy-mcp": { - "name": "validate-azure" + "name": "get-profile" } - } - }, - "/v1/cloud-security/trigger/{connectionId}": { + }, "post": { - "operationId": "CloudSecurityController_triggerScan_v1", - "parameters": [ - { - "name": "connectionId", - "required": true, - "in": "path", - "schema": { - "type": "string" + "operationId": "IsmsProfileController_saveProfile_v1", + "parameters": [], + "requestBody": { + "required": true, + "description": "Partial ISMS wizard answers (validated at runtime by zod)", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "frameworkId": { + "type": "string" + }, + "answers": { + "type": "object", + "description": "Deeply-partial wizard answers (any subset of the wizard steps)", + "additionalProperties": true + }, + "complete": { + "type": "boolean", + "description": "Whether the wizard is being finalized" + } + }, + "required": [ + "frameworkId", + "answers" + ] + } } } - ], + }, "responses": { - "201": { - "description": "" + "200": { + "description": "Saved profile" } }, - "summary": "Trigger a cloud security run for a connection", + "security": [ + { + "apikey": [] + } + ], + "summary": "Save (partial) ISMS wizard answers", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "Trigger a cloud security run for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "description": "Save (partial) ISMS wizard answers in Comp AI.", "x-mint": { "metadata": { - "title": "Trigger a cloud security run for a connection | Comp AI API", - "sidebarTitle": "Trigger a cloud security run for a connection", - "description": "Trigger a cloud security run for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings.", - "og:title": "Trigger a cloud security run for a connection | Comp AI API", - "og:description": "Trigger a cloud security run for a connection in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings." + "title": "Save (partial) ISMS wizard answers | Comp AI API", + "sidebarTitle": "Save (partial) ISMS wizard answers", + "description": "Save (partial) ISMS wizard answers in Comp AI.", + "og:title": "Save (partial) ISMS wizard answers | Comp AI API", + "og:description": "Save (partial) ISMS wizard answers in Comp AI." } }, "x-speakeasy-mcp": { - "name": "trigger-scan" + "name": "save-profile" } } }, - "/v1/cloud-security/runs/{runId}": { - "get": { - "operationId": "CloudSecurityController_getRunStatus_v1", - "parameters": [ - { - "name": "runId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "connectionId", - "required": true, - "in": "query", - "schema": { - "type": "string" + "/v1/isms/generate-all": { + "post": { + "operationId": "IsmsProfileController_generateAll_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenerateAllDto" + } } } - ], + }, "responses": { "200": { - "description": "" + "description": "Regenerated ISMS documents" } }, - "summary": "Get a cloud security scan run by ID", + "security": [ + { + "apikey": [] + } + ], + "summary": "Ensure and regenerate all ISMS documents", "tags": [ - "CloudSecurity" + "ISMS" ], - "description": "Get a cloud security scan run by ID in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud posture results to compliance work.", + "description": "Ensure and regenerate all ISMS documents in Comp AI.", "x-mint": { "metadata": { - "title": "Get a cloud security scan run by ID | Comp AI API", - "sidebarTitle": "Get a cloud security scan run by ID", - "description": "Get a cloud security scan run by ID in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud.", - "og:title": "Get a cloud security scan run by ID | Comp AI API", - "og:description": "Get a cloud security scan run by ID in Comp AI. Run AWS, Azure, and GCP cloud security scans, detect enabled services, review findings, and connect cloud." + "title": "Ensure and regenerate all ISMS documents | Comp AI API", + "sidebarTitle": "Ensure and regenerate all ISMS documents", + "description": "Ensure and regenerate all ISMS documents in Comp AI.", + "og:title": "Ensure and regenerate all ISMS documents | Comp AI API", + "og:description": "Ensure and regenerate all ISMS documents in Comp AI." } }, "x-speakeasy-mcp": { - "name": "get-run-status" + "name": "generate-all" } } }, @@ -23280,28 +23774,81 @@ "og:title": "Get a specific requirement with related | Comp AI API", "og:description": "Get a specific requirement with related controls in Comp AI. Manage SOC 2, ISO 27001, HIPAA, GDPR, and custom framework instances, requirements, scores." } - }, - "x-speakeasy-mcp": { - "name": "find-requirement" - } - } - }, - "/v1/frameworks/custom": { - "post": { - "operationId": "FrameworksController_createCustom_v1", - "parameters": [], + }, + "x-speakeasy-mcp": { + "name": "find-requirement" + } + } + }, + "/v1/frameworks/custom": { + "post": { + "operationId": "FrameworksController_createCustom_v1", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateCustomFrameworkDto" + } + } + } + }, + "responses": { + "201": { + "description": "" + } + }, + "security": [ + { + "bearer": [] + } + ], + "summary": "Create a custom framework for this organization", + "tags": [ + "Frameworks" + ], + "description": "Create a custom framework for this organization in Comp AI. Manage SOC 2, ISO 27001, HIPAA, GDPR, and custom framework instances, requirements, scores, and sync history.", + "x-mint": { + "metadata": { + "title": "Create a custom framework for this | Comp AI API", + "sidebarTitle": "Create a custom framework for this organization", + "description": "Create a custom framework for this organization in Comp AI. Manage SOC 2, ISO 27001, HIPAA, GDPR, and custom framework instances, requirements, scores.", + "og:title": "Create a custom framework for this | Comp AI API", + "og:description": "Create a custom framework for this organization in Comp AI. Manage SOC 2, ISO 27001, HIPAA, GDPR, and custom framework instances, requirements, scores." + } + }, + "x-speakeasy-mcp": { + "name": "create-custom" + } + } + }, + "/v1/frameworks/{id}/custom": { + "patch": { + "description": "Update the name and/or description of an organization's custom framework. Only custom frameworks are editable; platform frameworks return 400.", + "operationId": "FrameworksController_updateCustom_v1", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateCustomFrameworkDto" + "$ref": "#/components/schemas/UpdateCustomFrameworkDto" } } } }, "responses": { - "201": { + "200": { "description": "" } }, @@ -23310,22 +23857,21 @@ "bearer": [] } ], - "summary": "Create a custom framework for this organization", + "summary": "Update a custom framework", "tags": [ "Frameworks" ], - "description": "Create a custom framework for this organization in Comp AI. Manage SOC 2, ISO 27001, HIPAA, GDPR, and custom framework instances, requirements, scores, and sync history.", "x-mint": { "metadata": { - "title": "Create a custom framework for this | Comp AI API", - "sidebarTitle": "Create a custom framework for this organization", - "description": "Create a custom framework for this organization in Comp AI. Manage SOC 2, ISO 27001, HIPAA, GDPR, and custom framework instances, requirements, scores.", - "og:title": "Create a custom framework for this | Comp AI API", - "og:description": "Create a custom framework for this organization in Comp AI. Manage SOC 2, ISO 27001, HIPAA, GDPR, and custom framework instances, requirements, scores." + "title": "Update a custom framework | Comp AI API", + "sidebarTitle": "Update a custom framework", + "description": "Update the name and/or description of an organization's custom framework. Only custom frameworks are editable; platform frameworks return 400.", + "og:title": "Update a custom framework | Comp AI API", + "og:description": "Update the name and/or description of an organization's custom framework. Only custom frameworks are editable; platform frameworks return 400." } }, "x-speakeasy-mcp": { - "name": "create-custom" + "name": "update-custom" } } }, @@ -26368,19 +26914,253 @@ }, "s3Key": { "type": "string", - "description": "The S3 key the file will land at. Pass this to the feature endpoint (e.g. questionnaire upload-and-parse) instead of base64 file data.", - "example": "org_abc/uploads/questionnaire/1735000000-questionnaire.xlsx" - }, - "expiresIn": { - "type": "number", - "description": "Seconds until the presigned URL expires.", - "example": 900 + "description": "The S3 key the file will land at. Pass this to the feature endpoint (e.g. questionnaire upload-and-parse) instead of base64 file data.", + "example": "org_abc/uploads/questionnaire/1735000000-questionnaire.xlsx" + }, + "expiresIn": { + "type": "number", + "description": "Seconds until the presigned URL expires.", + "example": 900 + } + }, + "required": [ + "uploadUrl", + "s3Key", + "expiresIn" + ] + }, + "CreateConnectionDto": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." + }, + "providerSlug": { + "type": "string", + "description": "Provider slug for the integration. Call list-providers first to see the available slugs (e.g. 'aws', 'gcp', 'azure', 'github').", + "example": "aws" + }, + "credentials": { + "type": "object", + "description": "Provider-specific credential fields. Keys differ by provider — call get-provider-details for the exact shape. For AWS (Cloud Tests) the fields are: connectionName (display name), awsType ('aws-commercial' or 'aws-govcloud'), roleArn (auditor role), externalId (typically your org id), regions (string array), and optionally remediationRoleArn and awsScanMode ('comp_scanners' or 'security_hub'). Omit credentials for OAuth providers — use POST /v1/integrations/oauth/start instead.", + "additionalProperties": true, + "example": { + "connectionName": "Production AWS", + "awsType": "aws-commercial", + "roleArn": "arn:aws:iam::123456789012:role/CompAI-Auditor", + "externalId": "org_abc123", + "regions": [ + "us-east-1", + "us-west-2" + ], + "remediationRoleArn": "arn:aws:iam::123456789012:role/CompAI-Remediator", + "awsScanMode": "comp_scanners" + } + } + }, + "required": [ + "providerSlug" + ] + }, + "UpdateConnectionDto": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." + }, + "metadata": { + "type": "object", + "description": "Connection metadata to merge into the existing record. Common AWS keys: connectionName, regions (string array), awsScanMode ('comp_scanners' or 'security_hub'). The server shallow-merges this with the existing metadata, so include only the keys you want to change.", + "additionalProperties": true, + "example": { + "connectionName": "Production AWS (renamed)", + "regions": [ + "us-east-1", + "us-west-2" + ] + } + } + } + }, + "UpdateConnectionServicesDto": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." + }, + "services": { + "type": "array", + "description": "Service IDs to enable on this connection. Any service IDs from the provider's manifest that are NOT in this list become disabled. Pass an empty array to disable all services.", + "items": { + "type": "string" + }, + "example": [ + "s3", + "iam", + "cloudtrail" + ] + } + }, + "required": [ + "services" + ] + }, + "RunChecksDto": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." + }, + "checkId": { + "type": "string", + "description": "Specific check ID to run. Omit to run ALL available checks for the connection (matches the provider manifest).", + "example": "aws-s3-bucket-public-access" + } + } + }, + "SaveVariablesDto": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." + }, + "variables": { + "type": "object", + "description": "Map of variable id → value to persist for this connection. Values can be string, number, boolean, or string[] (the shape is provider-defined — call get-connection-variables to see what each connection accepts). Pass only the variables you want to set; existing ones not included are left untouched.", + "additionalProperties": true, + "example": { + "scan-interval-hours": 24, + "enabled-regions": [ + "us-east-1", + "us-west-2" + ], + "strict-mode": true + } + } + }, + "required": [ + "variables" + ] + }, + "RunCheckForTaskDto": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." + }, + "connectionId": { + "type": "string", + "description": "ID of the integration connection that owns the check (call list-connections to find it).", + "example": "conn_abc123" + }, + "checkId": { + "type": "string", + "description": "ID of the integration check to run (from the provider manifest — call list-checks-for-task to find available ones).", + "example": "aws-s3-bucket-public-access" + } + }, + "required": [ + "connectionId", + "checkId" + ] + }, + "ToggleCheckForTaskDto": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." + }, + "connectionId": { + "type": "string", + "description": "ID of the integration connection whose check is being disconnected from / reconnected to this task.", + "example": "conn_abc123" + }, + "checkId": { + "type": "string", + "description": "ID of the integration check being toggled.", + "example": "aws-s3-bucket-public-access" + } + }, + "required": [ + "connectionId", + "checkId" + ] + }, + "SetEmployeeSyncProviderDto": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." + }, + "provider": { + "type": "object", + "description": "Provider slug to use for employee sync (must have the \"sync\" capability in its manifest — call list-providers to see options). Pass null or omit the field to disable employee sync for this org.", + "example": "google-workspace", + "nullable": true + } + } + }, + "SetTwoFactorSourceDto": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." + }, + "provider": { + "type": "object", + "description": "Provider slug whose 2FA check feeds the People-tab 2FA column (must be bound to the 2FA task — call available-2fa-sources for options). Pass null or omit to clear the source.", + "example": "google-workspace", + "nullable": true + } + } + }, + "MarkExceptionDto": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "Documentation for why this finding does not apply or is being accepted. Minimum 20 non-whitespace characters.", + "example": "Bucket hosts intentionally public marketing assets; writes restricted to the marketing IAM role." + }, + "reviewedBy": { + "type": "string", + "description": "Free-text reviewer or approval reference.", + "example": "Approved by CISO 2026-Q1" + }, + "expiresAt": { + "type": "string", + "description": "ISO date when this exception should auto-expire. Null/missing = never.", + "example": "2026-08-13" + } + }, + "required": [ + "reason" + ] + }, + "UpdateAwsScanModeDto": { + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "Which scan engine to use for this AWS connection.", + "enum": [ + "comp_scanners", + "security_hub" + ], + "example": "security_hub" } }, "required": [ - "uploadUrl", - "s3Key", - "expiresIn" + "mode" ] }, "CreateRiskDto": { @@ -29461,6 +30241,10 @@ "docx" ], "example": "pdf" + }, + "versionId": { + "type": "string", + "description": "Published version to export. Omit to export the document's current published version (or the working draft if it has never been published); provide a version id to download exactly what was approved at that version." } }, "required": [ @@ -29480,225 +30264,6 @@ "frameworkId" ] }, - "CreateConnectionDto": { - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." - }, - "providerSlug": { - "type": "string", - "description": "Provider slug for the integration. Call list-providers first to see the available slugs (e.g. 'aws', 'gcp', 'azure', 'github').", - "example": "aws" - }, - "credentials": { - "type": "object", - "description": "Provider-specific credential fields. Keys differ by provider — call get-provider-details for the exact shape. For AWS (Cloud Tests) the fields are: connectionName (display name), awsType ('aws-commercial' or 'aws-govcloud'), roleArn (auditor role), externalId (typically your org id), regions (string array), and optionally remediationRoleArn and awsScanMode ('comp_scanners' or 'security_hub'). Omit credentials for OAuth providers — use POST /v1/integrations/oauth/start instead.", - "additionalProperties": true, - "example": { - "connectionName": "Production AWS", - "awsType": "aws-commercial", - "roleArn": "arn:aws:iam::123456789012:role/CompAI-Auditor", - "externalId": "org_abc123", - "regions": [ - "us-east-1", - "us-west-2" - ], - "remediationRoleArn": "arn:aws:iam::123456789012:role/CompAI-Remediator", - "awsScanMode": "comp_scanners" - } - } - }, - "required": [ - "providerSlug" - ] - }, - "UpdateConnectionDto": { - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." - }, - "metadata": { - "type": "object", - "description": "Connection metadata to merge into the existing record. Common AWS keys: connectionName, regions (string array), awsScanMode ('comp_scanners' or 'security_hub'). The server shallow-merges this with the existing metadata, so include only the keys you want to change.", - "additionalProperties": true, - "example": { - "connectionName": "Production AWS (renamed)", - "regions": [ - "us-east-1", - "us-west-2" - ] - } - } - } - }, - "UpdateConnectionServicesDto": { - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." - }, - "services": { - "type": "array", - "description": "Service IDs to enable on this connection. Any service IDs from the provider's manifest that are NOT in this list become disabled. Pass an empty array to disable all services.", - "items": { - "type": "string" - }, - "example": [ - "s3", - "iam", - "cloudtrail" - ] - } - }, - "required": [ - "services" - ] - }, - "RunChecksDto": { - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." - }, - "checkId": { - "type": "string", - "description": "Specific check ID to run. Omit to run ALL available checks for the connection (matches the provider manifest).", - "example": "aws-s3-bucket-public-access" - } - } - }, - "SaveVariablesDto": { - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." - }, - "variables": { - "type": "object", - "description": "Map of variable id → value to persist for this connection. Values can be string, number, boolean, or string[] (the shape is provider-defined — call get-connection-variables to see what each connection accepts). Pass only the variables you want to set; existing ones not included are left untouched.", - "additionalProperties": true, - "example": { - "scan-interval-hours": 24, - "enabled-regions": [ - "us-east-1", - "us-west-2" - ], - "strict-mode": true - } - } - }, - "required": [ - "variables" - ] - }, - "RunCheckForTaskDto": { - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." - }, - "connectionId": { - "type": "string", - "description": "ID of the integration connection that owns the check (call list-connections to find it).", - "example": "conn_abc123" - }, - "checkId": { - "type": "string", - "description": "ID of the integration check to run (from the provider manifest — call list-checks-for-task to find available ones).", - "example": "aws-s3-bucket-public-access" - } - }, - "required": [ - "connectionId", - "checkId" - ] - }, - "ToggleCheckForTaskDto": { - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." - }, - "connectionId": { - "type": "string", - "description": "ID of the integration connection whose check is being disconnected from / reconnected to this task.", - "example": "conn_abc123" - }, - "checkId": { - "type": "string", - "description": "ID of the integration check being toggled.", - "example": "aws-s3-bucket-public-access" - } - }, - "required": [ - "connectionId", - "checkId" - ] - }, - "SetEmployeeSyncProviderDto": { - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "description": "Auto-resolved from your API key / session. You can omit this; it is ignored by the server." - }, - "provider": { - "type": "object", - "description": "Provider slug to use for employee sync (must have the \"sync\" capability in its manifest — call list-providers to see options). Pass null or omit the field to disable employee sync for this org.", - "example": "google-workspace", - "nullable": true - } - } - }, - "MarkExceptionDto": { - "type": "object", - "properties": { - "reason": { - "type": "string", - "description": "Documentation for why this finding does not apply or is being accepted. Minimum 20 non-whitespace characters.", - "example": "Bucket hosts intentionally public marketing assets; writes restricted to the marketing IAM role." - }, - "reviewedBy": { - "type": "string", - "description": "Free-text reviewer or approval reference.", - "example": "Approved by CISO 2026-Q1" - }, - "expiresAt": { - "type": "string", - "description": "ISO date when this exception should auto-expire. Null/missing = never.", - "example": "2026-08-13" - } - }, - "required": [ - "reason" - ] - }, - "UpdateAwsScanModeDto": { - "type": "object", - "properties": { - "mode": { - "type": "string", - "description": "Which scan engine to use for this AWS connection.", - "enum": [ - "comp_scanners", - "security_hub" - ], - "example": "security_hub" - } - }, - "required": [ - "mode" - ] - }, "TaskItemAssigneeDto": { "type": "object", "properties": { @@ -30153,6 +30718,20 @@ "description" ] }, + "UpdateCustomFrameworkDto": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Framework name", + "example": "Internal Controls" + }, + "description": { + "type": "string", + "description": "Framework description" + } + } + }, "CreateCustomRequirementDto": { "type": "object", "properties": {