Restricted — requires a sponsorship program. See the
Sponsorship API overview for access and auth.
- They are connected to you. They completed the OAuth flow, so you can read their profile, sea time and vessels, and you receive their webhooks.
- You sponsor them. You hold a seat for them, they have DSS Premium, and the seat appears on your invoice.
What each one does
Connecting a member does not grant Premium and does not open a seat. A
member who connects and is never provisioned stays on DSS Free: you can read
their sea service, and they cost you nothing.
Running a free tier
This is what the separation is for. If you offer a free membership alongside a paid one, your free members connect through the same OAuth flow as your paying ones — connecting is what makes their sea service appear in your product — and only the paying ones get aPOST.
A member can move between your tiers as often as they like.
POST is idempotent
on email, so re-sending an already-sponsored member is a no-op rather than a
second seat; a POST after a DELETE opens a new seat and starts billing again
from that date.
Why a downgrade keeps the connection
Ending a seat is a billing change. The member is still your member — they have just moved to a plan you do not sponsor — so they keep their DSS account on the Free tier, you keep reading their sea service, and their vessel tracking keeps running. If you want the connection to end, that is a separate decision with its own call. Either the member disconnects themselves, or you sendmember-left with account_deleted, which both
closes the seat and revokes their consent and tokens.
Reconciling
Because a seat exists only when you have provisioned it, the seats you hold and the lines you are billed for are the same set. Every invoice line carries thesponsorship_id of the seat it bills, and
GET /v1/partners/sponsorships returns those
same ids, so an invoice reconciles against the roster line by line.

