Restricted — requires a sponsorship program. See the
Sponsorship API overview for access and auth.
active
on success.
Request body
Response
201 Created when a new seat is provisioned; 200 OK on an idempotent replay
(an open seat already existed for this email — see below).
vessel_resolved: false is not an error. A 7-digit IMO that DSS hasn’t
seen yet still yields a provisioned, Premium seat. Pass vessel_name to help,
and DSS resolves and back-fills tracking asynchronously. Poll the seat on the
roster if you want to confirm resolution.Idempotency
Provisioning is idempotent per email within your program:- If the email already holds an open seat (
active), the call returns that existing seat with200and does not create a second seat or a second bill. - Otherwise a new seat is created and returned with
201.
Idempotency-Key header for your own
tracing/retry safety:
Members with no vessel
vessel_imo is optional. A member between jobs, working shoreside, or on a
hull with no IMO still gets their account and Premium — provision them without it:
vessel_resolved: false and no vessel_id. Everything
else works normally: the member is Premium immediately and is billed to you from
that moment.
When they join a vessel, re-submit the same email with the IMO. That is
treated as a vessel move — it attaches the vessel and starts tracking, and does
not create a second seat or a second charge.
vessel_resolved: false also comes back when an IMO is supplied that we cannot
validate. We do not create a placeholder vessel for an IMO we could not confirm,
because tracking a member against a hull that may not exist is worse than
reporting the vessel as unresolved. Re-submit once the IMO is correct.
