---
title: "List all project merge requests"
method: GET
path: "/api/v4/projects/{id}/merge_requests"
tags: ["merge_requests"]
---

# List all project merge requests

`GET /api/v4/projects/{id}/merge_requests`

## Request

- Base URL: `https://gitlab.com`
- URL: `https://gitlab.com/api/v4/projects/{id}/merge_requests`
- Auth: none declared

Lists all project merge requests.

## Path parameters

- `id` string, required

## Query parameters

- `author_id` integer
- `author_username` string
- `assignee_id` integer
- `assignee_username` string[]
- `reviewer_username` string
- `labels` string[]
- `milestone` string
- `my_reaction_emoji` string
- `reviewer_id` integer
- `state` 'opened' | 'closed' | 'locked' | 'merged' | 'all'
- `order_by` 'created_at' | 'label_priority' | 'milestone_due' | 'popularity' | 'priority' | 'title' | 'updated_at' | 'merged_at'
- `sort` 'asc' | 'desc'
- `with_labels_details` boolean
- `with_merge_status_recheck` boolean
- `created_after` string, date-time
- `created_before` string, date-time
- `updated_after` string, date-time
- `updated_before` string, date-time
- `merged_after` string, date-time
- `merged_before` string, date-time
- `view` 'simple'
- `scope` 'created-by-me' | 'assigned-to-me' | 'created_by_me' | 'assigned_to_me' | 'reviews_for_me' | 'all'
- `source_branch` string
- `source_project_id` integer
- `target_branch` string
- `search` string
- `in` string
- `wip` 'yes' | 'no'
- `draft` boolean
- `not[author_id]` integer
- `not[author_username]` string
- `not[assignee_id]` integer
- `not[assignee_username]` string[]
- `not[reviewer_username]` string
- `not[labels]` string[]
- `not[milestone]` string
- `not[my_reaction_emoji]` string
- `not[reviewer_id]` integer
- `deployed_before` string
- `deployed_after` string
- `environment` string
- `merge_user_id` integer
- `merge_user_username` string
- `approver_ids` string
- `approved_by_ids` string
- `approved_by_usernames` string
- `page` integer
- `per_page` integer
- `iids` integer[]

## Response `200`

List all project merge requests

- APIEntitiesMergeRequestBasic[]
  - `id` integer, required
  - `iid` integer, required
  - `project_id` integer, required
  - `title` string, required
  - `description` string, required
  - `state` string, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `merged_by` APIEntitiesUserBasic, required: API_Entities_UserBasic model
    - `id` integer, required
    - `username` string, required
    - `public_email` string, required
    - `name` string, required
    - `state` string, required
    - `locked` boolean, required
    - `avatar_url` string, required
    - `avatar_path` string
    - `custom_attributes` APIEntitiesCustomAttribute[]
      - `key` string, required
      - `value` string, required
    - `web_url` string, required
  - `merge_user` APIEntitiesUserBasic, required: API_Entities_UserBasic model
    - `id` integer, required
    - `username` string, required
    - `public_email` string, required
    - `name` string, required
    - `state` string, required
    - `locked` boolean, required
    - `avatar_url` string, required
    - `avatar_path` string
    - `custom_attributes` APIEntitiesCustomAttribute[]
      - `key` string, required
      - `value` string, required
    - `web_url` string, required
  - `merged_at` string, date-time, required
  - `closed_by` APIEntitiesUserBasic, required: API_Entities_UserBasic model
    - `id` integer, required
    - `username` string, required
    - `public_email` string, required
    - `name` string, required
    - `state` string, required
    - `locked` boolean, required
    - `avatar_url` string, required
    - `avatar_path` string
    - `custom_attributes` APIEntitiesCustomAttribute[]
      - `key` string, required
      - `value` string, required
    - `web_url` string, required
  - `closed_at` string, date-time, required
  - `title_html` string
  - `description_html` string
  - `target_branch` string, required
  - `source_branch` string, required
  - `user_notes_count` integer, required
  - `upvotes` integer, required
  - `downvotes` integer, required
  - `author` APIEntitiesUserBasic, required: API_Entities_UserBasic model
    - `id` integer, required
    - `username` string, required
    - `public_email` string, required
    - `name` string, required
    - `state` string, required
    - `locked` boolean, required
    - `avatar_url` string, required
    - `avatar_path` string
    - `custom_attributes` APIEntitiesCustomAttribute[]
      - `key` string, required
      - `value` string, required
    - `web_url` string, required
  - `assignees` APIEntitiesUserBasic, required: API_Entities_UserBasic model
    - `id` integer, required
    - `username` string, required
    - `public_email` string, required
    - `name` string, required
    - `state` string, required
    - `locked` boolean, required
    - `avatar_url` string, required
    - `avatar_path` string
    - `custom_attributes` APIEntitiesCustomAttribute[]
      - `key` string, required
      - `value` string, required
    - `web_url` string, required
  - `assignee` APIEntitiesUserBasic, required: API_Entities_UserBasic model
    - `id` integer, required
    - `username` string, required
    - `public_email` string, required
    - `name` string, required
    - `state` string, required
    - `locked` boolean, required
    - `avatar_url` string, required
    - `avatar_path` string
    - `custom_attributes` APIEntitiesCustomAttribute[]
      - `key` string, required
      - `value` string, required
    - `web_url` string, required
  - `reviewers` APIEntitiesUserBasic, required: API_Entities_UserBasic model
    - `id` integer, required
    - `username` string, required
    - `public_email` string, required
    - `name` string, required
    - `state` string, required
    - `locked` boolean, required
    - `avatar_url` string, required
    - `avatar_path` string
    - `custom_attributes` APIEntitiesCustomAttribute[]
      - `key` string, required
      - `value` string, required
    - `web_url` string, required
  - `source_project_id` integer, required
  - `target_project_id` integer, required
  - `labels` string[], required
  - `draft` boolean, required
  - `imported` boolean, required
  - `imported_from` string, required
  - `work_in_progress` boolean, required
  - `milestone` APIEntitiesMilestone, required
    - `id` integer, required
    - `iid` integer, required
    - `project_id` integer
    - `group_id` string
    - `title` string, required
    - `description` string, required
    - `state` string, required
    - `created_at` string, required
    - `updated_at` string, required
    - `due_date` string, required
    - `start_date` string, required
    - `expired` boolean, required
    - `web_url` string, required
  - `merge_when_pipeline_succeeds` boolean, required
  - `merge_status` string, required
  - `detailed_merge_status` string, required
  - `merge_after` string, date-time, required
  - `sha` string, required
  - `merge_commit_sha` string, required
  - `squash_commit_sha` string, required
  - `discussion_locked` boolean, required
  - `should_remove_source_branch` boolean, required
  - `force_remove_source_branch` boolean, required
  - `prepared_at` string, date-time, required
  - `allow_collaboration` boolean
  - `allow_maintainer_to_push` boolean
  - `reference` string, required
  - `references` APIEntitiesIssuableReferences, required
    - `short` string, required
    - `relative` string, required
    - `full` string, required
  - `web_url` string, required
  - `time_stats` APIEntitiesIssuableTimeStats, required: API_Entities_IssuableTimeStats model
    - `time_estimate` integer, required
    - `total_time_spent` integer, required
    - `human_time_estimate` string, required
    - `human_total_time_spent` string, required
  - `squash` boolean, required
  - `squash_on_merge` boolean, required
  - `task_completion_status` APIEntitiesTaskCompletionStatus, required
    - `count` integer, required
    - `completed_count` integer, required
  - `has_conflicts` boolean, required
  - `blocking_discussions_resolved` boolean, required
  - `approvals_before_merge` integer, required

## Other responses

- `401`: Unauthorized
- `404`: Not found
- `422`: Unprocessable entity

---

[API](https://skmtc.dev/gitlab/apis/gitlab-api.md) - [All operations](https://skmtc.dev/gitlab/apis/gitlab-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gitlab/apis/gitlab-api/revisions/b234947ef3f2?raw)
