---
title: list-project-members
product: vercel
url: /docs/rest-api/projectmembers/list-project-members
type: reference
prerequisites:
  []
related:
  - /docs/rest-api
summary: Learn about list-project-members on Vercel.
install_vercel_plugin: npx plugins add vercel/vercel-plugin
---

# List project members

```http
GET /v1/projects/{idOrName}/members
```

Lists all members of a project.

## Authentication

**bearerToken**: HTTP bearer

## Path parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `idOrName` | string | Yes | The ID or name of the Project. |


## Query parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `limit` | integer. min: 1; max: 100 | No | Limit how many project members should be returned |
| `since` | integer | No | Timestamp in milliseconds to only include members added since then. |
| `until` | integer | No | Timestamp in milliseconds to only include members added until then. |
| `search` | string | No | Search project members by their name, username, and email. |
| `teamId` | string | No | The Team identifier to perform the request on behalf of. |
| `slug` | string | No | The Team slug to perform the request on behalf of. |


## Responses

### 200: Paginated list of members for the project.

Content-Type: `application/json`

```json
{
  "oneOf": [
    {
      "type": "object"
    },
    {
      "type": "object",
      "description": "Paginated list of members for the project.",
      "required": [
        "members",
        "pagination"
      ],
      "properties": {
        "members": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "computedProjectRole",
              "createdAt",
              "email",
              "role",
              "teamRole",
              "uid",
              "username"
            ],
            "properties": {
              "avatar": {
                "type": "string",
                "description": "ID of the file for the Avatar of this member."
              },
              "email": {
                "type": "string",
                "description": "The email of this member."
              },
              "role": {
                "type": "string",
                "description": "Role of this user in the project.",
                "enum": [
                  "ADMIN",
                  "PROJECT_DEVELOPER",
                  "PROJECT_VIEWER",
                  "PROJECT_GUEST"
                ]
              },
              "computedProjectRole": {
                "type": "string",
                "description": "Role of this user in the project.",
                "enum": [
                  "ADMIN",
                  "PROJECT_DEVELOPER",
                  "PROJECT_VIEWER",
                  "PROJECT_GUEST"
                ]
              },
              "uid": {
                "type": "string",
                "description": "The ID of this user."
              },
              "username": {
                "type": "string",
                "description": "The unique username of this user."
              },
              "name": {
                "type": "string",
                "description": "The name of this user."
              },
              "createdAt": {
                "type": "number",
                "description": "Timestamp in milliseconds when this member was added."
              },
              "teamRole": {
                "type": "string",
                "description": "The role of this user in the team.",
                "enum": [
                  "OWNER",
                  "MEMBER",
                  "DEVELOPER",
                  "SECURITY",
                  "BILLING",
                  "VIEWER",
                  "VIEWER_FOR_PLUS",
                  "CONTRIBUTOR"
                ]
              }
            }
          }
        },
        "pagination": {
          "type": "object",
          "required": [
            "count",
            "hasNext",
            "next",
            "prev"
          ],
          "properties": {
            "hasNext": {
              "type": "boolean",
              "enum": [
                false,
                true
              ]
            },
            "count": {
              "type": "number",
              "description": "Amount of items in the current page."
            },
            "next": {
              "type": "number",
              "description": "Timestamp that must be used to request the next page.",
              "nullable": true
            },
            "prev": {
              "type": "number",
              "description": "Timestamp that must be used to request the previous page.",
              "nullable": true
            }
          }
        }
      }
    }
  ]
}
```

### 400: One of the provided values in the request query is invalid.

### 401: The request is not authorized.

### 403: You do not have permission to access this resource.

---

## Related

- [projectMembers endpoints](/docs/rest-api#projectmembers)

- [REST API overview](/docs/rest-api)

- [OpenAPI spec](https://openapi.vercel.sh/) (machine-readable, all endpoints)

---

[View full sitemap](/docs/sitemap)
