Technical reference for backend endpoints under /api.
- Base path:
/api - Authentication:
Authorization: Bearer <token> - Public endpoints:
/api/health,/api/auth/*(except protected auth operations) - Most resource endpoints require authentication middleware
Most resource routes return:
{
"success": true,
"data": {}
}Error shape (common):
{
"success": false,
"error": "message"
}Validation failures can also include:
details[]withfieldandmessage
Note: auth routes have some responses without success wrapper (for example direct { user, token } payloads).
Base: /api/auth
POST /registerPOST /loginGET /me(auth required)POST /change-password(auth required)POST /verify
Security notes:
- auth routes are rate-limited
- token verification can return
valid: falseresponses
GET /api/health
Returns service heartbeat and timestamp.
Base: /api/epackages
GET /GET /coreGET /:idGET /uri/:nsURIPOST /PUT /:idDELETE /:id
Base: /api/metamodels
GET /GET /:idPOST /PUT /:idDELETE /:idPOST /:id/classesPUT /:id/classes/:classIdDELETE /:id/classes/:classIdPOST /:id/constraintsPOST /:id/classes/:classId/constraints
Base: /api/models
GET /(optional query:metamodelId)GET /:idPOST /PUT /:idDELETE /:idPOST /:id/elementsPUT /:id/elements/:elementIdDELETE /:id/elements/:elementIdPOST /:id/connectionsDELETE /:id/connections/:connectionId
Base: /api/diagrams
GET /(optional query:modelId)GET /:idPOST /PUT /:idDELETE /:idPOST /:id/elementsPUT /:id/elements/:elementIdDELETE /:id/elements/:elementIdPUT /:id/grid-settings
Base: /api/transformations
Rule CRUD:
GET /rulesGET /rules/:idPOST /rulesPUT /rules/:idDELETE /rules/:id
Compatibility routes:
GET /patterns(returns empty list)POST /patterns(no-op passthrough)PUT /patterns/:id(no-op passthrough)DELETE /patterns/:id(no-op)GET /executions(returns empty list)
Base: /api/codegen
GET /projects(optional query:metamodelId)GET /projects/:idPOST /projectsPUT /projects/:idDELETE /projects/:idPOST /projects/:id/templatesPUT /projects/:id/templates/:templateIdDELETE /projects/:id/templates/:templateId
Base: /api/tests
GET /GET /cases(alias)POST /casesPUT /cases/:idGET /:idPOST /POST /batchPUT /:idPUT /:id/statusPUT /:id/valuesDELETE /:idDELETE /model/:modelIdPOST /model/:modelId/reset
Base: /api/files
GET /GET /statsGET /:idGET /:id/dataGET /:id/downloadPOST /upload(multipart)POST /upload-base64PUT /:id/metadataDELETE /:idPOST /cleanup
Base: /api/share
POST /:resourceType/:resourceId/shareDELETE /:resourceType/:resourceId/share/:userIdGET /:resourceType/:resourceId/sharesGET /shared-with-meGET /:resourceType/:resourceId/access
Valid resource types:
METAMODELMODELDIAGRAMTRANSFORMATION_RULECODEGEN_PROJECTTEST_CASE
Valid share permissions:
VIEWEREDITOR
Base: /api/admin (ADMIN role required)
User management:
GET /usersGET /users/:userIdPATCH /users/:userId/rolePOST /users/:userId/reset-passwordDELETE /users/:userIdPOST /users/bulk/rolePOST /users/bulk/delete
Resource and system:
GET /statsGET /resourcesGET /resources/:type/:resourceIdDELETE /resources/:type/:resourceIdPOST /resources/:type/:resourceId/transferPOST /resources/:type/:resourceId/unshareGET /health
- Auth middleware protects all non-public route groups.
- Resource operations are further constrained by role and ownership/share checks.
- Sharing creation is restricted to allowed roles and owner verification.