get_change_request
Fetches one change request by id with the records it touches, its impact, Heimdall's draft, its baseline and the people behind it; a guest token reads it without the effort, the cost and the draft.
Read one change request in full. Beside its own fields the answer carries affected: every record the request touches, with artefact_type, artefact_id, and the reference and title as they read now (null when the record is gone or hidden from the token's holder). Use it to know what an approval will unlock, to read the impact the analyst wrote and Heimdall's draft under ai_impact_draft with analysed_at, and to read the approver's words under decision_note on a rejected request. A client guest's token reads the requests they raised or asked for, without impact_effort_hours, impact_cost and ai_impact_draft.
Requires ability
The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.
Runs the same actions as
The REST endpoint and this tool share one action, so validation, permissions and events are identical.
Annotations
It reads and never changes anything.
Arguments
change_request_id*stringUUID of the change request to fetch.
What it returns
{ "data": { "id": "c7d8e9f0-a1b2-4c3d-8e4f-5a6b7c8d9e0f", "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13", "number": 2, "reference": "CRM-CR-2", "title": "Accept vouchers on subscriptions too", "description": "<p>The client wants the voucher applied to the first renewal as well.</p>", "reason": "client_request", "requested_by": "5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e", "requester_name": "Bea Analyst", "stakeholder_id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d", "stakeholder_name": "Gail of the Client", "baseline_id": "6a7b8c9d-0e1f-4a2b-8c3d-4e5f6a7b8c9d", "baseline_name": "v1.0 scope", "affected": [ { "artefact_type": "requirement", "artefact_id": "a8b9c0d1-e2f3-4a4b-9c5d-6e7f8a9b0c13", "reference": "CRM-FR-12", "title": "Password reset by email" }, { "artefact_type": "work-item", "artefact_id": "0f9e8d7c-6b5a-4c3d-8e2f-1a0b9c8d7e6f", "reference": "CRM-142", "title": "Apply a voucher at checkout" } ], "impact_scope": "<p>CRM-FR-12 gains a renewal clause; CRM-142 and its checkout tests change.</p>", "impact_schedule_days": 5, "impact_effort_hours": "24.00", "impact_cost": "1800.00", "impact_risk": "<p>The renewal job runs unattended; a voucher applied twice would refund twice.</p>", "impact_level": "medium", "ai_impact_draft": "<p>A small change to the renewal flow; the story that implements the requirement changes with it.</p><h4>Scope</h4><p>…</p>", "analysed_at": "2026-10-29T10:40:00+00:00", "priority": "high", "status": "approved", "decision_note": null, "verified_by": null, "verified_at": null, "version": 1, "approved_at": "2026-10-29T11:05:00+00:00", "approved_revision_id": "3b4c5d6e-7f8a-4b9c-8d0e-1f2a3b4c5d6e", "position": 1, "created_at": "2026-10-29T09:20:00+00:00", "updated_at": "2026-10-29T11:05:00+00:00" }}How it fails
RESOURCE_NOT_FOUNDunknown change_request_id, a request outside the token's scope, or one a client guest's token neither raised nor asked for.
TOKEN_MISSING_ABILITYtoken lacks change-request:view.
How is this guide?
Last updated on