Add MCP tool definitions and resolvers for access review campaigns, sources, entries, decisions, and flags. Wire accessreview.Service into the MCP Resolver. Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
8757 lines
239 KiB
YAML
8757 lines
239 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
|
|
|
|
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"
|
|
|
|
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 or risk)
|
|
|
|
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 or risk)
|
|
|
|
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
|
|
snapshot_id:
|
|
type:
|
|
- string
|
|
- "null"
|
|
description: Snapshot 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
|
|
filter:
|
|
type: object
|
|
properties:
|
|
snapshot_id:
|
|
anyOf:
|
|
- $ref: "#/components/schemas/GID"
|
|
- type: "null"
|
|
description: Filter by snapshot ID. Defaults to null, which returns only assets with no snapshot (current live data). Pass a specific snapshot ID to retrieve assets as they were at that snapshot.
|
|
default: null
|
|
|
|
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
|
|
snapshot_id:
|
|
anyOf:
|
|
- $ref: "#/components/schemas/GID"
|
|
description: Snapshot ID
|
|
- type: "null"
|
|
description: No snapshot
|
|
description: Snapshot 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
|
|
filter:
|
|
type: object
|
|
properties:
|
|
snapshot_id:
|
|
anyOf:
|
|
- $ref: "#/components/schemas/GID"
|
|
- type: "null"
|
|
description: Filter by snapshot ID. Defaults to null, which returns only data with no snapshot (current live data). Pass a specific snapshot ID to retrieve data as it was at that snapshot.
|
|
default: null
|
|
|
|
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
|
|
- implemented
|
|
- 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
|
|
implemented:
|
|
type: string
|
|
enum: [IMPLEMENTED, NOT_IMPLEMENTED]
|
|
description: Control implementation state
|
|
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ControlImplementationState
|
|
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
|
|
framework_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Framework 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
|
|
|
|
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
|
|
- implemented
|
|
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
|
|
implemented:
|
|
type: string
|
|
enum: [IMPLEMENTED, NOT_IMPLEMENTED]
|
|
description: Control implementation state
|
|
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ControlImplementationState
|
|
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
|
|
implemented:
|
|
type: string
|
|
enum: [IMPLEMENTED, NOT_IMPLEMENTED]
|
|
description: Control implementation state
|
|
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ControlImplementationState
|
|
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
|
|
- 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
|
|
|
|
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
|
|
- ASSETS
|
|
- DATA
|
|
- NONCONFORMITIES
|
|
- OBLIGATIONS
|
|
- CONTINUAL_IMPROVEMENTS
|
|
- PROCESSING_ACTIVITIES
|
|
- STATES_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
|
|
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
|
|
- PUBLISHED
|
|
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentVersionStatus
|
|
|
|
DocumentStatus:
|
|
type: string
|
|
enum:
|
|
- ACTIVE
|
|
- ARCHIVED
|
|
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentStatus
|
|
|
|
DocumentVersionSignatureState:
|
|
type: string
|
|
enum:
|
|
- REQUESTED
|
|
- SIGNED
|
|
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.DocumentVersionSignatureState
|
|
|
|
DocumentOrderField:
|
|
type: string
|
|
enum:
|
|
- CREATED_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
|
|
- VERSION
|
|
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
|
|
- title
|
|
- document_type
|
|
- trust_center_visibility
|
|
- status
|
|
- created_at
|
|
- updated_at
|
|
properties:
|
|
id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Document ID
|
|
organization_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Organization ID
|
|
title:
|
|
type: string
|
|
description: Document title
|
|
document_type:
|
|
$ref: "#/components/schemas/DocumentType"
|
|
description: Document type
|
|
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
|
|
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
|
|
- 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
|
|
content:
|
|
type: string
|
|
description: Document content
|
|
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
|
|
|
|
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
|
|
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
|
|
|
|
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
|
|
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
|
|
|
|
AddDocumentOutput:
|
|
type: object
|
|
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
|
|
document_type:
|
|
$ref: "#/components/schemas/DocumentType"
|
|
description: Document type
|
|
trust_center_visibility:
|
|
$ref: "#/components/schemas/TrustCenterVisibility"
|
|
description: Trust center visibility
|
|
|
|
UpdateDocumentOutput:
|
|
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
|
|
|
|
ListDocumentVersionsOutput:
|
|
type: object
|
|
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
|
|
required:
|
|
- document_version
|
|
properties:
|
|
document_version:
|
|
$ref: "#/components/schemas/DocumentVersion"
|
|
|
|
CreateDraftDocumentVersionInput:
|
|
type: object
|
|
required:
|
|
- document_id
|
|
properties:
|
|
document_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Document ID
|
|
content:
|
|
type: string
|
|
description: Document content in markdown format
|
|
|
|
CreateDraftDocumentVersionOutput:
|
|
type: object
|
|
required:
|
|
- document_version
|
|
properties:
|
|
document_version:
|
|
$ref: "#/components/schemas/DocumentVersion"
|
|
|
|
UpdateDocumentVersionInput:
|
|
type: object
|
|
required:
|
|
- document_version_id
|
|
properties:
|
|
document_version_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Document version ID
|
|
content:
|
|
type: string
|
|
description: Document content in markdown format
|
|
classification:
|
|
$ref: "#/components/schemas/DocumentClassification"
|
|
description: Document classification
|
|
|
|
UpdateDocumentVersionOutput:
|
|
type: object
|
|
required:
|
|
- document_version
|
|
properties:
|
|
document_version:
|
|
$ref: "#/components/schemas/DocumentVersion"
|
|
|
|
DeleteDraftDocumentVersionInput:
|
|
type: object
|
|
required:
|
|
- document_version_id
|
|
properties:
|
|
document_version_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Document version ID
|
|
|
|
DeleteDraftDocumentVersionOutput:
|
|
type: object
|
|
required:
|
|
- deleted_document_version_id
|
|
properties:
|
|
deleted_document_version_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Deleted document version ID
|
|
|
|
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
|
|
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
|
|
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
|
|
|
|
MeetingOrderField:
|
|
type: string
|
|
enum:
|
|
- CREATED_AT
|
|
- DATE
|
|
- NAME
|
|
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.MeetingOrderField
|
|
|
|
MeetingOrderBy:
|
|
type: object
|
|
required:
|
|
- field
|
|
- direction
|
|
properties:
|
|
field:
|
|
$ref: "#/components/schemas/MeetingOrderField"
|
|
description: Meeting order field
|
|
direction:
|
|
$ref: "#/components/schemas/OrderDirection"
|
|
description: Meeting order direction
|
|
|
|
Meeting:
|
|
type: object
|
|
required:
|
|
- id
|
|
- name
|
|
- date
|
|
- created_at
|
|
- updated_at
|
|
properties:
|
|
id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Meeting ID
|
|
name:
|
|
type: string
|
|
description: Meeting name
|
|
date:
|
|
type: string
|
|
format: date-time
|
|
description: Meeting date
|
|
minutes:
|
|
anyOf:
|
|
- type: string
|
|
description: Meeting minutes
|
|
- type: "null"
|
|
description: No minutes
|
|
description: Meeting minutes
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
description: Creation timestamp
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
description: Update timestamp
|
|
|
|
ListMeetingsInput:
|
|
type: object
|
|
required:
|
|
- organization_id
|
|
properties:
|
|
organization_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Organization ID
|
|
order_by:
|
|
$ref: "#/components/schemas/MeetingOrderBy"
|
|
description: Meeting order by
|
|
size:
|
|
type: integer
|
|
description: Page size
|
|
cursor:
|
|
$ref: "#/components/schemas/CursorKey"
|
|
description: Page cursor
|
|
|
|
ListMeetingsOutput:
|
|
type: object
|
|
required:
|
|
- meetings
|
|
properties:
|
|
meetings:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Meeting"
|
|
description: List of meetings
|
|
next_cursor:
|
|
anyOf:
|
|
- $ref: "#/components/schemas/CursorKey"
|
|
- type: "null"
|
|
description: Next page cursor
|
|
|
|
GetMeetingInput:
|
|
type: object
|
|
required:
|
|
- id
|
|
properties:
|
|
id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Meeting ID
|
|
|
|
GetMeetingOutput:
|
|
type: object
|
|
required:
|
|
- meeting
|
|
properties:
|
|
meeting:
|
|
$ref: "#/components/schemas/Meeting"
|
|
|
|
AddMeetingInput:
|
|
type: object
|
|
required:
|
|
- organization_id
|
|
- name
|
|
- date
|
|
properties:
|
|
organization_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Organization ID
|
|
name:
|
|
type: string
|
|
description: Meeting name
|
|
date:
|
|
type: string
|
|
format: date-time
|
|
description: Meeting date
|
|
attendee_ids:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/GID"
|
|
description: List of attendee profile IDs
|
|
minutes:
|
|
anyOf:
|
|
- type: string
|
|
description: Meeting minutes
|
|
- type: "null"
|
|
description: No minutes
|
|
description: Meeting minutes
|
|
|
|
AddMeetingOutput:
|
|
type: object
|
|
required:
|
|
- meeting
|
|
properties:
|
|
meeting:
|
|
$ref: "#/components/schemas/Meeting"
|
|
|
|
UpdateMeetingInput:
|
|
type: object
|
|
required:
|
|
- id
|
|
properties:
|
|
id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Meeting ID
|
|
name:
|
|
type: string
|
|
description: Meeting name
|
|
date:
|
|
type: string
|
|
format: date-time
|
|
description: Meeting date
|
|
attendee_ids:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/GID"
|
|
description: List of attendee profile IDs
|
|
minutes:
|
|
type: ["string", "null"]
|
|
description: Meeting minutes
|
|
go.probo.inc/mcpgen/omittable: true
|
|
|
|
UpdateMeetingOutput:
|
|
type: object
|
|
required:
|
|
- meeting
|
|
properties:
|
|
meeting:
|
|
$ref: "#/components/schemas/Meeting"
|
|
|
|
DeleteMeetingInput:
|
|
type: object
|
|
required:
|
|
- id
|
|
properties:
|
|
id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Meeting ID
|
|
|
|
DeleteMeetingOutput:
|
|
type: object
|
|
required:
|
|
- deleted_meeting_id
|
|
properties:
|
|
deleted_meeting_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Deleted meeting ID
|
|
|
|
ListMeetingAttendeesInput:
|
|
type: object
|
|
required:
|
|
- meeting_id
|
|
properties:
|
|
meeting_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Meeting ID
|
|
|
|
ListMeetingAttendeesOutput:
|
|
type: object
|
|
required:
|
|
- attendees
|
|
properties:
|
|
attendees:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Profile"
|
|
description: List of attendee profiles
|
|
|
|
StateOfApplicabilityOrderField:
|
|
type: string
|
|
enum:
|
|
- CREATED_AT
|
|
- NAME
|
|
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.StateOfApplicabilityOrderField
|
|
|
|
StateOfApplicabilityOrderBy:
|
|
type: object
|
|
required:
|
|
- field
|
|
- direction
|
|
properties:
|
|
field:
|
|
$ref: "#/components/schemas/StateOfApplicabilityOrderField"
|
|
description: State of applicability order field
|
|
direction:
|
|
$ref: "#/components/schemas/OrderDirection"
|
|
description: Order direction
|
|
|
|
StateOfApplicability:
|
|
type: object
|
|
required:
|
|
- id
|
|
- organization_id
|
|
- name
|
|
- owner_id
|
|
- created_at
|
|
- updated_at
|
|
properties:
|
|
id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: State of applicability ID
|
|
organization_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Organization ID
|
|
name:
|
|
type: string
|
|
description: State of applicability name
|
|
owner_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Owner profile ID
|
|
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
|
|
|
|
ListStatesOfApplicabilityInput:
|
|
type: object
|
|
required:
|
|
- organization_id
|
|
properties:
|
|
organization_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Organization ID
|
|
order_by:
|
|
$ref: "#/components/schemas/StateOfApplicabilityOrderBy"
|
|
description: Order by
|
|
size:
|
|
type: integer
|
|
description: Page size
|
|
cursor:
|
|
$ref: "#/components/schemas/CursorKey"
|
|
description: Page cursor
|
|
|
|
ListStatesOfApplicabilityOutput:
|
|
type: object
|
|
required:
|
|
- states_of_applicability
|
|
properties:
|
|
next_cursor:
|
|
$ref: "#/components/schemas/CursorKey"
|
|
description: Next cursor
|
|
states_of_applicability:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/StateOfApplicability"
|
|
|
|
GetStateOfApplicabilityInput:
|
|
type: object
|
|
required:
|
|
- id
|
|
properties:
|
|
id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: State of applicability ID
|
|
|
|
GetStateOfApplicabilityOutput:
|
|
type: object
|
|
required:
|
|
- state_of_applicability
|
|
properties:
|
|
state_of_applicability:
|
|
$ref: "#/components/schemas/StateOfApplicability"
|
|
|
|
AddStateOfApplicabilityInput:
|
|
type: object
|
|
required:
|
|
- organization_id
|
|
- name
|
|
- owner_id
|
|
properties:
|
|
organization_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Organization ID
|
|
name:
|
|
type: string
|
|
description: State of applicability name
|
|
owner_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Owner profile ID
|
|
|
|
AddStateOfApplicabilityOutput:
|
|
type: object
|
|
required:
|
|
- state_of_applicability
|
|
properties:
|
|
state_of_applicability:
|
|
$ref: "#/components/schemas/StateOfApplicability"
|
|
|
|
UpdateStateOfApplicabilityInput:
|
|
type: object
|
|
required:
|
|
- id
|
|
properties:
|
|
id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: State of applicability ID
|
|
name:
|
|
type: string
|
|
description: State of applicability name
|
|
owner_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Owner profile ID
|
|
|
|
UpdateStateOfApplicabilityOutput:
|
|
type: object
|
|
required:
|
|
- state_of_applicability
|
|
properties:
|
|
state_of_applicability:
|
|
$ref: "#/components/schemas/StateOfApplicability"
|
|
|
|
DeleteStateOfApplicabilityInput:
|
|
type: object
|
|
required:
|
|
- id
|
|
properties:
|
|
id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: State of applicability ID
|
|
|
|
DeleteStateOfApplicabilityOutput:
|
|
type: object
|
|
required:
|
|
- deleted_state_of_applicability_id
|
|
properties:
|
|
deleted_state_of_applicability_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Deleted state of applicability ID
|
|
|
|
ExportStateOfApplicabilityPDFInput:
|
|
type: object
|
|
required:
|
|
- id
|
|
properties:
|
|
id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: State of applicability ID
|
|
|
|
ExportStateOfApplicabilityPDFOutput:
|
|
type: object
|
|
required:
|
|
- pdf_base64
|
|
- filename
|
|
properties:
|
|
pdf_base64:
|
|
type: string
|
|
description: Base64-encoded PDF content
|
|
filename:
|
|
type: string
|
|
description: Suggested filename for the PDF
|
|
|
|
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
|
|
- state_of_applicability_id
|
|
- control_id
|
|
- organization_id
|
|
- applicability
|
|
- created_at
|
|
- updated_at
|
|
properties:
|
|
id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: Applicability statement ID
|
|
state_of_applicability_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: State 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:
|
|
- state_of_applicability_id
|
|
properties:
|
|
state_of_applicability_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: State 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:
|
|
- state_of_applicability_id
|
|
- control_id
|
|
- applicability
|
|
properties:
|
|
state_of_applicability_id:
|
|
$ref: "#/components/schemas/GID"
|
|
description: State 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 or risk). 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 or risk). The resource type is determined from the resource_id GID.
|
|
hints:
|
|
readonly: false
|
|
inputSchema:
|
|
$ref: "#/components/schemas/UnlinkMeasureInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/UnlinkMeasureOutput"
|
|
- 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, assets, data, findings, obligations, or processing activities)
|
|
hints:
|
|
readonly: false
|
|
inputSchema:
|
|
$ref: "#/components/schemas/TakeSnapshotInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/TakeSnapshotOutput"
|
|
- name: listDocuments
|
|
description: List all documents for the organization
|
|
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: 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: createDraftDocumentVersion
|
|
description: Create a new draft version from the latest published version
|
|
hints:
|
|
readonly: false
|
|
inputSchema:
|
|
$ref: "#/components/schemas/CreateDraftDocumentVersionInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/CreateDraftDocumentVersionOutput"
|
|
- name: updateDocumentVersion
|
|
description: Update an existing draft document version content
|
|
hints:
|
|
readonly: false
|
|
inputSchema:
|
|
$ref: "#/components/schemas/UpdateDocumentVersionInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/UpdateDocumentVersionOutput"
|
|
- name: deleteDraftDocumentVersion
|
|
description: Delete a draft document version
|
|
hints:
|
|
readonly: false
|
|
inputSchema:
|
|
$ref: "#/components/schemas/DeleteDraftDocumentVersionInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/DeleteDraftDocumentVersionOutput"
|
|
- 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: listMeetings
|
|
description: List all meetings for the organization
|
|
hints:
|
|
readonly: true
|
|
idempotent: true
|
|
inputSchema:
|
|
$ref: "#/components/schemas/ListMeetingsInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/ListMeetingsOutput"
|
|
- name: getMeeting
|
|
description: Get a meeting by ID
|
|
hints:
|
|
readonly: true
|
|
idempotent: true
|
|
inputSchema:
|
|
$ref: "#/components/schemas/GetMeetingInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/GetMeetingOutput"
|
|
- name: addMeeting
|
|
description: Add a new meeting to the organization
|
|
hints:
|
|
readonly: false
|
|
inputSchema:
|
|
$ref: "#/components/schemas/AddMeetingInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/AddMeetingOutput"
|
|
- name: updateMeeting
|
|
description: Update an existing meeting
|
|
hints:
|
|
readonly: false
|
|
inputSchema:
|
|
$ref: "#/components/schemas/UpdateMeetingInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/UpdateMeetingOutput"
|
|
- name: deleteMeeting
|
|
description: Delete a meeting
|
|
hints:
|
|
readonly: false
|
|
destructive: true
|
|
inputSchema:
|
|
$ref: "#/components/schemas/DeleteMeetingInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/DeleteMeetingOutput"
|
|
- name: listMeetingAttendees
|
|
description: List all attendees for a meeting
|
|
hints:
|
|
readonly: true
|
|
idempotent: true
|
|
inputSchema:
|
|
$ref: "#/components/schemas/ListMeetingAttendeesInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/ListMeetingAttendeesOutput"
|
|
- name: listStatesOfApplicability
|
|
description: List all states of applicability for the organization
|
|
hints:
|
|
readonly: true
|
|
idempotent: true
|
|
inputSchema:
|
|
$ref: "#/components/schemas/ListStatesOfApplicabilityInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/ListStatesOfApplicabilityOutput"
|
|
- name: getStateOfApplicability
|
|
description: Get a state of applicability by ID
|
|
hints:
|
|
readonly: true
|
|
idempotent: true
|
|
inputSchema:
|
|
$ref: "#/components/schemas/GetStateOfApplicabilityInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/GetStateOfApplicabilityOutput"
|
|
- name: addStateOfApplicability
|
|
description: Add a new state of applicability to the organization
|
|
hints:
|
|
readonly: false
|
|
inputSchema:
|
|
$ref: "#/components/schemas/AddStateOfApplicabilityInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/AddStateOfApplicabilityOutput"
|
|
- name: updateStateOfApplicability
|
|
description: Update an existing state of applicability
|
|
hints:
|
|
readonly: false
|
|
inputSchema:
|
|
$ref: "#/components/schemas/UpdateStateOfApplicabilityInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/UpdateStateOfApplicabilityOutput"
|
|
- name: deleteStateOfApplicability
|
|
description: Delete a state of applicability
|
|
hints:
|
|
readonly: false
|
|
destructive: true
|
|
inputSchema:
|
|
$ref: "#/components/schemas/DeleteStateOfApplicabilityInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/DeleteStateOfApplicabilityOutput"
|
|
- name: exportStateOfApplicabilityPDF
|
|
description: Export a state of applicability as a PDF document
|
|
hints:
|
|
readonly: true
|
|
idempotent: true
|
|
inputSchema:
|
|
$ref: "#/components/schemas/ExportStateOfApplicabilityPDFInput"
|
|
outputSchema:
|
|
$ref: "#/components/schemas/ExportStateOfApplicabilityPDFOutput"
|
|
- name: listApplicabilityStatements
|
|
description: List all applicability statements for a state 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 state 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 state 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"
|