Users API Reference
List Users
Retrieve a paginated list of users.
HTTP Request
GET /api/v1/users
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| per_page | integer | Number of items per page |
| role | string | Filter by user role |
Example Response
{
"data": [
{
"id": 1,
"name": "John Doe",
"email": "john.doe@example.com",
"role": "staff",
"created_at": "2024-01-15T08:30:00Z",
"updated_at": "2024-01-15T08:30:00Z"
},
{
"id": 2,
"name": "Jane Smith",
"email": "jane.smith@example.com",
"role": "admin",
"created_at": "2024-01-15T09:15:00Z",
"updated_at": "2024-01-15T09:15:00Z"
}
],
"meta": {
"current_page": 1,
"per_page": 10,
"total": 2
}
}
Get Single User
Retrieve details of a specific user.
HTTP Request
GET /api/v1/users/{id}
URL Parameters
| Parameter | Type | Description |
|---|---|---|
| id | integer | The ID of the user |
Example Response
{
"data": {
"id": 1,
"name": "John Doe",
"email": "john.doe@example.com",
"role": "staff",
"created_at": "2024-01-15T08:30:00Z",
"updated_at": "2024-01-15T08:30:00Z"
}
}
Create User
Create a new user.
HTTP Request
POST /api/v1/users
Request Body
| Parameter | Type | Description |
|---|---|---|
| string | User's email address | |
| password | string | User's password |
| name | string | User's full name |
| role | string | User's role (admin, staff, client) |
Example Request
{
"email": "new.user@example.com",
"password": "secure_password",
"name": "New User",
"role": "staff"
}
Example Response
{
"data": {
"id": 3,
"name": "New User",
"email": "new.user@example.com",
"role": "staff",
"created_at": "2024-01-15T10:00:00Z",
"updated_at": "2024-01-15T10:00:00Z"
}
}
Update User
Update an existing user.
HTTP Request
PUT /api/v1/users/{id}
Request Body
| Parameter | Type | Description |
|---|---|---|
| string | User's email address | |
| name | string | User's full name |
| role | string | User's role (admin, staff, client) |
Example Request
{
"name": "Updated Name",
"email": "updated.email@example.com",
"role": "admin"
}
Example Response
{
"data": {
"id": 1,
"name": "Updated Name",
"email": "updated.email@example.com",
"role": "admin",
"created_at": "2024-01-15T08:30:00Z",
"updated_at": "2024-01-15T10:15:00Z"
}
}
Delete User
Delete an existing user.
HTTP Request
DELETE /api/v1/users/{id}
URL Parameters
| Parameter | Type | Description |
|---|---|---|
| id | integer | The ID of the user to delete |
Example Response
{
"message": "User successfully deleted"
}