Aller au contenu principal

Codes d'erreur

En bref

Toutes les reponses API suivent une enveloppe standard. En cas d'erreur, le champ error contient un code machine, un message lisible, un indicateur de retry et une remediation suggeree.

Format d'erreur

{
"ok": false,
"data": null,
"error": {
"code": "SCOPE_DENIED",
"message": "API key missing required scope: writes",
"retryable": false,
"remediation": "Add the 'writes' scope to your API key in Settings > API Keys.",
"details": { "requiredScope": "writes", "presentScopes": ["reads"] }
},
"meta": { "requestId": "req_abc123", "timestamp": "2026-05-16T10:00:00Z" }
}

Familles d'erreurs

Validation (HTTP 400)

CodeDescriptionRemediation
INVALID_INPUTCorps de requete invalideVerifiez le format des champs
MISSING_FIELDChamp requis manquantAjoutez le champ indique dans details
TYPE_MISMATCHType de donnee incorrectCorrigez le type (string, number, etc.)

Authentification (HTTP 401)

CodeDescriptionRemediation
AUTH_FAILEDAuthentification echoueeVerifiez votre cle API ou token
TOKEN_EXPIREDToken OAuth expireRafraichissez via le refresh token
KEY_INVALIDCle API invalide ou revoqueeGenerez une nouvelle cle dans Settings

Autorisation (HTTP 403)

CodeDescriptionRemediation
SCOPE_DENIEDScope manquant sur la cle APIAjoutez le scope requis
WRITE_POLICY_VIOLATIONPolitique d'ecriture non respecteeVerifiez les regles de gouvernance
RBAC_DENIEDRole insuffisantContactez votre administrateur

Drift et conflits (HTTP 409)

CodeDescriptionRemediation
PLAN_SCHEMA_MISMATCHSchema modifie depuis le dry-runRefaites un dry-run
PLAN_POLICY_MISMATCHPolitique modifiee depuis le dry-runRefaites un dry-run
PLAN_ACTION_MISMATCHDefinition d'action modifieeRefaites un dry-run
SCHEMA_DRIFTSchema local diverge du serveurExecutez ontologie schema pull
OCC_CONFLICTConflit de version optimisteRelisez l'entite et renvoyez avec la bonne version

Plans (HTTP 409-412)

CodeDescriptionRemediation
PLAN_NOT_FOUNDPlan introuvableVerifiez le planId
PLAN_EXPIREDPlan expireRefaites un dry-run
PLAN_REVOKEDPlan revoqueRefaites un dry-run
PLAN_ALREADY_APPLIEDPlan deja executeAucune action (idempotent)
PLAN_ACTOR_MISMATCHPrincipal different du createurUtilisez le meme principal
PLAN_SIGNATURE_INVALIDSignature invalideRefaites un dry-run
PLAN_TARGET_VERSION_CONFLICTVersion cible changeeRelisez l'entite, refaites un dry-run
ACTION_PRECONDITION_FAILEDPrecondition non satisfaiteVerifiez l'etat actuel de l'entite
CONFIRMATION_REQUIREDConfirmation manquanteAjoutez confirmed: true et riskAcknowledged: true

Rate limiting et quotas (HTTP 429)

CodeDescriptionRemediation
RATE_LIMITEDTrop de requetesAttendez Retry-After secondes
BUDGET_EXCEEDEDBudget DFU depasseAugmentez votre budget ou achetez des DFU
COMMAND_COST_LIMIT_EXCEEDEDCommande trop couteuseReduisez la complexite ou augmentez la limite
QUOTA_EXCEEDEDQuota du plan atteintPassez au plan superieur

Balance (HTTP 402)

CodeDescriptionRemediation
DFU_BALANCE_INSUFFICIENTSolde DFU insuffisantRechargez via le dashboard ou activez l'auto-recharge

Reseau (HTTP 504)

CodeDescriptionRemediation
TIMEOUT_ERRORTimeout de la requeteRetentez apres un delai
NETWORK_ERRORErreur reseauVerifiez la connectivite

Gestion dans le SDK

import { createClient, OntologieError } from '@ontologie/sdk-client';

try {
await client.actions.apply(planId, { confirmed: true, riskAcknowledged: true });
} catch (error) {
if (error instanceof OntologieError) {
if (error.retryable) {
// Attendre et retenter
await sleep(error.retryAfter ?? 1000);
// ... retry
} else {
console.error(`[${error.code}] ${error.message}`);
console.error('Remediation:', error.remediation);
}
}
}

Codes de sortie CLI

ExitFamille
0Succes
1Erreur interne
2Validation
3Authentification
4Autorisation
5Drift
7Conflit
8Rate limit
9Reseau
10Precondition
11Quota
12Configuration

Voir aussi