DokumentationProdukteShellBaseMitglieder-APIMitglieder-API V1
Mitglied bearbeiten
In API Explorer austestenÖffnet den Explorer mit Methode und Pfad dieses Requests.
Ändert Rolle oder Berechtigungen eines Mitglieds.
Die Rolle des Eigentümers wechselt nur mit der Übergabe des Teams — der Endpunkt antwortet sonst mit 409.
PATCH https://members.api.shellbase.artim-industries.com/v1/members/{id}
| Methode | PATCH |
| Basis | members.api.shellbase.artim-industries.com/v1 |
| Scope | sb.members:update |
| Antwort | 200 |
| Zugang | Developer Mitgliedschaft |
| Auth | Authorization: Bearer sbapi_… |
Parameter
| Parameter | Ort | Typ | Pflicht | Bedeutung |
|---|---|---|---|---|
id | Pfad | string | ja | Kennung des Mitglieds. |
Anfragekörper
| Feld | Typ | Bedeutung |
|---|---|---|
role | string | owner, admin, member oder viewer. |
permissions | array | Rechte im Team — ersetzen die alten. |
serverPermissions | object | Rechte je Server, als Objekt {serverId: [recht]}. |
relayPermissions | object | Rechte je Relay. |
Felder, die der Vertrag nicht nennt, werden verworfen — ein Client kann keine eigenen Felder unterschieben.
{
"role": "admin",
"serverPermissions": { "66c2…": ["view_server", "manage_server", "ssh_connect"] }
}
Anfrage
curl -X PATCH "https://members.api.shellbase.artim-industries.com/v1/members/{id}" \
-H "Authorization: Bearer sbapi_…" \
-H "Content-Type: application/json" \
-d '{ "role": "admin", "serverPermissions": { "66c2…": ["view_server", "manage_server", "ssh_connect"] } }'
Antwort
| Feld | Typ | Bedeutung |
|---|---|---|
id | string | Kennung. |
role | string | Rolle nach der Änderung. |
{ "id": "…", "name": "Jonas Kestner", "role": "admin" }
Fehler
| Status | code | Wann |
|---|---|---|
400 | invalid_request | Ein Pflichtfeld fehlt, ein Typ passt nicht, oder ein Verweis zeigt auf etwas, das es hier nicht gibt. |
401 | invalid_token | Bearer fehlt, ist unbekannt oder abgelaufen. |
403 | missing_scope | Das Token trägt den Scope dieses Endpunkts nicht. |
404 | not_found | Der Eintrag gehört nicht zum freigegebenen Team — oder die Anfrage kam auf der falschen Subdomain an. |
409 | conflict | Der Zustand verbietet die Änderung — der Fehlerkörper nennt den Grund. |
429 | rate_limited | Kontingent erschöpft, siehe Retry-After. |
Jede Fehlerantwort trägt dieselbe Hülle: error.code benennt den Fehler, error.message sagt in einem Satz, was fehlt.
Rate Limits
Das Limit gilt pro Team, nicht pro Token.
| Zugang | Produktion | Sandbox |
|---|---|---|
| Hobby | 60 Anfragen/Minute | ohne Limit |
| Developer Mitgliedschaft | 10.000 Anfragen/Minute | ohne Limit |
Bei 429 sagt der Retry-After-Header, wie lange du warten sollst.