# List users

**Endpoint**

`GET/v2/user`

**Link**

{% embed url="<https://stagep.tst-apidmndelss.com/openapi/v2.html#/operations/Users_List>" %}

## **List Users API Documentation**

**Endpoint:** `GET /v2/user`

### **Request**

#### **Authentication**

An API key is required for authentication. Include it in the `Authorization` header.

* **Header:** `Authorization`
* **Value:** Your API key token

#### **Query Parameters**

**Pagination Parameters**

| Parameter           | Type      | Description                      | Required | Example |
| ------------------- | --------- | -------------------------------- | -------- | ------- |
| **`meta.page`**     | `integer` | **Page number** (starts from 0). | No       | `0`     |
| **`meta.pageSize`** | `integer` | **Number of items per page**.    | No       | `50`    |

**Filtering & Search Parameters**

| Parameter          | Type     | Description                           | Required | Example                |
| ------------------ | -------- | ------------------------------------- | -------- | ---------------------- |
| **`uuid`**         | `string` | **Unique user identifier**.           | No       | `user_123abc`          |
| **`cuid`**         | `string` | **Customer identifier**.              | No       | `cust_456def`          |
| **`name`**         | `string` | **User's full name**.                 | No       | `John Smith`           |
| **`customerName`** | `string` | **Customer name**.                    | No       | `Acme Corp`            |
| **`email`**        | `string` | **User email address**.               | No       | `user@example.com`     |
| **`phone`**        | `string` | **User phone number**.                | No       | `+1234567890`          |
| **`status`**       | `string` | **User status** (see values below).   | No       | `ACCEPT`               |
| **`fromCreateAt`** | `string` | **Start creation date** (ISO format). | No       | `2024-01-01T00:00:00Z` |
| **`toCreateAt`**   | `string` | **End creation date** (ISO format).   | No       | `2024-03-31T23:59:59Z` |

**Status Values**

* `NOT_SET` - Status not specified
* `NEW` - Registered user
* `READY_FOR_MODERATION` - Ready for review
* `MODERATED` - Under moderation
* `VERIFY` - Verification in progress
* `ACCEPT` - Approved user
* `REJECT` - Rejected user
* `BANNED` - Banned user

#### **Headers**

| Key             | Value              | Required |
| --------------- | ------------------ | -------- |
| `Authorization` | `Bearer <JWT>`     | Yes      |
| `Accept`        | `application/json` | Yes      |

***

### **Response (200 OK)**

Returns a paginated list of users with metadata.

#### **Response Fields**

**Meta Object**

| Field          | Type      | Description            | Example |
| -------------- | --------- | ---------------------- | ------- |
| **`pageSize`** | `integer` | Items per page.        | `50`    |
| **`page`**     | `integer` | Current page number.   | `0`     |
| **`total`**    | `string`  | Total users available. | `"150"` |

**User Object (`items[]`)**

| Field          | Type      | Description                     | Example                |
| -------------- | --------- | ------------------------------- | ---------------------- |
| **`uuid`**     | `string`  | **Unique user identifier**.     | `user_123abc`          |
| **`username`** | `string`  | **User's login name**.          | `johnsmith`            |
| **`status`**   | `string`  | **Current user status**.        | `ACCEPT`               |
| **`is2fa`**    | `boolean` | **2FA enabled status**.         | `true`                 |
| **`createAt`** | `string`  | **Account creation timestamp**. | `2024-01-15T10:30:00Z` |
| **`updateAt`** | `string`  | **Last update timestamp**.      | `2024-03-20T14:22:00Z` |
| **`name`**     | `string`  | **User's full name**.           | `John Smith`           |
| **`comment`**  | `string`  | **Administrative comments**.    | `VIP customer`         |

**Example Response:**

```json
{
  "meta": {
    "pageSize": 50,
    "page": 0,
    "total": "150"
  },
  "items": [
    {
      "uuid": "user_123abc",
      "username": "johnsmith",
      "status": "ACCEPT",
      "is2fa": true,
      "createAt": "2024-01-15T10:30:00Z",
      "updateAt": "2024-03-20T14:22:00Z",
      "name": "John Smith",
      "comment": "Premium account"
    },
    {
      "uuid": "user_456def",
      "username": "janedoe",
      "status": "MODERATED",
      "is2fa": false,
      "createAt": "2024-02-01T09:15:00Z",
      "updateAt": "2024-02-01T09:15:00Z",
      "name": "Jane Doe",
      "comment": "Needs verification"
    }
  ]
}
```

***

### **Examples**

#### **Basic Pagination Request**

```bash
curl -X GET 'https://stagep.tst-apidmndelss.com/v2/user?meta.page=0&meta.pageSize=20' \
  -H 'Authorization: Bearer eyJhbGci...wNLGA' \
  -H 'Accept: application/json'
```

#### **Filter by Status and Date Range**

```bash
curl -X GET 'https://stagep.tst-apidmndelss.com/v2/user?status=ACCEPT&fromCreateAt=2024-01-01T00:00:00Z&toCreateAt=2024-03-31T23:59:59Z&meta.pageSize=100' \
  -H 'Authorization: Bearer eyJhbGci...wNLGA' \
  -H 'Accept: application/json'
```

#### **Search by Email and Name**

```bash
curl -X GET 'https://stagep.tst-apidmndelss.com/v2/user?email=user@example.com&name=John&meta.page=0&meta.pageSize=10' \
  -H 'Authorization: Bearer eyJhbGci...wNLGA' \
  -H 'Accept: application/json'
```

***

### **Error Responses**

1. **Unauthorized**:

   ```json
   { "error": "Unauthorized" }
   ```
2. **Invalid Date Format**:

   ```json
   { "error": "Invalid date format for fromCreateAt" }
   ```
3. **Invalid Status**:

   ```json
   { "error": "Invalid status value: INVALID_STATUS" }
   ```

***

### **Notes**

* **Pagination**: Default `pageSize` is typically 20-50 items if not specified
* **Combined Filters**: Multiple filters are applied with AND logic
* **Performance**: Large result sets may require specific indexing for optimal performance
* **Data Freshness**: Results reflect current user state at time of request

**Common Use Cases**:

* User administration and moderation dashboards
* Customer support user lookup
* Audit and compliance reporting
* User activity monitoring
* Account status reviews

**Best Practices**:

* Always use pagination for large datasets
* Combine filters to narrow down results
* Use specific identifiers (`uuid`, `email`) for precise searches
* Monitor `total` field to understand result set size before pagination

Real request

```postman_json
Authorization:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjE2NCwiZXhwIjoxNzYxNTU3MjQ4LCJrZXkiOiI1Y2ZiOGZjN2RmYjk4ZjVkYmIyZTgwNTVkZWFhN2U2Zjk4MzEyYmE3Iiwib3RwX3ZlcmlmaWVkIjpmYWxzZX0.aCky2QDHayg1KQkIzYlUaZB5_IaYya7pZfWqNENi_7M

```

Real response

200 OK

```postman_json
{
  "meta": {
    "pageSize": 5,
    "page": 0,
    "total": "5"
  },
  "items": [
    {
      "userId": "59a827c3-3f48-48c8-8b09-f490e1b25cba",
      "username": "Test@test123.co",
      "status": "NEW",
      "is2fa": false,
      "createAt": "2025-04-08T13:20:11Z",
      "updateAt": "2025-04-08T13:20:20Z",
      "name": "Test1",
      "comment": ""
    },
    {
      "userId": "d27f5633-c19c-40fd-9a8e-cff2ae10e9b6",
      "username": "Test@ttest.io",
      "status": "ACCEPT",
      "is2fa": false,
      "createAt": "2025-03-27T06:37:30Z",
      "updateAt": "2025-03-27T06:37:54Z",
      "name": "Test2",
      "comment": ""
    },
    {
      "userId": "158a190e-c4a9-4e6c-bf9b-4ef74ae345eb",
      "username": "testeu@gmail.com",
      "status": "ACCEPT",
      "is2fa": false,
      "createAt": "2025-01-28T12:53:10Z",
      "updateAt": "2025-01-28T14:46:15Z",
      "name": "111",
      "comment": ""
    },
    {
      "userId": "89b9fa6b-aff4-47b1-9bd3-0f8e6930b8ac",
      "username": "testuser@test.com",
      "status": "NEW",
      "is2fa": false,
      "createAt": "2025-01-28T12:48:49Z",
      "updateAt": "2025-01-28T12:48:49Z",
      "name": "TestUser",
      "comment": ""
    },
    {
      "userId": "5ff73da8-224e-44de-a235-2d7a76c3144c",
      "username": "test@delos.financial",
      "status": "ACCEPT",
      "is2fa": false,
      "createAt": "2024-12-12T15:47:23Z",
      "updateAt": "2025-09-01T06:56:28Z",
      "name": "Test",
      "comment": ""
    }
  ]
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.delos.financial/users/list-users.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
