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

← Back to Wireframes