Tenant API Documentation

POST /api/create-tenant

Creates a new tenant, provisions a unique database, and generates admin credentials.

Parameters

  • serviceId (required) - Unique identifier for the tenant.
  • domain (required) - Tenant's primary domain (must be unique).
  • planId (optional) - Hosting plan ID.
  • email (optional) - Tenant admin email address.
  • name (optional) - Tenant name.
  • modules (optional) - Comma-separated list of modules (e.g. news,epaper).
  • epaper_frequency (optional) - Daily, Weekly, etc.

Example Response

{
    "success": true,
    "tenant_id": "abc123",
    "domain": "example.com",
    "email": "[email protected]",
    "name": "Example Tenant",
    "planId": "basic",
    "modules": [
        "news",
        "epaper"
    ],
    "epaper_frequency": "weekly",
    "adminUrl": "https:\/\/example.com\/admin\/login",
    "username": "[email protected]",
    "password": "********"
}

POST /api/suspend-tenant

Temporarily disables access to a tenant.

Parameters

  • serviceId (required) - Tenant ID to suspend.

Example Response

{ "success": true, "message": "Tenant suspended successfully!" }

POST /api/unsuspend-tenant

Reactivates a suspended tenant.

Parameters

  • serviceId (required)

Example Response

{ "success": true, "message": "Tenant unsuspended successfully!" }

GET /api/impersonate-tenant

Returns a temporary admin login token to impersonate tenant.

Parameters

  • serviceId (required)

Example Response

{ "success": true, "redirectTo": "https://example.com/impersonate/xxx" }

POST /api/update-domain

Changes the domain name associated with a tenant.

Parameters

  • serviceId (required)
  • domain (required) - New unique domain.

Example Response

{ "success": true, "message": "Domain updated successfully!" }

POST /api/update-tenant

Updates details like name, email, plan, or modules.

Parameters

  • serviceId (required)
  • name (optional)
  • email (optional)
  • planId (optional)
  • modules (optional)
  • epaper_frequency (optional)

Example Response

{ "success": true, "message": "Tenant updated successfully!" }

POST /api/cancel-tenant

Deletes all domain records for a tenant, preserving the tenant record.

Parameters

  • serviceId (required)

Example Response

{ "success": true, "message": "Domain(s) deleted successfully!" }

POST /api/delete-tenant

Permanently deletes a tenant and associated records.

Parameters

  • serviceId (required)

Example Response

{ "success": true, "message": "Tenant deleted successfully!" }

POST /api/getTenant

Returns a specific tenant's full information.

Parameters

  • serviceId (required)

Example Response

{ "success": true, "tenant": {...} }

POST /api/getTenantList

Returns a list of all tenants in the system.

Example Response

{ "success": true, "tenants": [ {...}, {...} ] }