> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cisisk.projects.bernardopinto.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Users

> User CRUD — create, read, update, delete users

All user endpoints require level 0 permission and a Bearer token.

### Writable fields

| Field       | Type    | Required | Default |
| ----------- | ------- | -------- | ------- |
| first\_name | string  | yes      | —       |
| last\_name  | string  | yes      | —       |
| username    | string  | yes      | —       |
| email       | string  | yes      | —       |
| password    | string  | yes      | —       |
| phone       | string  | no       | `null`  |
| lang        | string  | no       | `"en"`  |
| location    | string  | no       | `null`  |
| nationality | string  | no       | `null`  |
| timezone    | string  | no       | `"UTC"` |
| is\_active  | boolean | no       | `true`  |

***

## List users

```
GET /api/v1/users
```

```json theme={null}
{
  "success": true,
  "message": "2 user(s) found",
  "data": [
    {
      "uuid": "550e8400-e29b-41d4-a716-446655440000",
      "first_name": "Admin",
      "last_name": "User",
      "username": "admin",
      "email": "admin@example.com",
      "phone": null,
      "lang": "en",
      "location": null,
      "nationality": null,
      "timezone": "UTC",
      "last_uuid": null,
      "last_login_ip": "::1",
      "last_login_at": "2026-06-28T12:00:00.000Z",
      "last_logout_ip": null,
      "is_active": true,
      "created_at": "2026-06-28T12:00:00.000Z",
      "created_by": null,
      "updated_at": "2026-06-28T12:00:00.000Z",
      "created_ip": "::1",
      "updated_ip": "::1"
    }
  ],
  "metadata": {}
}
```

***

## Get user

```
GET /api/v1/users/{uuid}
```

```json theme={null}
{
  "success": true,
  "message": "User found",
  "data": {
    "uuid": "550e8400-e29b-41d4-a716-446655440000",
    "first_name": "Admin",
    "last_name": "User",
    "username": "admin",
    "email": "admin@example.com",
    "phone": null,
    "lang": "en",
    "location": null,
    "nationality": null,
    "timezone": "UTC",
    "last_uuid": null,
    "last_login_ip": "::1",
    "last_login_at": "2026-06-28T12:00:00.000Z",
    "last_logout_ip": null,
    "is_active": true,
    "created_at": "2026-06-28T12:00:00.000Z",
    "created_by": null,
    "updated_at": "2026-06-28T12:00:00.000Z",
    "created_ip": "::1",
    "updated_ip": "::1"
  },
  "metadata": {}
}
```

***

## Create user

```
POST /api/v1/users
```

```json theme={null}
{
  "first_name": "Jane",
  "last_name": "Smith",
  "username": "janesmith",
  "email": "jane@example.com",
  "password": "securePass123",
  "phone": "+351912345679",
  "lang": "pt",
  "location": "Lisbon",
  "nationality": "Portuguese",
  "timezone": "Europe/Lisbon",
  "is_active": true
}
```

```json theme={null}
{
  "success": true,
  "message": "User created",
  "data": {
    "uuid": "660e8400-e29b-41d4-a716-446655440001",
    "first_name": "Jane",
    "last_name": "Smith",
    "username": "janesmith",
    "email": "jane@example.com",
    "phone": "+351912345679",
    "lang": "pt",
    "location": "Lisbon",
    "nationality": "Portuguese",
    "timezone": "Europe/Lisbon",
    "last_uuid": null,
    "last_login_ip": null,
    "last_login_at": null,
    "last_logout_ip": null,
    "is_active": true,
    "created_at": "2026-06-28T12:00:00.000Z",
    "created_by": null,
    "updated_at": "2026-06-28T12:00:00.000Z",
    "created_ip": "::1",
    "updated_ip": "::1"
  },
  "metadata": {}
}
```

***

## Update user

Any subset of writable fields.

```
PUT /api/v1/users/{uuid}
```

```json theme={null}
{
  "first_name": "Janet",
  "lang": "fr",
  "location": "Paris",
  "timezone": "Europe/Paris"
}
```

```json theme={null}
{
  "success": true,
  "message": "User updated",
  "data": {
    "uuid": "660e8400-e29b-41d4-a716-446655440001",
    "first_name": "Janet",
    "last_name": "Smith",
    "username": "janesmith",
    "email": "jane@example.com",
    "phone": "+351912345679",
    "lang": "fr",
    "location": "Paris",
    "nationality": "Portuguese",
    "timezone": "Europe/Paris",
    "last_uuid": null,
    "last_login_ip": null,
    "last_login_at": null,
    "last_logout_ip": null,
    "is_active": true,
    "created_at": "2026-06-28T12:00:00.000Z",
    "created_by": null,
    "updated_at": "2026-06-28T12:00:00.000Z",
    "created_ip": "::1",
    "updated_ip": "::1"
  },
  "metadata": {}
}
```

***

## Delete user

```
DELETE /api/v1/users/{uuid}
```

```json theme={null}
{
  "success": true,
  "message": "User deleted",
  "data": null,
  "metadata": {}
}
```
