SnapReport
GET/api/v1/standards

Reference endpoints for discovering the standard_id UUIDs and clause IDs needed when calling SnapReport. Any valid API key may call them.

Authentication

Any valid API key for your organization. No specific permission is required. See Authentication.

Available standards

These are the standards currently available on the platform. Use the code column anywhere an endpoint accepts a :standardId — no UUID required.

CodeNameVersionGrading scheme
BRCGSBRCGS Food SafetyIssue 9BRC
IFS-FOODIFS Food8IFS
ISO9001ISO 90012015ISO

Call GET /api/v1/standards to always get the live list in case new standards are added.

GET

/api/v1/standards

List every standard available. Returns id, code, name, version and grading scheme. The id is what you pass as standard_id when calling analyze, but you never need to hard-code it — just call this endpoint once and look it up by code.

Use ?code= to filter to a specific standard without needing its UUID:

# List all standards
curl https://api.myqateam.com/api/v1/standards \
-H "Authorization: Bearer myqa_..."
# Filter to a specific standard by code (no UUID needed)
curl "https://api.myqateam.com/api/v1/standards?code=IFS-FOOD" \
-H "Authorization: Bearer myqa_..."

Response

json
{
"success": true,
"data": [
{
"id": "5e6f1c2c-7e7a-4d62-9d7e-1234567890ab",
"code": "ISO 9001",
"name": "ISO 9001:2015",
"version": "2015",
"description": "Quality management systems — Requirements",
"default_language": "en",
"total_requirements": 132,
"grading_scheme": "ISO"
}
]
}

Use the id field as standard_id when calling POST /api/v1/snapreport/analyze.

GET

/api/v1/standards/:standardId/clauses

Return the chapter / section / clause tree for one standard. You can use the standard's code (e.g. IFS-FOOD) instead of its UUID \u2014 no need to store IDs.

Add ?chapter=<number> to get only the clauses for a specific chapter (e.g. ?chapter=1). Useful for consulting or for building a mapping table without fetching everything at once.

  • chapters are the top-level groupings — pass any subset of chapters[].id as the processes array of an analyze request to scope grading. Omit processes to grade against every chapter.
  • sections group clauses inside a chapter. Informational only — you don't pass these to analyze.
  • clauses[].id is what POST /api/v1/snapreport/analyze returns as suggestions[].clause_id; clauses[].number matches suggestions[].clause_code.
# All clauses by standard code (no UUID required)
curl https://api.myqateam.com/api/v1/standards/IFS-FOOD/clauses \
-H "Authorization: Bearer myqa_..."
# Or by UUID
curl https://api.myqateam.com/api/v1/standards/<standard-uuid>/clauses \
-H "Authorization: Bearer myqa_..."
# Filter to a specific chapter by number
curl "https://api.myqateam.com/api/v1/standards/IFS-FOOD/clauses?chapter=1" \
-H "Authorization: Bearer myqa_..."

Response

json
{
"success": true,
"data": {
"standard": {
"id": "4c111998-16c1-4e32-9cde-cfde90b955d9",
"code": "IFS-FOOD",
"name": "IFS Food",
"version": "8",
"default_language": "en",
"grading_scheme": "IFS"
},
"chapters": [
{
"id": "b12696aa-e6f4-4b37-828c-46a363e86d64",
"number": "1",
"title": "Governance and commitment",
"display_order": 1
}
],
"sections": [
{
"id": "acb46b67-ebb8-4ba8-acd4-537edd2942b8",
"chapter_id": "b12696aa-e6f4-4b37-828c-46a363e86d64",
"number": "1.1",
"title": "Policy",
"display_order": 1
}
],
"clauses": [
{
"id": "b011ab64-32b9-4dae-b8bd-499311322827",
"section_id": "acb46b67-ebb8-4ba8-acd4-537edd2942b8",
"parent_clause_id": null,
"number": "1.1.1",
"title": null,
"display_order": 1
}
]
}
}

Field reference

FieldTypeDescription
standard.iduuidPass as standard_id in the analyze request body.
standard.codestringShort identifier (e.g. ISO 9001, IFS-FOOD).
chapters[].iduuidPass any subset in the processes array of an analyze request to scope grading to those chapters.
chapters[].numberstringHuman-readable chapter number (e.g. 1, 4).
sections[].chapter_iduuidThe parent chapter UUID.
clauses[].iduuidClause UUID. Returned by analyze as suggestions[].clause_id.
clauses[].section_iduuidThe parent section UUID.
clauses[].parent_clause_iduuid \u007c nullFor nested sub-clauses; null for top-level clauses.
clauses[].numberstringThe clause code (e.g. 1.1.1, 4.1) — returned by analyze as suggestions[].clause_code.

Errors

HTTPFieldDescription
400INVALID_INPUTstandardId path segment is not a UUID.
401UNAUTHORIZEDMissing, invalid, or revoked API key (or IP not allowlisted).
404STANDARD_NOT_FOUNDThe supplied standardId does not exist.
500PROCESSING_ERRORDatabase error while loading standards or clauses.

See the full error code reference on the authentication page.