Get a use case
/v1/use-cases/{useCase} in the Use Cases API.
curl https://api.example.test/v1/use-cases/$USE_CASE_ID \ -H "Authorization: Bearer $TOKEN"One use case with its actor persona's name and its steps in order. A use case of a project the token may not see, or a draft read through a client guest's token, is 404 RESOURCE_NOT_FOUND.
statusisdraft,in_review,approvedordeprecated;priorityismust,should,couldorwont; a step'sflowismain,alternateorexception, and a branch carries aflow_labeland the main step it leaves inbranches_from.
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 use case, bound by the middleware.
uuidResponses
200OKapplication/json
The use case with its actor and its steps.
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