DokumentationProdukteShellBaseRelay-APIRelay-API V1
Relay anlegen
In API Explorer austestenÖffnet den Explorer mit Methode und Pfad dieses Requests.
Legt ein Relay an — der Agent meldet sich danach mit seinem Token an.
Das Kontingent des Zugangs gilt. Wer das Relay anlegt, darf es anschließend auch verwalten — sonst wäre es für das Konto, das es eingetragen hat, unsichtbar.
POST https://relays.api.shellbase.artim-industries.com/v1/relays
| Methode | POST |
| Basis | relays.api.shellbase.artim-industries.com/v1 |
| Scope | sb.relays:write |
| Antwort | 201 |
| Zugang | Developer Mitgliedschaft |
| Auth | Authorization: Bearer sbapi_… |
Parameter
Dieser Endpunkt nimmt keine Parameter.
Anfragekörper
| Feld | Typ | Bedeutung |
|---|---|---|
name | string | Name des Relays. Pflicht. |
description | string | Beschreibung, etwa der Standort. |
localHost | string | Adresse, die der Agent lokal anspricht. Standard 127.0.0.1. |
localPort | integer | Port dazu. Standard 22. |
enabled | boolean | Ob es sofort benutzt werden darf. |
Felder, die der Vertrag nicht nennt, werden verworfen — ein Client kann keine eigenen Felder unterschieben.
{ "name": "Relay Werk Süd", "description": "Rechenzentrum Süd", "localPort": 22 }
Anfrage
curl -X POST "https://relays.api.shellbase.artim-industries.com/v1/relays" \
-H "Authorization: Bearer sbapi_…" \
-H "Content-Type: application/json" \
-d '{ "name": "Relay Werk Süd", "description": "Rechenzentrum Süd", "localPort": 22 }'
Antwort
| Feld | Typ | Bedeutung |
|---|---|---|
id | string | Kennung des neuen Relays. |
name | string | Name. |
status | string | offline, bis der Agent sich meldet. |
{ "id": "…", "name": "Relay Werk Süd", "status": "offline", "enabled": true }
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.