Overview
Permission Mongo provides a high-performance REST API for managing multi-tenant data with built-in permission controls, document versioning, and audit logging. The API is built on fasthttp for maximum throughput and minimal latency.Base URL
All API requests are made to:config.yaml:
API Versioning
The current API version is embedded in the response metadata. Version information is available via:Response Format
All API responses follow a consistent structure:Success Response
The response payload (object, array, or primitive)
Pagination metadata (only for list endpoints)
Response metadata
Example Success Response
Error Response
Error information
Response metadata (same as success response)
Example Error Response
Request Headers
All API requests should include:Must be
application/json for POST, PUT, and PATCH requestsBearer token for authentication (see Authentication)
Optional client-provided request ID for tracing. If not provided, the server generates one.
Response Headers
The API returns these headers:Unique request identifier for tracing and debugging
Always
application/json; charset=utf-8CORS header (if configured)
Health Check Endpoints
Health Check
Check if the server is running:Readiness Check
Check if the server is ready to accept requests (includes dependency checks):HTTP Methods
The API follows RESTful conventions:GET- Retrieve resourcesPOST- Create new resourcesPUT- Update existing resources (full replacement)PATCH- Partially update resourcesDELETE- Delete resourcesOPTIONS- CORS preflight requests
Content Types
The API only accepts and returns JSON:- Request:
application/json - Response:
application/json; charset=utf-8
Idempotency
GET,PUT, andDELETEoperations are idempotentPOSToperations are not idempotent (each call creates a new resource)- Use X-Request-ID header for request deduplication if needed
Performance
The API is built for high performance:- Concurrency: Supports up to 262,144 concurrent connections
- Keep-Alive: TCP keep-alive enabled by default
- Timeouts: Configurable read/write timeouts
- Memory: Optimized for speed over memory usage
config.yaml: