Platform Management API
Manage authentication, users, billing and platform-wide settings
API Tokens
Create API Token
/services/platforms/v1/api-tokens/create
Auth
List API Tokens
/services/platforms/v1/api-tokens/list
Auth
Revoke API Token
/services/platforms/v1/api-tokens/revoke
Auth
Active Sessions
List Sessions This includes browser sessions, API tokens, etc
/services/platforms/v1/active-sessions/list
Auth
Revoke Session
/services/platforms/v1/active-sessions/revoke
Auth
Revoke All Sessions This will log out the user from all devices and revoke all API tokens
/services/platforms/v1/active-sessions/revoke-all
Auth
Audit Logs
List Audit Logs
/services/platforms/v1/audit-logs/list
Auth
Authentication
Login
/v1/login
Public
Authenticate Login
/v1/authenticate
Public
Create Account
/v1/create-account
Public
Verify Email OTP
/v1/verify-email-otp
Public
Rate limit: 5 attempts per email address and 10 attempts per IP address per 30 minutes.
Resend Email OTP
/v1/resend-email-otp
Public
Rate limit: 5 requests per 30 minutes.
Send Verification Email
/v1/send-verification-email
Public
Rate limit: 5 requests per 30 minutes.
Confirm Email
/v1/confirm-email
Public
Forgot Password
/v1/forgot-password
Public
Reset Password
/v1/reset-password
Public
Setup Password (admin-invited account first login)
/v1/setup-password
Public
Get Policy
/v1/get-policy
Public
Logout
/v1/logout
Auth
Send Verification Email
/services/platforms/v1/send-verification-email
Auth
Rate limit: 5 requests per 30 minutes.
Authentication (Two Factor)
Create Security Email Code
/services/platforms/v1/user/get-security-email-code
Auth
Validate Two Factor Auth
/services/platforms/v1/user/security-two-factor-validate-auth
Auth
Security Verification
/services/platforms/v1/user/security-verification
Auth
Verify Two Factor Code
/services/platforms/v1/user/verify-two-factor-code
Auth
Update Security Authenticator
/services/platforms/v1/user/security-authenticator-update
Auth
Generate Recovery Codes
/services/platforms/v1/user/regenerate-new-recovery-codes
Auth
Save Recovery Codes
/services/platforms/v1/user/save-new-recovery-codes
Auth
Billing
Get Billing Summary
/services/platforms/v1/billing/summary
Auth
Get billing summary for projects owned by the authenticated user Returns aggregated data and only expired/near-expired/failed subscriptions
Calculate Checkout Tax
/services/platforms/v1/checkout/calculate-tax
Auth
Calculate VAT for the current checkout state. Validates ONLY the inputs the tax calculation actually consumes (country, contact_type, vat_number, subtotal) plus the VIES VAT check when a company supplies a number. Other contact fields (name, address, phone, etc.) are intentionally NOT validated here — they don't influence the tax rate, and validating them mid-edit blocks the tax line from rendering while the user is still filling the form. Full field validation runs at the final `/domain-upgrade/checkout` POST.
List Invoices
/services/platforms/v1/invoices/all
Auth
Feature Usage
Track Feature Usage
/services/platforms/v1/track-feature-usage-click
Auth
Feedback
Store Feedback Delegates to the unified support ticket system using the "feedback" channel
/services/platforms/v1/feedback/store
Auth
Rate limit: 20 requests per user per 5 minutes.
List Feedbacks Backward-compatible endpoint — queries support_tickets filtered by the "feedback" channel and maps the response to match the original PlatformFeedback shape
/services/platforms/v1/feedback/list
Auth
Geo
List Countries
/services/platforms/v1/geo/countries
Public
List States
/services/platforms/v1/geo/countries/{iso2}/states
Public
MCP Tokens Create a USER-LEVEL
/services/platforms/v1/mcp-tokens/create
Auth
MCP Tokens List the current user's MCP tokens (user-level
/services/platforms/v1/mcp-tokens/list
Auth
MCP Tokens Revoke one of the current user's MCP tokens. Scoped to the user + verified to be an MCP token (user-level + `mcp` ability) so it can't touch other tokens.
/services/platforms/v1/mcp-tokens/revoke
Auth
Notifications
List Notifications
/services/platforms/v1/notifications/all
Auth
Get Notification
/services/platforms/v1/notifications/get
Auth
Mark Notifications as Read
/services/platforms/v1/notifications/mark-as-read
Auth
Mark Notification as Unread
/services/platforms/v1/notifications/mark-as-unread
Auth
Archive Notifications
/services/platforms/v1/notifications/archive
Auth
Delete Notifications
/services/platforms/v1/notifications/delete
Auth
List Archived Notifications
/services/platforms/v1/notifications/archived
Auth
Unarchive Notifications
/services/platforms/v1/notifications/unarchive
Auth
Platforms
Platform info
/services/platforms/v1/platforms/info
Public
List Platforms
/services/platforms/v1/platforms/list
Auth
Projects
Validate Invitation
/v1/validate-invitation
Public
Join Invitation
/v1/join-invitation
Public
Check Project Tool Access
/services/platforms/v1/project-tools-access
Public
Get all projects
/services/platforms/v1/projects/all
Auth
Update User Permission
/services/platforms/v1/user/project/update-user-permission
Auth
Invite User to Project
/services/platforms/v1/user/project/invite
Auth
Resend Project Invitation
/services/platforms/v1/user/project/invite/resend
Auth
Delete Project Invitation
/services/platforms/v1/user/project/invite/delete
Auth
Get Project Users
/services/platforms/v1/user/project/get-users
Auth
Remove Project User
/services/platforms/v1/user/project/remove-project-user
Auth
Permissions
/services/platforms/v1/user/project/permissions
Auth
Get Project
/services/platforms/v1/projects/get
Auth
Create a new project
/services/platforms/v1/projects/create
Auth
Update Project
/services/platforms/v1/projects/update
Auth
Remember Last Visited Project
/services/platforms/v1/projects/update-selected
Auth
Persists the user's last visited project so fresh logins and legacy un-prefixed URLs resolve to a sensible default. NOT the source of truth for the active project — the URL path is.
Transfer Project Ownership
/services/platforms/v1/projects/transfer
Auth
Update Theme Status
/services/platforms/v1/projects/update-theme-status
Auth
Update Website Availability Status
/services/platforms/v1/projects/update-website-status
Auth
POST /api/services/platforms/v1/projects/update-website-status Sets a project's public availability to live / maintenance / offline. Stored in projects_meta (`website_disabled`, `maintenance_mode`); the generator reads these on the next deploy to serve a blank page (offline) or a maintenance page instead of the real site. The states are mutually exclusive, and it's fully reversible — set back to `live` and re-deploy to restore the normal site. This only persists the flag; the SPA triggers a redeploy afterwards so the change goes live.
Smart Filters
Save Smart Filter
/services/platforms/v1/smart-filter/save
Auth
Get Smart Filter
/services/platforms/v1/smart-filter/get
Auth
Delete Smart Filter
/services/platforms/v1/smart-filter/delete
Auth
Subscriptions
List Subscriptions
/services/platforms/v1/subscriptions/all
Auth
Verify Subscription
/services/platforms/v1/subscriptions/verify
Auth
POST /api/services/platforms/v1/subscriptions/verify
Cancel Subscription
/services/platforms/v1/subscriptions/cancel
Auth
Upgrade Trial
/services/platforms/v1/subscriptions/upgrade-trial
Auth
Used when: - User on active trial wants to pay early - Trial expired and user wants to reactivate with payment
Resume Subscription
/services/platforms/v1/subscriptions/resume-cancelled
Auth
Subscribe to Tool
/services/platforms/v1/subscriptions/subscribe-tool
Auth
Subscribe to a new tool for existing project. Supports BOTH trial and paid flows: - trial=true: Create trial subscription immediately (if eligible) - trial=false: Create paid subscription with Stripe checkout
Request a refund
/services/platforms/v1/subscriptions/refund/request
Auth
Rate limit: 5 requests per user per 10 minutes — prevents accidental double-submits from impatient button-clickers and rules out abuse loops.
List my refund requests
/services/platforms/v1/subscriptions/refund/list
Auth
Cancel my refund request
/services/platforms/v1/subscriptions/refund/cancel
Auth
Domain Upgrade Checkout
/services/platforms/v1/domain-upgrade/checkout
Auth
/services/platforms/v1/ai-credits/top-up/checkout
Auth
Support
List Support Channels
/services/platforms/v1/support/channels
Auth
Create Support Ticket
/services/platforms/v1/support/tickets/store
Auth
Rate limit: 10 requests per user per 5 minutes.
List Support Tickets
/services/platforms/v1/support/tickets/list
Auth
List My Support Tickets
/services/platforms/v1/support/tickets/my-list
Auth
Get Support Ticket Detail
/services/platforms/v1/support/tickets/detail
Auth
Reply to Support Ticket
/services/platforms/v1/support/tickets/reply
Auth
Update Support Ticket
/services/platforms/v1/support/tickets/update
Auth
User
Get User
/services/platforms/v1/user/get
Auth
Accept Policy
/services/platforms/v1/user/policy-acceptance
Auth
Update User Details
/services/platforms/v1/user/update-details
Auth
Send Update Email Token
/services/platforms/v1/user/update-email-sendtoken
Auth
Rate limit: 5 attempts per email address and 5 attempts per IP address per 60 minutes.
Verify Update Email
/services/platforms/v1/user/update-email-via-token
Auth
Update Password
/services/platforms/v1/user/update-password
Auth
Update Language
/services/platforms/v1/user/update-language
Auth
Update Timezone
/services/platforms/v1/user/update-timezone
Auth
Update Editor Settings
/services/platforms/v1/user/update-editor-settings
Auth
Update Editor Mode
/services/platforms/v1/user/update-editor-mode
Auth
Saves the user's editor mode preference to user metadata
Update Sidebar Layout Mode
/services/platforms/v1/user/update-sidebar-layout-mode
Auth
Saves the user's sidebar layout mode preference to user metadata
Dismiss Widget Teaser
/services/platforms/v1/user/dismiss-widget-teaser
Auth
Workspaces
List Workspaces
/services/platforms/v1/workspaces/all
Auth
Returns all workspaces the authenticated user owns within the current platform, with a project count per workspace.
Create Workspace
/services/platforms/v1/workspaces/create
Auth
Update Workspace
/services/platforms/v1/workspaces/update
Auth
Delete Workspace
/services/platforms/v1/workspaces/delete
Auth
Soft-deletes the workspace and unassigns all its projects (sets projects.workspace_id = NULL). Projects are NEVER deleted.
Assign Projects to Workspace
/services/platforms/v1/workspaces/assign-projects
Auth
Bulk-move projects into a workspace, or unassign them by passing workspace_id = null.