Files
probo/pkg/server/api/mcp/v1/specification.yaml
Sacha Al Himdani b603d04d8d Assets as document: replace snapshot with publish workflow
Remove assets from the snapshot system and replace with a publish-based
document workflow that generates versioned ProseMirror documents.

- Remove snapshot_id/source_id from asset and asset_vendor models
- Delete AssetFilter (no longer needed without snapshot filtering)
- Add PublishAssetList service, GraphQL mutation, MCP tool, CLI command,
  and n8n operation
- Add asset_list_document_id column to generated_documents table
- Generate ProseMirror documents with asset inventory tables
  (name, type, amount, data types stored, owner, vendors)
- Add AssetListDocument resolver on Organization type
- Update frontend to remove snapshot routes/params and add publish dialog
- Add e2e tests for asset publish (immediate, with approvers, reuse, RBAC)
- Add migration script for converting legacy asset snapshots to documents
- Exclude ASSETS from snapshot type lists and e2e snapshot tests
- Move generated_documents SQL to coredata methods on Datum and Asset
- Clear generated document and SOA references on soft delete and archive

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-04-21 19:36:17 +02:00

9217 lines
255 KiB
YAML

info:
title: Probo MCP Server
version: 1.0.0
description: Probo MCP Server API
components:
schemas:
EmailAddress:
type: string
format: string
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/mail.Addr
Duration:
type: string
description: A duration
go.probo.inc/mcpgen/type: time.Duration
OrderDirection:
type: string
enum:
- ASC
- DESC
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/page.OrderDirection
VendorOrderField:
type: string
enum:
- CREATED_AT
- UPDATED_AT
- NAME
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.VendorOrderField
VendorRiskAssessmentOrderField:
type: string
enum:
- CREATED_AT
- EXPIRES_AT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.VendorRiskAssessmentOrderField
VendorRiskAssessmentOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/VendorRiskAssessmentOrderField"
description: Vendor risk assessment order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Vendor risk assessment order direction
DataSensitivity:
type: string
enum:
- NONE
- LOW
- MEDIUM
- HIGH
- CRITICAL
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DataSensitivity
BusinessImpact:
type: string
enum:
- LOW
- MEDIUM
- HIGH
- CRITICAL
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.BusinessImpact
VendorOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/VendorOrderField"
description: Vendor order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Vendor order direction
DocumentVersionApprovalQuorumOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/DocumentVersionApprovalQuorumOrderField"
description: Order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Order direction
DocumentVersionApprovalDecisionOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/DocumentVersionApprovalDecisionOrderField"
description: Order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Order direction
ProfileOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/ProfileOrderField"
description: Profile order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Profile order direction
ProfileOrderField:
type: string
enum:
- CREATED_AT
- FULL_NAME
- KIND
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.MembershipProfileOrderField
MembershipRole:
type: string
enum:
- OWNER
- ADMIN
- EMPLOYEE
- VIEWER
- AUDITOR
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.MembershipRole
Profile:
type: object
required:
- id
- organization_id
- full_name
- email_address
- additional_email_addresses
- kind
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Profile ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
full_name:
type: string
description: Full name
email_address:
$ref: "#/components/schemas/EmailAddress"
description: Primary email address
additional_email_addresses:
type: array
items:
$ref: "#/components/schemas/EmailAddress"
description: Additional email addresses
kind:
type:
- string
- "null"
description: Profile kind
position:
type:
- string
- "null"
description: Position
contract_start_date:
type:
- string
- "null"
format: date-time
description: Contract start date
contract_end_date:
type:
- string
- "null"
format: date-time
description: Contract end date
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListUsersInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/ProfileOrderBy"
description: User order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
exclude_contract_ended:
type: boolean
description: Exclude users with ended contracts
ListUsersOutput:
type: object
required:
- users
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
users:
type: array
items:
$ref: "#/components/schemas/Profile"
GID:
type: string
format: string
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/gid.GID
CursorKey:
type: string
format: string
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/page.CursorKey
ListOrganizationsInput:
type: object
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
ListOrganizationsOutput:
type: object
properties:
organizations:
type: array
items:
$ref: "#/components/schemas/Organization"
Organization:
type: object
required:
- id
- name
- description
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Organization name
description:
type:
- string
- "null"
description: Organization description
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListVendorsInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/VendorOrderBy"
description: Vendor order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
snapshot_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Filter by snapshot ID. Defaults to null, which returns only vendors with no snapshot (current live data). Pass a specific snapshot ID to retrieve vendors as they were at that snapshot.
default: null
ListVendorsOutput:
type: object
required:
- vendors
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
vendors:
type: array
items:
$ref: "#/components/schemas/Vendor"
Vendor:
type: object
required:
- id
- name
- organization_id
- category
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Vendor ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Vendor name
description:
type:
- string
- "null"
description: Vendor description
category:
type: string
enum:
- ANALYTICS
- CLOUD_MONITORING
- CLOUD_PROVIDER
- COLLABORATION
- CUSTOMER_SUPPORT
- DATA_STORAGE_AND_PROCESSING
- DOCUMENT_MANAGEMENT
- EMPLOYEE_MANAGEMENT
- ENGINEERING
- FINANCE
- IDENTITY_PROVIDER
- IT
- MARKETING
- OFFICE_OPERATIONS
- OTHER
- PASSWORD_MANAGEMENT
- PRODUCT_AND_DESIGN
- PROFESSIONAL_SERVICES
- RECRUITING
- SALES
- SECURITY
- VERSION_CONTROL
description: Vendor category
headquarter_address:
type:
- string
- "null"
description: Headquarter address
legal_name:
type:
- string
- "null"
description: Legal name
website_url:
type:
- string
- "null"
description: Website URL
privacy_policy_url:
type:
- string
- "null"
description: Privacy policy URL
service_level_agreement_url:
type:
- string
- "null"
description: Service level agreement URL
data_processing_agreement_url:
type:
- string
- "null"
description: Data processing agreement URL
business_associate_agreement_url:
type:
- string
- "null"
description: Business associate agreement URL
subprocessors_list_url:
type:
- string
- "null"
description: Subprocessors list URL
certifications:
type: array
items:
type: string
description: Certifications
countries:
type: array
items:
type: string
description: Countries (ISO 3166-1 alpha-2 country codes)
business_owner_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Business owner ID
security_owner_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Security owner ID
status_page_url:
type:
- string
- "null"
description: Status page URL
terms_of_service_url:
type:
- string
- "null"
description: Terms of service URL
security_page_url:
type:
- string
- "null"
description: Security page URL
trust_page_url:
type:
- string
- "null"
description: Trust page URL
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
VendorRiskAssessment:
type: object
required:
- id
- organization_id
- vendor_id
- expires_at
- data_sensitivity
- business_impact
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Vendor risk assessment ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
vendor_id:
$ref: "#/components/schemas/GID"
description: Vendor ID
expires_at:
type: string
format: date-time
description: Expiration timestamp
data_sensitivity:
$ref: "#/components/schemas/DataSensitivity"
description: Data sensitivity level
business_impact:
$ref: "#/components/schemas/BusinessImpact"
description: Business impact level
notes:
type:
- string
- "null"
description: Notes
snapshot_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Snapshot ID
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListVendorRiskAssessmentsInput:
type: object
required:
- vendor_id
properties:
vendor_id:
$ref: "#/components/schemas/GID"
description: Vendor ID
order_by:
$ref: "#/components/schemas/VendorRiskAssessmentOrderBy"
description: Vendor risk assessment order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
ListVendorRiskAssessmentsOutput:
type: object
required:
- vendor_risk_assessments
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
vendor_risk_assessments:
type: array
items:
$ref: "#/components/schemas/VendorRiskAssessment"
AddVendorRiskAssessmentInput:
type: object
required:
- vendor_id
- expires_at
- data_sensitivity
- business_impact
properties:
vendor_id:
$ref: "#/components/schemas/GID"
description: Vendor ID
expires_at:
type: string
format: date-time
description: Expiration timestamp
data_sensitivity:
$ref: "#/components/schemas/DataSensitivity"
description: Data sensitivity level
business_impact:
$ref: "#/components/schemas/BusinessImpact"
description: Business impact level
notes:
type: string
description: Notes
AddVendorRiskAssessmentOutput:
type: object
required:
- vendor_risk_assessment
properties:
vendor_risk_assessment:
$ref: "#/components/schemas/VendorRiskAssessment"
AddVendorInput:
type: object
required:
- organization_id
- name
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Vendor name
description:
type: string
description: Vendor description
category:
type: string
enum:
- ANALYTICS
- CLOUD_MONITORING
- CLOUD_PROVIDER
- COLLABORATION
- CUSTOMER_SUPPORT
- DATA_STORAGE_AND_PROCESSING
- DOCUMENT_MANAGEMENT
- EMPLOYEE_MANAGEMENT
- ENGINEERING
- FINANCE
- IDENTITY_PROVIDER
- IT
- MARKETING
- OFFICE_OPERATIONS
- OTHER
- PASSWORD_MANAGEMENT
- PRODUCT_AND_DESIGN
- PROFESSIONAL_SERVICES
- RECRUITING
- SALES
- SECURITY
- VERSION_CONTROL
description: Vendor category
headquarter_address:
type: string
description: Headquarter address
legal_name:
type: string
description: Legal name
website_url:
type: string
description: Website URL
privacy_policy_url:
type: string
description: Privacy policy URL
service_level_agreement_url:
type: string
description: Service level agreement URL
data_processing_agreement_url:
type: string
description: Data processing agreement URL
business_associate_agreement_url:
type: string
description: Business associate agreement URL
subprocessors_list_url:
type: string
description: Subprocessors list URL
certifications:
type: array
items:
type: string
description: Certifications
countries:
type: array
items:
type: string
description: Countries (ISO 3166-1 alpha-2 country codes)
business_owner_id:
$ref: "#/components/schemas/GID"
description: Business owner ID
security_owner_id:
$ref: "#/components/schemas/GID"
description: Security owner ID
status_page_url:
type: string
description: Status page URL
terms_of_service_url:
type: string
description: Terms of service URL
security_page_url:
type: string
description: Security page URL
trust_page_url:
type: string
description: Trust page URL
AddVendorOutput:
type: object
required:
- vendor
properties:
vendor:
$ref: "#/components/schemas/Vendor"
UpdateVendorInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Vendor ID
name:
type: string
description: Vendor name
description:
type: string
description: Vendor description
category:
type: string
enum:
- ANALYTICS
- CLOUD_MONITORING
- CLOUD_PROVIDER
- COLLABORATION
- CUSTOMER_SUPPORT
- DATA_STORAGE_AND_PROCESSING
- DOCUMENT_MANAGEMENT
- EMPLOYEE_MANAGEMENT
- ENGINEERING
- FINANCE
- IDENTITY_PROVIDER
- IT
- MARKETING
- OFFICE_OPERATIONS
- OTHER
- PASSWORD_MANAGEMENT
- PRODUCT_AND_DESIGN
- PROFESSIONAL_SERVICES
- RECRUITING
- SALES
- SECURITY
- VERSION_CONTROL
description: Vendor category
headquarter_address:
type: string
description: Headquarter address
legal_name:
type: string
description: Legal name
website_url:
type: string
description: Website URL
privacy_policy_url:
type: string
description: Privacy policy URL
service_level_agreement_url:
type: string
description: Service level agreement URL
data_processing_agreement_url:
type: string
description: Data processing agreement URL
business_associate_agreement_url:
type: string
description: Business associate agreement URL
subprocessors_list_url:
type: string
description: Subprocessors list URL
certifications:
type: array
items:
type: string
description: Certifications
countries:
type: array
items:
type: string
description: Countries (ISO 3166-1 alpha-2 country codes)
business_owner_id:
$ref: "#/components/schemas/GID"
description: Business owner ID
security_owner_id:
$ref: "#/components/schemas/GID"
description: Security owner ID
status_page_url:
type: string
description: Status page URL
terms_of_service_url:
type: string
description: Terms of service URL
security_page_url:
type: string
description: Security page URL
trust_page_url:
type: string
description: Trust page URL
UpdateVendorOutput:
type: object
required:
- vendor
properties:
vendor:
$ref: "#/components/schemas/Vendor"
DeleteVendorInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Vendor ID
DeleteVendorOutput:
type: object
required:
- deleted_vendor_id
properties:
deleted_vendor_id:
$ref: "#/components/schemas/GID"
description: Deleted vendor ID
GetUserInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: User ID (profile ID)
GetUserOutput:
type: object
required:
- user
properties:
user:
$ref: "#/components/schemas/Profile"
CreateUserInput:
type: object
required:
- organization_id
- full_name
- email_address
- role
- kind
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
full_name:
type: string
description: Full name
email_address:
$ref: "#/components/schemas/EmailAddress"
description: Email address
role:
$ref: "#/components/schemas/MembershipRole"
description: Membership role
additional_email_addresses:
type: array
items:
$ref: "#/components/schemas/EmailAddress"
description: Additional email addresses
kind:
type:
- string
- "null"
description: User kind
position:
type: ["string", "null"]
description: Position
contract_start_date:
type: ["string", "null"]
format: date-time
description: Contract start date
contract_end_date:
type: ["string", "null"]
format: date-time
description: Contract end date
CreateUserOutput:
type: object
required:
- user
properties:
user:
$ref: "#/components/schemas/Profile"
InviteUserInput:
type: object
required:
- organization_id
- profile_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
profile_id:
$ref: "#/components/schemas/GID"
description: User (profile) ID to invite
InviteUserOutput:
type: object
required:
- invitation_id
properties:
invitation_id:
$ref: "#/components/schemas/GID"
description: Created invitation ID
UpdateUserInput:
type: object
required:
- id
- full_name
- kind
properties:
id:
$ref: "#/components/schemas/GID"
description: User (profile) ID
full_name:
type: string
description: Full name
additional_email_addresses:
anyOf:
- type: array
items:
$ref: "#/components/schemas/EmailAddress"
- type: "null"
description: Additional email addresses
kind:
type:
- string
- "null"
description: User kind
position:
type: ["string", "null"]
description: Position
go.probo.inc/mcpgen/omittable: true
contract_start_date:
type: ["string", "null"]
format: date-time
description: Contract start date
go.probo.inc/mcpgen/omittable: true
contract_end_date:
type: ["string", "null"]
format: date-time
description: Contract end date
go.probo.inc/mcpgen/omittable: true
UpdateUserOutput:
type: object
required:
- user
properties:
user:
$ref: "#/components/schemas/Profile"
Membership:
type: object
required:
- id
- role
- created_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Membership ID
role:
$ref: "#/components/schemas/MembershipRole"
description: Membership role
created_at:
type: string
format: date-time
description: Creation timestamp
UpdateMembershipInput:
type: object
required:
- organization_id
- membership_id
- role
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
membership_id:
$ref: "#/components/schemas/GID"
description: Membership ID
role:
$ref: "#/components/schemas/MembershipRole"
description: New role
UpdateMembershipOutput:
type: object
required:
- membership
properties:
membership:
$ref: "#/components/schemas/Membership"
RemoveUserInput:
type: object
required:
- organization_id
- profile_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
profile_id:
$ref: "#/components/schemas/GID"
description: User (profile) ID to remove
RemoveUserOutput:
type: object
required:
- deleted_user_id
properties:
deleted_user_id:
$ref: "#/components/schemas/GID"
description: Deleted user (profile) ID
GetProfileInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Profile ID
GetProfileOutput:
type: object
required:
- profile
properties:
profile:
$ref: "#/components/schemas/Profile"
UpdateProfileInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Profile ID
full_name:
type: string
description: Full name
additional_email_addresses:
anyOf:
- type: array
items:
$ref: "#/components/schemas/EmailAddress"
- type: "null"
description: No additional email addresses
description: Additional email addresses
kind:
anyOf:
- type: string
- type: "null"
description: Profile kind
position:
type: ["string", "null"]
description: Position
go.probo.inc/mcpgen/omittable: true
contract_start_date:
type: ["string", "null"]
format: date-time
description: Contract start date
go.probo.inc/mcpgen/omittable: true
contract_end_date:
type: ["string", "null"]
format: date-time
description: Contract end date
go.probo.inc/mcpgen/omittable: true
UpdateProfileOutput:
type: object
required:
- profile
properties:
profile:
$ref: "#/components/schemas/Profile"
RiskOrderField:
type: string
enum:
- CREATED_AT
- UPDATED_AT
- NAME
- CATEGORY
- TREATMENT
- INHERENT_RISK_SCORE
- RESIDUAL_RISK_SCORE
- OWNER_FULL_NAME
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.RiskOrderField
RiskOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/RiskOrderField"
description: Risk order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Risk order direction
RiskTreatment:
type: string
enum:
- MITIGATED
- ACCEPTED
- AVOIDED
- TRANSFERRED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.RiskTreatment
Risk:
type: object
required:
- id
- organization_id
- name
- category
- treatment
- inherent_likelihood
- inherent_impact
- inherent_risk_score
- residual_likelihood
- residual_impact
- residual_risk_score
- note
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Risk ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
snapshot_id:
anyOf:
- type: string
$ref: "#/components/schemas/GID"
- type: "null"
description: No snapshot
description: Snapshot ID
name:
type: string
description: Risk name
description:
type:
- string
- "null"
description: Risk description
category:
type: string
description: Risk category
treatment:
$ref: "#/components/schemas/RiskTreatment"
description: Risk treatment
inherent_likelihood:
type: integer
description: Inherent likelihood
inherent_impact:
type: integer
description: Inherent impact
inherent_risk_score:
type: integer
description: Inherent risk score
residual_likelihood:
type: integer
description: Residual likelihood
residual_impact:
type: integer
description: Residual impact
residual_risk_score:
type: integer
description: Residual risk score
note:
type: string
description: Risk note
owner_id:
anyOf:
- type: string
$ref: "#/components/schemas/GID"
- type: "null"
description: No owner
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListRisksInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/RiskOrderBy"
description: Risk order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
query:
type: string
description: Search query
snapshot_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Filter by snapshot ID. Defaults to null, which returns only risks with no snapshot (current live data). Pass a specific snapshot ID to retrieve risks as they were at that snapshot.
default: null
ListRisksOutput:
type: object
required:
- risks
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
risks:
type: array
items:
$ref: "#/components/schemas/Risk"
GetRiskInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Risk ID
GetRiskOutput:
type: object
required:
- risk
properties:
risk:
$ref: "#/components/schemas/Risk"
AddRiskInput:
type: object
required:
- organization_id
- name
- category
- treatment
- inherent_likelihood
- inherent_impact
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Risk name
description:
type: string
description: Risk description
category:
type: string
description: Risk category
owner_id:
$ref: "#/components/schemas/GID"
description: Owner ID
treatment:
$ref: "#/components/schemas/RiskTreatment"
description: Risk treatment
inherent_likelihood:
type: integer
description: Inherent likelihood
inherent_impact:
type: integer
description: Inherent impact
residual_likelihood:
type: integer
description: Residual likelihood
residual_impact:
type: integer
description: Residual impact
note:
type: string
description: Risk note
AddRiskOutput:
type: object
required:
- risk
properties:
risk:
$ref: "#/components/schemas/Risk"
UpdateRiskInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Risk ID
name:
type: string
description: Risk name
description:
type: ["string", "null"]
description: Risk description
go.probo.inc/mcpgen/omittable: true
category:
type: string
description: Risk category
owner_id:
anyOf:
- type: string
$ref: "#/components/schemas/GID"
- type: "null"
description: Owner ID
go.probo.inc/mcpgen/omittable: true
treatment:
$ref: "#/components/schemas/RiskTreatment"
description: Risk treatment
inherent_likelihood:
type: integer
description: Inherent likelihood
inherent_impact:
type: integer
description: Inherent impact
residual_likelihood:
type: integer
description: Residual likelihood
residual_impact:
type: integer
description: Residual impact
note:
type: string
description: Risk note
UpdateRiskOutput:
type: object
required:
- risk
properties:
risk:
$ref: "#/components/schemas/Risk"
DeleteRiskInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Risk ID
DeleteRiskOutput:
type: object
required:
- deleted_risk_id
properties:
deleted_risk_id:
$ref: "#/components/schemas/GID"
description: Deleted risk ID
MeasureState:
type: string
enum:
- NOT_STARTED
- IN_PROGRESS
- NOT_APPLICABLE
- IMPLEMENTED
- UNKNOWN
- NOT_IMPLEMENTED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.MeasureState
MeasureOrderField:
type: string
enum:
- CREATED_AT
- NAME
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.MeasureOrderField
MeasureOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/MeasureOrderField"
description: Measure order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Measure order direction
Measure:
type: object
required:
- id
- category
- name
- state
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Measure ID
category:
type: string
description: Measure category
name:
type: string
description: Measure name
description:
type:
- string
- "null"
description: Measure description
state:
$ref: "#/components/schemas/MeasureState"
description: Measure state
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListMeasuresInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/MeasureOrderBy"
description: Measure order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
query:
type: string
description: Search query
state:
$ref: "#/components/schemas/MeasureState"
description: Measure state filter
category:
type: string
description: Filter by measure category
ListMeasuresOutput:
type: object
required:
- measures
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
measures:
type: array
items:
$ref: "#/components/schemas/Measure"
ListMeasureRisksInput:
type: object
required:
- measure_id
properties:
measure_id:
$ref: "#/components/schemas/GID"
description: Measure ID
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
size:
type: integer
description: Page size
order_by:
$ref: "#/components/schemas/RiskOrderBy"
description: Risk order by
ListMeasureRisksOutput:
type: object
required:
- risks
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
risks:
type: array
items:
$ref: "#/components/schemas/Risk"
ListMeasureControlsInput:
type: object
required:
- measure_id
properties:
measure_id:
$ref: "#/components/schemas/GID"
description: Measure ID
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
size:
type: integer
description: Page size
order_by:
$ref: "#/components/schemas/ControlOrderBy"
description: Control order by
ListMeasureControlsOutput:
type: object
required:
- controls
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
controls:
type: array
items:
$ref: "#/components/schemas/Control"
ListMeasureDocumentsInput:
type: object
required:
- measure_id
properties:
measure_id:
$ref: "#/components/schemas/GID"
description: Measure ID
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
size:
type: integer
description: Page size
order_by:
$ref: "#/components/schemas/DocumentOrderBy"
description: Document order by
ListMeasureDocumentsOutput:
type: object
required:
- documents
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
documents:
type: array
items:
$ref: "#/components/schemas/Document"
ListMeasureTasksInput:
type: object
required:
- measure_id
properties:
measure_id:
$ref: "#/components/schemas/GID"
description: Measure ID
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
size:
type: integer
description: Page size
order_by:
$ref: "#/components/schemas/TaskOrderBy"
description: Task order by
ListMeasureTasksOutput:
type: object
required:
- tasks
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
tasks:
type: array
items:
$ref: "#/components/schemas/Task"
ListMeasureEvidencesInput:
type: object
required:
- measure_id
properties:
measure_id:
$ref: "#/components/schemas/GID"
description: Measure ID
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
size:
type: integer
description: Page size
ListMeasureEvidencesOutput:
type: object
required:
- evidences
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
evidences:
type: array
items:
$ref: "#/components/schemas/Evidence"
Evidence:
type: object
required:
- id
- organization_id
- measure_id
- state
- reference_id
- type
- url
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
organization_id:
$ref: "#/components/schemas/GID"
measure_id:
$ref: "#/components/schemas/GID"
task_id:
$ref: "#/components/schemas/GID"
description: Task ID
nullable: true
state:
type: string
enum:
- REQUESTED
- FULFILLED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.EvidenceState
reference_id:
type: string
description: Reference ID
type:
type: string
enum:
- FILE
- LINK
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.EvidenceType
url:
type: string
description: URL
description:
type: string
description: Description
nullable: true
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
LinkMeasureInput:
type: object
required:
- measure_id
- resource_id
properties:
measure_id:
$ref: "#/components/schemas/GID"
description: Measure ID
resource_id:
$ref: "#/components/schemas/GID"
description: ID of the resource to link (control, risk, or document)
LinkMeasureOutput:
type: object
UnlinkMeasureInput:
type: object
required:
- measure_id
- resource_id
properties:
measure_id:
$ref: "#/components/schemas/GID"
description: Measure ID
resource_id:
$ref: "#/components/schemas/GID"
description: ID of the resource to unlink (control, risk, or document)
UnlinkMeasureOutput:
type: object
GetMeasureInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Measure ID
GetMeasureOutput:
type: object
required:
- measure
properties:
measure:
$ref: "#/components/schemas/Measure"
AddMeasureInput:
type: object
required:
- organization_id
- name
- category
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Measure name
description:
type: string
description: Measure description
category:
type: string
description: Measure category
AddMeasureOutput:
type: object
required:
- measure
properties:
measure:
$ref: "#/components/schemas/Measure"
UpdateMeasureInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Measure ID
name:
type: string
description: Measure name
description:
type: ["string", "null"]
description: Measure description
go.probo.inc/mcpgen/omittable: true
category:
type: string
description: Measure category
state:
$ref: "#/components/schemas/MeasureState"
description: Measure state
UpdateMeasureOutput:
type: object
required:
- measure
properties:
measure:
$ref: "#/components/schemas/Measure"
DeleteMeasureInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Measure ID
DeleteMeasureOutput:
type: object
required:
- deleted_measure_id
properties:
deleted_measure_id:
$ref: "#/components/schemas/GID"
description: Deleted measure ID
FrameworkOrderField:
type: string
enum:
- CREATED_AT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.FrameworkOrderField
FrameworkOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/FrameworkOrderField"
description: Framework order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Framework order direction
Framework:
type: object
required:
- id
- organization_id
- name
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Framework ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Framework name
description:
type:
- string
- "null"
description: Framework description
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListFrameworksInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/FrameworkOrderBy"
description: Framework order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
ListFrameworksOutput:
type: object
required:
- frameworks
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
frameworks:
type: array
items:
$ref: "#/components/schemas/Framework"
GetFrameworkInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Framework ID
GetFrameworkOutput:
type: object
required:
- framework
properties:
framework:
$ref: "#/components/schemas/Framework"
AddFrameworkInput:
type: object
required:
- organization_id
- name
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Framework name
description:
type: string
description: Framework description
AddFrameworkOutput:
type: object
required:
- framework
properties:
framework:
$ref: "#/components/schemas/Framework"
UpdateFrameworkInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Framework ID
name:
type: string
description: Framework name
description:
type: ["string", "null"]
description: Framework description
go.probo.inc/mcpgen/omittable: true
UpdateFrameworkOutput:
type: object
required:
- framework
properties:
framework:
$ref: "#/components/schemas/Framework"
AssetType:
type: string
enum:
- PHYSICAL
- VIRTUAL
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AssetType
AssetOrderField:
type: string
enum:
- CREATED_AT
- AMOUNT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AssetOrderField
AssetOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/AssetOrderField"
description: Asset order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Asset order direction
Asset:
type: object
required:
- id
- organization_id
- name
- amount
- owner_id
- asset_type
- data_types_stored
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Asset ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Asset name
amount:
type: integer
description: Asset amount
owner_id:
$ref: "#/components/schemas/GID"
description: Owner ID
asset_type:
$ref: "#/components/schemas/AssetType"
description: Asset type
data_types_stored:
type: string
description: Data types stored
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListAssetsInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/AssetOrderBy"
description: Asset order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
ListAssetsOutput:
type: object
required:
- assets
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
assets:
type: array
items:
$ref: "#/components/schemas/Asset"
GetAssetInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Asset ID
GetAssetOutput:
type: object
required:
- asset
properties:
asset:
$ref: "#/components/schemas/Asset"
AddAssetInput:
type: object
required:
- organization_id
- name
- amount
- owner_id
- asset_type
- data_types_stored
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Asset name
amount:
type: integer
description: Asset amount
owner_id:
$ref: "#/components/schemas/GID"
description: Owner ID
asset_type:
$ref: "#/components/schemas/AssetType"
description: Asset type
data_types_stored:
type: string
description: Data types stored
vendor_ids:
type: array
items:
$ref: "#/components/schemas/GID"
description: Vendor IDs
AddAssetOutput:
type: object
required:
- asset
properties:
asset:
$ref: "#/components/schemas/Asset"
UpdateAssetInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Asset ID
name:
type: string
description: Asset name
amount:
type: integer
description: Asset amount
owner_id:
anyOf:
- type: string
$ref: "#/components/schemas/GID"
- type: "null"
description: Owner ID
asset_type:
$ref: "#/components/schemas/AssetType"
description: Asset type
data_types_stored:
type: string
description: Data types stored
vendor_ids:
type: array
items:
$ref: "#/components/schemas/GID"
description: Vendor IDs
UpdateAssetOutput:
type: object
required:
- asset
properties:
asset:
$ref: "#/components/schemas/Asset"
DataClassification:
type: string
enum:
- PUBLIC
- INTERNAL
- CONFIDENTIAL
- SECRET
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DataClassification
DatumOrderField:
type: string
enum:
- CREATED_AT
- NAME
- DATA_CLASSIFICATION
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DatumOrderField
DatumOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/DatumOrderField"
description: Datum order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Datum order direction
Datum:
type: object
required:
- id
- organization_id
- name
- data_classification
- owner_id
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Datum ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Datum name
data_classification:
$ref: "#/components/schemas/DataClassification"
description: Data classification
owner_id:
$ref: "#/components/schemas/GID"
description: Owner ID
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListDataInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/DatumOrderBy"
description: Datum order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
ListDataOutput:
type: object
required:
- data
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
data:
type: array
items:
$ref: "#/components/schemas/Datum"
GetDatumInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Datum ID
GetDatumOutput:
type: object
required:
- datum
properties:
datum:
$ref: "#/components/schemas/Datum"
AddDatumInput:
type: object
required:
- organization_id
- name
- data_classification
- owner_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Datum name
data_classification:
$ref: "#/components/schemas/DataClassification"
description: Data classification
owner_id:
$ref: "#/components/schemas/GID"
description: Owner ID
vendor_ids:
type: array
items:
$ref: "#/components/schemas/GID"
description: Vendor IDs
AddDatumOutput:
type: object
required:
- datum
properties:
datum:
$ref: "#/components/schemas/Datum"
UpdateDatumInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Datum ID
name:
type: string
description: Datum name
data_classification:
$ref: "#/components/schemas/DataClassification"
description: Data classification
owner_id:
anyOf:
- type: string
$ref: "#/components/schemas/GID"
- type: "null"
description: Owner ID
vendor_ids:
type: array
items:
$ref: "#/components/schemas/GID"
description: Vendor IDs
UpdateDatumOutput:
type: object
required:
- datum
properties:
datum:
$ref: "#/components/schemas/Datum"
FindingKind:
type: string
enum:
- MINOR_NONCONFORMITY
- MAJOR_NONCONFORMITY
- OBSERVATION
- EXCEPTION
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.FindingKind
FindingStatus:
type: string
enum:
- OPEN
- IN_PROGRESS
- CLOSED
- RISK_ACCEPTED
- MITIGATED
- FALSE_POSITIVE
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.FindingStatus
FindingPriority:
type: string
enum:
- LOW
- MEDIUM
- HIGH
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.FindingPriority
FindingOrderField:
type: string
enum:
- CREATED_AT
- REFERENCE_ID
- DATE_IDENTIFIED
- DUE_DATE
- STATUS
- PRIORITY
- KIND
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.FindingOrderField
FindingOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/FindingOrderField"
description: Finding order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Finding order direction
Finding:
type: object
required:
- id
- organization_id
- kind
- reference_id
- status
- priority
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Finding ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
snapshot_id:
anyOf:
- $ref: "#/components/schemas/GID"
description: Snapshot ID
- type: "null"
description: No snapshot
description: Snapshot ID
source_id:
type:
- string
- "null"
description: Source ID
kind:
$ref: "#/components/schemas/FindingKind"
description: Finding kind
reference_id:
type: string
description: Reference ID
description:
type:
- string
- "null"
description: Description
source:
type:
- string
- "null"
description: Source
identified_on:
type:
- string
- "null"
format: date-time
description: Identified on
root_cause:
type:
- string
- "null"
description: Root cause
corrective_action:
type:
- string
- "null"
description: Corrective action
owner_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Owner ID
due_date:
type:
- string
- "null"
format: date-time
description: Due date
status:
$ref: "#/components/schemas/FindingStatus"
description: Status
priority:
$ref: "#/components/schemas/FindingPriority"
description: Priority
risk_id:
anyOf:
- $ref: "#/components/schemas/GID"
description: Risk ID
- type: "null"
description: No risk
description: Risk ID
effectiveness_check:
type:
- string
- "null"
description: Effectiveness check
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListFindingsInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/FindingOrderBy"
description: Finding order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
snapshot_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Filter by snapshot ID. Defaults to null, which returns only findings with no snapshot (current live data). Pass a specific snapshot ID to retrieve findings as they were at that snapshot.
default: null
kind:
anyOf:
- $ref: "#/components/schemas/FindingKind"
- type: "null"
description: Filter by finding kind (MINOR_NONCONFORMITY, MAJOR_NONCONFORMITY, OBSERVATION, EXCEPTION). Defaults to null which returns all kinds.
status:
anyOf:
- $ref: "#/components/schemas/FindingStatus"
- type: "null"
description: Filter by finding status (OPEN, IN_PROGRESS, CLOSED, RISK_ACCEPTED, MITIGATED, FALSE_POSITIVE). Defaults to null which returns all statuses.
priority:
anyOf:
- $ref: "#/components/schemas/FindingPriority"
- type: "null"
description: Filter by finding priority (LOW, MEDIUM, HIGH). Defaults to null which returns all priorities.
owner_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Filter by owner profile ID. Defaults to null which returns all owners.
ListFindingsOutput:
type: object
required:
- findings
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
findings:
type: array
items:
$ref: "#/components/schemas/Finding"
GetFindingInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Finding ID
GetFindingOutput:
type: object
required:
- finding
properties:
finding:
$ref: "#/components/schemas/Finding"
AddFindingInput:
type: object
required:
- organization_id
- kind
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
kind:
$ref: "#/components/schemas/FindingKind"
description: Finding kind
description:
type: string
description: Description
source:
type: string
description: Source
identified_on:
type: string
format: date-time
description: Identified on
root_cause:
type: string
description: Root cause
corrective_action:
type: string
description: Corrective action
owner_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Owner ID
due_date:
type: string
format: date-time
description: Due date
status:
anyOf:
- $ref: "#/components/schemas/FindingStatus"
description: Finding status
- type: "null"
description: No status
description: Status
priority:
anyOf:
- $ref: "#/components/schemas/FindingPriority"
description: Finding priority
- type: "null"
description: No priority
description: Priority
risk_id:
anyOf:
- $ref: "#/components/schemas/GID"
description: Risk ID
- type: "null"
description: No risk
description: Risk ID
effectiveness_check:
type: string
description: Effectiveness check
AddFindingOutput:
type: object
required:
- finding
properties:
finding:
$ref: "#/components/schemas/Finding"
UpdateFindingInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Finding ID
description:
type: ["string", "null"]
description: Description
go.probo.inc/mcpgen/omittable: true
source:
type: ["string", "null"]
description: Source
go.probo.inc/mcpgen/omittable: true
identified_on:
type: ["string", "null"]
format: date-time
description: Identified on
go.probo.inc/mcpgen/omittable: true
root_cause:
type: ["string", "null"]
description: Root cause
go.probo.inc/mcpgen/omittable: true
corrective_action:
type: ["string", "null"]
description: Corrective action
go.probo.inc/mcpgen/omittable: true
owner_id:
anyOf:
- type: string
$ref: "#/components/schemas/GID"
- type: "null"
description: Owner ID
due_date:
type: ["string", "null"]
format: date-time
description: Due date
go.probo.inc/mcpgen/omittable: true
status:
$ref: "#/components/schemas/FindingStatus"
description: Status
priority:
$ref: "#/components/schemas/FindingPriority"
description: Priority
risk_id:
anyOf:
- type: string
$ref: "#/components/schemas/GID"
- type: "null"
description: Risk ID
go.probo.inc/mcpgen/omittable: true
effectiveness_check:
type: ["string", "null"]
description: Effectiveness check
go.probo.inc/mcpgen/omittable: true
UpdateFindingOutput:
type: object
required:
- finding
properties:
finding:
$ref: "#/components/schemas/Finding"
DeleteFindingInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Finding ID
DeleteFindingOutput:
type: object
required:
- deleted_finding_id
properties:
deleted_finding_id:
$ref: "#/components/schemas/GID"
description: Deleted finding ID
LinkFindingAuditInput:
type: object
required:
- finding_id
- audit_id
- reference_id
properties:
finding_id:
$ref: "#/components/schemas/GID"
description: Finding ID
audit_id:
$ref: "#/components/schemas/GID"
description: Audit ID
reference_id:
type: string
description: Reference ID for the finding within this audit
LinkFindingAuditOutput:
type: object
required:
- finding
- audit
properties:
finding:
$ref: "#/components/schemas/Finding"
audit:
$ref: "#/components/schemas/Audit"
UnlinkFindingAuditInput:
type: object
required:
- finding_id
- audit_id
properties:
finding_id:
$ref: "#/components/schemas/GID"
description: Finding ID
audit_id:
$ref: "#/components/schemas/GID"
description: Audit ID
UnlinkFindingAuditOutput:
type: object
required:
- deleted_finding_id
- deleted_audit_id
properties:
deleted_finding_id:
$ref: "#/components/schemas/GID"
description: Deleted finding ID
deleted_audit_id:
$ref: "#/components/schemas/GID"
description: Deleted audit ID
ListFindingAuditsInput:
type: object
required:
- finding_id
properties:
finding_id:
$ref: "#/components/schemas/GID"
description: Finding ID
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
size:
type: integer
description: Page size
order_by:
$ref: "#/components/schemas/AuditOrderBy"
description: Audit order by
ListFindingAuditsOutput:
type: object
required:
- audits
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
audits:
type: array
items:
$ref: "#/components/schemas/Audit"
ObligationStatus:
type: string
enum:
- NON_COMPLIANT
- PARTIALLY_COMPLIANT
- COMPLIANT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ObligationStatus
ObligationType:
type: string
enum:
- LEGAL
- CONTRACTUAL
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ObligationType
ObligationOrderField:
type: string
enum:
- CREATED_AT
- LAST_REVIEW_DATE
- DUE_DATE
- STATUS
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ObligationOrderField
ObligationOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/ObligationOrderField"
description: Obligation order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Obligation order direction
Obligation:
type: object
required:
- id
- organization_id
- owner_id
- status
- type
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Obligation ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
snapshot_id:
anyOf:
- $ref: "#/components/schemas/GID"
description: Snapshot ID
- type: "null"
description: No snapshot
description: Snapshot ID
source_id:
type:
- string
- "null"
description: Source ID
area:
type:
- string
- "null"
description: Area
source:
type:
- string
- "null"
description: Source
requirement:
type:
- string
- "null"
description: Requirement
actions_to_be_implemented:
type:
- string
- "null"
description: Actions to be implemented
regulator:
type:
- string
- "null"
description: Regulator
owner_id:
$ref: "#/components/schemas/GID"
description: Owner ID
last_review_date:
type:
- string
- "null"
format: date-time
description: Last review date
due_date:
type:
- string
- "null"
format: date-time
description: Due date
status:
$ref: "#/components/schemas/ObligationStatus"
description: Status
type:
$ref: "#/components/schemas/ObligationType"
description: Type
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListObligationsInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/ObligationOrderBy"
description: Obligation order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
snapshot_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Filter by snapshot ID. Defaults to null, which returns only obligations with no snapshot (current live data). Pass a specific snapshot ID to retrieve obligations as they were at that snapshot.
default: null
ListObligationsOutput:
type: object
required:
- obligations
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
obligations:
type: array
items:
$ref: "#/components/schemas/Obligation"
GetObligationInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Obligation ID
GetObligationOutput:
type: object
required:
- obligation
properties:
obligation:
$ref: "#/components/schemas/Obligation"
AddObligationInput:
type: object
required:
- organization_id
- owner_id
- status
- type
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
area:
type: string
description: Area
source:
type: string
description: Source
requirement:
type: string
description: Requirement
actions_to_be_implemented:
type: string
description: Actions to be implemented
regulator:
type: string
description: Regulator
owner_id:
$ref: "#/components/schemas/GID"
description: Owner ID
last_review_date:
type: string
format: date-time
description: Last review date
due_date:
type: string
format: date-time
description: Due date
status:
anyOf:
- $ref: "#/components/schemas/ObligationStatus"
description: Obligation status
- type: "null"
description: No status
description: Status
type:
anyOf:
- $ref: "#/components/schemas/ObligationType"
description: Obligation type
- type: "null"
description: No type
description: Type
AddObligationOutput:
type: object
required:
- obligation
properties:
obligation:
$ref: "#/components/schemas/Obligation"
UpdateObligationInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Obligation ID
area:
type: ["string", "null"]
description: Area
go.probo.inc/mcpgen/omittable: true
source:
type: ["string", "null"]
description: Source
go.probo.inc/mcpgen/omittable: true
requirement:
type: ["string", "null"]
description: Requirement
go.probo.inc/mcpgen/omittable: true
actions_to_be_implemented:
type: ["string", "null"]
description: Actions to be implemented
go.probo.inc/mcpgen/omittable: true
regulator:
type: ["string", "null"]
description: Regulator
go.probo.inc/mcpgen/omittable: true
owner_id:
anyOf:
- type: string
$ref: "#/components/schemas/GID"
- type: "null"
description: Owner ID
last_review_date:
type: ["string", "null"]
format: date-time
description: Last review date
go.probo.inc/mcpgen/omittable: true
due_date:
type: ["string", "null"]
format: date-time
description: Due date
go.probo.inc/mcpgen/omittable: true
status:
anyOf:
- $ref: "#/components/schemas/ObligationStatus"
description: Obligation status
- type: "null"
description: No status
description: Status
type:
anyOf:
- $ref: "#/components/schemas/ObligationType"
description: Obligation type
- type: "null"
description: No type
description: Type
UpdateObligationOutput:
type: object
required:
- obligation
properties:
obligation:
$ref: "#/components/schemas/Obligation"
ProcessingActivityRole:
type: string
enum:
- CONTROLLER
- PROCESSOR
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ProcessingActivityRole
ProcessingActivityLawfulBasis:
type: string
enum:
- LEGITIMATE_INTEREST
- CONSENT
- CONTRACTUAL_NECESSITY
- LEGAL_OBLIGATION
- VITAL_INTERESTS
- PUBLIC_TASK
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ProcessingActivityLawfulBasis
ProcessingActivitySpecialOrCriminalDatum:
type: string
enum:
- YES
- NO
- POSSIBLE
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ProcessingActivitySpecialOrCriminalDatum
ProcessingActivityTransferSafeguard:
type: string
enum:
- STANDARD_CONTRACTUAL_CLAUSES
- BINDING_CORPORATE_RULES
- ADEQUACY_DECISION
- DEROGATIONS
- CODES_OF_CONDUCT
- CERTIFICATION_MECHANISMS
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ProcessingActivityTransferSafeguard
ProcessingActivityDataProtectionImpactAssessmentNeeded:
type: string
enum:
- NEEDED
- NOT_NEEDED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ProcessingActivityDataProtectionImpactAssessment
ProcessingActivityTransferImpactAssessmentNeeded:
type: string
enum:
- NEEDED
- NOT_NEEDED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ProcessingActivityTransferImpactAssessment
ProcessingActivityOrderField:
type: string
enum:
- CREATED_AT
- NAME
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ProcessingActivityOrderField
ProcessingActivityOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/ProcessingActivityOrderField"
description: Processing activity order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Order direction
ProcessingActivity:
type: object
required:
- id
- organization_id
- name
- special_or_criminal_data
- lawful_basis
- international_transfers
- data_protection_impact_assessment_needed
- transfer_impact_assessment_needed
- role
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Processing activity ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Name
purpose:
type:
- string
- "null"
description: Purpose
data_subject_category:
type:
- string
- "null"
description: Data subject category
personal_data_category:
type:
- string
- "null"
description: Personal data category
special_or_criminal_data:
$ref: "#/components/schemas/ProcessingActivitySpecialOrCriminalDatum"
description: Special or criminal data
consent_evidence_link:
type:
- string
- "null"
description: Consent evidence link
lawful_basis:
$ref: "#/components/schemas/ProcessingActivityLawfulBasis"
description: Lawful basis
recipients:
type:
- string
- "null"
description: Recipients
location:
type:
- string
- "null"
description: Location
international_transfers:
type: boolean
description: International transfers
transfer_safeguard:
anyOf:
- $ref: "#/components/schemas/ProcessingActivityTransferSafeguard"
- type: "null"
description: Transfer safeguard
retention_period:
type:
- string
- "null"
description: Retention period
security_measures:
type:
- string
- "null"
description: Security measures
data_protection_impact_assessment_needed:
$ref: "#/components/schemas/ProcessingActivityDataProtectionImpactAssessmentNeeded"
description: DPIA needed
transfer_impact_assessment_needed:
$ref: "#/components/schemas/ProcessingActivityTransferImpactAssessmentNeeded"
description: TIA needed
last_review_date:
type:
- string
- "null"
format: date-time
description: Last review date
next_review_date:
type:
- string
- "null"
format: date-time
description: Next review date
role:
$ref: "#/components/schemas/ProcessingActivityRole"
description: Role
data_protection_officer_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Data protection officer profile ID
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListProcessingActivitiesInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/ProcessingActivityOrderBy"
description: Order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
snapshot_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Filter by snapshot ID. Defaults to null, which returns only processing activities with no snapshot (current live data). Pass a specific snapshot ID to retrieve processing activities as they were at that snapshot.
default: null
ListProcessingActivitiesOutput:
type: object
required:
- processing_activities
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
processing_activities:
type: array
items:
$ref: "#/components/schemas/ProcessingActivity"
GetProcessingActivityInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Processing activity ID
GetProcessingActivityOutput:
type: object
required:
- processing_activity
properties:
processing_activity:
$ref: "#/components/schemas/ProcessingActivity"
AddProcessingActivityInput:
type: object
required:
- organization_id
- name
- special_or_criminal_data
- lawful_basis
- international_transfers
- data_protection_impact_assessment_needed
- transfer_impact_assessment_needed
- role
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Name
purpose:
type: string
description: Purpose
data_subject_category:
type: string
description: Data subject category
personal_data_category:
type: string
description: Personal data category
special_or_criminal_data:
$ref: "#/components/schemas/ProcessingActivitySpecialOrCriminalDatum"
description: Special or criminal data
consent_evidence_link:
type: string
description: Consent evidence link
lawful_basis:
$ref: "#/components/schemas/ProcessingActivityLawfulBasis"
description: Lawful basis
recipients:
type: string
description: Recipients
location:
type: string
description: Location
international_transfers:
type: boolean
description: International transfers
transfer_safeguard:
anyOf:
- $ref: "#/components/schemas/ProcessingActivityTransferSafeguard"
- type: "null"
description: Transfer safeguard
retention_period:
type: string
description: Retention period
security_measures:
type: string
description: Security measures
data_protection_impact_assessment_needed:
$ref: "#/components/schemas/ProcessingActivityDataProtectionImpactAssessmentNeeded"
description: DPIA needed
transfer_impact_assessment_needed:
$ref: "#/components/schemas/ProcessingActivityTransferImpactAssessmentNeeded"
description: TIA needed
last_review_date:
type: string
format: date-time
description: Last review date
next_review_date:
type: string
format: date-time
description: Next review date
role:
$ref: "#/components/schemas/ProcessingActivityRole"
description: Role
data_protection_officer_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Data protection officer profile ID
vendor_ids:
type: array
items:
$ref: "#/components/schemas/GID"
description: Vendor IDs
AddProcessingActivityOutput:
type: object
required:
- processing_activity
properties:
processing_activity:
$ref: "#/components/schemas/ProcessingActivity"
UpdateProcessingActivityInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Processing activity ID
name:
type: string
purpose:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
data_subject_category:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
personal_data_category:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
special_or_criminal_data:
$ref: "#/components/schemas/ProcessingActivitySpecialOrCriminalDatum"
consent_evidence_link:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
lawful_basis:
$ref: "#/components/schemas/ProcessingActivityLawfulBasis"
recipients:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
location:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
international_transfers:
type: boolean
transfer_safeguard:
anyOf:
- $ref: "#/components/schemas/ProcessingActivityTransferSafeguard"
- type: "null"
go.probo.inc/mcpgen/omittable: true
retention_period:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
security_measures:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
data_protection_impact_assessment_needed:
$ref: "#/components/schemas/ProcessingActivityDataProtectionImpactAssessmentNeeded"
transfer_impact_assessment_needed:
$ref: "#/components/schemas/ProcessingActivityTransferImpactAssessmentNeeded"
last_review_date:
type: ["string", "null"]
format: date-time
go.probo.inc/mcpgen/omittable: true
next_review_date:
type: ["string", "null"]
format: date-time
go.probo.inc/mcpgen/omittable: true
role:
$ref: "#/components/schemas/ProcessingActivityRole"
data_protection_officer_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
go.probo.inc/mcpgen/omittable: true
vendor_ids:
type: array
items:
$ref: "#/components/schemas/GID"
UpdateProcessingActivityOutput:
type: object
required:
- processing_activity
properties:
processing_activity:
$ref: "#/components/schemas/ProcessingActivity"
DeleteProcessingActivityInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Processing activity ID
DeleteProcessingActivityOutput:
type: object
required:
- deleted_processing_activity_id
properties:
deleted_processing_activity_id:
$ref: "#/components/schemas/GID"
description: Deleted processing activity ID
DataProtectionImpactAssessmentResidualRisk:
type: string
enum:
- LOW
- MEDIUM
- HIGH
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DataProtectionImpactAssessmentResidualRisk
DataProtectionImpactAssessmentOrderField:
type: string
enum:
- CREATED_AT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DataProtectionImpactAssessmentOrderField
DataProtectionImpactAssessmentOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/DataProtectionImpactAssessmentOrderField"
direction:
$ref: "#/components/schemas/OrderDirection"
DataProtectionImpactAssessment:
type: object
required:
- id
- organization_id
- processing_activity_id
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
organization_id:
$ref: "#/components/schemas/GID"
processing_activity_id:
$ref: "#/components/schemas/GID"
description:
type:
- string
- "null"
necessity_and_proportionality:
type:
- string
- "null"
potential_risk:
type:
- string
- "null"
mitigations:
type:
- string
- "null"
residual_risk:
anyOf:
- $ref: "#/components/schemas/DataProtectionImpactAssessmentResidualRisk"
- type: "null"
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
ListDataProtectionImpactAssessmentsInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
order_by:
$ref: "#/components/schemas/DataProtectionImpactAssessmentOrderBy"
size:
type: integer
cursor:
$ref: "#/components/schemas/CursorKey"
filter:
type: object
properties:
snapshot_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Filter by snapshot ID. Defaults to null, which returns only DPIAs with no snapshot (current live data). Pass a specific snapshot ID to retrieve DPIAs as they were at that snapshot.
default: null
ListDataProtectionImpactAssessmentsOutput:
type: object
required:
- data_protection_impact_assessments
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
data_protection_impact_assessments:
type: array
items:
$ref: "#/components/schemas/DataProtectionImpactAssessment"
GetDataProtectionImpactAssessmentInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
GetDataProtectionImpactAssessmentOutput:
type: object
required:
- data_protection_impact_assessment
properties:
data_protection_impact_assessment:
$ref: "#/components/schemas/DataProtectionImpactAssessment"
AddDataProtectionImpactAssessmentInput:
type: object
required:
- processing_activity_id
properties:
processing_activity_id:
$ref: "#/components/schemas/GID"
description:
type: string
necessity_and_proportionality:
type: string
potential_risk:
type: string
mitigations:
type: string
residual_risk:
anyOf:
- $ref: "#/components/schemas/DataProtectionImpactAssessmentResidualRisk"
- type: "null"
AddDataProtectionImpactAssessmentOutput:
type: object
required:
- data_protection_impact_assessment
properties:
data_protection_impact_assessment:
$ref: "#/components/schemas/DataProtectionImpactAssessment"
UpdateDataProtectionImpactAssessmentInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
necessity_and_proportionality:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
potential_risk:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
mitigations:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
residual_risk:
$ref: "#/components/schemas/DataProtectionImpactAssessmentResidualRisk"
UpdateDataProtectionImpactAssessmentOutput:
type: object
required:
- data_protection_impact_assessment
properties:
data_protection_impact_assessment:
$ref: "#/components/schemas/DataProtectionImpactAssessment"
DeleteDataProtectionImpactAssessmentInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
DeleteDataProtectionImpactAssessmentOutput:
type: object
required:
- deleted_data_protection_impact_assessment_id
properties:
deleted_data_protection_impact_assessment_id:
$ref: "#/components/schemas/GID"
TransferImpactAssessmentOrderField:
type: string
enum:
- CREATED_AT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.TransferImpactAssessmentOrderField
TransferImpactAssessmentOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/TransferImpactAssessmentOrderField"
direction:
$ref: "#/components/schemas/OrderDirection"
TransferImpactAssessment:
type: object
required:
- id
- organization_id
- processing_activity_id
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
organization_id:
$ref: "#/components/schemas/GID"
processing_activity_id:
$ref: "#/components/schemas/GID"
data_subjects:
type:
- string
- "null"
legal_mechanism:
type:
- string
- "null"
transfer:
type:
- string
- "null"
local_law_risk:
type:
- string
- "null"
supplementary_measures:
type:
- string
- "null"
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
ListTransferImpactAssessmentsInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
order_by:
$ref: "#/components/schemas/TransferImpactAssessmentOrderBy"
size:
type: integer
cursor:
$ref: "#/components/schemas/CursorKey"
filter:
type: object
properties:
snapshot_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Filter by snapshot ID. Defaults to null, which returns only TIAs with no snapshot (current live data). Pass a specific snapshot ID to retrieve TIAs as they were at that snapshot.
default: null
ListTransferImpactAssessmentsOutput:
type: object
required:
- transfer_impact_assessments
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
transfer_impact_assessments:
type: array
items:
$ref: "#/components/schemas/TransferImpactAssessment"
GetTransferImpactAssessmentInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
GetTransferImpactAssessmentOutput:
type: object
required:
- transfer_impact_assessment
properties:
transfer_impact_assessment:
$ref: "#/components/schemas/TransferImpactAssessment"
AddTransferImpactAssessmentInput:
type: object
required:
- processing_activity_id
properties:
processing_activity_id:
$ref: "#/components/schemas/GID"
data_subjects:
type: string
legal_mechanism:
type: string
transfer:
type: string
local_law_risk:
type: string
supplementary_measures:
type: string
AddTransferImpactAssessmentOutput:
type: object
required:
- transfer_impact_assessment
properties:
transfer_impact_assessment:
$ref: "#/components/schemas/TransferImpactAssessment"
UpdateTransferImpactAssessmentInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
data_subjects:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
legal_mechanism:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
transfer:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
local_law_risk:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
supplementary_measures:
type: ["string", "null"]
go.probo.inc/mcpgen/omittable: true
UpdateTransferImpactAssessmentOutput:
type: object
required:
- transfer_impact_assessment
properties:
transfer_impact_assessment:
$ref: "#/components/schemas/TransferImpactAssessment"
DeleteTransferImpactAssessmentInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
DeleteTransferImpactAssessmentOutput:
type: object
required:
- deleted_transfer_impact_assessment_id
properties:
deleted_transfer_impact_assessment_id:
$ref: "#/components/schemas/GID"
AuditState:
type: string
enum:
- NOT_STARTED
- IN_PROGRESS
- COMPLETED
- REJECTED
- OUTDATED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AuditState
TrustCenterVisibility:
type: string
enum:
- NONE
- PRIVATE
- PUBLIC
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.TrustCenterVisibility
AuditOrderField:
type: string
enum:
- CREATED_AT
- VALID_FROM
- VALID_UNTIL
- STATE
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AuditOrderField
AuditOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/AuditOrderField"
description: Audit order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Audit order direction
Audit:
type: object
required:
- id
- organization_id
- framework_id
- state
- trust_center_visibility
- has_report
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Audit ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
framework_id:
$ref: "#/components/schemas/GID"
description: Framework ID
name:
type:
- string
- "null"
description: Audit name
valid_from:
type:
- string
- "null"
format: date-time
description: Valid from date
valid_until:
type:
- string
- "null"
format: date-time
description: Valid until date
state:
$ref: "#/components/schemas/AuditState"
description: Audit state
trust_center_visibility:
$ref: "#/components/schemas/TrustCenterVisibility"
description: Trust center visibility
has_report:
type: boolean
description: Whether the audit has an attached report
report_filename:
type:
- string
- "null"
description: Report filename, null if no report attached
report_mime_type:
type:
- string
- "null"
description: Report MIME type, null if no report attached
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
GetAuditReportUrlInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Audit ID
GetAuditReportUrlOutput:
type: object
required:
- url
properties:
url:
type: string
description: Presigned download URL for the report (valid for 15 minutes)
ListAuditsInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/AuditOrderBy"
description: Audit order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
ListAuditsOutput:
type: object
required:
- audits
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
audits:
type: array
items:
$ref: "#/components/schemas/Audit"
GetAuditInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Audit ID
GetAuditOutput:
type: object
required:
- audit
properties:
audit:
$ref: "#/components/schemas/Audit"
AddAuditInput:
type: object
required:
- organization_id
- framework_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
framework_id:
$ref: "#/components/schemas/GID"
description: Framework ID
name:
type: string
description: Audit name
valid_from:
type: string
format: date-time
description: Valid from date
valid_until:
type: string
format: date-time
description: Valid until date
state:
$ref: "#/components/schemas/AuditState"
description: Audit state
AddAuditOutput:
type: object
required:
- audit
properties:
audit:
$ref: "#/components/schemas/Audit"
UpdateAuditInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Audit ID
name:
type: ["string", "null"]
description: Audit name
go.probo.inc/mcpgen/omittable: true
valid_from:
type:
- string
- "null"
format: date-time
description: Valid from date
valid_until:
type:
- string
- "null"
format: date-time
description: Valid until date
state:
anyOf:
- $ref: "#/components/schemas/AuditState"
description: Audit state
- type: "null"
description: No state
description: Audit state
trust_center_visibility:
anyOf:
- $ref: "#/components/schemas/TrustCenterVisibility"
description: Trust center visibility
- type: "null"
description: No trust center visibility
description: Trust center visibility
UpdateAuditOutput:
type: object
required:
- audit
properties:
audit:
$ref: "#/components/schemas/Audit"
ControlOrderField:
type: string
enum:
- CREATED_AT
- SECTION_TITLE
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ControlOrderField
ControlOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/ControlOrderField"
description: Control order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Control order direction
Control:
type: object
required:
- id
- organization_id
- framework_id
- section_title
- name
- best_practice
- maturity_level
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Control ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
framework_id:
$ref: "#/components/schemas/GID"
description: Framework ID
section_title:
type: string
description: Section title
name:
type: string
description: Control name
description:
type:
- string
- "null"
description: Control description
best_practice:
type: boolean
description: Whether control is a best practice
maturity_level:
type: string
enum: [NONE, INITIAL, MANAGED, DEFINED, QUANTITATIVELY_MANAGED, OPTIMIZING]
description: CMMI 0-5 maturity level of the control
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ControlMaturityLevel
not_implemented_justification:
type:
- string
- "null"
description: Justification for non-implementation
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListControlsInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/ControlOrderBy"
description: Control order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
query:
type: string
description: Search query
framework_id:
$ref: "#/components/schemas/GID"
description: Framework ID to filter controls by
ListControlsOutput:
type: object
required:
- controls
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
controls:
type: array
items:
$ref: "#/components/schemas/Control"
GetControlInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Control ID
GetControlOutput:
type: object
required:
- control
properties:
control:
$ref: "#/components/schemas/Control"
AddControlInput:
type: object
required:
- organization_id
- framework_id
- section_title
- name
- best_practice
- maturity_level
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
framework_id:
$ref: "#/components/schemas/GID"
description: Framework ID
section_title:
type: string
description: Section title
name:
type: string
description: Control name
description:
type: string
description: Control description
best_practice:
type: boolean
description: Whether control is a best practice
maturity_level:
type: string
enum: [NONE, INITIAL, MANAGED, DEFINED, QUANTITATIVELY_MANAGED, OPTIMIZING]
description: CMMI 0-5 maturity level of the control
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ControlMaturityLevel
not_implemented_justification:
type:
- string
- "null"
description: Justification for non-implementation
AddControlOutput:
type: object
required:
- control
properties:
control:
$ref: "#/components/schemas/Control"
UpdateControlInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Control ID
section_title:
type: string
description: Section title
name:
type: string
description: Control name
description:
type: ["string", "null"]
description: Control description
go.probo.inc/mcpgen/omittable: true
best_practice:
type: boolean
description: Whether control is a best practice
maturity_level:
type: string
enum: [NONE, INITIAL, MANAGED, DEFINED, QUANTITATIVELY_MANAGED, OPTIMIZING]
description: CMMI 0-5 maturity level of the control
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ControlMaturityLevel
not_implemented_justification:
type: ["string", "null"]
description: Justification for non-implementation
go.probo.inc/mcpgen/omittable: true
UpdateControlOutput:
type: object
required:
- control
properties:
control:
$ref: "#/components/schemas/Control"
LinkControlInput:
type: object
required:
- control_id
- resource_id
properties:
control_id:
$ref: "#/components/schemas/GID"
description: Control ID
resource_id:
$ref: "#/components/schemas/GID"
description: ID of the resource to link (measure, document, audit, snapshot, or obligation)
LinkControlOutput:
type: object
UnlinkControlInput:
type: object
required:
- control_id
- resource_id
properties:
control_id:
$ref: "#/components/schemas/GID"
description: Control ID
resource_id:
$ref: "#/components/schemas/GID"
description: ID of the resource to unlink (measure, document, audit, snapshot, or obligation)
UnlinkControlOutput:
type: object
ListControlObligationsInput:
type: object
required:
- control_id
properties:
control_id:
$ref: "#/components/schemas/GID"
description: Control ID
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
size:
type: integer
description: Page size
order_by:
$ref: "#/components/schemas/ObligationOrderBy"
description: Obligation order by
ListControlObligationsOutput:
type: object
required:
- obligations
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
obligations:
type: array
items:
$ref: "#/components/schemas/Obligation"
ListControlMeasuresInput:
type: object
required:
- control_id
properties:
control_id:
$ref: "#/components/schemas/GID"
description: Control ID
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
size:
type: integer
description: Page size
order_by:
$ref: "#/components/schemas/MeasureOrderBy"
description: Measure order by
ListControlMeasuresOutput:
type: object
required:
- measures
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
measures:
type: array
items:
$ref: "#/components/schemas/Measure"
ListControlDocumentsInput:
type: object
required:
- control_id
properties:
control_id:
$ref: "#/components/schemas/GID"
description: Control ID
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
size:
type: integer
description: Page size
order_by:
$ref: "#/components/schemas/DocumentOrderBy"
description: Document order by
ListControlDocumentsOutput:
type: object
required:
- documents
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
documents:
type: array
items:
$ref: "#/components/schemas/Document"
ListControlAuditsInput:
type: object
required:
- control_id
properties:
control_id:
$ref: "#/components/schemas/GID"
description: Control ID
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
size:
type: integer
description: Page size
order_by:
$ref: "#/components/schemas/AuditOrderBy"
description: Audit order by
ListControlAuditsOutput:
type: object
required:
- audits
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
audits:
type: array
items:
$ref: "#/components/schemas/Audit"
ListControlSnapshotsInput:
type: object
required:
- control_id
properties:
control_id:
$ref: "#/components/schemas/GID"
description: Control ID
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
size:
type: integer
description: Page size
order_by:
$ref: "#/components/schemas/SnapshotOrderBy"
description: Snapshot order by
ListControlSnapshotsOutput:
type: object
required:
- snapshots
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
snapshots:
type: array
items:
$ref: "#/components/schemas/Snapshot"
ListRiskObligationsInput:
type: object
required:
- risk_id
properties:
risk_id:
$ref: "#/components/schemas/GID"
description: Risk ID
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
size:
type: integer
description: Page size
order_by:
$ref: "#/components/schemas/ObligationOrderBy"
description: Obligation order by
ListRiskObligationsOutput:
type: object
required:
- obligations
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
obligations:
type: array
items:
$ref: "#/components/schemas/Obligation"
LinkRiskInput:
type: object
required:
- risk_id
- resource_id
properties:
risk_id:
$ref: "#/components/schemas/GID"
description: Risk ID
resource_id:
$ref: "#/components/schemas/GID"
description: ID of the resource to link (document, measure, or obligation)
LinkRiskOutput:
type: object
UnlinkRiskInput:
type: object
required:
- risk_id
- resource_id
properties:
risk_id:
$ref: "#/components/schemas/GID"
description: Risk ID
resource_id:
$ref: "#/components/schemas/GID"
description: ID of the resource to unlink (document, measure, or obligation)
UnlinkRiskOutput:
type: object
TaskState:
type: string
enum:
- TODO
- IN_PROGRESS
- DONE
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.TaskState
TaskOrderField:
type: string
enum:
- PRIORITY_RANK
- CREATED_AT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.TaskOrderField
TaskOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/TaskOrderField"
description: Task order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Task order direction
TaskPriority:
type: string
enum:
- URGENT
- HIGH
- MEDIUM
- LOW
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.TaskPriority
Task:
type: object
required:
- id
- organization_id
- name
- state
- priority
- rank
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Task ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
measure_id:
anyOf:
- $ref: "#/components/schemas/GID"
description: Measure ID
- type: "null"
description: No measure
description: Measure ID
name:
type: string
description: Task name
description:
anyOf:
- type: string
description: Task description
- type: "null"
description: No description
description: Task description
state:
$ref: "#/components/schemas/TaskState"
description: Task state
priority:
$ref: "#/components/schemas/TaskPriority"
description: Task priority level
rank:
type: integer
description: Task rank within state
time_estimate:
anyOf:
- $ref: "#/components/schemas/Duration"
- type: "null"
description: No time estimate
description: Time estimate
deadline:
anyOf:
- type: string
format: date-time
description: Deadline
- type: "null"
description: No deadline
description: Deadline
assigned_to_id:
anyOf:
- $ref: "#/components/schemas/GID"
description: Assigned to person ID
- type: "null"
description: Not assigned
description: Assigned to person ID
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListTasksInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
measure_id:
$ref: "#/components/schemas/GID"
description: Measure ID
order_by:
$ref: "#/components/schemas/TaskOrderBy"
description: Task order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
ListTasksOutput:
type: object
required:
- tasks
properties:
tasks:
type: array
items:
$ref: "#/components/schemas/Task"
description: List of tasks
next_cursor:
anyOf:
- $ref: "#/components/schemas/CursorKey"
- type: "null"
description: Next page cursor
GetTaskInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Task ID
GetTaskOutput:
type: object
required:
- task
properties:
task:
$ref: "#/components/schemas/Task"
AddTaskInput:
type: object
required:
- organization_id
- name
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
measure_id:
anyOf:
- $ref: "#/components/schemas/GID"
description: Measure ID
- type: "null"
description: No measure
description: Measure ID
name:
type: string
description: Task name
description:
type: string
description: Task description
time_estimate:
$ref: "#/components/schemas/Duration"
description: Time estimate
deadline:
type: string
format: date-time
description: Deadline
assigned_to_id:
anyOf:
- $ref: "#/components/schemas/GID"
description: Assigned to person ID
- type: "null"
description: Not assigned
description: Assigned to person ID
priority:
$ref: "#/components/schemas/TaskPriority"
description: Task priority level (defaults to MEDIUM if not specified)
default: MEDIUM
AddTaskOutput:
type: object
required:
- task
properties:
task:
$ref: "#/components/schemas/Task"
UpdateTaskInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Task ID
name:
type: string
description: Task name
description:
type: ["string", "null"]
description: Task description
go.probo.inc/mcpgen/omittable: true
state:
anyOf:
- $ref: "#/components/schemas/TaskState"
description: Task state
- type: "null"
description: No state
description: Task state
priority:
anyOf:
- $ref: "#/components/schemas/TaskPriority"
description: Task priority level
- type: "null"
description: No priority
description: Task priority level
rank:
type: integer
description: Task rank within state
time_estimate:
anyOf:
- $ref: "#/components/schemas/Duration"
- type: "null"
description: No time estimate
description: Time estimate
go.probo.inc/mcpgen/omittable: true
deadline:
anyOf:
- type: string
format: date-time
description: Deadline
- type: "null"
description: No deadline
description: Deadline
go.probo.inc/mcpgen/omittable: true
assigned_to_id:
anyOf:
- $ref: "#/components/schemas/GID"
description: Assigned to person ID
- type: "null"
description: Not assigned
description: Assigned to person ID
go.probo.inc/mcpgen/omittable: true
measure_id:
anyOf:
- $ref: "#/components/schemas/GID"
description: Measure ID
- type: "null"
description: No measure
description: Measure ID
go.probo.inc/mcpgen/omittable: true
UpdateTaskOutput:
type: object
required:
- task
properties:
task:
$ref: "#/components/schemas/Task"
AssignTaskInput:
type: object
required:
- id
- assigned_to_id
properties:
id:
$ref: "#/components/schemas/GID"
description: Task ID
assigned_to_id:
$ref: "#/components/schemas/GID"
description: Assigned to person ID
AssignTaskOutput:
type: object
required:
- task
properties:
task:
$ref: "#/components/schemas/Task"
UnassignTaskInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Task ID
UnassignTaskOutput:
type: object
required:
- task
properties:
task:
$ref: "#/components/schemas/Task"
DeleteTaskInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Task ID
DeleteTaskOutput:
type: object
required:
- deleted_task_id
properties:
deleted_task_id:
$ref: "#/components/schemas/GID"
description: Deleted task ID
SnapshotsType:
type: string
enum:
- RISKS
- VENDORS
- NONCONFORMITIES
- OBLIGATIONS
- CONTINUAL_IMPROVEMENTS
- PROCESSING_ACTIVITIES
- STATEMENTS_OF_APPLICABILITY
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.SnapshotsType
SnapshotOrderField:
type: string
enum:
- CREATED_AT
- NAME
- TYPE
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.SnapshotOrderField
SnapshotOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/SnapshotOrderField"
description: Snapshot order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Snapshot order direction
Snapshot:
type: object
required:
- id
- organization_id
- name
- type
- created_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Snapshot ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Snapshot name
description:
anyOf:
- type: string
description: Snapshot description
- type: "null"
description: No description
description: Snapshot description
type:
$ref: "#/components/schemas/SnapshotsType"
description: Snapshot type
created_at:
type: string
format: date-time
description: Creation timestamp
ListSnapshotsInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/SnapshotOrderBy"
description: Snapshot order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
ListSnapshotsOutput:
type: object
required:
- snapshots
properties:
snapshots:
type: array
items:
$ref: "#/components/schemas/Snapshot"
description: List of snapshots
next_cursor:
anyOf:
- $ref: "#/components/schemas/CursorKey"
- type: "null"
description: Next page cursor
GetSnapshotInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Snapshot ID
GetSnapshotOutput:
type: object
required:
- snapshot
properties:
snapshot:
$ref: "#/components/schemas/Snapshot"
TakeSnapshotInput:
type: object
required:
- organization_id
- name
- type
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Snapshot name
description:
type: string
description: Snapshot description
type:
$ref: "#/components/schemas/SnapshotsType"
description: Snapshot type (determines which collection to snapshot)
TakeSnapshotOutput:
type: object
required:
- snapshot
properties:
snapshot:
$ref: "#/components/schemas/Snapshot"
DocumentType:
type: string
enum:
- OTHER
- GOVERNANCE
- POLICY
- PROCEDURE
- PLAN
- REGISTER
- RECORD
- REPORT
- TEMPLATE
- STATEMENT_OF_APPLICABILITY
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentType
DocumentClassification:
type: string
enum:
- PUBLIC
- INTERNAL
- CONFIDENTIAL
- SECRET
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentClassification
DocumentVersionStatus:
type: string
enum:
- DRAFT
- PENDING_APPROVAL
- PUBLISHED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentVersionStatus
DocumentVersionApprovalQuorumStatus:
type: string
enum:
- PENDING
- APPROVED
- REJECTED
- VOIDED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentVersionApprovalQuorumStatus
DocumentVersionApprovalQuorumOrderField:
type: string
enum:
- CREATED_AT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentVersionApprovalQuorumOrderField
DocumentVersionApprovalDecisionState:
type: string
enum:
- PENDING
- APPROVED
- REJECTED
- VOIDED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentVersionApprovalDecisionState
DocumentVersionApprovalDecisionOrderField:
type: string
enum:
- CREATED_AT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentVersionApprovalDecisionOrderField
DocumentStatus:
type: string
enum:
- ACTIVE
- ARCHIVED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentStatus
DocumentWriteMode:
type: string
enum:
- AUTHORED
- GENERATED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentWriteMode
DocumentVersionSignatureState:
type: string
enum:
- REQUESTED
- SIGNED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentVersionSignatureState
DocumentOrderField:
type: string
enum:
- CREATED_AT
- UPDATED_AT
- TITLE
- DOCUMENT_TYPE
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentOrderField
DocumentOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/DocumentOrderField"
description: Document order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Document order direction
DocumentVersionOrderField:
type: string
enum:
- CREATED_AT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentVersionOrderField
DocumentVersionOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/DocumentVersionOrderField"
description: Document version order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Document version order direction
DocumentVersionSignatureOrderField:
type: string
enum:
- CREATED_AT
- SIGNED_AT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentVersionSignatureOrderField
DocumentVersionSignatureOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/DocumentVersionSignatureOrderField"
description: Document version signature order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Document version signature order direction
Document:
type: object
required:
- id
- organization_id
- trust_center_visibility
- write_mode
- status
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Document ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
current_published_major:
type:
- integer
- "null"
description: Current published major version number
current_published_minor:
type:
- integer
- "null"
description: Current published minor version number
trust_center_visibility:
$ref: "#/components/schemas/TrustCenterVisibility"
description: Trust center visibility
write_mode:
$ref: "#/components/schemas/DocumentWriteMode"
description: Write mode (authored or generated)
status:
$ref: "#/components/schemas/DocumentStatus"
description: Document status
archived_at:
type:
- string
- "null"
format: date-time
description: Archive timestamp
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
DocumentVersion:
type: object
required:
- id
- organization_id
- document_id
- title
- major
- minor
- classification
- document_type
- content
- changelog
- status
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Document version ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
document_id:
$ref: "#/components/schemas/GID"
description: Document ID
title:
type: string
description: Document version title
major:
type: integer
description: Major version number
minor:
type: integer
description: Minor version number
classification:
$ref: "#/components/schemas/DocumentClassification"
description: Document classification
document_type:
$ref: "#/components/schemas/DocumentType"
description: Document type
content:
type: string
description: Document body in markdown (converted from stored ProseMirror JSON)
changelog:
type: string
description: Changelog
status:
$ref: "#/components/schemas/DocumentVersionStatus"
description: Document version status
published_at:
type:
- string
- "null"
format: date-time
description: Published timestamp
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
DocumentVersionApprovalQuorum:
type: object
required:
- id
- organization_id
- version_id
- status
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Approval quorum ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
version_id:
$ref: "#/components/schemas/GID"
description: Document version ID
status:
$ref: "#/components/schemas/DocumentVersionApprovalQuorumStatus"
description: Approval quorum status
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
DocumentVersionApprovalDecision:
type: object
required:
- id
- organization_id
- quorum_id
- approver_id
- state
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Approval decision ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
quorum_id:
$ref: "#/components/schemas/GID"
description: Approval quorum ID
approver_id:
$ref: "#/components/schemas/GID"
description: Approver profile ID
state:
$ref: "#/components/schemas/DocumentVersionApprovalDecisionState"
description: Decision state
comment:
type:
- string
- "null"
description: Approval or rejection comment
decided_at:
type:
- string
- "null"
format: date-time
description: Decision timestamp
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
DocumentVersionSignature:
type: object
required:
- id
- organization_id
- document_version_id
- state
- signed_by
- requested_at
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Document version signature ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
document_version_id:
$ref: "#/components/schemas/GID"
description: Document version ID
state:
$ref: "#/components/schemas/DocumentVersionSignatureState"
description: Signature state
signed_by:
$ref: "#/components/schemas/GID"
description: Signatory ID
signed_at:
type:
- string
- "null"
format: date-time
description: Signed timestamp
requested_at:
type: string
format: date-time
description: Requested timestamp
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListDocumentsInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/DocumentOrderBy"
description: Document order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
query:
type: string
description: Search query
write_modes:
type: array
items:
$ref: "#/components/schemas/DocumentWriteMode"
description: Filter by write mode (AUTHORED or GENERATED)
trust_center_visibilities:
type: array
items:
$ref: "#/components/schemas/TrustCenterVisibility"
description: Trust center visibilities
document_types:
type: array
items:
$ref: "#/components/schemas/DocumentType"
description: Document types
classifications:
type: array
items:
$ref: "#/components/schemas/DocumentClassification"
description: Document classifications
status:
type: array
items:
$ref: "#/components/schemas/DocumentStatus"
description: Document statuses
ListDocumentsOutput:
type: object
required:
- documents
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
documents:
type: array
items:
$ref: "#/components/schemas/Document"
GetDocumentInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Document ID
GetDocumentOutput:
type: object
required:
- document
properties:
document:
$ref: "#/components/schemas/Document"
AddDocumentInput:
type: object
required:
- organization_id
- title
- content
- classification
- document_type
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
title:
type: string
description: Document title
content:
type: string
description: Document content in markdown format
classification:
$ref: "#/components/schemas/DocumentClassification"
description: Document classification
document_type:
$ref: "#/components/schemas/DocumentType"
description: Document type
trust_center_visibility:
$ref: "#/components/schemas/TrustCenterVisibility"
description: Trust center visibility
default_approver_ids:
type: array
items:
$ref: "#/components/schemas/GID"
description: Default approver profile IDs
AddDocumentOutput:
type: object
description: Created document and version; document_version.content is markdown
required:
- document
- document_version
properties:
document:
$ref: "#/components/schemas/Document"
document_version:
$ref: "#/components/schemas/DocumentVersion"
UpdateDocumentInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Document ID
title:
type: string
description: Document title
content:
type: string
description: Document content in markdown format
classification:
$ref: "#/components/schemas/DocumentClassification"
description: Document classification
document_type:
$ref: "#/components/schemas/DocumentType"
description: Document type
trust_center_visibility:
$ref: "#/components/schemas/TrustCenterVisibility"
description: Trust center visibility
default_approver_ids:
type: array
items:
$ref: "#/components/schemas/GID"
description: Default approver profile IDs
UpdateDocumentOutput:
type: object
required:
- document
properties:
document:
$ref: "#/components/schemas/Document"
document_version:
$ref: "#/components/schemas/DocumentVersion"
DeleteDocumentDraftInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Document ID
DeleteDocumentDraftOutput:
type: object
required:
- document
properties:
document:
$ref: "#/components/schemas/Document"
ArchiveDocumentInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Document ID
ArchiveDocumentOutput:
type: object
required:
- document
properties:
document:
$ref: "#/components/schemas/Document"
UnarchiveDocumentInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Document ID
UnarchiveDocumentOutput:
type: object
required:
- document
properties:
document:
$ref: "#/components/schemas/Document"
ListDocumentVersionsInput:
type: object
required:
- document_id
properties:
document_id:
$ref: "#/components/schemas/GID"
description: Document ID
order_by:
$ref: "#/components/schemas/DocumentVersionOrderBy"
description: Document version order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
statuses:
type: array
items:
$ref: "#/components/schemas/DocumentVersionStatus"
description: Document version statuses
ListDocumentVersionsOutput:
type: object
description: Each document_versions[].content is markdown
required:
- document_versions
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
document_versions:
type: array
items:
$ref: "#/components/schemas/DocumentVersion"
GetDocumentVersionInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Document version ID
GetDocumentVersionOutput:
type: object
description: document_version.content is markdown
required:
- document_version
properties:
document_version:
$ref: "#/components/schemas/DocumentVersion"
PublishMajorDocumentVersionInput:
type: object
required:
- document_id
properties:
document_id:
$ref: "#/components/schemas/GID"
description: Document ID
changelog:
type: string
description: Changelog for this version
PublishMinorDocumentVersionInput:
type: object
required:
- document_id
properties:
document_id:
$ref: "#/components/schemas/GID"
description: Document ID
changelog:
type: string
description: Changelog for this version
PublishDocumentVersionOutput:
type: object
description: document_version.content is markdown
required:
- document
- document_version
properties:
document:
$ref: "#/components/schemas/Document"
document_version:
$ref: "#/components/schemas/DocumentVersion"
RequestDocumentVersionApprovalInput:
type: object
required:
- document_id
- approver_ids
properties:
document_id:
$ref: "#/components/schemas/GID"
description: Document ID
approver_ids:
type: array
items:
$ref: "#/components/schemas/GID"
description: Approver profile IDs
changelog:
type: string
description: Changelog for this version
RequestDocumentVersionApprovalOutput:
type: object
description: document_version.content is markdown
required:
- document_version
properties:
document_version:
$ref: "#/components/schemas/DocumentVersion"
DeleteDocumentInput:
type: object
required:
- document_id
properties:
document_id:
$ref: "#/components/schemas/GID"
description: Document ID
DeleteDocumentOutput:
type: object
required:
- deleted_document_id
properties:
deleted_document_id:
$ref: "#/components/schemas/GID"
description: Deleted document ID
ListDocumentVersionSignaturesInput:
type: object
required:
- document_version_id
properties:
document_version_id:
$ref: "#/components/schemas/GID"
description: Document version ID
order_by:
$ref: "#/components/schemas/DocumentVersionSignatureOrderBy"
description: Document version signature order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
states:
type: array
items:
$ref: "#/components/schemas/DocumentVersionSignatureState"
description: Signature states
active_contract:
type: boolean
description: Signatory contract status
ListDocumentVersionSignaturesOutput:
type: object
required:
- document_version_signatures
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
document_version_signatures:
type: array
items:
$ref: "#/components/schemas/DocumentVersionSignature"
GetDocumentVersionSignatureInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Document version signature ID
GetDocumentVersionSignatureOutput:
type: object
required:
- document_version_signature
properties:
document_version_signature:
$ref: "#/components/schemas/DocumentVersionSignature"
RequestDocumentVersionSignatureInput:
type: object
required:
- document_version_id
- signatory_id
properties:
document_version_id:
$ref: "#/components/schemas/GID"
description: Document version ID
signatory_id:
$ref: "#/components/schemas/GID"
description: Signatory ID (Profile ID)
RequestDocumentVersionSignatureOutput:
type: object
required:
- document_version_signature
properties:
document_version_signature:
$ref: "#/components/schemas/DocumentVersionSignature"
CancelSignatureRequestInput:
type: object
required:
- document_version_signature_id
properties:
document_version_signature_id:
$ref: "#/components/schemas/GID"
description: Document version signature ID
CancelSignatureRequestOutput:
type: object
required:
- deleted_document_version_signature_id
properties:
deleted_document_version_signature_id:
$ref: "#/components/schemas/GID"
description: Deleted document version signature ID
VoidDocumentVersionApprovalInput:
type: object
required:
- document_version_id
properties:
document_version_id:
$ref: "#/components/schemas/GID"
description: Document version ID
VoidDocumentVersionApprovalOutput:
type: object
required:
- document_version
properties:
document_version:
$ref: "#/components/schemas/DocumentVersion"
ListDocumentVersionApprovalQuorumsInput:
type: object
required:
- document_version_id
properties:
document_version_id:
$ref: "#/components/schemas/GID"
description: Document version ID
order_by:
$ref: "#/components/schemas/DocumentVersionApprovalQuorumOrderBy"
description: Order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
ListDocumentVersionApprovalQuorumsOutput:
type: object
required:
- approval_quorums
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
approval_quorums:
type: array
items:
$ref: "#/components/schemas/DocumentVersionApprovalQuorum"
GetDocumentVersionApprovalQuorumInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Approval quorum ID
GetDocumentVersionApprovalQuorumOutput:
type: object
required:
- approval_quorum
properties:
approval_quorum:
$ref: "#/components/schemas/DocumentVersionApprovalQuorum"
ListDocumentVersionApprovalDecisionsInput:
type: object
required:
- quorum_id
properties:
quorum_id:
$ref: "#/components/schemas/GID"
description: Approval quorum ID
order_by:
$ref: "#/components/schemas/DocumentVersionApprovalDecisionOrderBy"
description: Order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
states:
type: array
items:
$ref: "#/components/schemas/DocumentVersionApprovalDecisionState"
description: Filter by decision states
ListDocumentVersionApprovalDecisionsOutput:
type: object
required:
- approval_decisions
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
approval_decisions:
type: array
items:
$ref: "#/components/schemas/DocumentVersionApprovalDecision"
GetDocumentVersionApprovalDecisionInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Approval decision ID
GetDocumentVersionApprovalDecisionOutput:
type: object
required:
- approval_decision
properties:
approval_decision:
$ref: "#/components/schemas/DocumentVersionApprovalDecision"
SendSigningNotificationsInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
SendSigningNotificationsOutput:
type: object
required:
- success
properties:
success:
type: boolean
description: Whether the notifications were sent successfully
WebhookEventType:
type: string
enum:
- "vendor:created"
- "vendor:updated"
- "vendor:deleted"
- "user:created"
- "user:updated"
- "user:deleted"
- "obligation:created"
- "obligation:updated"
- "obligation:deleted"
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.WebhookEventType
WebhookEventStatus:
type: string
enum:
- PENDING
- SUCCEEDED
- FAILED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.WebhookEventStatus
WebhookSubscriptionOrderField:
type: string
enum:
- CREATED_AT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.WebhookSubscriptionOrderField
WebhookSubscriptionOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/WebhookSubscriptionOrderField"
description: Webhook subscription order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Order direction
WebhookEventOrderField:
type: string
enum:
- CREATED_AT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.WebhookEventOrderField
WebhookEventOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/WebhookEventOrderField"
description: Webhook event order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Order direction
WebhookSubscription:
type: object
required:
- id
- organization_id
- endpoint_url
- selected_events
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Webhook subscription ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
endpoint_url:
type: string
description: The HTTPS endpoint URL that receives webhook events
selected_events:
type: array
items:
$ref: "#/components/schemas/WebhookEventType"
description: List of event types this subscription listens to
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
WebhookEvent:
type: object
required:
- id
- webhook_subscription_id
- status
- created_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Webhook event ID
webhook_subscription_id:
$ref: "#/components/schemas/GID"
description: Webhook subscription ID
status:
$ref: "#/components/schemas/WebhookEventStatus"
description: Delivery status
response:
anyOf:
- type: string
- type: "null"
description: HTTP response body from the endpoint
created_at:
type: string
format: date-time
description: Creation timestamp
ListWebhookSubscriptionsInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/WebhookSubscriptionOrderBy"
description: Order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
ListWebhookSubscriptionsOutput:
type: object
required:
- webhook_subscriptions
properties:
webhook_subscriptions:
type: array
items:
$ref: "#/components/schemas/WebhookSubscription"
description: List of webhook subscriptions
next_cursor:
anyOf:
- $ref: "#/components/schemas/CursorKey"
- type: "null"
description: Next page cursor
GetWebhookSubscriptionInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Webhook subscription ID
GetWebhookSubscriptionOutput:
type: object
required:
- webhook_subscription
properties:
webhook_subscription:
$ref: "#/components/schemas/WebhookSubscription"
CreateWebhookSubscriptionInput:
type: object
required:
- organization_id
- endpoint_url
- selected_events
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
endpoint_url:
type: string
description: The HTTPS endpoint URL that receives webhook events
selected_events:
type: array
items:
$ref: "#/components/schemas/WebhookEventType"
description: List of event types to subscribe to
CreateWebhookSubscriptionOutput:
type: object
required:
- webhook_subscription
properties:
webhook_subscription:
$ref: "#/components/schemas/WebhookSubscription"
UpdateWebhookSubscriptionInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Webhook subscription ID
endpoint_url:
type: string
description: The HTTPS endpoint URL that receives webhook events
selected_events:
type: array
items:
$ref: "#/components/schemas/WebhookEventType"
description: List of event types to subscribe to
UpdateWebhookSubscriptionOutput:
type: object
required:
- webhook_subscription
properties:
webhook_subscription:
$ref: "#/components/schemas/WebhookSubscription"
DeleteWebhookSubscriptionInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Webhook subscription ID
DeleteWebhookSubscriptionOutput:
type: object
required:
- deleted_webhook_subscription_id
properties:
deleted_webhook_subscription_id:
$ref: "#/components/schemas/GID"
description: Deleted webhook subscription ID
ListWebhookEventsInput:
type: object
required:
- webhook_subscription_id
properties:
webhook_subscription_id:
$ref: "#/components/schemas/GID"
description: Webhook subscription ID
order_by:
$ref: "#/components/schemas/WebhookEventOrderBy"
description: Order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
ListWebhookEventsOutput:
type: object
required:
- webhook_events
properties:
webhook_events:
type: array
items:
$ref: "#/components/schemas/WebhookEvent"
description: List of webhook events
next_cursor:
anyOf:
- $ref: "#/components/schemas/CursorKey"
- type: "null"
description: Next page cursor
StatementOfApplicabilityOrderField:
type: string
enum:
- CREATED_AT
- NAME
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.StatementOfApplicabilityOrderField
StatementOfApplicabilityOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/StatementOfApplicabilityOrderField"
description: Statement of applicability order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Order direction
StatementOfApplicability:
type: object
required:
- id
- organization_id
- name
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Statement of applicability ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Statement of applicability name
document_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Associated document ID
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListStatementsOfApplicabilityInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/StatementOfApplicabilityOrderBy"
description: Order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
snapshot_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Filter by snapshot ID. Defaults to null, which returns only statements of applicability with no snapshot (current live data). Pass a specific snapshot ID to retrieve statements of applicability as they were at that snapshot.
default: null
ListStatementsOfApplicabilityOutput:
type: object
required:
- statements_of_applicability
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
statements_of_applicability:
type: array
items:
$ref: "#/components/schemas/StatementOfApplicability"
GetStatementOfApplicabilityInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Statement of applicability ID
GetStatementOfApplicabilityOutput:
type: object
required:
- statement_of_applicability
properties:
statement_of_applicability:
$ref: "#/components/schemas/StatementOfApplicability"
AddStatementOfApplicabilityInput:
type: object
required:
- organization_id
- name
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Statement of applicability name
AddStatementOfApplicabilityOutput:
type: object
required:
- statement_of_applicability
properties:
statement_of_applicability:
$ref: "#/components/schemas/StatementOfApplicability"
UpdateStatementOfApplicabilityInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Statement of applicability ID
name:
type: string
description: Statement of applicability name
UpdateStatementOfApplicabilityOutput:
type: object
required:
- statement_of_applicability
properties:
statement_of_applicability:
$ref: "#/components/schemas/StatementOfApplicability"
DeleteStatementOfApplicabilityInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Statement of applicability ID
DeleteStatementOfApplicabilityOutput:
type: object
required:
- deleted_statement_of_applicability_id
properties:
deleted_statement_of_applicability_id:
$ref: "#/components/schemas/GID"
description: Deleted statement of applicability ID
PublishDataListInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
approver_ids:
type: array
items:
$ref: "#/components/schemas/GID"
description: Optional approver profile IDs. If provided, creates a draft pending approval instead of publishing immediately.
PublishDataListOutput:
type: object
required:
- document_id
- document_version_id
properties:
document_id:
$ref: "#/components/schemas/GID"
description: Created or updated document ID
document_version_id:
$ref: "#/components/schemas/GID"
description: Created document version ID
PublishAssetListInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
approver_ids:
type: array
items:
$ref: "#/components/schemas/GID"
description: Optional approver profile IDs. If provided, creates a draft pending approval instead of publishing immediately.
PublishAssetListOutput:
type: object
required:
- document_id
- document_version_id
properties:
document_id:
$ref: "#/components/schemas/GID"
description: Created or updated document ID
document_version_id:
$ref: "#/components/schemas/GID"
description: Created document version ID
PublishStatementOfApplicabilityInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Statement of applicability ID
approver_ids:
type: array
items:
$ref: "#/components/schemas/GID"
description: Optional approver profile IDs. If provided, creates a draft pending approval instead of publishing immediately.
PublishStatementOfApplicabilityOutput:
type: object
required:
- document_id
- document_version_id
properties:
document_id:
$ref: "#/components/schemas/GID"
description: Created or updated document ID
document_version_id:
$ref: "#/components/schemas/GID"
description: Created document version ID
ApplicabilityStatementOrderField:
type: string
enum:
- CREATED_AT
- CONTROL_SECTION_TITLE
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ApplicabilityStatementOrderField
ApplicabilityStatementOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/ApplicabilityStatementOrderField"
description: Applicability statement order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Order direction
ApplicabilityStatement:
type: object
required:
- id
- statement_of_applicability_id
- control_id
- organization_id
- applicability
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Applicability statement ID
statement_of_applicability_id:
$ref: "#/components/schemas/GID"
description: Statement of applicability ID
control_id:
$ref: "#/components/schemas/GID"
description: Control ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
snapshot_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Snapshot ID
applicability:
type: boolean
description: Whether the control is applicable
justification:
anyOf:
- type: string
- type: "null"
description: Justification for the applicability decision
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListApplicabilityStatementsInput:
type: object
required:
- statement_of_applicability_id
properties:
statement_of_applicability_id:
$ref: "#/components/schemas/GID"
description: Statement of applicability ID
order_by:
$ref: "#/components/schemas/ApplicabilityStatementOrderBy"
description: Order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
ListApplicabilityStatementsOutput:
type: object
required:
- applicability_statements
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
applicability_statements:
type: array
items:
$ref: "#/components/schemas/ApplicabilityStatement"
GetApplicabilityStatementInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Applicability statement ID
GetApplicabilityStatementOutput:
type: object
required:
- applicability_statement
properties:
applicability_statement:
$ref: "#/components/schemas/ApplicabilityStatement"
AddApplicabilityStatementInput:
type: object
required:
- statement_of_applicability_id
- control_id
- applicability
properties:
statement_of_applicability_id:
$ref: "#/components/schemas/GID"
description: Statement of applicability ID
control_id:
$ref: "#/components/schemas/GID"
description: Control ID
applicability:
type: boolean
description: Whether the control is applicable
justification:
anyOf:
- type: string
- type: "null"
description: Justification for the applicability decision
AddApplicabilityStatementOutput:
type: object
required:
- applicability_statement
properties:
applicability_statement:
$ref: "#/components/schemas/ApplicabilityStatement"
UpdateApplicabilityStatementInput:
type: object
required:
- id
- applicability
properties:
id:
$ref: "#/components/schemas/GID"
description: Applicability statement ID
applicability:
type: boolean
description: Whether the control is applicable
justification:
anyOf:
- type: string
- type: "null"
description: Justification for the applicability decision
UpdateApplicabilityStatementOutput:
type: object
required:
- applicability_statement
properties:
applicability_statement:
$ref: "#/components/schemas/ApplicabilityStatement"
DeleteApplicabilityStatementInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Applicability statement ID
DeleteApplicabilityStatementOutput:
type: object
required:
- deleted_applicability_statement_id
properties:
deleted_applicability_statement_id:
$ref: "#/components/schemas/GID"
description: Deleted applicability statement ID
AccessReviewCampaignStatus:
type: string
enum:
- DRAFT
- IN_PROGRESS
- PENDING_ACTIONS
- FAILED
- COMPLETED
- CANCELLED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AccessReviewCampaignStatus
AccessEntryDecision:
type: string
enum:
- PENDING
- APPROVED
- REVOKE
- DEFER
- ESCALATE
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AccessEntryDecision
AccessEntryFlag:
type: string
enum:
- NONE
- ORPHANED
- INACTIVE
- EXCESSIVE
- ROLE_MISMATCH
- NEW
- DORMANT
- TERMINATED_USER
- CONTRACTOR_EXPIRED
- SOD_CONFLICT
- PRIVILEGED_ACCESS
- ROLE_CREEP
- NO_BUSINESS_JUSTIFICATION
- OUT_OF_DEPARTMENT
- SHARED_ACCOUNT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AccessEntryFlag
AccessEntryIncrementalTag:
type: string
enum:
- NEW
- REMOVED
- UNCHANGED
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AccessEntryIncrementalTag
AccessEntryAuthMethod:
type: string
enum:
- SSO
- PASSWORD
- API_KEY
- SERVICE_ACCOUNT
- UNKNOWN
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AccessEntryAuthMethod
AccessEntryAccountType:
type: string
enum:
- USER
- SERVICE_ACCOUNT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AccessEntryAccountType
MFAStatus:
type: string
enum:
- ENABLED
- DISABLED
- UNKNOWN
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.MFAStatus
AccessReviewCampaignOrderField:
type: string
enum:
- CREATED_AT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AccessReviewCampaignOrderField
AccessReviewCampaignOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/AccessReviewCampaignOrderField"
description: Order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Order direction
AccessEntryOrderField:
type: string
enum:
- CREATED_AT
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AccessEntryOrderField
AccessEntryOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/AccessEntryOrderField"
description: Order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Order direction
AccessReviewCampaign:
type: object
required:
- id
- organization_id
- name
- status
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Campaign ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Campaign name
description:
type: string
description: Campaign description
status:
$ref: "#/components/schemas/AccessReviewCampaignStatus"
description: Campaign status
started_at:
type:
- string
- "null"
format: date-time
description: Campaign start time
completed_at:
type:
- string
- "null"
format: date-time
description: Campaign completion time
framework_controls:
type: array
items:
type: string
description: Framework controls
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
AccessEntry:
type: object
required:
- id
- campaign_id
- access_source_id
- email
- full_name
- role
- job_title
- is_admin
- mfa_status
- auth_method
- account_type
- external_id
- incremental_tag
- flags
- decision
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Entry ID
campaign_id:
$ref: "#/components/schemas/GID"
description: Campaign ID
access_source_id:
$ref: "#/components/schemas/GID"
description: Access source ID
email:
type: string
description: User email
full_name:
type: string
description: User full name
role:
type: string
description: User role in the system
job_title:
type: string
description: User job title
is_admin:
type: boolean
description: Whether the user has admin privileges
mfa_status:
$ref: "#/components/schemas/MFAStatus"
description: MFA status
auth_method:
$ref: "#/components/schemas/AccessEntryAuthMethod"
description: Authentication method
account_type:
$ref: "#/components/schemas/AccessEntryAccountType"
description: Account type (user or service account)
last_login:
type:
- string
- "null"
format: date-time
description: Last login time
account_created_at:
type:
- string
- "null"
format: date-time
description: Account creation time
external_id:
type: string
description: External ID in the source system
incremental_tag:
$ref: "#/components/schemas/AccessEntryIncrementalTag"
description: Change tag compared to previous campaign
flags:
type: array
items:
$ref: "#/components/schemas/AccessEntryFlag"
description: Risk flags
flag_reasons:
type: array
items:
type: string
description: Reasons for the flags
decision:
$ref: "#/components/schemas/AccessEntryDecision"
description: Review decision
decision_note:
type:
- string
- "null"
description: Decision justification
decided_by:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Profile ID of the decision maker
decided_at:
type:
- string
- "null"
format: date-time
description: Decision timestamp
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
AccessEntryStatistics:
type: object
required:
- total_count
- decision_counts
- flag_counts
- incremental_tag_counts
properties:
total_count:
type: integer
description: Total number of entries
decision_counts:
type: object
additionalProperties:
type: integer
description: Count of entries per decision status
flag_counts:
type: object
additionalProperties:
type: integer
description: Count of entries per flag type
incremental_tag_counts:
type: object
additionalProperties:
type: integer
description: Count of entries per incremental tag
ListAccessReviewCampaignsInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/AccessReviewCampaignOrderBy"
description: Order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
ListAccessReviewCampaignsOutput:
type: object
required:
- campaigns
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
campaigns:
type: array
items:
$ref: "#/components/schemas/AccessReviewCampaign"
ListAccessEntriesInput:
type: object
required:
- campaign_id
properties:
campaign_id:
$ref: "#/components/schemas/GID"
description: Campaign ID
access_source_id:
$ref: "#/components/schemas/GID"
description: Filter by access source ID
order_by:
$ref: "#/components/schemas/AccessEntryOrderBy"
description: Order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
decision:
$ref: "#/components/schemas/AccessEntryDecision"
description: Filter by decision status
flag:
$ref: "#/components/schemas/AccessEntryFlag"
description: Filter by flag
incremental_tag:
$ref: "#/components/schemas/AccessEntryIncrementalTag"
description: Filter by incremental tag
is_admin:
type: boolean
description: Filter by admin status
auth_method:
$ref: "#/components/schemas/AccessEntryAuthMethod"
description: Filter by auth method
account_type:
$ref: "#/components/schemas/AccessEntryAccountType"
description: Filter by account type
ListAccessEntriesOutput:
type: object
required:
- entries
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
entries:
type: array
items:
$ref: "#/components/schemas/AccessEntry"
GetAccessReviewCampaignStatisticsInput:
type: object
required:
- campaign_id
properties:
campaign_id:
$ref: "#/components/schemas/GID"
description: Campaign ID
GetAccessReviewCampaignStatisticsOutput:
type: object
required:
- statistics
properties:
statistics:
$ref: "#/components/schemas/AccessEntryStatistics"
RecordAccessEntryDecisionMCPInput:
type: object
required:
- access_entry_id
- decision
properties:
access_entry_id:
$ref: "#/components/schemas/GID"
description: Access entry ID
decision:
$ref: "#/components/schemas/AccessEntryDecision"
description: Decision (APPROVED, REVOKE, DEFER, ESCALATE)
decision_note:
type: string
description: Decision justification (required for non-APPROVED decisions)
RecordAccessEntryDecisionMCPOutput:
type: object
required:
- access_entry
properties:
access_entry:
$ref: "#/components/schemas/AccessEntry"
RecordAccessEntryDecisionsMCPInput:
type: object
required:
- decisions
properties:
decisions:
type: array
items:
type: object
required:
- access_entry_id
- decision
properties:
access_entry_id:
$ref: "#/components/schemas/GID"
description: Access entry ID
decision:
$ref: "#/components/schemas/AccessEntryDecision"
description: Decision (APPROVED, REVOKE, DEFER, ESCALATE)
decision_note:
type: string
description: Decision justification (required for non-APPROVED decisions)
RecordAccessEntryDecisionsMCPOutput:
type: object
required:
- access_entries
properties:
access_entries:
type: array
items:
$ref: "#/components/schemas/AccessEntry"
FlagAccessEntryMCPInput:
type: object
required:
- access_entry_id
- flags
properties:
access_entry_id:
$ref: "#/components/schemas/GID"
description: Access entry ID
flags:
type: array
items:
$ref: "#/components/schemas/AccessEntryFlag"
description: Flags to set (ORPHANED, INACTIVE, EXCESSIVE, ROLE_MISMATCH, NEW, DORMANT, TERMINATED_USER, CONTRACTOR_EXPIRED, SOD_CONFLICT, PRIVILEGED_ACCESS, ROLE_CREEP, NO_BUSINESS_JUSTIFICATION, OUT_OF_DEPARTMENT, SHARED_ACCOUNT)
flag_reasons:
type: array
items:
type: string
description: Reasons for flagging
FlagAccessEntryMCPOutput:
type: object
required:
- access_entry
properties:
access_entry:
$ref: "#/components/schemas/AccessEntry"
CloseAccessReviewCampaignMCPInput:
type: object
required:
- campaign_id
properties:
campaign_id:
$ref: "#/components/schemas/GID"
description: Campaign ID
CloseAccessReviewCampaignMCPOutput:
type: object
required:
- campaign
properties:
campaign:
$ref: "#/components/schemas/AccessReviewCampaign"
AccessSourceCategory:
type: string
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AccessSourceCategory
enum:
- SAAS
- CLOUD_INFRA
- SOURCE_CODE
- OTHER
AccessSourceOrderField:
type: string
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AccessSourceOrderField
enum:
- CREATED_AT
AccessSourceOrderBy:
type: object
required:
- field
- direction
properties:
field:
$ref: "#/components/schemas/AccessSourceOrderField"
description: Order field
direction:
$ref: "#/components/schemas/OrderDirection"
description: Order direction
AccessSource:
type: object
required:
- id
- organization_id
- name
- created_at
- updated_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Access source ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
connector_id:
anyOf:
- $ref: "#/components/schemas/GID"
- type: "null"
description: Connector ID
name:
type: string
description: Access source name
csv_data:
type:
- string
- "null"
description: CSV data for manual sources
created_at:
type: string
format: date-time
description: Creation timestamp
updated_at:
type: string
format: date-time
description: Update timestamp
ListAccessSourcesInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
order_by:
$ref: "#/components/schemas/AccessSourceOrderBy"
description: Order by
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
ListAccessSourcesOutput:
type: object
required:
- access_sources
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
access_sources:
type: array
items:
$ref: "#/components/schemas/AccessSource"
CreateAccessSourceMCPInput:
type: object
required:
- organization_id
- name
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
connector_id:
$ref: "#/components/schemas/GID"
description: Connector ID (optional)
name:
type: string
description: Access source name
csv_data:
type: string
description: CSV data for manual sources (optional)
CreateAccessSourceMCPOutput:
type: object
required:
- access_source
properties:
access_source:
$ref: "#/components/schemas/AccessSource"
UpdateAccessSourceMCPInput:
type: object
required:
- access_source_id
properties:
access_source_id:
$ref: "#/components/schemas/GID"
description: Access source ID
name:
type: string
description: New name
connector_id:
type:
- string
- "null"
go.probo.inc/mcpgen/omittable: true
description: Connector ID (set to null to remove)
csv_data:
type:
- string
- "null"
go.probo.inc/mcpgen/omittable: true
description: CSV data for manual sources (set to null to remove)
UpdateAccessSourceMCPOutput:
type: object
required:
- access_source
properties:
access_source:
$ref: "#/components/schemas/AccessSource"
DeleteAccessSourceMCPInput:
type: object
required:
- access_source_id
properties:
access_source_id:
$ref: "#/components/schemas/GID"
description: Access source ID
DeleteAccessSourceMCPOutput:
type: object
required:
- deleted_access_source_id
properties:
deleted_access_source_id:
$ref: "#/components/schemas/GID"
description: Deleted access source ID
CreateAccessReviewCampaignMCPInput:
type: object
required:
- organization_id
- name
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
name:
type: string
description: Campaign name
description:
type: string
description: Campaign description
framework_controls:
type: array
items:
type: string
description: Framework control references
access_source_ids:
type: array
items:
$ref: "#/components/schemas/GID"
description: Access source IDs to include in scope
CreateAccessReviewCampaignMCPOutput:
type: object
required:
- campaign
properties:
campaign:
$ref: "#/components/schemas/AccessReviewCampaign"
UpdateAccessReviewCampaignMCPInput:
type: object
required:
- campaign_id
properties:
campaign_id:
$ref: "#/components/schemas/GID"
description: Campaign ID
name:
type: string
description: New campaign name
description:
type: string
description: New campaign description
framework_controls:
type:
- array
- "null"
items:
type: string
go.probo.inc/mcpgen/omittable: true
description: Framework control references (set to null to clear)
UpdateAccessReviewCampaignMCPOutput:
type: object
required:
- campaign
properties:
campaign:
$ref: "#/components/schemas/AccessReviewCampaign"
DeleteAccessReviewCampaignMCPInput:
type: object
required:
- campaign_id
properties:
campaign_id:
$ref: "#/components/schemas/GID"
description: Campaign ID
DeleteAccessReviewCampaignMCPOutput:
type: object
required:
- deleted_campaign_id
properties:
deleted_campaign_id:
$ref: "#/components/schemas/GID"
description: Deleted campaign ID
StartAccessReviewCampaignMCPInput:
type: object
required:
- campaign_id
properties:
campaign_id:
$ref: "#/components/schemas/GID"
description: Campaign ID
StartAccessReviewCampaignMCPOutput:
type: object
required:
- campaign
properties:
campaign:
$ref: "#/components/schemas/AccessReviewCampaign"
CancelAccessReviewCampaignMCPInput:
type: object
required:
- campaign_id
properties:
campaign_id:
$ref: "#/components/schemas/GID"
description: Campaign ID
CancelAccessReviewCampaignMCPOutput:
type: object
required:
- campaign
properties:
campaign:
$ref: "#/components/schemas/AccessReviewCampaign"
AddAccessReviewCampaignScopeSourceMCPInput:
type: object
required:
- campaign_id
- access_source_id
properties:
campaign_id:
$ref: "#/components/schemas/GID"
description: Campaign ID
access_source_id:
$ref: "#/components/schemas/GID"
description: Access source ID to add to scope
AddAccessReviewCampaignScopeSourceMCPOutput:
type: object
required:
- campaign
properties:
campaign:
$ref: "#/components/schemas/AccessReviewCampaign"
RemoveAccessReviewCampaignScopeSourceMCPInput:
type: object
required:
- campaign_id
- access_source_id
properties:
campaign_id:
$ref: "#/components/schemas/GID"
description: Campaign ID
access_source_id:
$ref: "#/components/schemas/GID"
description: Access source ID to remove from scope
RemoveAccessReviewCampaignScopeSourceMCPOutput:
type: object
required:
- campaign
properties:
campaign:
$ref: "#/components/schemas/AccessReviewCampaign"
OrganizationContext:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
product:
type: string
description: Product description
architecture:
type: string
description: Architecture description
team:
type: string
description: Team description
processes:
type: string
description: Processes description
customers:
type: string
description: Customers description
GetOrganizationContextInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
GetOrganizationContextOutput:
type: object
required:
- organization_context
properties:
organization_context:
$ref: "#/components/schemas/OrganizationContext"
UpdateOrganizationContextInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
product:
type: string
description: Product description
architecture:
type: string
description: Architecture description
team:
type: string
description: Team description
processes:
type: string
description: Processes description
customers:
type: string
description: Customers description
UpdateOrganizationContextOutput:
type: object
required:
- organization_context
properties:
organization_context:
$ref: "#/components/schemas/OrganizationContext"
GetAuditLogEntryInput:
type: object
required:
- id
properties:
id:
$ref: "#/components/schemas/GID"
description: Audit log entry ID
GetAuditLogEntryOutput:
type: object
required:
- audit_log_entry
properties:
audit_log_entry:
$ref: "#/components/schemas/AuditLogEntry"
ListAuditLogEntriesInput:
type: object
required:
- organization_id
properties:
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
size:
type: integer
description: Page size
cursor:
$ref: "#/components/schemas/CursorKey"
description: Page cursor
filter:
type: object
properties:
action:
type: string
description: Filter by action (e.g. "core:vendor:create")
actor_id:
$ref: "#/components/schemas/GID"
description: Filter by actor ID
resource_type:
type: string
description: Filter by resource type (e.g. "Vendor")
resource_id:
$ref: "#/components/schemas/GID"
description: Filter by resource ID
ListAuditLogEntriesOutput:
type: object
required:
- audit_log_entries
properties:
next_cursor:
$ref: "#/components/schemas/CursorKey"
description: Next cursor
audit_log_entries:
type: array
items:
$ref: "#/components/schemas/AuditLogEntry"
AuditLogEntry:
type: object
required:
- id
- organization_id
- actor_id
- actor_type
- action
- resource_type
- resource_id
- created_at
properties:
id:
$ref: "#/components/schemas/GID"
description: Audit log entry ID
organization_id:
$ref: "#/components/schemas/GID"
description: Organization ID
actor_id:
$ref: "#/components/schemas/GID"
description: ID of the actor who performed the action
actor_type:
type: string
enum: [USER, API_KEY, SYSTEM]
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.AuditLogActorType
description: Type of actor
action:
type: string
description: Action performed (e.g. "core:vendor:create")
resource_type:
type: string
description: Type of resource affected (e.g. "Vendor")
resource_id:
$ref: "#/components/schemas/GID"
description: ID of the affected resource
metadata:
type: object
description: Additional metadata about the action
created_at:
type: string
format: date-time
go.probo.inc/mcpgen/type: time.Time
description: When the action was performed
tools:
- name: listOrganizations
description: List all organizations the user has access to
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListOrganizationsInput"
outputSchema:
$ref: "#/components/schemas/ListOrganizationsOutput"
- name: listVendors
description: List all vendors for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListVendorsInput"
outputSchema:
$ref: "#/components/schemas/ListVendorsOutput"
- name: listUsers
description: List all users for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListUsersInput"
outputSchema:
$ref: "#/components/schemas/ListUsersOutput"
- name: getUser
description: Get a user by ID (profile ID)
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetUserInput"
outputSchema:
$ref: "#/components/schemas/GetUserOutput"
- name: createUser
description: Create a new user in the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/CreateUserInput"
outputSchema:
$ref: "#/components/schemas/CreateUserOutput"
- name: inviteUser
description: Invite a user (profile) to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/InviteUserInput"
outputSchema:
$ref: "#/components/schemas/InviteUserOutput"
- name: updateUser
description: Update an existing user (profile)
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateUserInput"
outputSchema:
$ref: "#/components/schemas/UpdateUserOutput"
- name: updateMembership
description: Update a membership role
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateMembershipInput"
outputSchema:
$ref: "#/components/schemas/UpdateMembershipOutput"
- name: removeUser
description: Remove a user from the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/RemoveUserInput"
outputSchema:
$ref: "#/components/schemas/RemoveUserOutput"
- name: addVendor
description: Add a new vendor to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddVendorInput"
outputSchema:
$ref: "#/components/schemas/AddVendorOutput"
- name: updateVendor
description: Update an existing vendor
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateVendorInput"
outputSchema:
$ref: "#/components/schemas/UpdateVendorOutput"
- name: listVendorRiskAssessments
description: List all risk assessments for a vendor
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListVendorRiskAssessmentsInput"
outputSchema:
$ref: "#/components/schemas/ListVendorRiskAssessmentsOutput"
- name: addVendorRiskAssessment
description: Add a new risk assessment for a vendor
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddVendorRiskAssessmentInput"
outputSchema:
$ref: "#/components/schemas/AddVendorRiskAssessmentOutput"
- name: deleteVendor
description: Delete a vendor
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/DeleteVendorInput"
outputSchema:
$ref: "#/components/schemas/DeleteVendorOutput"
- name: listRisks
description: List all risks for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListRisksInput"
outputSchema:
$ref: "#/components/schemas/ListRisksOutput"
- name: getRisk
description: Get a risk by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetRiskInput"
outputSchema:
$ref: "#/components/schemas/GetRiskOutput"
- name: addRisk
description: Add a new risk to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddRiskInput"
outputSchema:
$ref: "#/components/schemas/AddRiskOutput"
- name: updateRisk
description: Update an existing risk
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateRiskInput"
outputSchema:
$ref: "#/components/schemas/UpdateRiskOutput"
- name: deleteRisk
description: Delete a risk
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/DeleteRiskInput"
outputSchema:
$ref: "#/components/schemas/DeleteRiskOutput"
- name: listMeasures
description: List all measures for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListMeasuresInput"
outputSchema:
$ref: "#/components/schemas/ListMeasuresOutput"
- name: getMeasure
description: Get a measure by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetMeasureInput"
outputSchema:
$ref: "#/components/schemas/GetMeasureOutput"
- name: addMeasure
description: Add a new measure to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddMeasureInput"
outputSchema:
$ref: "#/components/schemas/AddMeasureOutput"
- name: updateMeasure
description: Update an existing measure
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateMeasureInput"
outputSchema:
$ref: "#/components/schemas/UpdateMeasureOutput"
- name: deleteMeasure
description: Delete a measure
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/DeleteMeasureInput"
outputSchema:
$ref: "#/components/schemas/DeleteMeasureOutput"
- name: listMeasureRisks
description: List risks linked to a measure
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListMeasureRisksInput"
outputSchema:
$ref: "#/components/schemas/ListMeasureRisksOutput"
- name: listMeasureControls
description: List controls linked to a measure
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListMeasureControlsInput"
outputSchema:
$ref: "#/components/schemas/ListMeasureControlsOutput"
- name: listMeasureTasks
description: List tasks linked to a measure
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListMeasureTasksInput"
outputSchema:
$ref: "#/components/schemas/ListMeasureTasksOutput"
- name: listMeasureEvidences
description: List evidences linked to a measure
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListMeasureEvidencesInput"
outputSchema:
$ref: "#/components/schemas/ListMeasureEvidencesOutput"
- name: linkMeasure
description: Link a measure to a resource (control, risk, or document). The resource type is determined from the resource_id GID.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/LinkMeasureInput"
outputSchema:
$ref: "#/components/schemas/LinkMeasureOutput"
- name: unlinkMeasure
description: Unlink a measure from a resource (control, risk, or document). The resource type is determined from the resource_id GID.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UnlinkMeasureInput"
outputSchema:
$ref: "#/components/schemas/UnlinkMeasureOutput"
- name: listMeasureDocuments
description: List documents linked to a measure
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListMeasureDocumentsInput"
outputSchema:
$ref: "#/components/schemas/ListMeasureDocumentsOutput"
- name: listFrameworks
description: List all frameworks for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListFrameworksInput"
outputSchema:
$ref: "#/components/schemas/ListFrameworksOutput"
- name: getFramework
description: Get a framework by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetFrameworkInput"
outputSchema:
$ref: "#/components/schemas/GetFrameworkOutput"
- name: addFramework
description: Add a new framework to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddFrameworkInput"
outputSchema:
$ref: "#/components/schemas/AddFrameworkOutput"
- name: updateFramework
description: Update an existing framework
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateFrameworkInput"
outputSchema:
$ref: "#/components/schemas/UpdateFrameworkOutput"
- name: listAssets
description: List all assets for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListAssetsInput"
outputSchema:
$ref: "#/components/schemas/ListAssetsOutput"
- name: getAsset
description: Get an asset by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetAssetInput"
outputSchema:
$ref: "#/components/schemas/GetAssetOutput"
- name: addAsset
description: Add a new asset to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddAssetInput"
outputSchema:
$ref: "#/components/schemas/AddAssetOutput"
- name: updateAsset
description: Update an existing asset
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateAssetInput"
outputSchema:
$ref: "#/components/schemas/UpdateAssetOutput"
- name: listData
description: List all data for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListDataInput"
outputSchema:
$ref: "#/components/schemas/ListDataOutput"
- name: getDatum
description: Get a datum by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetDatumInput"
outputSchema:
$ref: "#/components/schemas/GetDatumOutput"
- name: addDatum
description: Add a new datum to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddDatumInput"
outputSchema:
$ref: "#/components/schemas/AddDatumOutput"
- name: updateDatum
description: Update an existing datum
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateDatumInput"
outputSchema:
$ref: "#/components/schemas/UpdateDatumOutput"
- name: listFindings
description: List all findings (nonconformities, observations, exceptions) for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListFindingsInput"
outputSchema:
$ref: "#/components/schemas/ListFindingsOutput"
- name: getFinding
description: Get a finding by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetFindingInput"
outputSchema:
$ref: "#/components/schemas/GetFindingOutput"
- name: addFinding
description: Add a new finding (nonconformity, observation, or exception) to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddFindingInput"
outputSchema:
$ref: "#/components/schemas/AddFindingOutput"
- name: updateFinding
description: Update an existing finding
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateFindingInput"
outputSchema:
$ref: "#/components/schemas/UpdateFindingOutput"
- name: deleteFinding
description: Delete a finding
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/DeleteFindingInput"
outputSchema:
$ref: "#/components/schemas/DeleteFindingOutput"
- name: linkFindingAudit
description: Link a finding to an audit with a reference ID
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/LinkFindingAuditInput"
outputSchema:
$ref: "#/components/schemas/LinkFindingAuditOutput"
- name: unlinkFindingAudit
description: Unlink a finding from an audit
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/UnlinkFindingAuditInput"
outputSchema:
$ref: "#/components/schemas/UnlinkFindingAuditOutput"
- name: listFindingAudits
description: List audits linked to a finding
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListFindingAuditsInput"
outputSchema:
$ref: "#/components/schemas/ListFindingAuditsOutput"
- name: listObligations
description: List all obligations for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListObligationsInput"
outputSchema:
$ref: "#/components/schemas/ListObligationsOutput"
- name: getObligation
description: Get an obligation by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetObligationInput"
outputSchema:
$ref: "#/components/schemas/GetObligationOutput"
- name: addObligation
description: Add a new obligation to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddObligationInput"
outputSchema:
$ref: "#/components/schemas/AddObligationOutput"
- name: updateObligation
description: Update an existing obligation
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateObligationInput"
outputSchema:
$ref: "#/components/schemas/UpdateObligationOutput"
- name: listProcessingActivities
description: List all processing activities for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListProcessingActivitiesInput"
outputSchema:
$ref: "#/components/schemas/ListProcessingActivitiesOutput"
- name: getProcessingActivity
description: Get a processing activity by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetProcessingActivityInput"
outputSchema:
$ref: "#/components/schemas/GetProcessingActivityOutput"
- name: addProcessingActivity
description: Add a new processing activity to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddProcessingActivityInput"
outputSchema:
$ref: "#/components/schemas/AddProcessingActivityOutput"
- name: updateProcessingActivity
description: Update an existing processing activity
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateProcessingActivityInput"
outputSchema:
$ref: "#/components/schemas/UpdateProcessingActivityOutput"
- name: deleteProcessingActivity
description: Delete a processing activity
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/DeleteProcessingActivityInput"
outputSchema:
$ref: "#/components/schemas/DeleteProcessingActivityOutput"
- name: listDataProtectionImpactAssessments
description: List all data protection impact assessments (DPIAs) for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListDataProtectionImpactAssessmentsInput"
outputSchema:
$ref: "#/components/schemas/ListDataProtectionImpactAssessmentsOutput"
- name: getDataProtectionImpactAssessment
description: Get a data protection impact assessment (DPIA) by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetDataProtectionImpactAssessmentInput"
outputSchema:
$ref: "#/components/schemas/GetDataProtectionImpactAssessmentOutput"
- name: addDataProtectionImpactAssessment
description: Add a new data protection impact assessment (DPIA) for a processing activity
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddDataProtectionImpactAssessmentInput"
outputSchema:
$ref: "#/components/schemas/AddDataProtectionImpactAssessmentOutput"
- name: updateDataProtectionImpactAssessment
description: Update an existing data protection impact assessment (DPIA)
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateDataProtectionImpactAssessmentInput"
outputSchema:
$ref: "#/components/schemas/UpdateDataProtectionImpactAssessmentOutput"
- name: deleteDataProtectionImpactAssessment
description: Delete a data protection impact assessment (DPIA) by ID
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/DeleteDataProtectionImpactAssessmentInput"
outputSchema:
$ref: "#/components/schemas/DeleteDataProtectionImpactAssessmentOutput"
- name: listTransferImpactAssessments
description: List all transfer impact assessments (TIAs) for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListTransferImpactAssessmentsInput"
outputSchema:
$ref: "#/components/schemas/ListTransferImpactAssessmentsOutput"
- name: getTransferImpactAssessment
description: Get a transfer impact assessment (TIA) by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetTransferImpactAssessmentInput"
outputSchema:
$ref: "#/components/schemas/GetTransferImpactAssessmentOutput"
- name: addTransferImpactAssessment
description: Add a new transfer impact assessment (TIA) for a processing activity
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddTransferImpactAssessmentInput"
outputSchema:
$ref: "#/components/schemas/AddTransferImpactAssessmentOutput"
- name: updateTransferImpactAssessment
description: Update an existing transfer impact assessment (TIA)
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateTransferImpactAssessmentInput"
outputSchema:
$ref: "#/components/schemas/UpdateTransferImpactAssessmentOutput"
- name: deleteTransferImpactAssessment
description: Delete a transfer impact assessment (TIA)
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/DeleteTransferImpactAssessmentInput"
outputSchema:
$ref: "#/components/schemas/DeleteTransferImpactAssessmentOutput"
- name: listAudits
description: List all audits for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListAuditsInput"
outputSchema:
$ref: "#/components/schemas/ListAuditsOutput"
- name: getAudit
description: Get an audit by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetAuditInput"
outputSchema:
$ref: "#/components/schemas/GetAuditOutput"
- name: addAudit
description: Add a new audit to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddAuditInput"
outputSchema:
$ref: "#/components/schemas/AddAuditOutput"
- name: updateAudit
description: Update an existing audit
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateAuditInput"
outputSchema:
$ref: "#/components/schemas/UpdateAuditOutput"
- name: getAuditReportUrl
description: Get a presigned download URL for an audit's attached report. Returns a time-limited URL valid for 15 minutes. The audit must have an attached report.
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetAuditReportUrlInput"
outputSchema:
$ref: "#/components/schemas/GetAuditReportUrlOutput"
- name: listControls
description: List all controls for the organization or framework
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListControlsInput"
outputSchema:
$ref: "#/components/schemas/ListControlsOutput"
- name: getControl
description: Get a control by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetControlInput"
outputSchema:
$ref: "#/components/schemas/GetControlOutput"
- name: addControl
description: Add a new control to a framework
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddControlInput"
outputSchema:
$ref: "#/components/schemas/AddControlOutput"
- name: updateControl
description: Update an existing control
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateControlInput"
outputSchema:
$ref: "#/components/schemas/UpdateControlOutput"
- name: linkControl
description: Link a resource to a control (measure, document, audit, snapshot, or obligation). The resource type is determined from the resource_id GID.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/LinkControlInput"
outputSchema:
$ref: "#/components/schemas/LinkControlOutput"
- name: unlinkControl
description: Unlink a resource from a control (measure, document, audit, snapshot, or obligation). The resource type is determined from the resource_id GID.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UnlinkControlInput"
outputSchema:
$ref: "#/components/schemas/UnlinkControlOutput"
- name: listControlObligations
description: List obligations linked to a control
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListControlObligationsInput"
outputSchema:
$ref: "#/components/schemas/ListControlObligationsOutput"
- name: listControlMeasures
description: List measures linked to a control
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListControlMeasuresInput"
outputSchema:
$ref: "#/components/schemas/ListControlMeasuresOutput"
- name: listControlDocuments
description: List documents linked to a control
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListControlDocumentsInput"
outputSchema:
$ref: "#/components/schemas/ListControlDocumentsOutput"
- name: listControlAudits
description: List audits linked to a control
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListControlAuditsInput"
outputSchema:
$ref: "#/components/schemas/ListControlAuditsOutput"
- name: listControlSnapshots
description: List snapshots linked to a control
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListControlSnapshotsInput"
outputSchema:
$ref: "#/components/schemas/ListControlSnapshotsOutput"
- name: listRiskObligations
description: List obligations linked to a risk
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListRiskObligationsInput"
outputSchema:
$ref: "#/components/schemas/ListRiskObligationsOutput"
- name: linkRisk
description: Link a risk to a resource (document, measure, or obligation). The resource type is determined from the resource_id GID.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/LinkRiskInput"
outputSchema:
$ref: "#/components/schemas/LinkRiskOutput"
- name: unlinkRisk
description: Unlink a risk from a resource (document, measure, or obligation). The resource type is determined from the resource_id GID.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UnlinkRiskInput"
outputSchema:
$ref: "#/components/schemas/UnlinkRiskOutput"
- name: listTasks
description: List all tasks for the organization or measure
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListTasksInput"
outputSchema:
$ref: "#/components/schemas/ListTasksOutput"
- name: getTask
description: Get a task by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetTaskInput"
outputSchema:
$ref: "#/components/schemas/GetTaskOutput"
- name: addTask
description: Add a new task to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddTaskInput"
outputSchema:
$ref: "#/components/schemas/AddTaskOutput"
- name: updateTask
description: Update an existing task
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateTaskInput"
outputSchema:
$ref: "#/components/schemas/UpdateTaskOutput"
- name: assignTask
description: Assign a task to a person
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AssignTaskInput"
outputSchema:
$ref: "#/components/schemas/AssignTaskOutput"
- name: unassignTask
description: Unassign a task from a person
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UnassignTaskInput"
outputSchema:
$ref: "#/components/schemas/UnassignTaskOutput"
- name: deleteTask
description: Delete a task
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/DeleteTaskInput"
outputSchema:
$ref: "#/components/schemas/DeleteTaskOutput"
- name: listSnapshots
description: List all snapshots for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListSnapshotsInput"
outputSchema:
$ref: "#/components/schemas/ListSnapshotsOutput"
- name: getSnapshot
description: Get a snapshot by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetSnapshotInput"
outputSchema:
$ref: "#/components/schemas/GetSnapshotOutput"
- name: takeSnapshot
description: Take a snapshot of a collection of objects (risks, vendors, findings, obligations, or processing activities)
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/TakeSnapshotInput"
outputSchema:
$ref: "#/components/schemas/TakeSnapshotOutput"
- name: listDocuments
description: List documents for the organization. By default only ACTIVE documents are returned; pass status filter to include ARCHIVED.
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListDocumentsInput"
outputSchema:
$ref: "#/components/schemas/ListDocumentsOutput"
- name: getDocument
description: Get a document by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetDocumentInput"
outputSchema:
$ref: "#/components/schemas/GetDocumentOutput"
- name: addDocument
description: Add a new document to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddDocumentInput"
outputSchema:
$ref: "#/components/schemas/AddDocumentOutput"
- name: updateDocument
description: Update an existing document
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateDocumentInput"
outputSchema:
$ref: "#/components/schemas/UpdateDocumentOutput"
- name: deleteDocumentDraft
description: Delete the latest draft version of a document, reverting to the last published version. Cannot delete the initial v0.1 draft.
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/DeleteDocumentDraftInput"
outputSchema:
$ref: "#/components/schemas/DeleteDocumentDraftOutput"
- name: archiveDocument
description: Archive a document to prevent further modifications
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/ArchiveDocumentInput"
outputSchema:
$ref: "#/components/schemas/ArchiveDocumentOutput"
- name: unarchiveDocument
description: Unarchive a document to allow modifications again
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UnarchiveDocumentInput"
outputSchema:
$ref: "#/components/schemas/UnarchiveDocumentOutput"
- name: listDocumentVersions
description: List all versions for a document
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListDocumentVersionsInput"
outputSchema:
$ref: "#/components/schemas/ListDocumentVersionsOutput"
- name: getDocumentVersion
description: Get a document version by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetDocumentVersionInput"
outputSchema:
$ref: "#/components/schemas/GetDocumentVersionOutput"
- name: publishMajorDocumentVersion
description: Publish a draft document version as a new major version
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/PublishMajorDocumentVersionInput"
outputSchema:
$ref: "#/components/schemas/PublishDocumentVersionOutput"
- name: publishMinorDocumentVersion
description: Publish a draft document version as a minor version
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/PublishMinorDocumentVersionInput"
outputSchema:
$ref: "#/components/schemas/PublishDocumentVersionOutput"
- name: requestDocumentVersionApproval
description: Request approval for a document version
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/RequestDocumentVersionApprovalInput"
outputSchema:
$ref: "#/components/schemas/RequestDocumentVersionApprovalOutput"
- name: deleteDocument
description: Delete a document
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/DeleteDocumentInput"
outputSchema:
$ref: "#/components/schemas/DeleteDocumentOutput"
- name: listDocumentVersionSignatures
description: List all signatures for a document version
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListDocumentVersionSignaturesInput"
outputSchema:
$ref: "#/components/schemas/ListDocumentVersionSignaturesOutput"
- name: getDocumentVersionSignature
description: Get a document version signature by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetDocumentVersionSignatureInput"
outputSchema:
$ref: "#/components/schemas/GetDocumentVersionSignatureOutput"
- name: requestDocumentVersionSignature
description: Request a signature for a document version
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/RequestDocumentVersionSignatureInput"
outputSchema:
$ref: "#/components/schemas/RequestDocumentVersionSignatureOutput"
- name: cancelSignatureRequest
description: Cancel a document version signature request
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/CancelSignatureRequestInput"
outputSchema:
$ref: "#/components/schemas/CancelSignatureRequestOutput"
- name: voidDocumentVersionApproval
description: Void a pending document version approval request
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/VoidDocumentVersionApprovalInput"
outputSchema:
$ref: "#/components/schemas/VoidDocumentVersionApprovalOutput"
- name: sendSigningNotifications
description: Send signing notifications to all signatories with pending signature requests in the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/SendSigningNotificationsInput"
outputSchema:
$ref: "#/components/schemas/SendSigningNotificationsOutput"
- name: listStatementsOfApplicability
description: List all statements of applicability for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListStatementsOfApplicabilityInput"
outputSchema:
$ref: "#/components/schemas/ListStatementsOfApplicabilityOutput"
- name: getStatementOfApplicability
description: Get a statement of applicability by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetStatementOfApplicabilityInput"
outputSchema:
$ref: "#/components/schemas/GetStatementOfApplicabilityOutput"
- name: addStatementOfApplicability
description: Add a new statement of applicability to the organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddStatementOfApplicabilityInput"
outputSchema:
$ref: "#/components/schemas/AddStatementOfApplicabilityOutput"
- name: updateStatementOfApplicability
description: Update an existing statement of applicability
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateStatementOfApplicabilityInput"
outputSchema:
$ref: "#/components/schemas/UpdateStatementOfApplicabilityOutput"
- name: deleteStatementOfApplicability
description: Delete a statement of applicability
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/DeleteStatementOfApplicabilityInput"
outputSchema:
$ref: "#/components/schemas/DeleteStatementOfApplicabilityOutput"
- name: publishDataList
description: Publish the data list for an organization as a document. If a document already exists, a new version is created.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/PublishDataListInput"
outputSchema:
$ref: "#/components/schemas/PublishDataListOutput"
- name: publishAssetList
description: Publish the asset list for an organization as a document. If a document already exists, a new version is created.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/PublishAssetListInput"
outputSchema:
$ref: "#/components/schemas/PublishAssetListOutput"
- name: publishStatementOfApplicability
description: Publish a statement of applicability as a document. If a document already exists, a new version is created.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/PublishStatementOfApplicabilityInput"
outputSchema:
$ref: "#/components/schemas/PublishStatementOfApplicabilityOutput"
- name: listApplicabilityStatements
description: List all applicability statements for a statement of applicability
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListApplicabilityStatementsInput"
outputSchema:
$ref: "#/components/schemas/ListApplicabilityStatementsOutput"
- name: getApplicabilityStatement
description: Get an applicability statement by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetApplicabilityStatementInput"
outputSchema:
$ref: "#/components/schemas/GetApplicabilityStatementOutput"
- name: addApplicabilityStatement
description: Add a control to a statement of applicability with an applicability decision
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddApplicabilityStatementInput"
outputSchema:
$ref: "#/components/schemas/AddApplicabilityStatementOutput"
- name: updateApplicabilityStatement
description: Update the applicability and justification of an applicability statement
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateApplicabilityStatementInput"
outputSchema:
$ref: "#/components/schemas/UpdateApplicabilityStatementOutput"
- name: deleteApplicabilityStatement
description: Delete an applicability statement from a statement of applicability
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/DeleteApplicabilityStatementInput"
outputSchema:
$ref: "#/components/schemas/DeleteApplicabilityStatementOutput"
- name: listAccessReviewCampaigns
description: List access review campaigns for an organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListAccessReviewCampaignsInput"
outputSchema:
$ref: "#/components/schemas/ListAccessReviewCampaignsOutput"
- name: listAccessEntries
description: List access entries for a campaign with optional filters (decision, flag, incremental_tag, is_admin, auth_method, account_type)
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListAccessEntriesInput"
outputSchema:
$ref: "#/components/schemas/ListAccessEntriesOutput"
- name: getAccessReviewCampaignStatistics
description: Get statistics for an access review campaign including counts by decision, flag, and incremental tag
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetAccessReviewCampaignStatisticsInput"
outputSchema:
$ref: "#/components/schemas/GetAccessReviewCampaignStatisticsOutput"
- name: recordAccessEntryDecision
description: Record a decision on an access entry (APPROVED, REVOKE, DEFER, or ESCALATE). Non-APPROVED decisions require a decision_note.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/RecordAccessEntryDecisionMCPInput"
outputSchema:
$ref: "#/components/schemas/RecordAccessEntryDecisionMCPOutput"
- name: recordAccessEntryDecisions
description: Record decisions on multiple access entries in a single batch. Non-APPROVED decisions require a decision_note.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/RecordAccessEntryDecisionsMCPInput"
outputSchema:
$ref: "#/components/schemas/RecordAccessEntryDecisionsMCPOutput"
- name: flagAccessEntry
description: Flag an access entry with one or more flags during review (ORPHANED, INACTIVE, EXCESSIVE, ROLE_MISMATCH, NEW, etc.). Optionally provide reasons.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/FlagAccessEntryMCPInput"
outputSchema:
$ref: "#/components/schemas/FlagAccessEntryMCPOutput"
- name: closeAccessReviewCampaign
description: Close an access review campaign. All entries must have been decided (no PENDING entries).
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/CloseAccessReviewCampaignMCPInput"
outputSchema:
$ref: "#/components/schemas/CloseAccessReviewCampaignMCPOutput"
- name: listAccessSources
description: List access sources for an organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListAccessSourcesInput"
outputSchema:
$ref: "#/components/schemas/ListAccessSourcesOutput"
- name: createAccessSource
description: Create a new access source for an organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/CreateAccessSourceMCPInput"
outputSchema:
$ref: "#/components/schemas/CreateAccessSourceMCPOutput"
- name: updateAccessSource
description: Update an existing access source
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateAccessSourceMCPInput"
outputSchema:
$ref: "#/components/schemas/UpdateAccessSourceMCPOutput"
- name: deleteAccessSource
description: Delete an access source
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/DeleteAccessSourceMCPInput"
outputSchema:
$ref: "#/components/schemas/DeleteAccessSourceMCPOutput"
- name: createAccessReviewCampaign
description: Create a new access review campaign for an organization
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/CreateAccessReviewCampaignMCPInput"
outputSchema:
$ref: "#/components/schemas/CreateAccessReviewCampaignMCPOutput"
- name: updateAccessReviewCampaign
description: Update an existing access review campaign
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateAccessReviewCampaignMCPInput"
outputSchema:
$ref: "#/components/schemas/UpdateAccessReviewCampaignMCPOutput"
- name: deleteAccessReviewCampaign
description: Delete an access review campaign
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/DeleteAccessReviewCampaignMCPInput"
outputSchema:
$ref: "#/components/schemas/DeleteAccessReviewCampaignMCPOutput"
- name: startAccessReviewCampaign
description: Start an access review campaign. Triggers data fetching from all configured scope sources.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/StartAccessReviewCampaignMCPInput"
outputSchema:
$ref: "#/components/schemas/StartAccessReviewCampaignMCPOutput"
- name: cancelAccessReviewCampaign
description: Cancel an in-progress access review campaign
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/CancelAccessReviewCampaignMCPInput"
outputSchema:
$ref: "#/components/schemas/CancelAccessReviewCampaignMCPOutput"
- name: addAccessReviewCampaignScopeSource
description: Add an access source to an access review campaign's scope
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/AddAccessReviewCampaignScopeSourceMCPInput"
outputSchema:
$ref: "#/components/schemas/AddAccessReviewCampaignScopeSourceMCPOutput"
- name: removeAccessReviewCampaignScopeSource
description: Remove an access source from an access review campaign's scope
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/RemoveAccessReviewCampaignScopeSourceMCPInput"
outputSchema:
$ref: "#/components/schemas/RemoveAccessReviewCampaignScopeSourceMCPOutput"
- name: getOrganizationContext
description: Get the organization context containing structured sections about the company
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetOrganizationContextInput"
outputSchema:
$ref: "#/components/schemas/GetOrganizationContextOutput"
- name: updateOrganizationContext
description: Update the organization context sections (product, architecture, team, processes, customers)
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateOrganizationContextInput"
outputSchema:
$ref: "#/components/schemas/UpdateOrganizationContextOutput"
- name: getAuditLogEntry
description: Get an audit log entry by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetAuditLogEntryInput"
outputSchema:
$ref: "#/components/schemas/GetAuditLogEntryOutput"
- name: listAuditLogEntries
description: List audit log entries for the organization. Audit log entries record write actions (create, update, delete) performed by users and API keys.
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListAuditLogEntriesInput"
outputSchema:
$ref: "#/components/schemas/ListAuditLogEntriesOutput"
- name: listWebhookSubscriptions
description: List all webhook subscriptions for the organization
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListWebhookSubscriptionsInput"
outputSchema:
$ref: "#/components/schemas/ListWebhookSubscriptionsOutput"
- name: getWebhookSubscription
description: Get a webhook subscription by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetWebhookSubscriptionInput"
outputSchema:
$ref: "#/components/schemas/GetWebhookSubscriptionOutput"
- name: createWebhookSubscription
description: Create a new webhook subscription for the organization. The endpoint URL must use HTTPS. Selected events determine which events trigger webhook deliveries.
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/CreateWebhookSubscriptionInput"
outputSchema:
$ref: "#/components/schemas/CreateWebhookSubscriptionOutput"
- name: updateWebhookSubscription
description: Update a webhook subscription's endpoint URL or selected events
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateWebhookSubscriptionInput"
outputSchema:
$ref: "#/components/schemas/UpdateWebhookSubscriptionOutput"
- name: deleteWebhookSubscription
description: Delete a webhook subscription
hints:
readonly: false
destructive: true
inputSchema:
$ref: "#/components/schemas/DeleteWebhookSubscriptionInput"
outputSchema:
$ref: "#/components/schemas/DeleteWebhookSubscriptionOutput"
- name: listWebhookEvents
description: List webhook delivery events for a subscription. Shows delivery status (PENDING, SUCCEEDED, FAILED) and response details.
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListWebhookEventsInput"
outputSchema:
$ref: "#/components/schemas/ListWebhookEventsOutput"
- name: listDocumentVersionApprovalQuorums
description: List approval quorums for a document version
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListDocumentVersionApprovalQuorumsInput"
outputSchema:
$ref: "#/components/schemas/ListDocumentVersionApprovalQuorumsOutput"
- name: getDocumentVersionApprovalQuorum
description: Get a document version approval quorum by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetDocumentVersionApprovalQuorumInput"
outputSchema:
$ref: "#/components/schemas/GetDocumentVersionApprovalQuorumOutput"
- name: listDocumentVersionApprovalDecisions
description: List approval decisions for an approval quorum
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/ListDocumentVersionApprovalDecisionsInput"
outputSchema:
$ref: "#/components/schemas/ListDocumentVersionApprovalDecisionsOutput"
- name: getDocumentVersionApprovalDecision
description: Get a document version approval decision by ID
hints:
readonly: true
idempotent: true
inputSchema:
$ref: "#/components/schemas/GetDocumentVersionApprovalDecisionInput"
outputSchema:
$ref: "#/components/schemas/GetDocumentVersionApprovalDecisionOutput"