← Back to Documentation Home
This document provides a comprehensive reference of all available API routes in BAASIX.
| Method | Endpoint | Description | Documentation Link |
|---|
| POST | /auth/register | Register a new user | Auth Docs |
| POST | /auth/login | Authenticate a user and receive a token | Auth Docs |
| GET | /auth/me | Get current authenticated user | Auth Docs |
| GET | /auth/logout | Log out the current user | Auth Docs |
| GET | /auth/check | Check if JWT token is valid | Auth Docs |
| POST | /auth/magiclink | Request a magic link for passwordless auth | Auth Docs |
| GET | /auth/magiclink/:token | Validate and use a magic link token | Auth Docs |
| GET | /auth/tenants | Get list of available tenants (multi-tenant) | Auth Docs |
| POST | /auth/switch-tenant | Switch to a different tenant | Auth Docs |
| POST | /auth/invite | Send invitation to join tenant | Auth Docs |
| GET | /auth/verify-invite/:token | Verify invitation validity | Auth Docs |
| POST | /auth/accept-invite | Accept invitation for existing users | Auth Docs |
| Method | Endpoint | Description | Documentation Link |
|---|
| GET | / | Get project information (public) | Settings Docs |
| GET | /settings | Get application settings (public) | Settings Docs |
| GET | /settings/by-app-url | Get settings by app URL (public) | Settings Docs |
| PATCH | /settings | Update application settings (admin) | Settings Docs |
| GET | /settings/branding | Get email branding for tenant | Settings Docs |
| POST | /settings/test-email | Test email configuration (admin) | Settings Docs |
| POST | /settings/reload | Reload settings cache (admin) | Settings Docs |
| DELETE | /settings/tenant | Delete tenant settings (admin) | Settings Docs |
| Method | Endpoint | Description | Documentation Link |
|---|
| GET | /items/:collection | List items from a collection | Item Docs |
| GET | /items/:collection/:id | Get a single item | Item Docs |
| POST | /items/:collection | Create a new item | Item Docs |
| PATCH | /items/:collection/:id | Update an existing item | Item Docs |
| DELETE | /items/:collection/:id | Delete an item | Item Docs |
| POST | /items/:collection/bulk | Create multiple items | Item Docs |
| PATCH | /items/:collection/bulk | Update multiple items | Item Docs |
| DELETE | /items/:collection/bulk | Delete multiple items | Item Docs |
| POST | /items/:collection/import-csv | Import items from CSV file | Item Docs |
| POST | /items/:collection/import-json | Import items from JSON file | Item Docs |
| Method | Endpoint | Description | Documentation Link |
|---|
| GET | /reports/stats | Get statistics (GET with query params) | Reports Docs |
| POST | /reports/stats | Get statistics (POST with body) | Reports Docs |
| GET | /reports/:collection | Generate report (GET with query params) | Reports Docs |
| POST | /reports/:collection | Generate report (POST with body) | Reports Docs |
| Method | Endpoint | Description | Documentation Link |
|---|
| GET | /files | List files | File Docs |
| GET | /files/:id | Get file details | File Docs |
| POST | /files | Upload a file | File Docs |
| PATCH | /files/:id | Update file details | File Docs |
| DELETE | /files/:id | Delete a file | File Docs |
| POST | /files/upload-from-url | Import a file from URL | File Docs |
| GET | /assets/:id | Get a processed version of a file | File Docs |
| Method | Endpoint | Description | Documentation Link |
|---|
| GET | /schemas | List all schemas | Schema Docs |
| GET | /schemas/:collection | Get a specific schema | Schema Docs |
| POST | /schemas | Create a new schema (admin) | Schema Docs |
| PATCH | /schemas/:collection | Update an existing schema (admin) | Schema Docs |
| DELETE | /schemas/:collection | Delete a schema (admin) | Schema Docs |
| POST | /schemas/:collection/indexes | Create index (admin) | Schema Docs |
| DELETE | /schemas/:collection/indexes/:indexName | Delete index (admin) | Schema Docs |
| POST | /schemas/:sourceCollection/relationships | Create relationship (admin) | Schema Docs |
| PATCH | /schemas/:sourceCollection/relationships/:field | Update relationship (admin) | Schema Docs |
| DELETE | /schemas/:sourceCollection/relationships/:field | Delete relationship (admin) | Schema Docs |
| GET | /schemas-export | Export all schemas (admin) | Schema Docs |
| POST | /schemas-export | Export schemas with options (admin) | Schema Docs |
| POST | /schemas-import | Import schemas (admin) | Schema Docs |
| POST | /permissions-export | Export all permissions (admin) | Permission Docs |
| POST | /permissions-import | Import permissions (admin) | Permission Docs |
| Method | Endpoint | Description | Documentation Link |
|---|
| POST | /utils/sort/:collection | Sort/reorder items in a collection | Utils Docs |
| Method | Endpoint | Description | Documentation Link |
|---|
| POST | /workflows/:id/execute | Execute workflow | Workflow Docs |
| POST | /workflows/:id/nodes/:nodeId/execute | Execute specific workflow node | Workflow Docs |
| GET | /workflows/:id/executions/:executionId | Get workflow execution details | Workflow Docs |
| GET | /workflows/:id/executions | Get workflow executions list | Workflow Docs |
| POST | /workflows/:id/executions/:executionId/cancel | Cancel workflow execution | Workflow Docs |
| POST | /workflows/:id/test | Test workflow | Workflow Docs |
| GET | /workflows/:id/executions/:executionId/logs | Get execution logs | Workflow Docs |
| GET | /workflows/:id/stats | Get workflow statistics | Workflow Docs |
| POST | /workflows/validate | Validate workflow definition | Workflow Docs |
| POST | /workflows/export | Export workflows | Workflow Docs |
| POST | /workflows/import | Import workflows from file | Workflow Docs |
| GET | /workflows/:id/export | Export single workflow | Workflow Docs |
| POST | /workflows/import/preview | Preview workflow import | Workflow Docs |
| Method | Endpoint | Description |
|---|
| GET | /openapi | OpenAPI specification document |
| GET | /docs | Swagger UI documentation |
All list endpoints (GET requests that return multiple items) support the following query parameters:
| Parameter | Description | Example |
|---|
fields | Select specific fields to return | ?fields=id,name,email |
filter | Filter results based on field values | ?filter={"status":"active"} |
sort | Sort results by field(s) | ?sort={"createdAt":"desc"} |
limit | Maximum number of items to return | ?limit=50 |
page | Page number for pagination | ?page=2 |
search | Full-text search term | ?search=conference |
searchFields | Fields to search in | ?searchFields=title,description |
aggregate | Perform aggregations on data | ?aggregate={"avg":{"field":"price"}} |
groupBy | Group results by field | ?groupBy=category |
For more details on query parameters, see the Item Query Reference Guide.
Most endpoints require authentication using one of these methods:
Add an Authorization header with a Bearer token:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR...
If cookie authentication is enabled, session cookies are automatically handled after login.
All API responses follow a consistent structure:
{
"data": {
// Response data here
}
}
For collection endpoints:
{
"data": [
// Array of items
],
"totalCount": 42
}
{
"error": {
"message": "Error message here",
"code": "ERROR_CODE",
"details": {}
}
}
| Code | Description |
|---|
| 200 | OK - The request succeeded |
| 201 | Created - A new resource was created |
| 400 | Bad Request - The request contains invalid parameters |
| 401 | Unauthorized - Authentication is required |
| 403 | Forbidden - The user doesn't have permission |
| 404 | Not Found - The requested resource doesn't exist |
| 409 | Conflict - The request conflicts with the current state |
| 422 | Unprocessable Entity - Validation failed |
| 500 | Internal Server Error - Something went wrong on the server |
API requests are subject to rate limiting to prevent abuse. The following headers are included in responses:
X-RateLimit-Limit: Maximum number of requests allowed in the time window
X-RateLimit-Remaining: Number of requests remaining in the current time window
X-RateLimit-Reset: Time when the rate limit resets (Unix timestamp)
If you exceed the rate limit, you'll receive a 429 Too Many Requests response.
← Back to Documentation Home