---
title: "Get roles for a user"
method: GET
path: "/users/{id}/roles"
tags: ["users"]
---

# Get roles for a user

`GET /users/{id}/roles`

## Path parameters

- `id` number, required

## Response `200`

User roles

- UserRolesResponseDto
  - `roles` UserRole[], required — List of user roles
    - `id` number, required — User role ID
    - `userId` number, required — User ID
    - `roleId` number, required — Role ID
    - `role` Role, required
    - `user` User, required
      - `id` number, required — User ID
      - `privyId` string, required — Privy user ID
      - `email` object, nullable, required — Email address
      - `status` 1 | 2 | 3, required — User status
      - `lastLoginCountry` object, nullable, required — Country of the last login with a known geo (ISO 3166-1 alpha-2)
      - `lastLoginCountryAt` object, nullable, required — When lastLoginCountry was last updated
      - `created_at` string, date-time, required — Creation timestamp
      - `updated_at` string, date-time, required — Last update timestamp
      - `userProfile` UserProfile, required
        - `id` number, required — User profile ID
        - `name` string, required — Full name
        - `username` object, nullable, required — Username
        - `type` 1 | 2, required — Profile type
        - `companyName` object, nullable, required — Company name (business profiles)
        - `jobTitle` object, nullable, required — Job title
        - `birthday` object, nullable, required — Birthday
        - `phone` object, nullable, required — Phone number
        - `timezone` object, nullable, required — Timezone
        - `avatar` object, nullable, required — Avatar
        - `userId` number, required — User ID
        - `user` User, required — recursive
        - `referralCode` ReferralCode, required
          - `id` number, required — Referral code ID
          - `wallet` string, required — Wallet address
          - `code` string, required — Referral code
          - `codeNormalized` string, required — Referral code normalized
          - `createdAt` string, date-time, required — Creation timestamp
        - `onboardingCompleted` boolean, required — Whether the onboarding is completed
        - `currency` object, nullable, required — Display currency, lower-case ISO 4217
        - `inputMode` object, nullable, required — Amount entry mode: fiat or token
        - `language` object, nullable, required — UI language, as a resolved translation-bundle key. NULL means never chosen (DRE-447).
        - `sessionTimeout` object, nullable, required — App-lock idle timeout in minutes; 0 disables it
        - `appLockEnabled` boolean, required — Whether the app lock (PIN) is set up
        - `created_at` string, date-time, required — Creation timestamp
        - `updated_at` string, date-time, required — Last update timestamp

## Other responses

- `401` — Unauthorized
- `403` — Forbidden — Admin role required
- `404` — User not found

---

[API](https://skmtc.dev/dre/apis/dre-api.md) · [All operations](https://skmtc.dev/dre/apis/dre-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/dre/dre-api/revisions/5d14beb9482b/schema)
