---
title: "List users"
method: GET
path: "/v1/domains/{domainId}/users"
tags: ["Users"]
---

# List users

`GET /v1/domains/{domainId}/users`

## Path parameters

- `domainId` string, uuid, required

## Query parameters

- `limit` integer
- `startingAfter` string, uuid
- `sortBy` 'id' | 'alias' | 'lock' | 'metadata.createdAt' | 'metadata.lastModifiedAt'
- `sortOrder` 'ASC' | 'DESC'
- `alias` string
- `publicKey` string
- `roles` string[]
- `roles[]` string[]
- `lock` CoreLockStatus[]
- `metadata.createdBy` string, uuid
- `metadata.lastModifiedBy` string, uuid
- `metadata.description` string
- `metadata.customProperties` string[]

## Response `200`

- CoreTrustedUsersCollection
  - `items` CoreTrustedUser[], required
    - `data` CoreUser, required
      - `id` string, uuid, required
      - `domainId` string, uuid, required
      - `alias` string, required
      - `publicKey` string, base64, required
      - `roles` string[], required
      - `lock` 'Unlocked' | 'Locked' | 'Archived', required
      - `metadata` CoreEntityMetadata, required
        - `description` string
        - `revision` integer, required
        - `createdAt` string, date-time, required
        - `createdBy` CoreUserReference
          - `id` string, uuid, required
          - `domainId` string, uuid, required
        - `lastModifiedAt` string, date-time, required
        - `lastModifiedBy` CoreUserReference
          - `id` string, uuid, required
          - `domainId` string, uuid, required
        - `customProperties` CoreStringsMap, required
      - `loginIds` CoreLoginId[] — Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values.
        - `id` string, required — User identifier used by the provider.
        - `providerId` string, required — Login provider. For internal login, set to `harmonize`. For external identity providers, must match the provider name.
    - `signature` string, base64, required
    - `signingKey` string, base64, required
  - `count` integer, required
  - `currentStartingAfter` string
  - `nextStartingAfter` string

## Other responses

- `400` — Invalid value for: path parameter domainId, Invalid value for: query parameter limit, Invalid value for: query parameter startingAfter, Invalid value for: query parameter sortBy, Invalid value for: query parameter sortOrder, Invalid value for: query parameter alias, Invalid value for: query parameter publicKey, Invalid value for: query parameter roles, Invalid value for: query parameter roles[], Invalid value for: query parameter lock, Invalid value for: query parameter metadata.createdBy, Invalid value for: query parameter metadata.lastModifiedBy, Invalid value for: query parameter metadata.description, Invalid value for: query parameter metadata.customProperties
- `401` — One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError)
- `404` — Entity or Domain not found (EntityNotFoundError)

---

[API](https://skmtc.net/ripple/apis/ripple-custody-api.md) · [All operations](https://skmtc.net/ripple/apis/ripple-custody-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ripple/ripple-custody-api/revisions/410038300d74/schema)
