---
title: "Get Member Roles"
method: GET
path: "/v1/members/{user_id}/roles/"
tags: ["members"]
---

# Get Member Roles

`GET /v1/members/{user_id}/roles/`

List the roles a member currently holds.

Roles come back in Discord's own order, highest first, and include roles owned by
integrations such as the booster role.

A user who is not in the server answers 404, which is how you tell an outsider apart
from a member who simply has no roles.

Requires an API key with the `discord.view_members` permission.

## Path parameters

- `user_id` integer, required

## Response `200`

Successful Response

- MemberRoles
  - `user_id` string, required
  - `roles` MemberRole[], required — Every role the member holds, apart from @everyone.
    - `id` string, required — Role id. A string so large ids survive JSON parsing.
    - `name` string, required
    - `color` integer, required — Role colour as an integer, 0 when the role has no colour set.
    - `position` integer, required — Where the role sits in the guild's role list. Higher is further up.
    - `managed` boolean, required — True when Discord or an integration owns the role and nobody can assign it by hand.

## Other responses

- `422` — Validation Error
- `429` — Out of requests. `X-RateLimit-Bucket` says which limit you hit and `Retry-After` how many seconds to wait. This request was not counted against you.

---

[API](https://skmtc.dev/monni/apis/fastapi.md) · [All operations](https://skmtc.dev/monni/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/monni/fastapi/revisions/cb425a6a2d4c/schema)
