Tenant isolation
Integrations should never cross tenant boundaries unless a protected platform-owner workflow explicitly allows it.
Use this page as a developer-friendly API documentation hub for planned and supported integration patterns across tenant workspaces, leads, support chat, subscriptions, reports, and public website workflows.
FAREXA ERP integrations should preserve tenant isolation, use public identifiers where exposed to browsers, respect module entitlements, and return clear structured responses for connected applications.
Integrations should never cross tenant boundaries unless a protected platform-owner workflow explicitly allows it.
Protected APIs should use authenticated access tokens, role checks, permissions, and module entitlement checks.
Browser-facing links and public APIs should use PublicId, Guid, or secure tokens instead of internal numeric IDs.
ERP actions should return structured success, validation, forbidden, or upgrade-required responses suitable for toast and alert UI.
Exact endpoints may depend on deployment and enabled modules, but these categories define how integrations should be organized as the platform grows.
ERP actions should return structured messages that can appear as top-right toast notifications, alert-style validation, or upgrade-required states.
Collect qualified public inquiries and route them into Growth leads without requiring login.
Allow visitors to continue chat securely from the same browser session.
Connect tenant setup workflows while preserving tenant scope and permissions.
Integrate POS, catalog, inventory movement, and export-ready reporting workflows.
Support plan-aware module access and upgrade flows for tenant workspaces.
Expose controlled reporting outputs for dashboards, management packs, and external analytics.
Use clear JSON payloads, public IDs for browser-facing flows, and structured success or validation responses.
POST /api/public/leads
Content-Type: application/json
{
"source": "WebsiteContactForm",
"name": "Malik Farhan Ahmed",
"email": "farhan@email.com",
"phone": "+971501234567",
"message": "I want a retail POS demo."
}POST /api/v1/support/guest
Content-Type: application/json
{
"fullName": "Omar Ali",
"email": "omar@example.com",
"phoneNumber": "+971551112222",
"message": "Can you help with inventory setup?"
}GET /api/tenants/{tenantPublicId}/reports/sales?from=2026-05-01&to=2026-05-31
Authorization: Bearer {access_token}Use this checklist to align technical integration work with tenant security, module access, operational support, and the ERP UI response patterns used across FAREXA.
Use secure access tokens for protected APIs and avoid embedding long-lived credentials in browser code.
Every request that touches ERP data must resolve the intended tenant workspace before reading or writing records.
Respect role-based access and block actions the current user or integration identity is not allowed to perform.
Check subscription plan access before exposing POS, Inventory, CRM, HR, Fleet, Reports, or other module actions.
Expose PublicId, Guid, or secure tokens in public URLs and callbacks instead of internal numeric IDs.
Return structured field-level errors that can appear beside inputs and in alert-style UI.
Protect public endpoints such as leads and support chat from repeated IP, email, or token abuse.
Record meaningful create, update, export, approval, and integration events for operational visibility.
Design outbound integrations to handle duplicate callbacks, timeouts, and safe retries without double-posting business records.
Return clear success, warning, failure, and upgrade-required messages for top-right toast and breadcrumb/alert UI.
Developer work should move through a predictable flow: define the business event, confirm tenant and permission scope, test payloads, validate error handling, and document support ownership.
Document the source system, target module, tenant scope, business event, payload fields, and expected user outcome.
Choose authentication, permission checks, module entitlement behavior, and public identifier strategy.
Test required fields, formats, limits, duplicate handling, and clear validation messages.
Run sandbox or staging flows for success, failure, retry, upgrade-required, and unauthorized cases.
Confirm logs, audit trail, support ownership, notification behavior, and escalation route before production use.
Share the system, data flow, authentication model, and expected ERP modules so we can guide the right approach.