---
title: "List controls with completion"
method: GET
path: "/api/v1/companies/{companyId}/controls"
tags: ["Controls"]
---

# List controls with completion

`GET /api/v1/companies/{companyId}/controls`

## Request

- Base URL: `https://comply.strac.io`
- URL: `https://comply.strac.io/api/v1/companies/{companyId}/controls`
- Auth: HTTP bearer

All controls for the company with completion % and the binary readiness signal. If an input could not be read, the response names it in `degradedReads`: treat those verdicts as not fully evaluated. `ackSignalBasis: "not-evaluated"` means the policy acknowledgment check did not run.

Scope: `compliance:read`.

## Path parameters

- `companyId` string, required

## Query parameters

- `framework` string
- `category` string
- `status` 'Unassigned' | 'Assigned' | 'Needs reassignment' | 'In progress' | 'Needs evidence' | 'Completed'

## Response `200`

List controls with completion

---

[API](https://skmtc.dev/strac/apis/strac-comply-api.md) - [All operations](https://skmtc.dev/strac/apis/strac-comply-api/llms.txt) - [OpenAPI document](https://skmtc.dev/strac/apis/strac-comply-api/revisions/d5558b64eeeb?raw)
