DokumentationProdukteShellBaseServer-APIServer-API V1

Server anlegen

2 min Lesezeit · zuletzt aktualisiert 18. August 2026

In API Explorer austestenÖffnet den Explorer mit Methode und Pfad dieses Requests.

Trägt einen Server ins Inventar ein.

authValue — Passwort oder privater Schlüssel — wird verschlüsselt gespeichert und niemals zurückgegeben. Das Kontingent des Zugangs gilt: ist es erschöpft, endet die Anfrage mit 400.

POST https://servers.api.shellbase.artim-industries.com/v1/servers
MethodePOST
Basisservers.api.shellbase.artim-industries.com/v1
Scopesb.servers:write
Antwort201
ZugangDeveloper Mitgliedschaft
AuthAuthorization: Bearer sbapi_…

Parameter

Dieser Endpunkt nimmt keine Parameter.

Anfragekörper

FeldTypBedeutung
namestringAnzeigename. Pflicht.
hoststringAdresse oder Hostname. Pflicht.
usernamestringBenutzer für die Verbindung. Pflicht.
authTypestringssh-key oder password. Pflicht.
authValuestringDer private Schlüssel bzw. das Passwort.
portintegerSSH-Port, Standard 22.
tagsarrayMarken.
osstringBetriebssystem, falls bekannt.
relayIdstringRelay, über das er erreicht wird.

Felder, die der Vertrag nicht nennt, werden verworfen — ein Client kann keine eigenen Felder unterschieben.

{
  "name": "api-01",
  "host": "10.0.4.21",
  "port": 22,
  "username": "deploy",
  "authType": "ssh-key",
  "authValue": "-----BEGIN OPENSSH PRIVATE KEY-----
…",
  "tags": ["api", "prod"]
}

Anfrage

curl -X POST "https://servers.api.shellbase.artim-industries.com/v1/servers" \
  -H "Authorization: Bearer sbapi_…" \
  -H "Content-Type: application/json" \
  -d '{ "name": "api-01", "host": "10.0.4.21", "port": 22, "username": "deploy", "authType": "ssh-key", "authValue": "-----BEGIN OPENSSH PRIVATE KEY----- …", "tags": ["api", "prod"] }'

Antwort

FeldTypBedeutung
idstringKennung des neuen Servers.
namestringAnzeigename.
statusstringoffline, bis der erste Abgleich lief.
tagsarrayMarken.
{ "id": "…", "name": "api-01", "host": "10.0.4.21", "port": 22, "status": "offline", "tags": ["api", "prod"] }

Fehler

StatuscodeWann
400invalid_requestEin Pflichtfeld fehlt, ein Typ passt nicht, oder ein Verweis zeigt auf etwas, das es hier nicht gibt.
401invalid_tokenBearer fehlt, ist unbekannt oder abgelaufen.
403missing_scopeDas Token trägt den Scope dieses Endpunkts nicht.
404not_foundDer Eintrag gehört nicht zum freigegebenen Team — oder die Anfrage kam auf der falschen Subdomain an.
409conflictDer Zustand verbietet die Änderung — der Fehlerkörper nennt den Grund.
429rate_limitedKontingent 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.

ZugangProduktionSandbox
Hobby60 Anfragen/Minuteohne Limit
Developer Mitgliedschaft10.000 Anfragen/Minuteohne Limit

Bei 429 sagt der Retry-After-Header, wie lange du warten sollst.