Projekt-API-Endpunkte

Vollständige Referenz für die REST-API-Endpunkte zur Projektverwaltung - Einstellungen, Mitglieder, Provider-Schlüssel, API-Schlüssel und Zähler.

12 Min. Lesezeit
apiprojectsettings

Die Projekt-API bietet vollständige Verwaltung Ihres CodeCourier-Projekts - Metadaten, Einstellungen, Teammitglieder, Provider-Schlüssel, API-Schlüssel und Nutzungszähler. Alle Endpunkte erfordern einen gültigen Projekt-API-Schlüssel im Authorization-Header.

Projekt-CRUD

GET /api/v1/project

Details des aktuellen Projekts abrufen, inklusive Name, Slug, GitHub-Repo-URL und Erstellungsdatum.

curl -H "Authorization: Bearer cc_live_..." \
  https://<deployment>.convex.site/api/v1/project

Antwort:

{
  "data": {
    "id": "...",
    "_id": "...",
    "name": "My Project",
    "slug": "my-project",
    "githubRepoUrl": "https://github.com/org/repo",
    "_creationTime": 1700000000000
  }
}

POST /api/v1/project/update

Projekt-Metadaten aktualisieren. Alle Body-Felder sind optional - es werden nur die übergebenen Felder aktualisiert.

curl -X POST -H "Authorization: Bearer cc_live_..." \
  -H "Content-Type: application/json" \
  -d '{"name": "New Name", "slug": "new-slug", "githubRepoUrl": "https://github.com/org/new-repo"}' \
  https://<deployment>.convex.site/api/v1/project/update

Body-Felder:

  • name (string, optional) -- Neuer Projektname
  • slug (string, optional) -- Neuer URL-Slug
  • githubRepoUrl (string, optional) -- Repository-URL

POST /api/v1/project/delete

Das Projekt löschen. Dies ist eine destruktive Operation. Kein Request-Body erforderlich.

Projekteinstellungen

GET /api/v1/project/settings

Alle Projekteinstellungen abrufen, inklusive System-Prompts, Umgebungsvariablen, Learning-Konfiguration und Git-Commit-Identität.

POST /api/v1/project/settings/update

Projekteinstellungen aktualisieren. Alle Body-Felder sind optional.

curl -X POST -H "Authorization: Bearer cc_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "sandboxSystemPrompt": "You are a helpful coding assistant.",
    "claudeMd": "# Project Instructions\n...",
    "issueDiscoveryPrompt": "Analyze the codebase and identify issues.",
    "envVars": {"NODE_ENV": "production"},
    "gitCommitName": "CodeCourier Bot",
    "gitCommitEmail": "bot@example.com"
  }' \
  https://<deployment>.convex.site/api/v1/project/settings/update

Body-Felder:

  • sandboxSystemPrompt -- System-Prompt, der in Sandboxes eingefügt wird
  • claudeMd -- CLAUDE.md-Inhalt für Sandbox-Agenten
  • issueDiscoveryPrompt -- Standard-Prompt für Issue-Discovery-Sitzungen
  • selectedSkills -- Array von Skill-Bezeichnern
  • selectedCommands -- Array von Command-Bezeichnern
  • selectedScripts -- Array von Skript-Bezeichnern
  • envVars -- Schlüssel-Wert-Umgebungsvariablen
  • deployEnvVars -- Deploy-spezifische Umgebungsvariablen
  • testUserCredentials -- Objekt mit Test-User-Zugangsdaten
  • convexDeployKey -- Convex-Deploy-Key
  • convexDevKey -- Convex-Dev-Key
  • learningTemplateId -- Template zur Learning-Extraktion
  • learningModel -- Für die Learning-Extraktion verwendetes Modell
  • mergingTemplateId -- Template für Merge-Operationen
  • mergingModel -- Für Merge-Operationen verwendetes Modell
  • gitCommitName -- Git-Autorenname
  • gitCommitEmail -- Git-Autoren-E-Mail

Teammitglieder

GET /api/v1/project/members

Alle Teammitglieder des Projekts mit Rollen und Status auflisten.

POST /api/v1/project/members/invite

Ein neues Mitglied ins Projekt einladen.

{
  "email": "user@example.com",
  "role": "member"
}

Gültige Rollen: "owner", "admin", "member".

POST /api/v1/project/members/remove

Ein Mitglied aus dem Projekt entfernen.

{ "targetUserId": "..." }

POST /api/v1/project/members/update-role

Die Rolle eines Mitglieds aktualisieren.

{ "targetUserId": "...", "role": "admin" }

Provider-Schlüssel

Provider-Schlüssel sind Zugangsdaten für externe Dienste, die zur Laufzeit der Sandbox verwendet werden (E2B, Anthropic, OpenRouter, OpenAI, GitHub).

GET /api/v1/project/provider-keys

Alle Provider-Schlüssel auflisten. Liefert nur Provider-Name und die letzten 4 Zeichen (Schlüssel sind verschlüsselt gespeichert).

POST /api/v1/project/provider-keys/set

Einen Provider-Schlüssel setzen oder aktualisieren.

{
  "provider": "anthropic",
  "key": "sk-ant-..."
}

POST /api/v1/project/provider-keys/remove

Einen Provider-Schlüssel entfernen.

{ "provider": "anthropic" }

API-Schlüssel

GET /api/v1/project/api-keys

Alle Projekt-API-Schlüssel auflisten, mit Anzeige von Präfix, Name, Erstellungsdatum, Datum der letzten Verwendung und Widerrufsstatus.

POST /api/v1/project/api-keys/generate

Einen neuen API-Schlüssel erzeugen. Liefert den vollständigen Schlüssel (wird nur einmal angezeigt).

curl -X POST -H "Authorization: Bearer cc_live_..." \
  -H "Content-Type: application/json" \
  -d '{"name": "My New Key"}' \
  https://<deployment>.convex.site/api/v1/project/api-keys/generate

Antwort:

{
  "data": {
    "key": "cc_live_abc123def456...",
    "id": "..."
  }
}

POST /api/v1/project/api-keys/revoke

Einen API-Schlüssel widerrufen. Der Widerruf wirkt sofort und ist permanent.

{ "keyId": "..." }

Projektzähler

GET /api/v1/project/counters

Aggregierte Zählerstände des Projekts abrufen (Gesamt-Runs, Sandboxes, Workflows usw.). Nützlich für Dashboard-Zusammenfassungen.