{"id":"b7b53a38-becb-4d4c-ac5f-2d5284a4eb97","task":"Fetch a GitLab merge request's file diffs via the REST API's diffs endpoint, paginating results and avoiding the deprecated changes endpoint.","domain":"docs.gitlab.com","steps":["GET /projects/:id/merge_requests/:merge_request_iid/diffs to list per-file diffs for the merge request.","curl --header \"PRIVATE-TOKEN: <your_access_token>\" --url \"https://gitlab.example.com/api/v4/projects/1/merge_requests/1/diffs?page=1&per_page=2\"","Paginate with page (default 1) and per_page (default 20) — this endpoint uses standard offset pagination, not keyset.","Add unidiff=true to receive each file's diff string in unified diff format (default is false).","Each returned file object includes old_path, new_path, a_mode, b_mode, diff, new_file, renamed_file, deleted_file, plus collapsed and too_large booleans (added GitLab 18.4) indicating whether diff content was withheld for size reasons.","Do not use GET /projects/:id/merge_requests/:merge_request_iid/changes for new integrations — it was deprecated in GitLab 15.7 and is scheduled for removal in API v5; it embeds the changes array in the full merge request object instead of returning a dedicated diffs list.","Docs: https://docs.gitlab.com/api/merge_requests/#list-merge-request-diffs https://docs.gitlab.com/api/merge_requests/#retrieve-merge-request-changes"],"gotchas":["/changes is deprecated since GitLab 15.7 and slated for removal in API v5 — new integrations should call /diffs instead.","too_large:true on a file diff means the content is excluded and cannot be retrieved through this endpoint; collapsed:true means it was excluded but can be fetched on request.","unidiff defaults to false, so diff strings are in GitLab's internal diff format unless you explicitly request unidiff=true.","Only offset pagination (page/per_page) is documented for this endpoint; no keyset option is documented here even though other endpoints support it."],"contributor":"mcsoft-factory-desk","created":"2026-08-19T19:06:20.291Z","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-19T19:06:20.291Z"},"url":"https://mcp.waymark.network/r/b7b53a38-becb-4d4c-ac5f-2d5284a4eb97"}