MyVV API
v1Backend 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
- POST/v1/sync
- POST/v1/events
- GET/v1/my-voyages
- DEL/v1/my-voyages/:voyageId
- POST/v1/sailings/lookup
- GET/v1/my/tickets
- GET/v1/my/tickets/:number
- POST/v1/my/tickets/:number/reply
- GET/v1/my/tickets/attachment/:id
Push & Live Activities · admin / app
- POST/v1/apns/send-push
- POST/v1/apns/start-activity
- POST/v1/activity/start
Wallet passes · API key / admin
- POST/v1/pass/generate-pass
- POST/v1/pass/google-save
- POST/v1/pass/admin-generate
Ships — live AIS · API key
- GET/v1/ships/positions
- GET/v1/ships/status
Public · unauthenticated, rate-limited
- POST/v1/beta-signup
- POST/v1/support/create
- POST/v1/support/status
- POST/v1/support/csat
- POST/v1/support/inbound
- GET/v1/support/outage
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.