{"name":"Haptix API","version":"2.0.0","description":"Haptix licensing, checkout, and platform API","endpoints":{"health":{"/health":"Health check"},"v1":{"POST /v1/license/activate":"Activate a license on a machine (Bearer license key)","POST /v1/license/deactivate":"Deactivate a machine from a license (Bearer license key)","GET /v1/license/validate":"Validate a license key (Bearer license key)","POST /v1/provision":"Provision a license from a Stripe checkout session (X-API-Key)","GET /v1/version/check":"Check for app and SDK updates (public)","POST /v1/verify/send":"Send a verification code (X-API-Key)","POST /v1/verify/check":"Verify a code (X-API-Key)","POST /v1/checkout/session":"Create a Stripe Checkout Session (X-API-Key)","GET /v1/checkout/session/:id":"Get checkout session details (X-API-Key)","GET /v1/plans":"Get pricing plans (public)","GET /v1/account/licenses":"Get licenses for an email (X-API-Key)","DELETE /v1/account/activations/:id":"Deactivate a machine by activation ID (X-API-Key)","POST /v1/support/tickets":"Create a support ticket (X-API-Key)","GET /v1/releases":"List published releases (public)","POST /v1/releases":"Publish a release (X-API-Key)","GET /v1/downloads":"Download counts by version (public)","GET /v1/downloads/summary":"Download totals with 7/30 day windows (public)","POST /v1/downloads":"Record a download event (X-API-Key)","POST /v1/webhooks/stripe":"Stripe webhook (Stripe signature)","POST /v1/trial/start":"Start a free trial (public, rate-limited)","GET /v1/trial/validate":"Validate a trial (public)"},"admin":{"GET /v1/admin/stats":"Dashboard stats (X-API-Key)","GET /v1/admin/licenses":"List licenses with search/filter/pagination (X-API-Key)","GET /v1/admin/licenses/:id":"Get license with activations (X-API-Key)","POST /v1/admin/licenses":"Create manual license (X-API-Key)","PATCH /v1/admin/licenses/:id/revoke":"Revoke license (X-API-Key)","PATCH /v1/admin/licenses/:id/reactivate":"Reactivate license (X-API-Key)","POST /v1/admin/licenses/:id/reissue":"Reissue license key (X-API-Key)","PATCH /v1/admin/licenses/:id/seats":"Change seats (X-API-Key)","PATCH /v1/admin/licenses/:id/notes":"Update notes (X-API-Key)","POST /v1/admin/licenses/:id/extend-entitlement":"Extend entitlement (X-API-Key)","PATCH /v1/admin/licenses/:id/entitlement":"Set entitlement date (X-API-Key)","DELETE /v1/admin/licenses/:id":"Delete license (X-API-Key)","DELETE /v1/admin/licenses/:id/activations/:activationId":"Remove activation (X-API-Key)","GET /v1/admin/audit":"Paginated audit log (X-API-Key)","GET /v1/admin/audit/recent":"Recent audit entries (X-API-Key)","GET /v1/admin/audit/license/:id":"Audit entries for license (X-API-Key)","GET /v1/admin/users":"List admin users (X-API-Key)","POST /v1/admin/users/login":"Verify admin credentials (X-API-Key)","POST /v1/admin/users/register":"Register admin user (X-API-Key)","PATCH /v1/admin/users/:id/approve":"Approve admin (X-API-Key)","PATCH /v1/admin/users/:id/revoke":"Revoke admin approval (X-API-Key)","DELETE /v1/admin/users/:id":"Delete admin user (X-API-Key)","GET /v1/admin/tickets":"List support tickets (X-API-Key)","GET /v1/admin/tickets/:id":"Get ticket detail (X-API-Key)","PATCH /v1/admin/tickets/:id/status":"Update ticket status (X-API-Key)","PATCH /v1/admin/tickets/:id/notes":"Update ticket notes (X-API-Key)","DELETE /v1/admin/tickets/:id":"Delete ticket (X-API-Key)","GET /v1/admin/settings":"List all settings (X-API-Key)","PATCH /v1/admin/settings":"Update a setting (X-API-Key)"}}}