Voyager Auth Register
Changed onRegister this install for the signed-in user and one workspace; returns the device secret once.
Several eligible workspaces and no team_id: 200 {needs_team, teams} and nothing is written; the client asks and posts again. Any plan may register (no payment gate). A first Voyager use gets the user's personal workspace (VOY-565), and no team_id signs in to the default one instead of asking: Personal, unless the user holds a seat in exactly one Team, or Personal has no plan and never will while another workspace has one they can use (voyager_workspaces.membership.default_workspace). In a Voyager-billed workspace with auto-seating on, the member is seated after the response, never on the sign-in's critical path. An optional X-Voyager-Machine-Id header and the client IP are recorded on the registration for the Free plan's one-per-machine rule; neither can fail it.
Request
- Base URLhttps://api.moda.app/v1
- URLhttps://api.moda.app/v1/voyager/auth/register
- AuthHTTP bearer
Headers
Calendar-dated API version pin. New integrations should pin 2026-05-01 to opt into the newest response shapes. For back-compat the server also accepts requests with no header and resolves them to the current default (today: 2026-04-12); that default advances on each sunset date. Any unsupported value returns 400 unsupported_version.
Request body
Example request
{
"platform": "darwin"
}Response
Successful Response
Changes
- info
endpoint added
- info