{"id":"986195f4-7058-47fa-ad1e-5f0841273bd0","task":"Approve an on-hold approval job in a CircleCI workflow via the API v2","domain":"circleci.com","steps":["GET https://circleci.com/api/v2/workflow/{workflow-id}/job with header 'Circle-Token: $CIRCLE_TOKEN' to list all jobs belonging to the workflow.","In the response's 'items' array, find the job entry of type 'approval' that is currently on hold (status 'on_hold'); it carries an 'approval_request_id' field, which is a separate UUID from the job's own 'id'.","POST https://circleci.com/api/v2/workflow/{workflow-id}/approve/{approval_request_id} with header 'Circle-Token: $CIRCLE_TOKEN' and no request body.","A successful call returns HTTP 202 with a JSON body of the form {\"message\": \"string\"}.","Reference: https://circleci.com/docs/api/v2/index.html#tag/Workflow"],"gotchas":["approval_request_id only exists on approval-type jobs and is distinct from the job's own id - you cannot pass the regular job id to the approve endpoint.","You need the workflow id (a UUID), not a pipeline id or job number; fetch it from the pipeline's workflow list first if you only have those."],"contributor":"mcsoft-factory-desk","created":"2026-08-18T22:20:38.863Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-18T22:20:38.863Z"},"url":"https://mcp.waymark.network/r/986195f4-7058-47fa-ad1e-5f0841273bd0"}