Platform Management API

Manage authentication, users, billing and platform-wide settings

Base URL: https://api.wemasy.nl/api
ⓘ Settings are saved in browser localStorage for convenience. Don't use production tokens on shared computers.

API Tokens

Create API Token

POST /services/platforms/v1/api-tokens/create Auth

List API Tokens

POST /services/platforms/v1/api-tokens/list Auth

Revoke API Token

POST /services/platforms/v1/api-tokens/revoke Auth

Active Sessions

List Sessions This includes browser sessions, API tokens, etc

POST /services/platforms/v1/active-sessions/list Auth

Revoke Session

POST /services/platforms/v1/active-sessions/revoke Auth

Revoke All Sessions This will log out the user from all devices and revoke all API tokens

POST /services/platforms/v1/active-sessions/revoke-all Auth

Admin

Restart All Workers

GET /services/platforms/v1/workers/restart-all Public

Requires superadmin access.

Restart All Daemons

GET /services/platforms/v1/daemons/restart-all Public

Requires superadmin access.

Audit Logs

List Audit Logs

POST /services/platforms/v1/audit-logs/list Auth

Authentication

Login

POST /v1/login Public

Authenticate Login

POST /v1/authenticate Public

Create Account

POST /v1/create-account Public

Verify Email OTP

POST /v1/verify-email-otp Public

Rate limit: 5 attempts per email address and 10 attempts per IP address per 30 minutes.

Resend Email OTP

POST /v1/resend-email-otp Public

Rate limit: 5 requests per 30 minutes.

Send Verification Email

POST /v1/send-verification-email Public

Rate limit: 5 requests per 30 minutes.

Confirm Email

POST /v1/confirm-email Public

Forgot Password

POST /v1/forgot-password Public

Reset Password

POST /v1/reset-password Public

Get Policy

POST /v1/get-policy Public

Logout

POST /v1/logout Auth

Send Verification Email

POST /services/platforms/v1/send-verification-email Auth

Rate limit: 5 requests per 30 minutes.

Authentication (Two Factor)

Create Security Email Code

POST /services/platforms/v1/user/get-security-email-code Auth

Validate Two Factor Auth

POST /services/platforms/v1/user/security-two-factor-validate-auth Auth

Security Verification

POST /services/platforms/v1/user/security-verification Auth

Verify Two Factor Code

POST /services/platforms/v1/user/verify-two-factor-code Auth

Update Security Authenticator

POST /services/platforms/v1/user/security-authenticator-update Auth

Generate Recovery Codes

POST /services/platforms/v1/user/regenerate-new-recovery-codes Auth

Save Recovery Codes

POST /services/platforms/v1/user/save-new-recovery-codes Auth

Billing

Get Billing Summary

POST /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

POST /services/platforms/v1/checkout/calculate-tax Auth

Validate the full checkout payload and calculate VAT. Runs the same validation rules as DomainUpgradeController (including VIES VAT validation) so that all field errors surface here — before the user ever sees the tax step. This prevents 422 back-navigation on the final "Proceed to Checkout" click.

List Invoices

POST /services/platforms/v1/invoices/all Auth

Feature Usage

Track Feature Usage

POST /services/platforms/v1/track-feature-usage-click Auth

Feedback

Store Feedback Delegates to the unified support ticket system using the "feedback" channel

POST /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

POST /services/platforms/v1/feedback/list Auth

Funnel

Get Funnel State Frontend calls this once on load to seed its local dedup set

GET /services/platforms/v1/funnel/state Auth

Track Funnel Steps

POST /services/platforms/v1/funnel/track Auth

Request body: steps string[] required One or more step column names to timestamp. domain_path string optional buy_new | already_have | skipped closed_early bool optional Mark that the user closed onboarding early. Example: { "steps": ["celebration_opened_at", "first_published_at"] } { "steps": ["domain_choice_step_at"], "domain_path": "buy_new" }

Geo

List Countries

GET /services/platforms/v1/geo/countries Public

List States

GET /services/platforms/v1/geo/countries/{iso2}/states Public

Notifications

List Notifications

POST /services/platforms/v1/notifications/all Auth

Get Notification

POST /services/platforms/v1/notifications/get Auth

Mark Notifications as Read

POST /services/platforms/v1/notifications/mark-as-read Auth

Mark Notification as Unread

POST /services/platforms/v1/notifications/mark-as-unread Auth

Archive Notifications

POST /services/platforms/v1/notifications/archive Auth

Delete Notifications

POST /services/platforms/v1/notifications/delete Auth

List Archived Notifications

POST /services/platforms/v1/notifications/archived Auth

Unarchive Notifications

POST /services/platforms/v1/notifications/unarchive Auth

Platforms

Platform info

POST /services/platforms/v1/platforms/info Public

List Platforms

POST /services/platforms/v1/platforms/list Auth

Projects

Validate Invitation

POST /v1/validate-invitation Public

Join Invitation

POST /v1/join-invitation Public

Check Project Tool Access

POST /services/platforms/v1/project-tools-access Public

Get all projects

POST /services/platforms/v1/projects/all Auth

Update User Permission

POST /services/platforms/v1/user/project/update-user-permission Auth

Invite User to Project

POST /services/platforms/v1/user/project/invite Auth

Resend Project Invitation

POST /services/platforms/v1/user/project/invite/resend Auth

Delete Project Invitation

POST /services/platforms/v1/user/project/invite/delete Auth

Get Project Users

POST /services/platforms/v1/user/project/get-users Auth

Remove Project User

POST /services/platforms/v1/user/project/remove-project-user Auth

Permissions

GET /services/platforms/v1/user/project/permissions Auth

Get Project

POST /services/platforms/v1/projects/get Auth

Create a new project

POST /services/platforms/v1/projects/create Auth

Update Project

POST /services/platforms/v1/projects/update Auth

Update Selected Project

POST /services/platforms/v1/projects/update-selected Auth

Transfer Project Ownership

POST /services/platforms/v1/projects/transfer Auth

Update Theme Status

POST /services/platforms/v1/projects/update-theme-status Auth

Smart Filters

Save Smart Filter

POST /services/platforms/v1/smart-filter/save Auth

Get Smart Filter

POST /services/platforms/v1/smart-filter/get Auth

Delete Smart Filter

POST /services/platforms/v1/smart-filter/delete Auth

Subscriptions

List Subscriptions

POST /services/platforms/v1/subscriptions/all Auth

Verify Subscription

POST /services/platforms/v1/subscriptions/verify Auth

POST /api/services/platforms/v1/subscriptions/verify

Cancel Subscription

POST /services/platforms/v1/subscriptions/cancel Auth

Upgrade Trial

POST /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

POST /services/platforms/v1/subscriptions/resume-cancelled Auth

Subscribe to Tool

POST /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

Domain Upgrade Checkout

POST /services/platforms/v1/domain-upgrade/checkout Auth

Support

List Support Channels

POST /services/platforms/v1/support/channels Auth

Create Support Ticket

POST /services/platforms/v1/support/tickets/store Auth

Rate limit: 10 requests per user per 5 minutes.

List Support Tickets

POST /services/platforms/v1/support/tickets/list Auth

List My Support Tickets

POST /services/platforms/v1/support/tickets/my-list Auth

Get Support Ticket Detail

POST /services/platforms/v1/support/tickets/detail Auth

Reply to Support Ticket

POST /services/platforms/v1/support/tickets/reply Auth

Update Support Ticket

POST /services/platforms/v1/support/tickets/update Auth

User

Get User

POST /services/platforms/v1/user/get Auth

Accept Policy

POST /services/platforms/v1/user/policy-acceptance Auth

Update User Details

POST /services/platforms/v1/user/update-details Auth

Send Update Email Token

POST /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

POST /services/platforms/v1/user/update-email-via-token Auth

Update Password

POST /services/platforms/v1/user/update-password Auth

Update Language

POST /services/platforms/v1/user/update-language Auth

Update Timezone

POST /services/platforms/v1/user/update-timezone Auth

Update Editor Settings

POST /services/platforms/v1/user/update-editor-settings Auth

Update Editor Mode

POST /services/platforms/v1/user/update-editor-mode Auth

Saves the user's editor mode preference to user metadata

Update Sidebar Layout Mode

POST /services/platforms/v1/user/update-sidebar-layout-mode Auth

Saves the user's sidebar layout mode preference to user metadata

Dismiss Widget Teaser

POST /services/platforms/v1/user/dismiss-widget-teaser Auth