Get a project's audit readiness (codes and counts)
GET /iso/projects/{projectId}/readiness
Scope iso:read Plan Growth+
Requires the iso:read scope. Needs the iso27001 plan feature.
Example
curl "https://api.autociso.io/api/v1/iso/projects/<projectId>/readiness" \
-H "Authorization: Bearer <your-api-token>"import requests
response = requests.get(
"https://api.autociso.io/api/v1/iso/projects/<projectId>/readiness",
headers={"Authorization": "Bearer <your-api-token>"},
)
print(response.json())const response = await fetch("https://api.autociso.io/api/v1/iso/projects/<projectId>/readiness", {
method: "GET",
headers: { "Authorization": "Bearer <your-api-token>" },
});
console.log(await response.json());Response 200
{
"data": {
"blockers": [
{
"code": "CONTROL_MISSING_EVIDENCE",
"count": 15
},
{
"code": "SOA_NOT_SIGNED",
"count": 1
}
],
"computedAt": "2026-10-13T07:30:00Z",
"projectId": "iso_1hfa8m2c4x0p",
"projectStatus": "ACTIVE",
"score": 68,
"warnings": [
{
"code": "CONTROL_EVIDENCE_STALE",
"count": 22
},
{
"code": "POLICY_ACK_RATE_LOW",
"count": 1
}
]
},
"error": null
}Path parameters
projectIdstring required
Returns
The data field of the standard { data, error, meta } envelope:
blockersarray of object requiredBlocker codes and counts, sorted by code.codestring requiredSCOPE_NOT_SIGNED, SOA_NOT_SIGNED, CONTROL_MISSING_EVIDENCE, CONTROL_EVIDENCE_STALE, OPEN_NONCONFORMITIES, POLICY_ACK_RATE_LOW or ACCESS_REVIEW_OVERDUE.countinteger requiredNumber of occurrences.
computedAtstring (date-time) requiredComputation time (UTC, RFC 3339).projectIdstring requiredISO project id (iso_).projectStatusstring requiredACTIVE, CERTIFIED, SURVEILLANCE, ARCHIVED or UNKNOWN.scoreinteger requiredReadiness score (0-100) computed now.warningsarray of object requiredWarning codes and counts, sorted by code.codestring requiredSCOPE_NOT_SIGNED, SOA_NOT_SIGNED, CONTROL_MISSING_EVIDENCE, CONTROL_EVIDENCE_STALE, OPEN_NONCONFORMITIES, POLICY_ACK_RATE_LOW or ACCESS_REVIEW_OVERDUE.countinteger requiredNumber of occurrences.
Errors
| Status | Code | Retry | Meaning |
|---|---|---|---|
| 400 | - | no | The request is invalid. |
| 401 | - | no | The token is missing, malformed, expired or revoked. |
| 402 | - | no | The organisation’s plan does not include the feature this route needs. |
| 403 | - | no | The token may not use this route. |
| 404 | - | no | The resource does not exist in this organisation. |
| 429 | - | yes | Rate limit or row budget exceeded; retry after the time in Retry-After. |
| 500 | - | no | Unexpected server error. |
| 503 | - | yes | A dependency is temporarily unavailable; retry later. |
Last reviewed: 2026-10-13
Was this page helpful?