Dokumente/API & Webhooks/API-Übersicht

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/v1

Der 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:

1

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.).

2

Kopieren Sie das scs_live_…-Token. Das Token wird einmal bei der Erstellung angezeigt — speichern Sie es sofort in Ihrem Secrets-Manager.

3

Führen Sie Ihren ersten Aufruf durch, indem Sie Authorization: Bearer scs_live_… auf einem beliebigen Endpoint senden.

4

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

ThemaKonvention
TransportNur HTTPS. Reine HTTP-Anfragen werden am Rand abgelehnt.
KodierungJSON-Anfrage- und Antwortkörper. Content-Type: application/json bei jedem POST, PATCH.
SchreibweiseAlle Feldnamen verwenden camelCase sowohl in Anfragen als auch Antworten (und Webhook-Payloads).
ZeitstempelISO 8601 UTC-Strings (2026-05-29T13:45:12Z).
IdentifikatorenAlle Ressourcen-IDs sind RFC 4122 v4 UUIDs.
Leere KörperEndpoints, die nur eine Operation bestätigen, geben 200 OK mit { "message": "..." } zurück.
IdempotenzWo 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.json

Sie 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.