Get a requirement
/v1/requirements/{requirement} in the Requirements API.
curl https://api.example.test/v1/requirements/$REQUIREMENT_ID \ -H "Authorization: Bearer $TOKEN"One requirement with its owner's and its source stakeholder's names. A requirement of a project the token may not see, or a draft read through a client guest's token, is 404 RESOURCE_NOT_FOUND.
typeisfunctionalornon_functional;categoryandmeasureare set for a non-functional requirement only;statusisdraft,in_review,approved,baselinedordeprecated;priorityismust,should,couldorwont;verification_methodistest,inspection,analysisordemonstration.
Requires ability
The token must hold this ability, or the call is refused with 403.
MCP tool
Runs the same action from an agent, behind the same ability.
Authorization
bearerToken A personal access token minted in the app under Account Settings, then API Tokens, sent as Authorization: Bearer zg_live_…. The token carries the abilities each endpoint lists under Requires ability and is frozen to one team, and optionally to one project, at mint time.
In: header
Path Parameters
The requirement, bound by the middleware.
uuidResponses
200OKapplication/json
The requirement.
401UnauthorizedAUTHENTICATION_REQUIREDapplication/json
The request carries no bearer token, or one that is revoked, malformed, or minted for another environment (a zg_test_ token on production).
403ForbiddenTOKEN_MISSING_ABILITYapplication/json
The token is valid but does not carry the ability this endpoint requires; error.context.required_ability names the one to grant. An endpoint that also checks who registered a row answers FORBIDDEN with the same status, and says so in its own description.
404Not foundRESOURCE_NOT_FOUNDapplication/json
An id in the path names nothing the token can see. TENANT_MISMATCH: the project sits outside the token's scope:project: allow-list, or the token carries no team scope. Both answer 404 rather than 403 so that existence outside the token's scope cannot be inferred.
429Too many requestsRATE_LIMITEDapplication/json
The token has spent its 300 requests a minute or 10,000 an hour; Retry-After says when the next one is accepted.
How is this guide?
Last updated on
Requirements API
A requirement is one sentence the client and the team agree the system must honour: a functional requirement says what it does for a person (CRM-FR-12), a non-functional one says a quality it keeps while it does it (CRM-NFR-3), with the category the quality belongs to and a measure with the metric and the target.
Update a requirement
/v1/requirements/{requirement} in the Requirements API.