Zum Hauptinhalt springen

Übersicht

Devin stellt mehrere API-Versionen mit unterschiedlichen Authentifizierungsmechanismen und Autorisierungsmodellen bereit. Zu verstehen, welchen API-Key-Typ Sie verwenden sollten, ist entscheidend für eine ordnungsgemäße Integration.

Zusammenfassung der API-Versionen

VersionAuthentifizierungAutorisierungsmodell
v1Persönliche oder Service-API KeysOrganisationsgebunden
v2Persönliche API KeysNur Enterprise-Admins
v3 (Beta)Service-BenutzeranmeldedatenVolles RBAC

API Key Types

API-Key-TypPräfixBeschreibung
Persönlicher API Keyapk_user_API Keys mit Gültigkeitsbereich auf Benutzer- und Organisationsebene, die die individuellen Berechtigungen des Benutzers übernehmen
Service API Keyapk_Organisationsweit gültige Service API Keys für Automatisierung
Service-Benutzer-Anmeldedatencog_Service-Benutzer-Anmeldedaten auf Enterprise-/Organisations-Ebene mit RBAC

Persönliche API-Keys

Persönliche API-Keys sind einzelnen Benutzerkonten zugeordnet und auf eine Org begrenzt. Sie übernehmen die Berechtigungen dieses Benutzers. Wo generieren:
  • In einer beliebigen Unterorganisation zu Settings > API Keys navigieren
  • Auf „Generate New API Key“ klicken
  • Den Key kopieren und sicher aufbewahren (er wird nur einmal angezeigt)
Unterstützte API-Versionen:
  • v1: Ja – übernimmt die Berechtigungen des Benutzers auf Org-Ebene
  • v2: Ja – nur für Benutzer mit Enterprise-Admin-Rolle
  • v3: Nein – stattdessen Service User Credentials verwenden
Empfohlene Anwendungsfälle:
  • Persönliche Automatisierungsskripte
  • Entwicklung und Tests
  • Benutzerspezifische Integrationen
Sicherheitshinweise:
  • Keys sind auf die Berechtigungen des Benutzers begrenzt
  • Das Entziehen des Benutzerzugriffs macht dessen API-Keys automatisch ungültig
  • Keys sollten regelmäßig ausgetauscht werden

Service-API-Schlüssel (Organisationsebene)

Service-API-Schlüssel können unter bestimmten Bedingungen innerhalb von Unterorganisationen generiert werden. Wo sie erstellt werden können: Unterstützte API-Versionen:
  • v1: Ja – auf die Organisation beschränkt
  • v2: Nein – nicht unterstützt
  • v3: Nein – verwende stattdessen Service User Credentials
Empfohlene Anwendungsfälle:
  • Automatisierung auf Organisationsebene
  • CI/CD-Pipelines für bestimmte Teams
  • Gemeinsam genutzte Tools innerhalb einer Unterorganisation

Anmeldedaten für Service User (nur v3)

Service User sind dedizierte Konten mit spezifischen Rollen und Berechtigungen, die für API-basierte Automatisierung mit vollständiger RBAC-Unterstützung konzipiert sind. Wo zu erstellen:
  • Navigieren Sie zu Enterprise Settings > Service Users
  • Klicken Sie auf „Create Service User“
  • Weisen Sie geeignete Rollen zu (Enterprise Admin, Org Admin, Org Member usw.)
  • Generieren Sie einen API key für den Service User
Service-User-Typen:
  • Enterprise Service Users: Können basierend auf den zugewiesenen Rollen auf mehrere Organisationen zugreifen
  • Organization Service Users: Auf bestimmte Organisationen mit organisationsspezifischen Rollen beschränkt
Unterstützte API-Versionen:
  • v1: Nein – nicht verfügbar
  • v2: Nein – nicht verfügbar
  • v3: Ja – vollständige RBAC-Unterstützung
Empfohlene Anwendungsfälle:
  • Produktionsautomatisierung mit fein granulierten Berechtigungen
  • Workflows über mehrere Organisationen hinweg
  • Compliance-sensitive Integrationen, die Audit-Trails erfordern
  • Langfristige Integrationen mit spezifischen Berechtigungs-Scopes
Sicherheitsaspekte:
  • Service User erscheinen in Audit-Logs getrennt von menschlichen Nutzern
  • Berechtigungen können präzise über RBAC gesteuert werden
  • Schlüssel können rotiert werden, ohne Benutzerkonten von Menschen zu beeinträchtigen
  • Ideal für das Prinzip der geringsten Rechte (Least Privilege)

Authentifizierungsmethoden

Bearer-Token-Authentifizierung

Alle Devin-APIs verwenden Bearer-Token-Authentifizierung. Geben Sie Ihren API key im Authorization-Header an:
Authorization: Bearer your_api_key_here

Beispielanfragen

v1-API-Beispiel:
curl -X POST "https://api.devin.ai/v1/sessions" \
  -H "Authorization: Bearer YOUR_V1_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Erstellen Sie ein einfaches Python-Skript"
  }'
Beispiel für die Enterprise-API v2:
curl -X GET "https://api.devin.ai/v2/enterprise/organizations" \
  -H "Authorization: Bearer YOUR_V2_ENTERPRISE_ADMIN_KEY"
v3-API-Beispiel (Beta):
curl -X GET "https://api.devin.ai/v3beta1/enterprise/organizations" \
  -H "Authorization: Bearer YOUR_V3_SERVICE_USER_KEY"

Best Practices zur Sicherheit

Geben Sie API-Schlüssel niemals in öffentlich zugänglichen Bereichen weiter, z. B. in GitHub-Repositories, clientseitigem Code oder Logs.
  1. Schlüssel sicher speichern: Verwenden Sie Umgebungsvariablen oder Systeme zum Secret-Management
  2. Schlüssel regelmäßig erneuern: Generieren Sie regelmäßig neue Schlüssel und widerrufen Sie alte
  3. Service-User für Automatisierung verwenden: Bevorzugen Sie v3-Service-User gegenüber persönlichen Schlüsseln in Produktionsumgebungen
  4. Least-Privilege-Prinzip anwenden: Gewähren Sie nur die minimal erforderlichen Berechtigungen
  5. Nutzung überwachen: Prüfen Sie Audit-Logs auf unerwartete API-Aktivitäten
  6. Kompromittierte Schlüssel sofort widerrufen: Wenn ein Schlüssel offengelegt wurde, widerrufen Sie ihn und generieren Sie einen neuen

Fehlerbehebung

401 Unauthorized

Mögliche Ursachen:
  • Ungültige oder abgelaufene API key
  • Fehlender Authorization-Header
  • Falsches Bearer-Token-Format
Lösung: Stellen Sie sicher, dass Ihre API key gültig ist und im Authorization-Header korrekt formatiert ist.

403 Forbidden

Mögliche Ursachen:
  • Der API key verfügt nicht über die erforderlichen Berechtigungen
  • Du verwendest die falsche API-Version für deinen Schlüsseltyp (z. B. persönlicher Schlüssel mit v3)
  • Du versuchst, auf Ressourcen außerhalb deines Zugriffsbereichs zuzugreifen
Lösung:
  • Für v2: Stelle sicher, dass du die Enterprise-Admin-Rolle hast
  • Für v3: Verwende ein Servicebenutzer-Credential mit geeigneten Rollen
  • Für v1: Überprüfe, ob du Zugriff auf die Organisation hast

404 Nicht gefunden

Mögliche Ursachen:
  • Falsche API-Endpunkt-URL
  • Ressource existiert nicht oder Sie haben keinen Zugriff
Lösung: Überprüfen Sie, ob die Endpunkt-URL mit der von Ihnen verwendeten API-Version übereinstimmt und ob die Ressource existiert.

Nächste Schritte