BaasixBaasix

API Routes Reference

← Back to Documentation Home

This document provides a comprehensive reference of all available API routes in BAASIX.

Authentication Routes

MethodEndpointDescriptionDocumentation Link
POST/auth/registerRegister a new userAuth Docs
POST/auth/loginAuthenticate a user and receive a tokenAuth Docs
GET/auth/meGet current authenticated userAuth Docs
GET/auth/logoutLog out the current userAuth Docs
GET/auth/checkCheck if JWT token is validAuth Docs
POST/auth/magiclinkRequest a magic link for passwordless authAuth Docs
GET/auth/magiclink/:tokenValidate and use a magic link tokenAuth Docs
GET/auth/tenantsGet list of available tenants (multi-tenant)Auth Docs
POST/auth/switch-tenantSwitch to a different tenantAuth Docs
POST/auth/inviteSend invitation to join tenantAuth Docs
GET/auth/verify-invite/:tokenVerify invitation validityAuth Docs
POST/auth/accept-inviteAccept invitation for existing usersAuth Docs

Notification Routes

MethodEndpointDescriptionDocumentation Link
GET/notificationsGet user notifications with filteringNotification Docs
GET/notifications/unread/countGet count of unread notificationsNotification Docs
POST/notifications/mark-seenMark notifications as seenNotification Docs
DELETE/notificationsDelete notifications for userNotification Docs
POST/notifications/sendSend notifications (admin only)Notification Docs
POST/notifications/cleanupClean up old notifications (admin only)Notification Docs

Settings Routes

MethodEndpointDescriptionDocumentation Link
GET/Get project information (public)Settings Docs
GET/settingsGet application settings (public)Settings Docs
GET/settings/by-app-urlGet settings by app URL (public)Settings Docs
PATCH/settingsUpdate application settings (admin)Settings Docs
GET/settings/brandingGet email branding for tenantSettings Docs
POST/settings/test-emailTest email configuration (admin)Settings Docs
POST/settings/reloadReload settings cache (admin)Settings Docs
DELETE/settings/tenantDelete tenant settings (admin)Settings Docs

Item Routes

MethodEndpointDescriptionDocumentation Link
GET/items/:collectionList items from a collectionItem Docs
GET/items/:collection/:idGet a single itemItem Docs
POST/items/:collectionCreate a new itemItem Docs
PATCH/items/:collection/:idUpdate an existing itemItem Docs
DELETE/items/:collection/:idDelete an itemItem Docs
POST/items/:collection/bulkCreate multiple itemsItem Docs
PATCH/items/:collection/bulkUpdate multiple itemsItem Docs
DELETE/items/:collection/bulkDelete multiple itemsItem Docs
POST/items/:collection/import-csvImport items from CSV fileItem Docs
POST/items/:collection/import-jsonImport items from JSON fileItem Docs

Reports Routes

MethodEndpointDescriptionDocumentation Link
GET/reports/statsGet statistics (GET with query params)Reports Docs
POST/reports/statsGet statistics (POST with body)Reports Docs
GET/reports/:collectionGenerate report (GET with query params)Reports Docs
POST/reports/:collectionGenerate report (POST with body)Reports Docs

File Routes

MethodEndpointDescriptionDocumentation Link
GET/filesList filesFile Docs
GET/files/:idGet file detailsFile Docs
POST/filesUpload a fileFile Docs
PATCH/files/:idUpdate file detailsFile Docs
DELETE/files/:idDelete a fileFile Docs
POST/files/upload-from-urlImport a file from URLFile Docs
GET/assets/:idGet a processed version of a fileFile Docs

Schema Routes

MethodEndpointDescriptionDocumentation Link
GET/schemasList all schemasSchema Docs
GET/schemas/:collectionGet a specific schemaSchema Docs
POST/schemasCreate a new schema (admin)Schema Docs
PATCH/schemas/:collectionUpdate an existing schema (admin)Schema Docs
DELETE/schemas/:collectionDelete a schema (admin)Schema Docs
POST/schemas/:collection/indexesCreate index (admin)Schema Docs
DELETE/schemas/:collection/indexes/:indexNameDelete index (admin)Schema Docs
POST/schemas/:sourceCollection/relationshipsCreate relationship (admin)Schema Docs
PATCH/schemas/:sourceCollection/relationships/:fieldUpdate relationship (admin)Schema Docs
DELETE/schemas/:sourceCollection/relationships/:fieldDelete relationship (admin)Schema Docs
GET/schemas-exportExport all schemas (admin)Schema Docs
POST/schemas-exportExport schemas with options (admin)Schema Docs
POST/schemas-importImport schemas (admin)Schema Docs
POST/permissions-exportExport all permissions (admin)Permission Docs
POST/permissions-importImport permissions (admin)Permission Docs

Permission Routes

MethodEndpointDescriptionDocumentation Link
GET/permissionsGet all permissionsPermission Docs
GET/permissions/:idGet single permissionPermission Docs
POST/permissionsCreate a new permission (admin)Permission Docs
PATCH/permissions/:idUpdate a permission (admin)Permission Docs
DELETE/permissions/:idDelete a permission (admin)Permission Docs
POST/permissions/reloadReload permission cache (admin)Permission Docs

Utils Routes

MethodEndpointDescriptionDocumentation Link
POST/utils/sort/:collectionSort/reorder items in a collectionUtils Docs

Workflow Routes

MethodEndpointDescriptionDocumentation Link
POST/workflows/:id/executeExecute workflowWorkflow Docs
POST/workflows/:id/nodes/:nodeId/executeExecute specific workflow nodeWorkflow Docs
GET/workflows/:id/executions/:executionIdGet workflow execution detailsWorkflow Docs
GET/workflows/:id/executionsGet workflow executions listWorkflow Docs
POST/workflows/:id/executions/:executionId/cancelCancel workflow executionWorkflow Docs
POST/workflows/:id/testTest workflowWorkflow Docs
GET/workflows/:id/executions/:executionId/logsGet execution logsWorkflow Docs
GET/workflows/:id/statsGet workflow statisticsWorkflow Docs
POST/workflows/validateValidate workflow definitionWorkflow Docs
POST/workflows/exportExport workflowsWorkflow Docs
POST/workflows/importImport workflows from fileWorkflow Docs
GET/workflows/:id/exportExport single workflowWorkflow Docs
POST/workflows/import/previewPreview workflow importWorkflow Docs

Documentation Routes

MethodEndpointDescription
GET/openapiOpenAPI specification document
GET/docsSwagger UI documentation

Query Parameter Reference

All list endpoints (GET requests that return multiple items) support the following query parameters:

ParameterDescriptionExample
fieldsSelect specific fields to return?fields=id,name,email
filterFilter results based on field values?filter={"status":"active"}
sortSort results by field(s)?sort={"createdAt":"desc"}
limitMaximum number of items to return?limit=50
pagePage number for pagination?page=2
searchFull-text search term?search=conference
searchFieldsFields to search in?searchFields=title,description
aggregatePerform aggregations on data?aggregate={"avg":{"field":"price"}}
groupByGroup results by field?groupBy=category

For more details on query parameters, see the Item Query Reference Guide.

Authentication

Most endpoints require authentication using one of these methods:

JWT Authentication

Add an Authorization header with a Bearer token:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR...

If cookie authentication is enabled, session cookies are automatically handled after login.

Response Format

All API responses follow a consistent structure:

Success Response

{
  "data": {
    // Response data here
  }
}

For collection endpoints:

{
  "data": [
    // Array of items
  ],
  "totalCount": 42
}

Error Response

{
  "error": {
    "message": "Error message here",
    "code": "ERROR_CODE",
    "details": {}
  }
}

HTTP Status Codes

CodeDescription
200OK - The request succeeded
201Created - A new resource was created
400Bad Request - The request contains invalid parameters
401Unauthorized - Authentication is required
403Forbidden - The user doesn't have permission
404Not Found - The requested resource doesn't exist
409Conflict - The request conflicts with the current state
422Unprocessable Entity - Validation failed
500Internal Server Error - Something went wrong on the server

Rate Limiting

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

On this page