Add Bruno API collection for device cap management

- Update User Max Devices - Complete API documentation
- Update User Max Devices - Success test case
- Update User Max Devices - Invalid Zero test case
- Update User Max Devices - Exceeds Maximum test case
- Update User Max Devices - Missing ID test case
- Include validation rules and example payloads
- Document all status codes and error responses
This commit is contained in:
2026-01-31 13:06:46 -05:00
parent 8d55b7c5b5
commit 31fae3cea8
5 changed files with 218 additions and 0 deletions
@@ -0,0 +1,32 @@
meta {
name: Update User Max Devices - Exceeds Maximum
type: http
seq: 3
}
put {
url: {{base_url}}/api/auth/users/{{user_id}}/max-devices
body: {
max_devices: 101
}
auth: inherit
}
settings {
encodeUrl: true
timeout: 0
}
vars {
user_id: 123e4567-e89b-12d3-a456-426614174000
max_devices: 101
}
docs {
## Update User Max Devices - Invalid (Exceeds Maximum)
Attempts to set max_devices to 101 (above maximum of 100).
**Expected:** 400 Bad Request
**Response:** `{"error": "validation error"}`
}
@@ -0,0 +1,32 @@
meta {
name: Update User Max Devices - Invalid Max Devices
type: http
seq: 2
}
put {
url: {{base_url}}/api/auth/users/{{user_id}}/max-devices
body: {
max_devices: 0
}
auth: inherit
}
settings {
encodeUrl: true
timeout: 0
}
vars {
user_id: 123e4567-e89b-12d3-a456-426614174000
max_devices: 0
}
docs {
## Update User Max Devices - Invalid (Zero)
Attempts to set max_devices to 0 (below minimum).
**Expected:** 400 Bad Request
**Response:** `{"error": "validation error"}`
}
@@ -0,0 +1,27 @@
meta {
name: Update User Max Devices - Missing ID
type: http
seq: 4
}
put {
url: {{base_url}}/api/auth/users//max-devices
body: {
max_devices: 10
}
auth: inherit
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## Update User Max Devices - Missing User ID
Attempts to update max devices without providing user ID.
**Expected:** 400 Bad Request
**Response:** `{"error": "user id required"}`
}
@@ -0,0 +1,32 @@
meta {
name: Update User Max Devices - Success
type: http
seq: 1
}
put {
url: {{base_url}}/api/auth/users/{{user_id}}/max-devices
body: {
max_devices: 5
}
auth: inherit
}
settings {
encodeUrl: true
timeout: 0
}
vars {
user_id: 123e4567-e89b-12d3-a456-426614174000
max_devices: 5
}
docs {
## Update User Max Devices - Success Case
Successfully updates a user's max devices limit to 5.
**Expected:** 200 OK
**Response:** `{"message": "max devices updated"}`
}
@@ -0,0 +1,95 @@
meta {
name: Update User Max Devices
type: http
seq: 6
}
put {
url: {{base_url}}/api/auth/users/{{user_id}}/max-devices
body: {
max_devices: {{max_devices}}
}
auth: inherit
}
settings {
encodeUrl: true
timeout: 0
}
docs {
## Update User Max Devices (Admin)
Updates the maximum number of devices a user can register.
**Method:** PUT
**Endpoint:** /api/auth/users/:id/max-devices
**Authentication:** Required (Admin only)
**URL Parameters:**
- `id` (string): User ID (UUID)
**Request Body:**
```json
{
"max_devices": 10
}
```
- `max_devices` (integer, required): Maximum devices (1-100)
**Response:**
```json
{
"message": "max devices updated"
}
```
**Status Codes:**
- 200: Success
- 400: Invalid request (missing id, invalid max_devices, out of range)
- 401: Unauthorized
- 403: Forbidden (admin access required)
- 500: Internal server error
**Validation:**
- `max_devices` must be between 1 and 100
- User ID must be a valid UUID
- User must exist
**Features:**
- Admin-only endpoint for managing user device quotas
- Allows per-user device limits (default: 10)
- Prevents excessive device registrations per user
- Useful for multi-tenant or managed deployments
**Examples:**
Set max devices to 5:
```json
{
"max_devices": 5
}
```
Set max devices to 50 (premium user):
```json
{
"max_devices": 50
}
```
Set max devices to 1 (restricted user):
```json
{
"max_devices": 1
}
```
**Use Cases:**
- Restrict free-tier users to 5 devices
- Allow premium users up to 100 devices
- Reduce device cap for suspicious accounts
- Implement tiered device limits per user plan
}