Atomix Platform API
Backend API contracts for Atomix multi-tenant DXP platform.
Base URL
https://api.atomix.io/v1
All endpoints require authentication unless marked as Public.
Tenant Management
GET
/tenants
Super Admin
List all tenants with pagination and filtering.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page |
integer | No | Page number (default: 1) |
limit |
integer | No | Items per page (default: 20, max: 100) |
status |
string | No | Filter by status: active, trial, suspended, cancelled |
plan |
string | No | Filter by plan: starter, professional, enterprise |
Response
{
"data": [
{
"id": "tn_abc123",
"name": "Tersane Nick",
"subdomain": "tersane-nick",
"status": "active",
"plan": "enterprise",
"atomCount": 8,
"userCount": 24,
"createdAt": "2025-06-15T10:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 127,
"totalPages": 7
}
}
POST
/tenants
Super Admin
Create a new tenant.
Request Body
{
"name": "Acme Corporation",
"subdomain": "acme",
"planId": "plan_professional",
"contact": {
"name": "John Doe",
"email": "john@acme.com",
"phone": "+905321234567"
},
"initialAtoms": ["atom_wireframe", "atom_task"],
"settings": {
"industry": "technology",
"companySize": "51-200"
}
}
Response (201 Created)
{
"id": "tn_xyz789",
"name": "Acme Corporation",
"subdomain": "acme",
"status": "trial",
"plan": "professional",
"adminUser": {
"id": "usr_admin123",
"email": "john@acme.com"
},
"createdAt": "2026-01-16T12:00:00Z"
}
Atom Management
GET
/atoms
Auth Required
List all available atoms in the marketplace.
Response
{
"data": [
{
"id": "atom_wireframe",
"name": "Wireframe Atom",
"version": "2.1.0",
"category": "core",
"description": "Visual wireframe documentation system",
"features": ["pin-auth", "comments", "versioning"],
"dependencies": ["core_auth"],
"pricing": {
"type": "included",
"atomSlots": 1
}
},
{
"id": "atom_task",
"name": "Task Management Atom",
"version": "1.8.0",
"category": "productivity",
"dependencies": ["atom_notification"]
}
]
}
POST
/tenants/{tenantId}/atoms
Tenant Admin
Install an atom for a tenant. Dependencies are auto-resolved.
Request Body
{
"atomId": "atom_crm",
"config": {
"enablePipeline": true,
"defaultCurrency": "TRY"
}
}
Response (201 Created)
{
"installationId": "inst_abc123",
"atomId": "atom_crm",
"status": "active",
"version": "1.5.0",
"installedDependencies": [
{ "atomId": "atom_notification", "version": "1.3.0" }
],
"installedAt": "2026-01-16T12:00:00Z"
}
Identity & Access Management
POST
/auth/otp/send
Public
Send OTP code to phone number (K-001).
Request Body
{
"phone": "+905321234567",
"tenantId": "tn_abc123" // optional, for tenant-specific login
}
Response
{
"requestId": "otp_xyz789",
"expiresIn": 120,
"attemptsRemaining": 3,
"maskedPhone": "+90 532 *** ** 67"
}
POST
/auth/otp/verify
Public
Verify OTP and receive access token.
Request Body
{
"requestId": "otp_xyz789",
"code": "482951"
}
Response
{
"accessToken": "eyJhbGciOiJSUzI1NiIs...",
"refreshToken": "rt_abc123xyz...",
"expiresIn": 3600,
"user": {
"id": "usr_abc123",
"name": "Atil Enileri",
"role": "tenant_admin",
"tenantId": "tn_abc123",
"permissions": ["wireframe:view", "wireframe:comment", "task:*"]
}
}
PATCH
/users/{userId}/permissions
Admin
Update user permissions (K-002 granular permissions).
Request Body
{
"permissions": [
"wireframe:view",
"wireframe:comment",
"task:view",
"task:create",
"task:edit_own"
]
}
Available Permissions (K-002)
| Permission | Description |
|---|---|
wireframe:view |
View wireframes |
wireframe:comment |
Add comments to wireframes |
wireframe:edit |
Edit wireframes |
task:* |
Full task management access |
crm:view |
View CRM contacts and deals |
Billing
GET
/billing/plans
Public
List all available subscription plans.
Response
{
"data": [
{
"id": "plan_starter",
"name": "Starter",
"price": 49,
"currency": "USD",
"interval": "month",
"features": {
"maxAtoms": 5,
"maxUsers": 10,
"storage": "10GB",
"apiAccess": true,
"customDomain": false
}
},
{
"id": "plan_professional",
"name": "Professional",
"price": 149,
"currency": "USD",
"interval": "month",
"features": {
"maxAtoms": 15,
"maxUsers": 50,
"storage": "100GB",
"apiAccess": true,
"customDomain": true
}
}
]
}
Atomix Platform API Contracts v1.0.0