Base URL
The API is accessible at:4096. The server IP is configured during installation.
Authentication
Zerobyte uses session-based authentication powered by better-auth. All API endpoints (except/api/v1/auth/status and /api/v1/auth/sso-providers) require authentication.
Authentication flow:
- Login via
/api/auth/sign-in/emailto obtain a session cookie - Include session cookie in subsequent API requests
- 2FA verification (if enabled for the user) via
/api/auth/two-factor/verify
zerobyte and are automatically managed by the authentication system.
See the Authentication page for detailed authentication endpoints.
Rate Limiting
Rate limiting is enabled by default in production environments:- Window: 5 minutes
- Limit: 1000 requests per window
- Key: Based on
x-forwarded-forheader or client IP - Bypass: Rate limiting is disabled in development mode
DISABLE_RATE_LIMITING environment variable.
Request/Response Format
All API requests and responses use JSON format. Request Headers:Error Handling
The API uses standard HTTP status codes:| Status Code | Description |
|---|---|
200 | Success |
201 | Created |
400 | Bad Request - Invalid parameters |
401 | Unauthorized - Authentication required |
403 | Forbidden - Insufficient permissions |
404 | Not Found |
409 | Conflict - Resource already exists or operation not allowed |
413 | Payload Too Large - Request body exceeds 10MB limit |
500 | Internal Server Error |
Request Body Limits
The maximum request body size is 10MB. Requests exceeding this limit will receive a413 status code.
Pagination
Endpoints that return lists (such as volume files or snapshot files) support pagination:Number of items to skip
Maximum number of items to return (max: 1000)
offset: Current offsetlimit: Current limittotal: Total number of itemshasMore: Boolean indicating if more items are available
OpenAPI Specification
The OpenAPI specification is available at:/api/v1/docs endpoint requires authentication.
