White Label-teams beheren met API en MCP
Nodig klanten uit, beheer domeintoegang, schors of herstel leden en bekijk White Label-activiteit via REST-endpoints en MCP-tools.
Artikeldetails
Type, moeilijkheid, abonnementen en wanneer het laatst is bijgewerkt.
▼
Artikeldetails
Type, moeilijkheid, abonnementen en wanneer het laatst is bijgewerkt.
- Type
- Naslagwerk
- Moeilijkheid
- Gemiddeld
- Abonnementen
- Pro · Agency · + White Label add-on
- Laatst bijgewerkt
- 9 sep. 2026
White Label-accounts kunnen worden beheerd zonder terug te gaan naar het dashboard. De REST API en MCP-server omvatten de configuratiestatus van het account, klanten en teamleden, rollen, domeintoegang, uitnodigingen, schorsingen, verwijderingen, herstelacties en de activiteitengeschiedenis. Branding valt onder dezelfde White Label-toolset en heeft een eigen brandinghandleiding.
De belangrijke grens is eenvoudig: een verbinding kan nooit meer toegang uitdelen dan de persoon erachter al heeft. Een beheerder die tot bepaalde domeinen is beperkt, kan niemand uitnodigen voor andere domeinen. Een aangepaste rol kan geen machtigingen verlenen die de aanroeper niet bezit.
Wat er beschikbaar is
De volledige MCP-catalogus bevat nu 261 tools via stdio en maximaal 260 tools via gehoste HTTP. White Label levert 20 tools: zeven voor branding en 13 voor account-, leden- en activiteitenbeheer.
Deze tools worden niet voor iedereen geladen. TrekMail beoordeelt het actuele White Label-recht van het account, het huidige lidmaatschap van de persoon, het token of de OAuth-toekenning, eventuele domeinbeperkingen, de geselecteerde toolsets en lokale veiligheidsinstellingen voordat tools/list wordt opgebouwd. Een verbinding zonder White Label-toegang ontvangt helemaal geen schema's.
Rechtstatussen
| Status | Eigenaar | Gedelegeerde leden | Schrijfacties |
|---|---|---|---|
| Actief | Volledige toegang toegestaan door scopes | Toegang toegestaan door scopes en lidmaatschap | Beschikbaar |
| Respijtperiode na opzegging | Alleen-lezen hersteltoegang | White Label-toegang verwijderd | Geblokkeerd |
| Niet beschikbaar | Geen toegang tot White Label API of MCP | Geen toegang tot White Label API of MCP | Geblokkeerd |
Roep met leestoegang tot White Label GET /api/v1/white-label of de tool get_white_label aan om active te onderscheiden van de alleen-lezen status grace, en om de configuratievoortgang en de deadline van de respijtperiode te bekijken. Een niet-beschikbaar account kan dit endpoint niet aanroepen: wanneer opgeslagen inloggegevens nog steeds een White Label-scope bevatten die het account niet meer kan gebruiken, retourneert de API scope_blocked_by_entitlement en wordt uitgelegd waar deze opnieuw kan worden geactiveerd.
Scopes
| Scope | Wat deze toestaat |
|---|---|
branding:read |
Merkinstellingen, assets, hosts, DNS-records en configuratiestatus lezen |
branding:write |
Branding, assets, voorbeelden, hosts en DNS-controles wijzigen |
members:read |
Klanten, teamleden, rollen, domeintoegang en de toegangscatalogus lezen |
members:write |
Personen uitnodigen en toegang bijwerken, schorsen, hervatten, verwijderen of herstellen |
activity:read |
Activiteit van het White Label-account en aanmeldingen van leden lezen |
Het endpoint voor ledenactiviteit vereist zowel activity:read als members:read, omdat het antwoord naast activiteit ook een ledenrecord bevat. De gehoste OAuth-verbinding gebruikt de selector tools:white_label om deze toolfamilie aan te vragen; de effectieve REST-scopes blijven beperkt door het account en lidmaatschap.
Voeg voor een zelfgehoste MCP-server white_label toe aan TREKMAIL_TOOLSETS wanneer je een toestemmingslijst voor toolsets gebruikt. Schrijftools houden ook rekening met de hieronder beschreven lokale veiligheidscontroles.
REST-endpoints
Alle paden vallen onder https://trekmail.net/api/v1.
| Methode | Pad | Scope | Doel |
|---|---|---|---|
GET |
/white-label |
branding:read |
Recht, standaardmerk, configuratievoortgang en status van bereikbare domeinen lezen |
GET |
/white-label/access-catalog |
members:read |
Rollen, machtigingsgroepen, verleenbare machtigingen en bereikbare domeinen lezen |
GET |
/white-label/members |
members:read |
Leden en uitnodigingen met zoek- en statusfilters weergeven |
POST |
/white-label/members |
members:write |
Een klant of teamgenoot uitnodigen |
GET |
/white-label/members/{id} |
members:read |
Eén lid en de toegestane volgende bewerkingen lezen |
PATCH |
/white-label/members/{id} |
members:write |
Rol, domeintoegang, aangepaste machtigingen of notitie wijzigen |
POST |
/white-label/members/{id}:suspend |
members:write |
Toegang onmiddellijk stoppen en sleutels van het lid intrekken |
POST |
/white-label/members/{id}:resume |
members:write |
Een geschorst lidmaatschap hervatten |
POST |
/white-label/members/{id}:resend-invitation |
members:write |
Een openstaande uitnodiging vervangen en een nieuwe verzenden |
DELETE |
/white-label/members/{id} |
members:write |
Toegang verwijderen en sleutels van het lid intrekken |
POST |
/white-label/members/{id}:restore |
members:write |
Een verwijderd lidmaatschap herstellen zonder oude sleutels opnieuw te activeren |
GET |
/white-label/activity |
activity:read |
Accountactiviteit lezen, optioneel gefilterd op actie of lid |
GET |
/white-label/members/{id}/activity |
activity:read + members:read |
Acties en recente aanmeldingen van één lid lezen |
Elke schrijfactie in deze tabel vereist een Idempotency-Key-header. Als dezelfde aanvraag met dezelfde sleutel wordt herhaald, wordt het oorspronkelijke veilige resultaat geretourneerd. Eenmalige geheimen in een herhaling, zoals een uitnodigingstoken, worden verborgen. Hergebruik van een sleutel met een andere body retourneert idempotency_mismatch.
Lees eerst de toegangscatalogus
Codeer rolmachtigingen niet vast in een integratie. Roep de toegangscatalogus aan vóór een uitnodiging of toegangswijziging. De grantable-vlaggen weerspiegelen het huidige lidmaatschap van de aanroeper en kunnen veranderen wanneer de eigenaar dat lidmaatschap aanpast.
De rollen die momenteel voor nieuwe uitnodigingen worden aangeboden, zijn:
client- beheert de toegewezen domeinen en mailboxen zonder de privérelatie van de reseller met TrekMail te zien.webmail_only- verschijnt in de teamlijst, maar ontvangt geen dashboardmachtigingen.domain_admin- beheert toegewezen domeinen en hun DNS, maar geen mailboxen.mailbox_operator- beheert mailboxen binnen toegewezen domeinen, maar niet de domeinen zelf.read_only- kan het toegestane accountgedeelte bekijken zonder het te wijzigen.custom- ontvangt alleen de machtigingen die inpermissionsstaan.
Sommige rollen vereisen expliciete domain_ids; andere kunnen all_domains gebruiken. De toegangscatalogus vertelt welke regel van toepassing is. Als de aanroeper een ruimere rol, machtiging of domeinset probeert te verlenen, retourneert TrekMail scope_blocked_by_membership in plaats van de uitnodiging ongemerkt te beperken.
Een klant uitnodigen
curl -s -X POST "https://trekmail.net/api/v1/white-label/members" \
-H "Authorization: Bearer tm_live_your_token" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: invite-northwind-admin-20260904" \
-d '{
"email": "admin@northwind.example",
"role": "client",
"all_domains": false,
"domain_ids": [123, 124],
"note": "Northwind primary contact"
}'
Het antwoord bevat het lid, of de e-mailbezorging is geslaagd en een eenmalige uitnodigings-URL. Een bezorgprobleem verwijdert de uitnodiging niet: de eigenaar kan de URL kopiëren of de uitnodiging later opnieuw verzenden.
Lees voor een aangepaste rol grantable_permissions uit de toegangscatalogus en stuur de geselecteerde waarden in permissions. Er is minimaal één machtiging vereist.
De lidstatus volgen
Elk antwoord over een lid bevat allowed_operations. Gebruik die lijst in plaats van te gokken:
- Een openstaande uitnodiging kan worden bijgewerkt, geschorst, opnieuw verzonden of verwijderd.
- Een actief lid kan worden bijgewerkt, geschorst of verwijderd.
- Een geschorst lid kan worden bijgewerkt, hervat of verwijderd.
- Een verwijderd lid kan worden hersteld.
- De rij van de eigenaar is zichtbaar voor context, maar kan niet via deze endpoints worden gewijzigd.
De lijst wordt ook gefilterd voor de huidige aanroeper. Deze is leeg voor een alleen-lezen verbinding, voor het eigen lidmaatschap van de aanroeper en voor leden van wie de machtigingen ruimer zijn dan de aanroeper mag beheren.
Aanroepers kunnen zichzelf niet verwijderen of schorsen. Gedelegeerde aanroepers kunnen evenmin een lid beheren met ruimere toegang dan zijzelf. Ongeldige overgangen retourneren membership_state_conflict met een aanwijzing om het lid opnieuw te lezen.
Door iemand te schorsen of te verwijderen, worden de API- en mailboxsleutels ingetrokken die onder dat lidmaatschap zijn gemaakt. Het hervatten of herstellen van het lidmaatschap brengt die oude sleutels nooit terug; de persoon moet opnieuw verbinding maken of nieuwe inloggegevens aanmaken.
Grenzen voor activiteit en privacy
GET /white-label/activity retourneert uitnodigingen, rol- en domeinwijzigingen, schorsingen, verwijderingen, herstelacties en gerelateerde beveiligingsacties. Filter met action, member_id en per_page.
GET /white-label/members/{id}/activity combineert de accountacties van dat lid met recente aanmeldingen, waaronder tijdstip, IP-adres, globale locatie, browser, besturingssysteem en apparaattype. Deze route vereist bewust beide leesscopes. Aanroepers met domeinbeperkingen kunnen alleen leden opvragen die volledig binnen hun domeingrens vallen. Een ontoegankelijk lid wordt als 404 geretourneerd, zodat het endpoint niet onthult dat er een andere tenant of klant bestaat.
MCP-tools
| Tool | Beveiliging | Doel |
|---|---|---|
get_white_label |
Lezen | Recht, merk, configuratievoortgang en domeinen |
get_white_label_access_catalog |
Lezen | Rollen, machtigingen en domeinen die de aanroeper mag verlenen |
list_white_label_members |
Lezen | Klanten, leden en uitnodigingen zoeken of filteren |
get_white_label_member |
Lezen | Eén lid en de toegestane volgende bewerkingen lezen |
invite_white_label_member |
Verzenden | Een uitnodiging maken en per e-mail verzenden |
update_white_label_member |
Destructief | Rol, domeinen, machtigingen of notitie wijzigen |
suspend_white_label_member |
Destructief | Toegang stoppen en actieve sleutels intrekken |
resume_white_label_member |
Destructief | Een geschorst lidmaatschap hervatten |
resend_white_label_invitation |
Verzenden | Een openstaande uitnodiging vervangen en per e-mail verzenden |
remove_white_label_member |
Destructief + bevestiging | Toegang verwijderen en actieve sleutels intrekken |
restore_white_label_member |
Destructief | Een verwijderd lidmaatschap herstellen |
list_white_label_activity |
Lezen | Accountactiviteit lezen |
get_white_label_member_activity |
Lezen | Acties en aanmeldingen van één lid lezen |
Uitnodigingstools vereisen TREKMAIL_ALLOW_SENDING=true op zelfgehoste stdio-MCP. Tools die toegang wijzigen, vereisen TREKMAIL_ALLOW_DESTRUCTIVE=true; verwijdering vereist ook confirm_remove=true. Deze schakelaars zijn lokale veiligheidscontroles en geen extra API-machtigingen. Gehoste MCP past een eigen goedgekeurd veiligheidsbeleid toe.
De tools maken deterministische idempotentiesleutels wanneer je er geen opgeeft. Een eigen idempotency_key opgeven is nuttig wanneer een workflow mogelijk in een ander proces opnieuw wordt gestart.
Een veilige automatiseringsstroom
- Roep
get_white_labelaan. Stop bijscope_blocked_by_entitlement; ga in een geslaagdgrace-antwoord alleen door met leesacties. - Roep
get_white_label_access_catalogonmiddellijk aan voordat je toegang verleent. - Geef het doellid weer of lees het voordat je het wijzigt.
- Controleer
allowed_operations, de beoogde rol, machtigingen en domein-ID's. - Gebruik een stabiele idempotentiesleutel voor de schrijfactie.
- Lees het lid opnieuw en meld de resulterende status en effectieve machtigingen.
- Controleer de White Label-activiteit wanneer je een auditrecord van de wijziging nodig hebt.
Fouten die aangeven wat je moet doen
| Code | Betekenis | Volgende stap |
|---|---|---|
insufficient_scope |
De vereiste scope is nooit aan de inloggegevens verleend | Voeg die scope toe of autoriseer de OAuth-verbinding opnieuw |
scope_blocked_by_entitlement |
De opgeslagen toekenning bestaat, maar White Label is er nu niet actief voor | Activeer White Label opnieuw en geef de inloggegevens opnieuw uit of autoriseer ze opnieuw |
scope_blocked_by_membership |
De huidige rol van de persoon is beperkter dan de gevraagde actie of toekenning | Vraag de eigenaar het lidmaatschap te wijzigen of vraag minder toegang aan |
member_not_manageable |
Het doel is de eigenaar, de aanroeper zelf of een lid met ruimere toegang | Kies een lid binnen de beheergrens van de aanroeper |
membership_state_conflict |
De bewerking past niet bij de huidige status van het lid | Lees allowed_operations en kies een van die acties |
missing_idempotency_key |
Een schrijfactie is zonder sleutel verzonden | Probeer opnieuw met een stabiele Idempotency-Key |
idempotency_mismatch |
Dezelfde sleutel is opnieuw gebruikt voor andere invoer | Gebruik de oorspronkelijke invoer of maak een nieuwe sleutel |
Gerelateerde artikelen
Spring naar nabije gidsen die de workflow voortzetten.