Base URL
- Production:
https://api.example.com - Staging:
https://staging-api.example.com - Local:
http://localhost:8080
Conventions
- Content-Type:
application/json - Date/Time: ISO 8601 (UTC)
- Pagination:
limit,offset - Error format: See “Error Responses (Global)” in
docs/api/endpoint-template.md
Endpoints
GET /api/v1/credits/transactions
Summary: List credit transactions for the authenticated user. Idempotent: Yes Tags: creditsRequest
HeadersContent-Type: application/json
| Name | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| user_id | string (uuid) | No | - | Target user ID (admins only) | 550e8400-e29b-41d4-a716-446655440000 |
| limit | integer | No | 50 | Number of transactions to return (1-100) | 50 |
| offset | integer | No | 0 | Number of transactions to skip | 0 |
Responses
200 OK - List of credit transactions| Field | Type | Description |
|---|---|---|
| transactions | array | Credit transactions |
| transactions[].id | string | Transaction UUID |
| transactions[].user_id | string | User UUID |
| transactions[].type | string | grant or deduction |
| transactions[].amount | integer | Credit delta |
| transactions[].balance_after | integer | Balance after the transaction |
| transactions[].reason | string | Optional reason |
| transactions[].metadata | object | Optional metadata |
| transactions[].created_at | string | ISO 8601 timestamp |
| total | integer | Total number of transactions |
| limit | integer | Page size |
| offset | integer | Offset into the result set |
Notes
- Admin tokens that do not map to a user UUID must supply
user_id.