Skip to main content

Base URL

http://localhost:3001/api/v1

HTTP Methods

MethodPurposeExample
GETRetrieveGET /users
POSTCreatePOST /users
PUTUpdatePUT /users/{id}
PATCHPartial updatePATCH /users/{id}/activate
DELETEDeleteDELETE /users/{id}

Authentication

All protected endpoints require session cookie:
fetch('/api/v1/users', {
  credentials: 'include'
});

Response Format

Success:
{
  "success": true,
  "data": { ... }
}
Error:
{
  "success": false,
  "error": {
    "message": "Error description",
    "code": "ERROR_CODE"
  }
}

Query Parameters

Pagination

GET /users?page=1&limit=10

Filtering

GET /users?isActive=true&role=admin

Sorting

GET /users?sortBy=createdAt&sortOrder=desc

Error Codes

  • VALIDATION_ERROR: Invalid input
  • NOT_FOUND: Resource not found
  • UNAUTHORIZED: Authentication required
  • FORBIDDEN: Insufficient permissions
  • CONFLICT: Resource conflict

Rate Limiting

  • Default: 100 requests/minute
  • Headers include: X-RateLimit-Remaining