Every ambassador, for the support account's picker
const url = 'http://localhost:8000/api/partner/ambassadors/';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:8000/api/partner/ambassadors/ \ --header 'Authorization: Bearer <token>'The ambassadors a platform admin (the support account) can open read-only (#2517): slug, name, status, and whether a login is linked yet. Each row’s page is the partner endpoints with ?ambassador=<slug>. 403 for anyone but a platform admin; 401 without a session.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”One row of the support account’s ambassador picker.
object
The referral slug — pass it as ?ambassador= to the partner endpoints.
active- Activepaused- Pausedended- Ended
Whether an account is linked yet — without one, the ambassador cannot open the page themselves.
Examples
An ambassador who has not signed in yet
[ { "slug": "amb-paul-henri", "display_name": "Paul-Henri", "status": "paused", "has_login": false }]object
Human-readable message, or a stable machine code for the cases a client branches on. The standard envelope for 400 (validation — a field-keyed object may appear instead), 401 (missing / invalid credentials), 403 (authenticated but not permitted), and 404 (absent — cross-team records are collapsed to 404 so the API never leaks the existence of another team’s data).
Example generated
{ "detail": "example"}object
Human-readable message, or a stable machine code for the cases a client branches on. The standard envelope for 400 (validation — a field-keyed object may appear instead), 401 (missing / invalid credentials), 403 (authenticated but not permitted), and 404 (absent — cross-team records are collapsed to 404 so the API never leaks the existence of another team’s data).
Example generated
{ "detail": "example"}