MergeRequestCard
A merge request as a list shows it: its main fields, with its author, reviewers, approvals, comment and thread counts, diff size and merge readiness resolved.
Shape
approvalsApprovalSummary
- The ApprovalSummary schema
- giveninteger · int320–∞
- requiredinteger · int320–∞
authorActorSummary
- The ActorSummary schema
- emailstring
- idstring
- usernamestring
- avatar_urlstring or nulloptional
- comments_countinteger · int320–∞
- commits_countinteger · int320–∞
- created_atstring
diffDiffSummary
- The DiffSummary schema
- additionsinteger · int320–∞
- deletionsinteger · int320–∞
- is_draftboolean
- merge_request_idMergeRequestId (integer · int64)
- repository_idRepositoryId (string · uuid)
reviewersarray of CardReviewer
- The CardReviewer schema
- emailstring
- idstring
- review_statusReviewStatuspendingapprovedrejected
- stalebooleanWhether this reviewer's approval predates the current source-branch tip (approved an older revision). Computed at read time; always present.
- usernamestring
- avatar_urlstring or nulloptional
- source_branchBranchName (string)
- statusMergeRequestStatusopenmergedclosed
- target_branchBranchName (string)
threadsThreadSummary
- The ThreadSummary schema
- resolvedinteger · int320–∞
- totalinteger · int320–∞
- titleMrTitle (string)
- updated_atstring
- author_can_pushboolean or nulloptionalWhether the author can push to the repository — false for a drive-by contributor's merge request. Absent where it was not computed.
- is_stackedbooleanoptionalTrue when the merge request is part of a stack: an open merge request is based on it, or it is based on one.
mergeMergeStatusSummary or nulloptional
- The MergeStatusSummary schema
- has_conflictsboolean
- mergeableboolean
- my_review_statusReviewStatuspendingapprovedrejectedor nulloptionalYour own review status on the merge request. Present only in the listing of merge requests awaiting your review.
- pipeline_stateMrPipelineStatependingrunningfailedpassedemptyor nulloptionalWhere the merge request's pipelines stand at its head:
pending,running,failed,passed, oremptywhen no pipeline applies. Present only in a repository's own listing, whether or not the repository requires the pipelines to pass.
Example
Synthesized example{
"approvals": {
"given": 20,
"required": 40
},
"author": {
"email": "tomas@acme.example",
"id": "id-5cc6",
"username": "tomas",
"avatar_url": "https://gitmoap.example/acme/404ce706"
},
"comments_count": 2,
"commits_count": 0,
"created_at": "2026-10-15T04:43:50Z",
"diff": {
"additions": 30,
"deletions": 64
},
"is_draft": false,
"merge_request_id": 42,
"repository_id": "5b0e7c2a-9d14-4e8b-a6f1-2c3d4e5f6a70",
"reviewers": [
{
"email": "lin@acme.example",
"id": "id-f9d6",
"review_status": "pending",
"stale": false,
"username": "lin"
}
],
"source_branch": "refactor/brand-inline",
"status": "open",
"target_branch": "main",
"threads": {
"resolved": 15,
"total": 5
},
"title": "Inline scalar newtypes but keep their brand",
"updated_at": "2026-10-13T05:45:36Z",
"author_can_push": false,
"is_stacked": false,
"merge": {
"has_conflicts": false,
"mergeable": true
},
"my_review_status": "pending",
"pipeline_state": "passed"
}
Graph
Used by
Sent by 0 operations
No operation takes it as a request body.
Returned by 4 operations
- GETList merge requests across a group's subtree as rich cards/groups/{group_id}/merge-requests/cards
- GETList merge requests as rich cards for the UI list view/repositories/{repo_id}/merge-requests/cards
- GETList the calling user's authored merge requests as rich cards, across all repos/user/merge-requests/cards
- GETList the merge requests the calling user reviews, as rich cards, across all repos/user/review-requests/cards