MyVV API

v1

Backend for the MyVV app, sailor portal & admin dashboard — sync, push, Live Activities, Wallet passes, helpdesk & live ship positions.

Checking…

App & device · API key / device token

Push & Live Activities · admin / app

Wallet passes · API key / admin

Ships — live AIS · API key

Public · unauthenticated, rate-limited

Sailor portal · session cookie

  • GET/v1/portal/config
  • POST/v1/portal/auth/request
  • POST/v1/portal/auth/verify
  • POST/v1/portal/auth/logout
  • GET/v1/portal/me
  • GET/v1/portal/security
  • POST/v1/portal/security/signout-all
  • POST/v1/portal/activity
  • GET/v1/portal/export
  • GET/v1/portal/voyages
  • GET/v1/portal/voyages/:id/pass
  • GET/v1/portal/voyages/:id/wallet/google
  • GET/v1/portal/tickets
  • GET/v1/portal/tickets/:number
  • POST/v1/portal/tickets
  • POST/v1/portal/tickets/:number/reply
  • GET/v1/portal/tickets/attachment/:id
  • ·/v1/portal/passkey(s) — register / auth / manage

Admin dashboard · session cookie

  • GET/v1/admin/setup/status
  • POST/v1/admin/setup
  • ·/v1/admin/login/* — password, 2FA, passkey, Duo
  • GET/v1/admin/me
  • POST/v1/admin/logout
  • ·/v1/admin/account/* — profile, password, TOTP, Duo, passkeys
  • ·/v1/admin/admins, /admins/:id/* — manage admins
  • GET/v1/admin/audit
  • GET/v1/admin/backup-status
  • POST/v1/admin/backup-now (super admin)
  • GET/v1/sailors
  • GET/v1/sailors/:email/activity · devices · voyages
  • GET/v1/stats · /v1/stats/engagement
  • GET/v1/beta-signups
  • POST/v1/beta-signups/invite · revoke
  • GET/v1/tickets, /v1/tickets/:number
  • POST/v1/tickets/:number/* · /v1/tickets/bulk
  • ·/v1/canned — response templates
  • ·/v1/push/* — dashboard web push
  • POST/v1/support/outage — service banner

App & device routes use the shared api_key (or a per-device token); the sailor portal and admin dashboard use a signed session cookie. Health JSON at /healthz. Every response carries an X-Request-Id for tracing.

Privacy Policy · Terms & Conditions