API-Übersicht
Die öffentliche REST API von SecureCodingHub ermöglicht es Ihnen, Benutzer bereitzustellen, Zuweisungen zu erstellen, Scanner-Befunde aufzunehmen und Ereignisse von Ihren eigenen Systemen zu abonnieren — ohne die Administrator-UI zu scrapen.
Wann Sie die API verwenden sollten
Verwenden Sie die öffentliche API, wenn Sie möchten, dass SecureCodingHub sich wie ein Teil Ihrer Infrastruktur statt eines separaten Dashboards verhält. Typische Integrationen:
- CI/CD-Pipelines — füttern Sie SARIF-Output von CodeQL, Snyk, Semgrep oder einem beliebigen SAST-Tool, um automatisch gezielte Schulungszuweisungen für den Commit-Autor zu erstellen.
- HR / IdP-Synchronisation — stellen Sie Benutzer bei der Einstellung bereit und deaktivieren Sie sie beim Ausscheiden, neben SCIM.
- Ticketing & SOAR — öffnen Sie ein Jira-Ticket, wann immer ein Entwickler eine erforderliche Zuweisung nicht besteht, oder rufen Sie einen PagerDuty-Vorfall auf, wenn ein Zertifikat überfällig ist.
- Benutzerdefinierte Berichterstellung — ziehen Sie Fortschritts- und Audit-Daten in Ihr eigenes BI-Tool (Looker, Metabase, Tableau).
- White-Label-Dashboards — betten Sie Abschlussstatistiken in Ihr internes Portal ein.
Basis-URL & Versionierung
Jeder öffentliche Endpoint wird über eine einzige Basis-URL erreicht, wobei die Version im Pfad fixiert ist:
https://api.limeplate.com/api/public/v1Der v1-Vertrag ist stabil. Breaking Changes werden als v2 auf einem neuen Pfad ausgeliefert; v1 bleibt für mindestens 12 Monate nach allgemeiner Verfügbarkeit einer neuen Hauptversion verfügbar.
Zwei Oberflächen, eine Plattform
Die Administrator-Web-App unter app.securecodinghub.com und die öffentliche API unter api.limeplate.com/api/public/v1 sind absichtlich getrennt. Sie verwenden unterschiedliche Authentifizierungsschemata, unterschiedliche Rate-Limit-Richtlinien und unterschiedliche Identifikator-Konventionen. Interne Endpoints (/api/sch/...) können sich ohne Vorankündigung ändern; nur die in diesem Abschnitt dokumentierten Endpoints sind garantiert.
Eine 30-Sekunden-Tour
Der Ablauf für eine neue Integration sieht fast immer so aus:
Erstellen Sie einen API-Schlüssel in der Administratorkonsole unter Organisation → API-Schlüssel. Gewähren Sie nur die Scopes, die Sie benötigen (users:read, assignments:write usw.).
Kopieren Sie das scs_live_…-Token. Das Token wird einmal bei der Erstellung angezeigt — speichern Sie es sofort in Ihrem Secrets-Manager.
Führen Sie Ihren ersten Aufruf durch, indem Sie Authorization: Bearer scs_live_… auf einem beliebigen Endpoint senden.
Für Ereignisse, die innerhalb von SecureCodingHub entstehen (eine Zuweisung wurde abgeschlossen, ein SARIF-Lauf wurde aufgenommen), abonnieren Sie einen Webhook-Endpoint und verifizieren Sie die HMAC-Signatur bei jeder Zustellung.
Ihre erste Anfrage
Dieser Aufruf gibt die Metadaten der Organisation zurück, die den API-Schlüssel besitzt. Es ist der empfohlene Health Check nach der Ausstellung eines neuen Tokens:
curl https://api.limeplate.com/api/public/v1/org \
-H "Authorization: Bearer scs_live_yourkeyhere"Eine erfolgreiche Antwort sieht so aus:
{
"id": "e188fc87-1334-48bd-84d7-5e3e64cecb52",
"name": "Acme Corp",
"slug": "acme",
"domain": "acme.com",
"plan": "growth",
"maxSeats": 500,
"trialExpiresAt": null,
"isActive": true,
"createdAt": "2026-01-12T08:42:11Z"
}Konventionen
| Thema | Konvention |
|---|---|
| Transport | Nur HTTPS. Reine HTTP-Anfragen werden am Rand abgelehnt. |
| Kodierung | JSON-Anfrage- und Antwortkörper. Content-Type: application/json bei jedem POST, PATCH. |
| Schreibweise | Alle Feldnamen verwenden camelCase sowohl in Anfragen als auch Antworten (und Webhook-Payloads). |
| Zeitstempel | ISO 8601 UTC-Strings (2026-05-29T13:45:12Z). |
| Identifikatoren | Alle Ressourcen-IDs sind RFC 4122 v4 UUIDs. |
| Leere Körper | Endpoints, die nur eine Operation bestätigen, geben 200 OK mit { "message": "..." } zurück. |
| Idempotenz | Wo es wichtig ist (z.B. SARIF-Ingestion), wird Idempotenz auf natürliche Identifikatoren in der Anfrage geschlüsselt, nicht auf einen separaten Header. |
OpenAPI-Spezifikation
Ein OpenAPI 3.0-Dokument, das jeden öffentlichen Endpoint beschreibt, wird vom selben Host bereitgestellt:
https://api.limeplate.com/openapi/v1.jsonSie können diese URL direkt in Postman, Insomnia, Stoplight oder ein beliebiges Code-Generierungs-Tool (openapi-generator, @hey-api/openapi-ts, NSwag) einfügen, um einen typisierten Client zu generieren.
Support & Status
Betriebsprobleme, Breaking Changes und Deprecation-Benachrichtigungen werden an die mit Ihrer Organisation registrierte E-Mail-Adresse gesendet. Für Integrationsfragen und Fehlermeldungen schreiben Sie an support@securecodinghub.com mit dem Anfrage-X-Request-Id-Header, falls Sie ihn von einem fehlgeschlagenen Aufruf erfassen können — er beschleunigt die Triage dramatisch.