Skip to contentAboutThe people and vision powering ProboBlogThe latest news from ProboStoriesHear from our customersChangelogLatest product updatesDocsDocumentation for ProboGitHubExplore our open-source compliance tools

Tools: Controls

🔍 Read-only

List all controls for the organization or framework.

Parameters: {
"organization_id": "org_xxx",
"framework_id": "framework_xxx",
"size": 50,
"cursor": "optional_cursor",
"filter": { "query": "search term" }
}

Supports: Pagination, filtering by framework, search Returns: Array of controls, next_cursor for pagination

Example:
AI: "List all controls for framework framework_abc123"
[Uses listControls tool]

🔍 Read-only

Get a control by ID.

Parameters: {
"id": "control_xxx"
}

Returns: Full control details

Example:
AI: "Get details for control control_abc123"
[Uses getControl tool]

✏️ Write

Add a new control to a framework.

Parameters: {
"organization_id": "org_xxx",
"framework_id": "framework_xxx",
"section_title": "A.5.1",
"name": "Access Control Policy",
"best_practice": true,
"implemented": "IMPLEMENTED",
"description": "Control description",
"not_implemented_justification": null
}

Returns: Created control object

Example:
AI: "Add a control for access management to framework_abc123"
[Uses addControl tool]

✏️ Write

Update an existing control.

Parameters: {
"id": "control_xxx",
"name": "Updated Name",
"implemented": "IMPLEMENTED",
"description": "Updated description"
}

Returns: Updated control object

Example:
AI: "Update control control_abc123 to IMPLEMENTED"
[Uses updateControl tool]

✏️ Write

Link a resource to a control. The resource type (measure, document, audit, snapshot, or obligation) is determined from the resource_id GID.

Parameters: {
"control_id": "control_xxx",
"resource_id": "measure_xxx"
}

Returns: Confirmation of link

Example:
AI: "Link measure measure_abc123 to control control_abc123"
[Uses linkControl tool]

✏️ Write

Unlink a resource from a control. The resource type is determined from the resource_id GID.

Parameters: {
"control_id": "control_xxx",
"resource_id": "measure_xxx"
}

Returns: Confirmation of unlink

Example:
AI: "Unlink measure measure_abc123 from control control_abc123"
[Uses unlinkControl tool]

🔍 Read-only

List obligations linked to a control.

Parameters: {
"control_id": "control_xxx",
"size": 50,
"cursor": "optional_cursor"
}

Supports: Pagination Returns: Array of obligations, next_cursor for pagination

Example:
AI: "List all obligations linked to control control_abc123"
[Uses listControlObligations tool]

🔍 Read-only

List measures linked to a control.

Parameters: {
"control_id": "control_xxx",
"size": 50,
"cursor": "optional_cursor"
}

Supports: Pagination Returns: Array of measures, next_cursor for pagination

Example:
AI: "List all measures linked to control control_abc123"
[Uses listControlMeasures tool]

🔍 Read-only

List documents linked to a control.

Parameters: {
"control_id": "control_xxx",
"size": 50,
"cursor": "optional_cursor"
}

Supports: Pagination Returns: Array of documents, next_cursor for pagination

Example:
AI: "List all documents linked to control control_abc123"
[Uses listControlDocuments tool]

🔍 Read-only

List audits linked to a control.

Parameters: {
"control_id": "control_xxx",
"size": 50,
"cursor": "optional_cursor"
}

Supports: Pagination Returns: Array of audits, next_cursor for pagination

Example:
AI: "List all audits linked to control control_abc123"
[Uses listControlAudits tool]

🔍 Read-only

List snapshots linked to a control.

Parameters: {
"control_id": "control_xxx",
"size": 50,
"cursor": "optional_cursor"
}

Supports: Pagination Returns: Array of snapshots, next_cursor for pagination

Example:
AI: "List all snapshots linked to control control_abc123"
[Uses listControlSnapshots tool]