API Controllers Reference
The Api/ directory contains RESTful API endpoint handlers that follow standard REST conventions. All API controllers require authentication via JWT token (except for public endpoints).
API Controller Categories
Project Management
ProjectController
File: app/Http/Controllers/Api/ProjectController.php
Manages project CRUD operations and project-related data.
Methods:
-
index(Request $request): JsonResponse- List projects visible to user- Supports
publicparameter to show public project gallery - Returns project counts and subscription information
- Applies soft-lock status from subscriptions
- Supports
-
show($id): JsonResponse- Get single project with full details- Includes teams, schemas, templates, forms, reports, kanban boards
- Checks user has access (owner or team member)
-
store(Request $request): JsonResponse- Create new project- Validates project name and description
- Creates subscription record with default credits
- Returns newly created project
-
update($id, Request $request): JsonResponse- Update project- Validates ownership or team membership
- Updates name, description, settings
- Emits ProjectUpdated event
-
destroy($id): JsonResponse- Delete project- Validates ownership
- Soft-deletes project record
-
lock($id): JsonResponse- Lock project (prevent modifications)- Emits ProjectLocked event
-
unlock($id): JsonResponse- Unlock project- Emits ProjectUnlocked event
Example:
// Create new project
POST /api/projects
{
"name": "Mobile App Backend",
"description": "REST API for mobile application",
"is_public": false
}
// Response
{
"message": "Project created successfully",
"project": {
"id": 1,
"name": "Mobile App Backend",
"owner_id": 123,
"subscription": { ... }
}
}
SchemaController (Api)
File: app/Http/Controllers/Api/SchemaController.php
Database schema management including parsing, storage, and retrieval.
Methods:
index($projectId)- List all schemas in a projectshow($projectId, $schemaId)- Get schema with all tables and fieldsstore($projectId, Request $request)- Create new schema from SQLupdate($projectId, $schemaId, Request $request)- Update schemadestroy($projectId, $schemaId)- Delete schemaparse(Request $request)- Parse SQL and return table structureexport($projectId, $schemaId)- Export schema as SQL
Key Features:
- SQL parser support for MySQL, PostgreSQL, SQLite, MS-SQL, Firebird
- Schema versioning for tracking changes
- Field and constraint storage with relationships
SchemaDiffController
File: app/Http/Controllers/Api/SchemaDiffController.php
Compares schemas to detect changes and migrations.
Methods:
compare($schemaId1, $schemaId2)- Show differences between schemasmigration($schemaId1, $schemaId2)- Generate migration SQL
Template Management
TemplateController (Api)
File: app/Http/Controllers/Api/TemplateController.php
Code template CRUD and management.
Methods:
index($projectId)- List project templatesshow($projectId, $templateId)- Get template detailsstore($projectId, Request $request)- Create new templateupdate($projectId, $templateId, Request $request)- Update templatedestroy($projectId, $templateId)- Delete templateduplicate($projectId, $templateId)- Clone templategetFileStructure($projectId, $templateId)- Get generated file structure
Template Features:
- Placeholder system:
{:projectname:},{:item.name:} - Loop constructs:
{:for items:}{:item.name:}{:endfor:} - Conditionals:
{:if condition:}...{:else:}...{:endif:} - Code blocks:
{:code:}...{:codeend:} - Include system:
{:include: path/file.ext:}
UltimateTemplateController
File: app/Http/Controllers/Api/UltimateTemplateController.php
Advanced template functionality and execution.
Methods:
execute(Request $request)- Execute template with context datapreview(Request $request)- Preview template output without savingcompile(Request $request)- Compile template to check for errors
TemplateVariableController
File: app/Http/Controllers/Api/TemplateVariableController.php
Manages template input variables and placeholders.
Methods:
index($templateId)- List template variablesstore($templateId, Request $request)- Add new variableupdate($templateId, $variableId, Request $request)- Update variabledestroy($templateId, $variableId)- Remove variable
TemplateMediaController
File: app/Http/Controllers/Api/TemplateMediaController.php
Manages media files (images, documents) within templates.
Methods:
serve($mediaId)- Serve media file (public endpoint)store($templateId, Request $request)- Upload mediadestroy($mediaId)- Delete media
Form & Report Management
FormDesignerController
File: app/Http/Controllers/Api/FormDesignerController.php
Form creation and configuration.
Methods:
index($projectId)- List formsshow($projectId, $formId)- Get form with fieldsstore($projectId, Request $request)- Create formupdate($projectId, $formId, Request $request)- Update formdestroy($projectId, $formId)- Delete formaddField($formId, Request $request)- Add form fieldremoveField($fieldId)- Remove field
FormLayoutController
File: app/Http/Controllers/Api/FormLayoutController.php
Form layout and positioning configuration.
ReportLayoutController
File: app/Http/Controllers/Api/ReportLayoutController.php
Report design and layout management.
ReportPatternController
File: app/Http/Controllers/Api/ReportPatternController.php
Predefined report patterns and templates.
ReportImageController
File: app/Http/Controllers/Api/ReportImageController.php
Report image generation and handling.
Kanban Management
KanbanController
File: app/Http/Controllers/Api/KanbanController.php
Kanban board operations for task management.
Methods:
index($projectId)- List kanban boardsshow($boardId)- Get board with columns and cardsstore($projectId, Request $request)- Create boardupdate($boardId, Request $request)- Update boarddestroy($boardId)- Delete boardmoveCard($cardId, Request $request)- Move card between columnsupdateCard($cardId, Request $request)- Update card details
Code & Deployment
CodeAdjustmentController
File: app/Http/Controllers/Api/CodeAdjustmentController.php
Post-generation code modifications and adjustments.
Methods:
index($projectId)- List code adjustmentsstore($projectId, Request $request)- Create adjustmentapply($adjustmentId)- Apply adjustment to generated code
DeploymentLogController
File: app/Http/Controllers/Api/DeploymentLogController.php
Deployment history and logs.
Methods:
index($projectId)- List deployment attemptsshow($logId)- Get deployment log detailsretry($logId)- Retry failed deployment
FtpSshUploadController
File: app/Http/Controllers/Api/FtpSshUploadController.php
FTP/SSH deployment functionality.
Methods:
upload($projectId, Request $request)- Deploy via FTP/SSHtestConnection(Request $request)- Test FTP/SSH credentials
GeneratedProjectUploadController
File: app/Http/Controllers/Api/GeneratedProjectUploadController.php
Handles generated project file uploads.
GitProviderController
File: app/Http/Controllers/Api/GitProviderController.php
GitHub/GitLab integration for code deployment.
Methods:
authorize(Request $request)- OAuth flowcommit($projectId, Request $request)- Commit to repositorypush($projectId, Request $request)- Push changes
Messaging & Collaboration
MessageController
File: app/Http/Controllers/Api/MessageController.php
Team messaging and discussion threads.
Methods:
index($threadId)- Get messages in threadstore($threadId, Request $request)- Create messageupdate($messageId, Request $request)- Edit messagedestroy($messageId)- Delete messageaddAttachment($messageId, Request $request)- Attach filedownloadSigned($attachmentId)- Download attachment via signed URL
Translation & Localization
LanguageController
File: app/Http/Controllers/Api/LanguageController.php
Multi-language support and management.
Methods:
index()- List available languagesdetect(Request $request)- Detect user language
SchemaTranslationController
File: app/Http/Controllers/Api/SchemaTranslationController.php
Schema element translations (table names, column names).
Methods:
index($schemaId)- Get schema translationsstore($schemaId, Request $request)- Add translationupdate($translationId, Request $request)- Update translation
TranslationExportController
File: app/Http/Controllers/Api/TranslationExportController.php
Export translations in various formats.
Methods:
export($projectId)- Export as JSON, CSV, etc.
AutoTranslateController
File: app/Http/Controllers/Api/AutoTranslateController.php
Automatic translation using external services.
Methods:
translate($projectId, Request $request)- Auto-translate content
Billing & Subscriptions
SubscriptionController
File: app/Http/Controllers/Api/SubscriptionController.php
User subscription management.
Methods:
index()- Get user's subscriptionscreate(Request $request)- Create new subscriptioncancel($subscriptionId)- Cancel subscriptionrenew($subscriptionId)- Renew subscription
CliSubscriptionController
File: app/Http/Controllers/Api/CliSubscriptionController.php
CLI tool subscription management.
CreditPackageController
File: app/Http/Controllers/Api/CreditPackageController.php
Purchase credit packages for code generation.
Methods:
index()- List available packagespurchase($packageId)- Purchase credits
StripeController
File: app/Http/Controllers/Api/StripeController.php
Stripe payment processing.
Methods:
handleWebhook(Request $request)- Process Stripe webhookscreatePaymentIntent(Request $request)- Initiate payment
PayPalController
File: app/Http/Controllers/Api/PayPalController.php
PayPal payment integration.
Methods:
handleWebhook(Request $request)- Process PayPal webhookscreateOrder(Request $request)- Create PayPal order
PatronSubscriptionController
File: app/Http/Controllers/Api/PatronSubscriptionController.php
Patron/sponsor subscription tier management.
PayoutAdminController
File: app/Http/Controllers/Api/PayoutAdminController.php
Administrative payout management for sellers.
Settings & Configuration
SettingsController
File: app/Http/Controllers/Api/SettingsController.php
Application and user settings.
Methods:
index()- Get all user settingsupdate(Request $request)- Update settingsgetGlobalSettings()- Get system-wide settings
CacheController
File: app/Http/Controllers/Api/CacheController.php
Cache management and clearing.
Methods:
clear(Request $request)- Clear specified cache
PushSubscriptionController
File: app/Http/Controllers/Api/PushSubscriptionController.php
Web push notification subscriptions.
Methods:
store(Request $request)- Subscribe to notificationsdestroy($subscriptionId)- Unsubscribe
Admin & Monitoring
PerformanceMetricsController
File: app/Http/Controllers/Api/PerformanceMetricsController.php
Performance tracking and analytics.
Methods:
index()- Get performance metricsrecord(Request $request)- Record metrics
VisitorController
File: app/Http/Controllers/Api/VisitorController.php
Visitor tracking and analytics.
TicketController
File: app/Http/Controllers/Api/TicketController.php
Support ticket management.
ArchiveController
File: app/Http/Controllers/Api/ArchiveController.php
Project and resource archival.
Methods:
archive($projectId)- Archive projectunarchive($projectId)- Restore archived project
Project & Template Imports/Exports
ProjectImportController
File: app/Http/Controllers/Api/ProjectImportController.php
Import projects from files or templates.
Methods:
import(Request $request)- Import project filevalidate(Request $request)- Validate import file
ProjectExportController
File: app/Http/Controllers/Api/ProjectExportController.php
Export projects to shareable formats.
Methods:
export($projectId)- Generate export file
TemplateImportController
File: app/Http/Controllers/Api/TemplateImportController.php
Import template libraries.
TemplateStoreController
File: app/Http/Controllers/Api/TemplateStoreController.php
Template marketplace and public templates.
Methods:
index()- Browse templatesshow($templateId)- View templateinstall($templateId)- Install template to project
TemplateReviewController
File: app/Http/Controllers/Api/TemplateReviewController.php
User reviews and ratings for templates.
UltimateTemplateController
File: app/Http/Controllers/Api/UltimateTemplateController.php
Premium template functionality.
Project Generation & Tree
ProjectGenerationTreeController
File: app/Http/Controllers/Api/ProjectGenerationTreeController.php
Displays file tree of generated project output.
Methods:
show($projectId)- Get file tree structure
SvcController
File: app/Http/Controllers/Api/SvcController.php
Service controller for utility operations.
Team Management
TeamRoleController
File: app/Http/Controllers/Api/TeamRoleController.php
Team member roles and permissions.
Methods:
index($teamId)- List team rolesupdate($roleId, Request $request)- Update role permissions
Project Templates & Variables
ProjectTemplateVariableValueController
File: app/Http/Controllers/Api/ProjectTemplateVariableValueController.php
Template variable values per project.
Methods:
index($projectId)- Get variable valuesupdate($projectId, $variableId, Request $request)- Set value
Common API Response Patterns
Success Response
{
"message": "Operation successful",
"data": { /* resource data */ }
}
Error Response
{
"message": "Error description",
"errors": { /* field errors */ }
}
Paginated Response
{
"data": [ /* resources */ ],
"links": {
"first": "...",
"last": "...",
"next": "...",
"prev": "..."
},
"meta": {
"current_page": 1,
"total": 100,
"per_page": 15
}
}
Authentication & Authorization
All protected API endpoints require:
Authorization: Bearer {token}header- Valid JWT token from login
- User must have access to resource (owner or team member)
Next Steps
- Read Routes Reference for complete endpoint listing
- Read Services for business logic implementation
- Read Models for data relationships