Build with Axlaas
Integrate your applications with the Axlaas platform using our comprehensive REST API. Scope-based auth, real-time webhooks, and 73+ endpoints across 15 modules.
$ curl https://api.axlaas.com/v1/health
{
"status": "operational",
"version": "1.0.0",
"region": "africa-south1",
"modules": 15,
"endpoints": 73,
"uptime": "99.99%"
}Architecture Overview
How every API request flows through the Axlaas gateway
Quick Start
Get up and running in under 5 minutes
Get your API key
Navigate to Settings → Developer API → API Keys and generate a key with scoped permissions.
Authenticate
Pass your key as a Bearer token in the Authorization header. Keys use ax_pk_ prefix.
Make requests
Call any endpoint with your org slug in the URL path. All responses use the standard JSON envelope.
curl -X GET "https://api.axlaas.com/v1/{org}/cx/tickets" \
-H "Authorization: Bearer ax_pk_YOUR_API_KEY" \
-H "Content-Type: application/json"API Reference
15 modules · 73+ endpoints
https://api.axlaas.com/v1/{org}Commerce
Products, orders, customers, inventory, storefront
CRM & Sales
Contacts, leads, opportunities, pipelines
Customer Experience
Tickets, chat, AI resolution, SLA, feedback
Finance
Invoices, payments, multi-currency
Supply Chain & Inventory
SKUs, stock, suppliers, purchase orders
Human Resources
Employees, attendance, leave, payroll metadata
Education & Training
Courses, enrollments, certifications, AI creator
Marketing
Campaigns, affiliates, email, SEO agent
Analytics & Insights
Event tracking, dashboards, reports, AI insights
Branding & Media
Brand kit, AI Design Studio, AxVideo
Legal & Contracts
Contracts, templates, e-signatures, compliance
Operations
Tasks, approvals, SOPs, booking system
Sites & Builders
Websites, stores, funnels, pages, AI architect
Webhooks
57 event types, HMAC-SHA256, auto-retry
Authentication
API keys, scopes, rotation, show-once security
Authentication
All API requests require authentication via Bearer token
API Key Authentication
RecommendedServer-to-server integrations. Keys are org-scoped with SHA-256 hashing and show-once security (like Stripe).
OAuth 2.0 (Coming Soon)
PlannedUser-context integrations for third-party apps. Authorization code flow with PKCE for web and mobile.
Available Scopes
| Module | Read Scope | Write Scope |
|---|---|---|
| Commerce (Products) | read:products | write:products |
| Commerce (Orders) | read:orders | write:orders |
| Commerce (Customers) | read:customers | write:customers |
| Commerce (Inventory) | read:inventory | write:inventory |
| CRM & Sales | read:crm | write:crm |
| Customer Experience | read:cx | write:cx |
| Finance | read:finance | write:finance |
| Supply Chain | read:supply_chain | write:supply_chain |
| Human Resources | read:hr | write:hr |
| Education & Training | read:lms | write:lms |
| Marketing | read:marketing | write:marketing |
| Analytics | read:analytics | write:analytics |
| Branding & Media | read:branding | write:branding |
| Legal & Contracts | read:legal | write:legal |
| Operations | read:operations | write:operations |
| Sites & Builders | read:sites | write:sites |
| Storefront | read:storefront | — |
| All (Wildcard) | read:all | write:all |
Error Handling
All errors follow a standard JSON envelope
Error Types
authentication_errorauthorization_errorrate_limit_errorvalidation_errornot_foundconflictinternal_errorError Response Format
{
"error": {
"type": "authorization_error",
"code": "scope_insufficient",
"message": "API key lacks 'write:orders' scope",
"status": 403,
"request_id": "req_Gh5i6j7k",
"doc_url": "https://docs.axlaas.com/errors#scope_insufficient"
}
}For 429 (rate limit) errors, read the Retry-After header and wait before retrying. For 500 errors, use exponential backoff with jitter (max 3 retries).
Rate Limits & Quotas
API requests are rate-limited per organization based on your plan
| Plan | Requests / Min | Burst (concurrent) | Daily Maximum | API Keys |
|---|---|---|---|---|
| Sandbox | 10 | 5 | 500 | 1 |
| Starter | 60 | 15 | 10,000 | 2 |
| Growth | 200 | 50 | 100,000 | 5 |
| Advanced | 500 | 100 | 500,000 | 15 |
| Custom / Enterprise | 2,000 | 500 | 10,000,000 | Unlimited |
X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. When exceeded, the API returns 429 Too Many Requests with a Retry-After header.Webhooks
57 real-time events across 13 categories · HMAC-SHA256 signed payloads · Auto-retry with exponential backoff
Event Catalog
HMAC-SHA256 Signature Verification
// Node.js / TypeScript
import crypto from 'crypto';
function verifyWebhook(
payload: string,
signature: string,
secret: string
): boolean {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}
// In your webhook handler:
app.post('/webhooks/axlaas', (req, res) => {
const sig = req.headers['x-axlaas-signature'];
const valid = verifyWebhook(
JSON.stringify(req.body),
sig,
process.env.WEBHOOK_SECRET
);
if (!valid) return res.status(401).send('Invalid');
// Process event...
res.status(200).send('OK');
});Pagination & Filtering
All list endpoints use cursor-based pagination for consistent performance
Cursor-Based Pagination
Use the cursor parameter from the previous response's next_cursor field to fetch the next page.
// First page
GET /v1/{org}/products?limit=25
// Next page
GET /v1/{org}/products?limit=25&cursor=prod_xyzResponse Envelope
Every list response includes a meta.pagination object with cursor info.
{
"success": true,
"data": { ... },
"meta": {
"request_id": "req_abc123",
"pagination": {
"count": 25,
"limit": 25,
"has_more": true,
"next_cursor": "prod_xyz"
}
}
}Security Model
Enterprise-grade security built into every layer
SHA-256 Key Hashing
API keys are hashed before storage. Even our database never holds your plaintext key.
Scope-Based Access
Every key is bound to explicit read/write scopes. Least-privilege by default.
Key Rotation
7-day grace period when rotating keys — zero-downtime migration for your integrations.
Rate Limiting
Multi-tier rate limits (per-minute + burst + daily) protect against abuse and runaway scripts.
HMAC Webhooks
Every webhook payload is signed with HMAC-SHA256. Verify signatures to prevent spoofing.
CORS Controls
Origin validation on all API responses. Configure allowed origins in your dashboard.
SDKs & Libraries
Official client libraries for your preferred language
JavaScript / TypeScript
betanpm install @axlaas/sdkPython
plannedpip install axlaasGo
plannedgo get github.com/axlaas/go-sdkPHP
plannedcomposer require axlaas/sdkIn the meantime:Use the code examples in the Quick Start section or each module's API reference page. Every endpoint includes copy-paste examples in cURL, JavaScript, Python, Go, and PHP.
Data Portability & Migration
Full data sovereignty — export, migrate, or sync your data anytime
Full Data Export
Download a complete snapshot of your organization data in JSON or CSV format. Includes all modules, users, and assets.
Webhook Forwarding
Forward all platform events to an external system in real-time. Maintain a mirror of your data outside Axlaas.
API Access / Sovereignty
Use the REST API to query and sync any data on-demand. Build custom ETL pipelines for your data warehouse.
Data Sync (Bi-directional)
Keep your Axlaas data in sync with external systems like Salesforce, HubSpot, or your custom CRM.
Ready to integrate?
Generate your first API key and start building with Axlaas. Full access to all 73+ endpoints.