Points de terminaison Project API
Référence complète des points de terminaison REST API de gestion de projet, incluant les paramètres, les membres, les clés de providers, les clés API et les compteurs.
La Project API offre une gestion complète de votre projet CodeCourier - ses métadonnées, ses paramètres, ses membres d’équipe, ses clés de providers, ses clés API et ses compteurs d’usage. Tous les points de terminaison exigent une clé API de projet valide dans le header Authorization.
CRUD du projet
GET /api/v1/project
Récupère les détails du projet actuel, y compris le nom, le slug, l’URL du repo GitHub et la date de création.
curl -H "Authorization: Bearer cc_live_..." \
https://<deployment>.convex.site/api/v1/projectRéponse :
{
"data": {
"id": "...",
"_id": "...",
"name": "My Project",
"slug": "my-project",
"githubRepoUrl": "https://github.com/org/repo",
"_creationTime": 1700000000000
}
}POST /api/v1/project/update
Met à jour les métadonnées du projet. Tous les champs du body sont optionnels - seuls les champs fournis sont mis à jour.
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/updateChamps du body :
name(string, optionnel) - Nouveau nom du projetslug(string, optionnel) - Nouveau slug d’URLgithubRepoUrl(string, optionnel) - URL du repository
POST /api/v1/project/delete
Supprime le projet. Il s’agit d’une opération destructrice. Aucun body de requête requis.
Paramètres du projet
GET /api/v1/project/settings
Récupère tous les paramètres du projet, y compris les prompts système, les variables d’environnement, la configuration des learnings et l’identité de commit git.
POST /api/v1/project/settings/update
Met à jour les paramètres du projet. Tous les champs du body sont optionnels.
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/updateChamps du body :
sandboxSystemPrompt- Prompt système injecté dans les sandboxesclaudeMd- Contenu CLAUDE.md pour les agents sandboxissueDiscoveryPrompt- Prompt par défaut pour les sessions de découverte d’issuesselectedSkills- Tableau d’identifiants de skillsselectedCommands- Tableau d’identifiants de commandsselectedScripts- Tableau d’identifiants de scriptsenvVars- Variables d’environnement clé-valeurdeployEnvVars- Variables d’environnement spécifiques au déploiementtestUserCredentials- Objet d’identifiants utilisateur de testconvexDeployKey- Clé de déploiement ConvexconvexDevKey- Clé de développement ConvexlearningTemplateId- Template pour l’extraction de learningslearningModel- Modèle utilisé pour l’extraction de learningsmergingTemplateId- Template pour les opérations de fusionmergingModel- Modèle utilisé pour les opérations de fusiongitCommitName- Nom d’auteur gitgitCommitEmail- E-mail d’auteur git
Membres de l’équipe
GET /api/v1/project/members
Liste tous les membres de l’équipe du projet avec leurs rôles et leur statut.
POST /api/v1/project/members/invite
Invite un nouveau membre dans le projet.
{
"email": "user@example.com",
"role": "member"
}Rôles valides : "owner", "admin", "member".
POST /api/v1/project/members/remove
Retire un membre du projet.
{ "targetUserId": "..." }POST /api/v1/project/members/update-role
Met à jour le rôle d’un membre.
{ "targetUserId": "...", "role": "admin" }Clés de providers
Les clés de providers sont des identifiants pour les services externes utilisés au runtime de la sandbox (E2B, Anthropic, OpenRouter, OpenAI, GitHub).
GET /api/v1/project/provider-keys
Liste toutes les clés de providers. Renvoie uniquement le nom du provider et les 4 derniers caractères (les clés sont chiffrées au repos).
POST /api/v1/project/provider-keys/set
Définit ou met à jour une clé de provider.
{
"provider": "anthropic",
"key": "sk-ant-..."
}POST /api/v1/project/provider-keys/remove
Retire une clé de provider.
{ "provider": "anthropic" }Clés API
GET /api/v1/project/api-keys
Liste toutes les clés API du projet en affichant le préfixe, le nom, la date de création, la date de dernière utilisation et le statut de révocation.
POST /api/v1/project/api-keys/generate
Génère une nouvelle clé API. Renvoie la clé complète (affichée une seule fois).
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/generateRéponse :
{
"data": {
"key": "cc_live_abc123def456...",
"id": "..."
}
}POST /api/v1/project/api-keys/revoke
Révoque une clé API. La révocation est immédiate et permanente.
{ "keyId": "..." }Compteurs du projet
GET /api/v1/project/counters
Récupère les compteurs agrégés du projet (total des runs, sandboxes, workflows, etc.). Utile pour les résumés de dashboard.