Skip to main content

API Reference

This page is generated from openapi/pavri.v1.yaml. Do not edit the generated content by hand; update the OpenAPI source instead.

Auth

Authentication, SSO, password reset, and session state

POST /api/auth/login

Sign in with username and password

  • Operation ID: login
  • Tags: auth

Request Body

  • Content type: application/json
  • Schema: LoginRequest

Responses

StatusDescriptionSchema
200Session established successfullyAuthSuccessResponse
400Validation errorAuthErrorResponse
401Invalid credentialsAuthErrorResponse

POST /api/auth/register

Create a workspace and first user

  • Operation ID: registerWorkspace
  • Tags: auth

Request Body

  • Content type: application/json
  • Schema: RegisterRequest

Responses

StatusDescriptionSchema
200Workspace created and authenticatedAuthSuccessResponse
400Validation errorAuthErrorResponse
409Username already existsAuthErrorResponse

GET /api/auth/session

Resolve the current dashboard session

  • Operation ID: getCurrentSession
  • Tags: auth

Responses

StatusDescriptionSchema
200Authenticated session identityAuthSessionEnvelope
401No authenticated sessionErrorResponse

GET /api/auth/logout

Clear the current dashboard session

  • Operation ID: logout
  • Tags: auth

Responses

StatusDescriptionSchema
307Redirects to /login with a signed-out statusNot documented

POST /api/auth/setup

Complete onboarding by creating an organization

  • Operation ID: setupOrganization
  • Tags: auth

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
201Organization createdOkResponse
400Already onboarded or invalid sessionErrorResponse
401No authenticated sessionErrorResponse

POST /api/auth/forgot-password

Request a password reset email

  • Operation ID: forgotPassword
  • Tags: auth

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Reset email sent (always succeeds to avoid leaking registered emails)object

POST /api/auth/reset-password

Reset password using a token

  • Operation ID: resetPassword
  • Tags: auth

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Password reset successfullyobject
400Invalid or expired tokenErrorResponse

POST /api/auth/accept-invite

Accept a team invitation

  • Operation ID: acceptInvite
  • Tags: auth

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Invitation acceptedobject
400Invalid or expired tokenErrorResponse

GET /api/auth/workos/authorize

Redirect to WorkOS-hosted SSO login page

  • Operation ID: workosAuthorize
  • Tags: auth

Parameters

NameInRequiredSchemaDescription
redirect_uriquerynostring
statequerynostring

Responses

StatusDescriptionSchema
302Redirect to WorkOS loginNot documented
400WorkOS not configuredErrorResponse

GET /api/auth/workos/callback

Handle WorkOS OAuth callback

  • Operation ID: workosCallback
  • Tags: auth

Parameters

NameInRequiredSchemaDescription
codequeryyesstring

Responses

StatusDescriptionSchema
302Redirect to /overview or /setup with session cookie setNot documented
302 Redirect to /login?state=error on failureNot documented

Agents

Agent inventory and agent-level evidence drill-down

GET /api/agents

List agents for the current tenant

  • Operation ID: listAgents
  • Tags: agents

Parameters

NameInRequiredSchemaDescription
qquerynostringFree-text search across inventory fields
statusquerynostringFilter by agent status

Responses

StatusDescriptionSchema
200Agent inventory rowsAgentListResponse
401No authenticated sessionErrorResponse

GET /api/agents/{agentId}

Fetch a single agent detail record

  • Operation ID: getAgent
  • Tags: agents

Parameters

NameInRequiredSchemaDescription
agentIdpathyesstring

Responses

StatusDescriptionSchema
200Full agent detailAgentResponse
401No authenticated sessionErrorResponse
404Agent not foundErrorResponse

GET /api/agents/{agentId}/sessions

List sessions for a single agent

  • Operation ID: listAgentSessions
  • Tags: agents, sessions

Parameters

NameInRequiredSchemaDescription
agentIdpathyesstring

Responses

StatusDescriptionSchema
200Agent session summariesSessionListResponse
401No authenticated sessionErrorResponse

Sessions

Session evidence drill-down

GET /api/agents/{agentId}/sessions

List sessions for a single agent

  • Operation ID: listAgentSessions
  • Tags: agents, sessions

Parameters

NameInRequiredSchemaDescription
agentIdpathyesstring

Responses

StatusDescriptionSchema
200Agent session summariesSessionListResponse
401No authenticated sessionErrorResponse

GET /api/sessions/{sessionId}

Fetch full session evidence detail

  • Operation ID: getSession
  • Tags: sessions

Parameters

NameInRequiredSchemaDescription
sessionIdpathyesstring

Responses

StatusDescriptionSchema
200Session detail with ordered timeline evidenceSessionResponse
401No authenticated sessionErrorResponse
404Session not foundErrorResponse

Policies

Policy library, CRUD, DSL compilation, and templates

GET /api/policies

List policies for the current tenant

  • Operation ID: listPolicies
  • Tags: policies

Parameters

NameInRequiredSchemaDescription
qquerynostring
modequerynostring

Responses

StatusDescriptionSchema
200Policy library rowsPolicyListResponse
401No authenticated sessionErrorResponse

POST /api/policies

Create a new policy

  • Operation ID: createPolicy
  • Tags: policies

Request Body

  • Content type: application/json
  • Schema: CreatePolicyRequest

Responses

StatusDescriptionSchema
201Policy createdPolicyResponse
400Validation errorErrorResponse
401No authenticated sessionErrorResponse

GET /api/policies/{policyId}

Fetch a single policy detail record

  • Operation ID: getPolicy
  • Tags: policies

Parameters

NameInRequiredSchemaDescription
policyIdpathyesstring

Responses

StatusDescriptionSchema
200Policy detailPolicyResponse
401No authenticated sessionErrorResponse
404Policy not foundErrorResponse

POST /api/policies/{policyId}/assign

Assign a policy to an agent

  • Operation ID: assignPolicy
  • Tags: policies

Parameters

NameInRequiredSchemaDescription
policyIdpathyesstring

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Policy assignedOkResponse
404Policy or agent not foundErrorResponse

POST /api/policies/{policyId}/unassign

Unassign a policy from an agent

  • Operation ID: unassignPolicy
  • Tags: policies

Parameters

NameInRequiredSchemaDescription
policyIdpathyesstring

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Policy unassignedOkResponse
404Assignment not foundErrorResponse

POST /api/policies/{policyId}/toggle

Toggle a policy enabled/disabled

  • Operation ID: togglePolicy
  • Tags: policies

Parameters

NameInRequiredSchemaDescription
policyIdpathyesstring

Responses

StatusDescriptionSchema
200Policy toggledPolicyResponse
404Policy not foundErrorResponse

GET /api/policies/templates

List available policy templates

  • Operation ID: listPolicyTemplates
  • Tags: policies

Responses

StatusDescriptionSchema
200Policy templatesobject

POST /api/policies/dsl/validate

Validate a policy DSL YAML document

  • Operation ID: validatePolicyDsl
  • Tags: policies

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Validation resultPolicyDslValidationResponse

POST /api/policies/dsl/compile

Compile a policy DSL YAML document into a runtime snapshot

  • Operation ID: compilePolicyDsl
  • Tags: policies

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Compilation result with optional snapshotPolicyDslCompileResponse

Governance

Attestation claims, execution decisions, and rollout stages

GET /api/governance/attestation

List attestation claims

  • Operation ID: listAttestations
  • Tags: governance

Parameters

NameInRequiredSchemaDescription
agentIdquerynostring
statusquerynostring
qquerynostring

Responses

StatusDescriptionSchema
200Attestation claimsobject
401No authenticated sessionErrorResponse

GET /api/governance/execution

List policy execution decisions

  • Operation ID: listExecutionDecisions
  • Tags: governance

Parameters

NameInRequiredSchemaDescription
agentIdquerynostring
sessionIdquerynostring
outcomequerynostring
routingModequerynostring
qquerynostring

Responses

StatusDescriptionSchema
200Execution decisionsobject
401No authenticated sessionErrorResponse

GET /api/governance/rollout

List policy rollout stages

  • Operation ID: listRollouts
  • Tags: governance

Parameters

NameInRequiredSchemaDescription
stagequerynostring

Responses

StatusDescriptionSchema
200Rollout stagesobject
401No authenticated sessionErrorResponse

POST /api/governance/rollout

Queue a rollout transition

  • Operation ID: queueRolloutTransition
  • Tags: governance

Responses

StatusDescriptionSchema
200Transition queuedobject

GET /api/governance/rollout/{policyId}

Get rollout detail for a specific policy

  • Operation ID: getRolloutDetail
  • Tags: governance

Parameters

NameInRequiredSchemaDescription
policyIdpathyesstring

Responses

StatusDescriptionSchema
200Rollout detail with replaysobject
401No authenticated sessionErrorResponse

POST /api/governance/rollout/{policyId}

Queue a rollout action for a specific policy

  • Operation ID: queueRolloutAction
  • Tags: governance

Parameters

NameInRequiredSchemaDescription
policyIdpathyesstring

Responses

StatusDescriptionSchema
200Action queuedobject

Discovery

Discovered asset inventory, review, and saved views

GET /api/discovery

List discovered assets

  • Operation ID: listDiscoveredAssets
  • Tags: discovery

Parameters

NameInRequiredSchemaDescription
sourcequerynostringFilter by discovery platform
reviewStatequerynostringFilter by review status
lifecycleStatequerynostring
minConfidencequerynonumber
qquerynostring

Responses

StatusDescriptionSchema
200Discovered assetsobject
401No authenticated sessionErrorResponse

GET /api/discovery/{assetId}

Get a single discovered asset

  • Operation ID: getDiscoveredAsset
  • Tags: discovery

Parameters

NameInRequiredSchemaDescription
assetIdpathyesstring

Responses

StatusDescriptionSchema
200Asset detailobject
404Asset not foundErrorResponse

GET /api/discovery/{assetId}/diff

Get diff for a discovered asset

  • Operation ID: getDiscoveredAssetDiff
  • Tags: discovery

Parameters

NameInRequiredSchemaDescription
assetIdpathyesstring

Responses

StatusDescriptionSchema
200Asset diffobject
404Asset not foundErrorResponse

GET /api/discovery/{assetId}/history

Get posture history for a discovered asset

  • Operation ID: getDiscoveredAssetHistory
  • Tags: discovery

Parameters

NameInRequiredSchemaDescription
assetIdpathyesstring

Responses

StatusDescriptionSchema
200Asset posture historyobject
404Asset not foundErrorResponse

POST /api/discovery/review

Submit a review decision for a discovered asset

  • Operation ID: reviewDiscoveredAsset
  • Tags: discovery

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Review recordedobject
404Asset not foundErrorResponse

GET /api/discovery/saved-views

List saved discovery views

  • Operation ID: listSavedViews
  • Tags: discovery

Responses

StatusDescriptionSchema
200Saved viewsobject

POST /api/discovery/saved-views

Create a saved discovery view

  • Operation ID: createSavedView
  • Tags: discovery

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
201View createdobject

Mcp

MCP server inventory, baseline management, and review

GET /api/mcp

List MCP servers

  • Operation ID: listMcpServers
  • Tags: mcp

Parameters

NameInRequiredSchemaDescription
sourcequerynostring
reviewStatequerynostring
qquerynostring

Responses

StatusDescriptionSchema
200MCP serversobject
401No authenticated sessionErrorResponse

GET /api/mcp/{serverId}

Get a single MCP server with assets

  • Operation ID: getMcpServer
  • Tags: mcp

Parameters

NameInRequiredSchemaDescription
serverIdpathyesstring

Responses

StatusDescriptionSchema
200Server detail with assetsobject
404Server not foundErrorResponse

GET /api/mcp/{serverId}/findings

List findings for an MCP server

  • Operation ID: getMcpServerFindings
  • Tags: mcp

Parameters

NameInRequiredSchemaDescription
serverIdpathyesstring

Responses

StatusDescriptionSchema
200Server findingsobject
404Server not foundErrorResponse

GET /api/mcp/baseline

Get the current MCP baseline

  • Operation ID: getMcpBaseline
  • Tags: mcp

Responses

StatusDescriptionSchema
200Current baselineobject

POST /api/mcp/baseline

Approve the current MCP baseline

  • Operation ID: approveMcpBaseline
  • Tags: mcp

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Baseline approvedobject

GET /api/mcp/baseline/diff

Get the diff between current and approved baseline

  • Operation ID: getMcpBaselineDiff
  • Tags: mcp

Responses

StatusDescriptionSchema
200Baseline diffobject

GET /api/mcp/reports

List MCP scan reports

  • Operation ID: listMcpReports
  • Tags: mcp

Responses

StatusDescriptionSchema
200Scan reportsobject

POST /api/mcp/review

Submit a review decision for an MCP server

  • Operation ID: reviewMcpServer
  • Tags: mcp

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Review recordedobject
404Server not foundErrorResponse

Detection

Detection tier configuration, model inventory, and statistics

GET /api/detection/config

Get detection tier configuration

  • Operation ID: getDetectionConfig
  • Tags: detection

Responses

StatusDescriptionSchema
200Detection configobject
401No authenticated sessionErrorResponse

PUT /api/detection/config

Update detection tier configuration

  • Operation ID: updateDetectionConfig
  • Tags: detection

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Config updatedobject
401No authenticated sessionErrorResponse

GET /api/detection/models

List detection models

  • Operation ID: listDetectionModels
  • Tags: detection

Responses

StatusDescriptionSchema
200Model inventoryobject
401No authenticated sessionErrorResponse

GET /api/detection/stats

Get detection cascade statistics

  • Operation ID: getDetectionStats
  • Tags: detection

Responses

StatusDescriptionSchema
200Detection statisticsobject
401No authenticated sessionErrorResponse

Overview

Operator-facing dashboard health and dependency summaries

GET /api/overview

Fetch operator-facing query and dependency health panels

  • Operation ID: getOperationalOverview
  • Tags: overview

Responses

StatusDescriptionSchema
200Query and dependency health overviewOperationalOverviewResponse
401No authenticated sessionErrorResponse

Global object-jump search resources

GET /api/search/resources

List global object-jump resources

  • Operation ID: searchResources
  • Tags: search

Parameters

NameInRequiredSchemaDescription
qquerynostring

Responses

StatusDescriptionSchema
200Searchable agent, session, and policy resourcesSearchResourceResponse
401No authenticated sessionErrorResponse

Alerts

Threat alert records and alert history

GET /api/alerts

List alerts for the current tenant

  • Operation ID: listAlerts
  • Tags: alerts

Parameters

NameInRequiredSchemaDescription
severityquerynostringFilter by alert severity
threat_typequerynostringFilter by threat type
statusquerynostringFilter by delivery status
page_sizequerynointeger
page_tokenquerynostring

Responses

StatusDescriptionSchema
200Paginated alert recordsAlertListResponse
401No authenticated sessionErrorResponse

GET /api/alerts/{alertId}

Fetch a single alert record with full verdict and delivery details

  • Operation ID: getAlert
  • Tags: alerts

Parameters

NameInRequiredSchemaDescription
alertIdpathyesstring

Responses

StatusDescriptionSchema
200Full alert detailAlertResponse
401No authenticated sessionErrorResponse
404Alert not foundErrorResponse

Alert Rules

Alert rule configuration for notification routing

GET /api/alerts/rules

List alert rules for the current tenant

  • Operation ID: listAlertRules
  • Tags: alert-rules

Responses

StatusDescriptionSchema
200Alert rulesAlertRuleListResponse
401No authenticated sessionErrorResponse

POST /api/alerts/rules

Create a new alert rule

  • Operation ID: createAlertRule
  • Tags: alert-rules

Request Body

  • Content type: application/json
  • Schema: CreateAlertRuleRequest

Responses

StatusDescriptionSchema
200Alert rule createdAlertRuleResponse
400Validation errorErrorResponse
401No authenticated sessionErrorResponse

PUT /api/alerts/rules/{ruleId}

Update an alert rule

  • Operation ID: updateAlertRule
  • Tags: alert-rules

Parameters

NameInRequiredSchemaDescription
ruleIdpathyesstring

Request Body

  • Content type: application/json
  • Schema: UpdateAlertRuleRequest

Responses

StatusDescriptionSchema
200Alert rule updatedAlertRuleResponse
400Validation errorErrorResponse
401No authenticated sessionErrorResponse
404Alert rule not foundErrorResponse

DELETE /api/alerts/rules/{ruleId}

Delete an alert rule

  • Operation ID: deleteAlertRule
  • Tags: alert-rules

Parameters

NameInRequiredSchemaDescription
ruleIdpathyesstring

Responses

StatusDescriptionSchema
200Alert rule deletedAlertRuleDeleteResponse
401No authenticated sessionErrorResponse
404Alert rule not foundErrorResponse

Incidents

GET /api/incidents

List incident war rooms for the current tenant

  • Operation ID: listIncidents
  • Tags: incidents

Parameters

NameInRequiredSchemaDescription
statusquerynostring
severityquerynostring

Responses

StatusDescriptionSchema
200Incident recordsIncidentListResponse
401No authenticated sessionErrorResponse

POST /api/incidents

Create an incident from alert, session, or operator context

  • Operation ID: createIncident
  • Tags: incidents

Request Body

  • Content type: application/json
  • Schema: CreateIncidentRequest

Responses

StatusDescriptionSchema
201Incident createdIncidentResponse
400Validation errorErrorResponse

GET /api/incidents/{incidentId}

Fetch a single incident war room

  • Operation ID: getIncident
  • Tags: incidents

Parameters

NameInRequiredSchemaDescription
incidentIdpathyesstring

Responses

StatusDescriptionSchema
200Incident detailIncidentResponse
404Incident not foundErrorResponse

PUT /api/incidents/{incidentId}

Update incident state or evidence links

  • Operation ID: updateIncident
  • Tags: incidents

Parameters

NameInRequiredSchemaDescription
incidentIdpathyesstring

Request Body

  • Content type: application/json
  • Schema: UpdateIncidentRequest

Responses

StatusDescriptionSchema
200Incident updatedIncidentResponse

POST /api/incidents/{incidentId}/notes

Append an operator note to an incident timeline

  • Operation ID: addIncidentNote
  • Tags: incidents

Parameters

NameInRequiredSchemaDescription
incidentIdpathyesstring

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
201Note appendedIncidentResponse

GET /api/incidents/{incidentId}/review

Fetch the generated post-incident review

  • Operation ID: getIncidentReview
  • Tags: incidents

Parameters

NameInRequiredSchemaDescription
incidentIdpathyesstring

Responses

StatusDescriptionSchema
200Review if availableIncidentReviewResponse

POST /api/incidents/{incidentId}/review

Generate a post-incident review after resolution

  • Operation ID: generateIncidentReview
  • Tags: incidents

Parameters

NameInRequiredSchemaDescription
incidentIdpathyesstring

Responses

StatusDescriptionSchema
201Review generatedIncidentReviewResponse

POST /api/incidents/{incidentId}/communications/draft

Draft a Slack or email incident communication

  • Operation ID: draftIncidentCommunication
  • Tags: incidents

Parameters

NameInRequiredSchemaDescription
incidentIdpathyesstring

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Communication draftIncidentCommunicationResponse

POST /api/incidents/{incidentId}/communications/send

Send an incident communication through configured integrations

  • Operation ID: sendIncidentCommunication
  • Tags: incidents

Parameters

NameInRequiredSchemaDescription
incidentIdpathyesstring

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Delivery attempt recordedIncidentCommunicationResponse

POST /api/incidents/{incidentId}/contain

Execute admin-only bulk containment for incident-scoped agents

  • Operation ID: containIncident
  • Tags: incidents

Parameters

NameInRequiredSchemaDescription
incidentIdpathyesstring

Request Body

  • Content type: application/json
  • Schema: IncidentContainmentRequest

Responses

StatusDescriptionSchema
200Containment queued and auditedIncidentContainmentResponse
403Admin role required for destructive containmentErrorResponse

Lifecycle

GET /api/lifecycle/overview

Get lifecycle funnel, promotion queue, degraded agents, and stale candidates

  • Operation ID: getLifecycleOverview
  • Tags: lifecycle

Responses

StatusDescriptionSchema
200Lifecycle overviewLifecycleOverviewResponse

GET /api/lifecycle/config

Get tenant lifecycle gate configuration

  • Operation ID: getLifecycleGateConfig
  • Tags: lifecycle

Responses

StatusDescriptionSchema
200Lifecycle gate configurationLifecycleGateConfigResponse

PUT /api/lifecycle/config

Update tenant lifecycle gate configuration

  • Operation ID: updateLifecycleGateConfig
  • Tags: lifecycle

Request Body

  • Content type: application/json
  • Schema: LifecycleGateConfig

Responses

StatusDescriptionSchema
200Lifecycle gate configuration updatedLifecycleGateConfigResponse

GET /api/lifecycle/agents/{agentId}/checklist

Get an agent lifecycle promotion checklist

  • Operation ID: getLifecycleChecklist
  • Tags: lifecycle

Parameters

NameInRequiredSchemaDescription
agentIdpathyesstring

Responses

StatusDescriptionSchema
200Checklist stateLifecycleChecklistResponse

PUT /api/lifecycle/agents/{agentId}/checklist

Update an agent lifecycle promotion checklist

  • Operation ID: updateLifecycleChecklist
  • Tags: lifecycle

Parameters

NameInRequiredSchemaDescription
agentIdpathyesstring

Request Body

  • Content type: application/json
  • Schema: LifecycleChecklist

Responses

StatusDescriptionSchema
200Checklist updatedLifecycleChecklistResponse

POST /api/lifecycle/agents/{agentId}/transition

Manually transition an agent lifecycle state

  • Operation ID: transitionAgentLifecycle
  • Tags: lifecycle

Parameters

NameInRequiredSchemaDescription
agentIdpathyesstring

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Transition recordedLifecycleTransitionResponse

Reports

Compliance and audit report generation and export

GET /api/reports

List reports

  • Operation ID: listReports
  • Tags: reports

Responses

StatusDescriptionSchema
200Report listobject
401No authenticated sessionErrorResponse

POST /api/reports

Generate a new report

  • Operation ID: createReport
  • Tags: reports

Request Body

  • Content type: application/json
  • Schema: CreateReportRequest

Responses

StatusDescriptionSchema
201Report createdobject
401No authenticated sessionErrorResponse

GET /api/reports/{reportId}

Get a single report

  • Operation ID: getReport
  • Tags: reports

Parameters

NameInRequiredSchemaDescription
reportIdpathyesstring

Responses

StatusDescriptionSchema
200Report detailobject
404Report not foundErrorResponse

GET /api/reports/{reportId}/export

Export a report as CSV or JSON

  • Operation ID: exportReport
  • Tags: reports

Parameters

NameInRequiredSchemaDescription
reportIdpathyesstring
formatquerynostringExport format

Responses

StatusDescriptionSchema
200File downloadobject
400Unsupported formatErrorResponse
404Report not foundErrorResponse

Admin

API key management, team members, invitations, audit log, and tenant settings

GET /api/admin/api-keys

List API keys for the current tenant

  • Operation ID: listApiKeys
  • Tags: admin

Responses

StatusDescriptionSchema
200API keysobject
401No authenticated sessionErrorResponse

POST /api/admin/api-keys

Create a new API key

  • Operation ID: createApiKey
  • Tags: admin

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
201API key created (full key returned once)object
401No authenticated sessionErrorResponse

DELETE /api/admin/api-keys/{keyId}

Revoke an API key

  • Operation ID: deleteApiKey
  • Tags: admin

Parameters

NameInRequiredSchemaDescription
keyIdpathyesstring

Responses

StatusDescriptionSchema
200Key revokedobject
404Key not foundErrorResponse

POST /api/admin/api-keys/{keyId}/rotate

Rotate an API key

  • Operation ID: rotateApiKey
  • Tags: admin

Parameters

NameInRequiredSchemaDescription
keyIdpathyesstring

Responses

StatusDescriptionSchema
201New key generated (full key returned once)object
404Key not foundErrorResponse

GET /api/admin/audit-log

Query the audit log

  • Operation ID: getAuditLog
  • Tags: admin

Parameters

NameInRequiredSchemaDescription
categoryquerynostring
limitquerynointeger
offsetquerynointeger
formatquerynostringOutput format

Responses

StatusDescriptionSchema
200Audit log entries (JSON or CSV depending on format param)object
401No authenticated sessionErrorResponse

GET /api/admin/invite

List pending invitations

  • Operation ID: listInvitations
  • Tags: admin

Responses

StatusDescriptionSchema
200Invitationsobject
401No authenticated sessionErrorResponse

POST /api/admin/invite

Send a team invitation

  • Operation ID: sendInvitation
  • Tags: admin

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Invitation sentobject
401No authenticated sessionErrorResponse

DELETE /api/admin/invite

Revoke a pending invitation

  • Operation ID: revokeInvitation
  • Tags: admin

Parameters

NameInRequiredSchemaDescription
idqueryyesstring

Responses

StatusDescriptionSchema
200Invitation revokedobject
404Invitation not foundErrorResponse

GET /api/admin/members

List team members

  • Operation ID: listMembers
  • Tags: admin

Responses

StatusDescriptionSchema
200Members and invitationsobject
401No authenticated sessionErrorResponse

DELETE /api/admin/members/{userId}

Remove a team member

  • Operation ID: deleteMember
  • Tags: admin

Parameters

NameInRequiredSchemaDescription
userIdpathyesstring

Responses

StatusDescriptionSchema
200Member removedobject
404Member not foundErrorResponse

PUT /api/admin/members/{userId}/role

Update a member's role

  • Operation ID: updateMemberRole
  • Tags: admin

Parameters

NameInRequiredSchemaDescription
userIdpathyesstring

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Role updatedobject
404Member not foundErrorResponse

GET /api/admin/tenant

Get tenant profile

  • Operation ID: getTenantProfile
  • Tags: admin

Responses

StatusDescriptionSchema
200Tenant profileobject
401No authenticated sessionErrorResponse

PUT /api/admin/tenant

Update tenant profile

  • Operation ID: updateTenantProfile
  • Tags: admin

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Profile updatedobject
401No authenticated sessionErrorResponse

POST /api/admin/tenant/delete

Request tenant deletion (async, 72h completion)

  • Operation ID: deleteTenant
  • Tags: admin

Responses

StatusDescriptionSchema
202Deletion queuedobject
401No authenticated sessionErrorResponse

Integrations

External service connections for cloud providers, MCP catalogs, and LLM providers

GET /api/admin/integrations

List all integrations for the current tenant

  • Operation ID: listIntegrations
  • Tags: integrations

Responses

StatusDescriptionSchema
200Integration listobject
401No authenticated sessionErrorResponse

POST /api/admin/integrations

Create a new integration

  • Operation ID: createIntegration
  • Tags: integrations

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
201Integration createdobject
400Missing required fieldsErrorResponse
401No authenticated sessionErrorResponse
503Store service unavailableErrorResponse

PUT /api/admin/integrations/{id}

Update an integration

  • Operation ID: updateIntegration
  • Tags: integrations

Parameters

NameInRequiredSchemaDescription
idpathyesstring

Request Body

  • Content type: application/json
  • Schema: object

Responses

StatusDescriptionSchema
200Integration updatedobject
404Integration not foundErrorResponse

DELETE /api/admin/integrations/{id}

Delete an integration

  • Operation ID: deleteIntegration
  • Tags: integrations

Parameters

NameInRequiredSchemaDescription
idpathyesstring

Responses

StatusDescriptionSchema
200Integration deletedobject
404Integration not foundErrorResponse

POST /api/admin/integrations/{id}/test

Test an integration connection

  • Operation ID: testIntegration
  • Tags: integrations

Parameters

NameInRequiredSchemaDescription
idpathyesstring

Responses

StatusDescriptionSchema
200Test resultobject

POST /api/admin/integrations/{id}/scan

Trigger an immediate scan

  • Operation ID: scanIntegration
  • Tags: integrations

Parameters

NameInRequiredSchemaDescription
idpathyesstring

Responses

StatusDescriptionSchema
200Scan resultobject

Store

Runtime log and trace link queries

GET /api/store/runtime-logs

Query runtime logs for a session

  • Operation ID: getRuntimeLogs
  • Tags: store

Parameters

NameInRequiredSchemaDescription
session_idqueryyesstring
severityquerynostring
limitquerynointeger

Responses

StatusDescriptionSchema
200Runtime logsobject
401No authenticated sessionErrorResponse

Query trace links for a session

  • Operation ID: getTraceLinks
  • Tags: store

Parameters

NameInRequiredSchemaDescription
session_idqueryyesstring

Responses

StatusDescriptionSchema
200Trace linksobject
401No authenticated sessionErrorResponse