Simplest1 Platform API

v1.0.0

Accounts

Account and owner management

GET/api/v1/accounts/{id}Get account details Auth
data {id: string, plan: string, billing_cycle: string, created_at: string, updated_at: string}
GET/api/v1/accounts/{id}/ownersList account owners Auth
data list of {email: string, name: string, added_by: string, added_at: string}
POST/api/v1/accounts/{id}/ownersAdd an account owner Auth
body {email: string, name: string, added_by: string}
DELETE/api/v1/accounts/{id}/owners/{email}Remove an account owner Auth

Authentication

Magic link authentication and session management

POST/api/v1/auth/magic-linkRequest a magic link
body {email: string (required), tenant_id: string (required)}
data {token: string}
POST/api/v1/auth/verifyVerify a magic link token
body {token: string (required)}
data {email: string, tenant_id: string}
GET/api/v1/auth/meGet current user Auth
data {id: string, email: string, name: string, created_at: string}

Domains

Custom domain management and verification

GET/api/v1/domainsList domains Auth
data list of {id: string, tenant_id: string, domain: string, status: string, ssl_status: string, verified: boolean, created_at: string, updated_at: string}
POST/api/v1/domainsAdd a custom domain Auth
body {domain: string (required)}
data {id: string, tenant_id: string, domain: string, status: string, ssl_status: string, verified: boolean, created_at: string, updated_at: string}
GET/api/v1/domains/{id}Get domain details Auth
data {id: string, tenant_id: string, domain: string, status: string, ssl_status: string, verified: boolean, created_at: string, updated_at: string}
POST/api/v1/domains/{id}/verifyVerify domain DNS Auth
data {domain: string, status: string, ssl_status: string, verified: boolean, dns_target: string, instructions: string, errors: []string}
DELETE/api/v1/domains/{id}Remove a domain Auth

Signup

Create an app for someone via API; they receive a one-time code by email, the client hands it back and receives an API key

POST/api/v1/signupCreate a pending app and email the owner a code
body {app: string (required), subdomain: string (required), name: string (required), email: string (required)}
data {tenant_id: string, subdomain: string, status: string, code_expires_at: string (date-time), next: string}
GET/api/v1/signup/{id}Signup status: pending | active | expired
data {status: string, tenant_id: string}
POST/api/v1/signup/{id}/verifySubmit the code; activates the app and returns an API key
body {code: string (required)}
data {tenant_id: string, status: string, site_url: string, admin_url: string, api_key: string}
POST/api/v1/signup/{id}/resendSend a fresh code
data {resent: boolean, status: string}

Tenants

Tenant lifecycle management

POST/api/v1/tenantsCreate a tenant Auth
body {subdomain: string (required), app_type: string (required), plan: string, owner_email: string (required), owner_name: string}
data {id: string, account_id: string, subdomain: string, app_type: string, plan: string, status: string, created_at: string, updated_at: string}
GET/api/v1/tenantsList tenants Auth
data list of {id: string, account_id: string, subdomain: string, app_type: string, plan: string, status: string, created_at: string, updated_at: string}
GET/api/v1/tenants/{id}Get tenant details Auth
data {id: string, account_id: string, subdomain: string, app_type: string, plan: string, status: string, created_at: string, updated_at: string}
POST/api/v1/tenants/{id}/terminateTerminate a tenant Auth
body {terminated_by: string}