Gestion des erreurs de l’API REST

Les réponses d’erreur HTTP sont divisées en deux catégories :

  • Erreur du client (niveau de code 400) : le client a envoyé une requête non valide ou la demande n’est pas conforme aux définitions.
  • Erreur du serveur (niveau 500) : le serveur n’a pas pu répondre temporairement à la demande ou une erreur de serveur s’est produite. Réessayez d’envoyer la requête HTTP.

Les codes d’erreur répertoriés dans le tableau suivant peuvent être retournés par une opération sur Microsoft Defender pour point de terminaison API.

  • En plus du code d’erreur, chaque réponse d’erreur contient un message d’erreur, qui peut aider à résoudre le problème.
  • Le message est un texte libre qui peut être modifié.
  • En bas de la page, vous trouverez des exemples de réponse.

S’applique à :

Vous voulez découvrir Defender pour point de terminaison ? Inscrivez-vous pour bénéficier d’un essai gratuit.

Code d’erreur Code d’état HTTP Message
BadRequest BadRequest (400) Message d’erreur de demande incorrecte générale.
ODataError BadRequest (400) Requête URI OData non valide (l’erreur spécifique est spécifiée).
InvalidInput BadRequest (400) Entrée {l’entrée non valide}.
InvalidRequestBody BadRequest (400) Corps de la demande non valide.
InvalidHashValue BadRequest (400) La valeur de hachage {le hachage non valide} n’est pas valide.
InvalidDomainName BadRequest (400) Le nom de domaine {le domaine non valide} n’est pas valide.
InvalidIpAddress BadRequest (400) L’adresse IP {l’adresse IP non valide} n’est pas valide.
InvalidUrl BadRequest (400) L’URL {l’URL non valide} n’est pas valide.
MaximumBatchSizeExceededed BadRequest (400) Taille de lot maximale dépassée. Reçu : {taille de lot reçue}, autorisé : {taille de lot autorisée}.
MissingRequiredParameter BadRequest (400) Le paramètre {le paramètre manquant} est manquant.
OsPlatformNotSupported BadRequest (400) La plateforme du système d’exploitation {la plateforme du système d’exploitation client} n’est pas prise en charge pour cette action.
ClientVersionNotSupported BadRequest (400) {L’action demandée} est prise en charge sur la version du client {version du client prise en charge} et les versions ultérieures.
Non autorisé (Unauthorized) Non autorisé (401) Non autorisé (en-tête d’autorisation non valide ou expiré).
Interdit (Forbidden) Interdit (403) Interdit (jeton valide mais autorisation insuffisante pour l’action).
DisabledFeature Interdit (403) La fonctionnalité de locataire n’est pas activée.
DisallowedOperation Interdit (403) {l’opération non autorisée et la raison}.
NotFound Introuvable (404) Message d’erreur Général introuvable.
ResourceNotFound Introuvable (404) La ressource {la ressource demandée} est introuvable.
TooManyRequests Trop de demandes (429) La réponse représente l’atteinte de la limite de quota en fonction du nombre de demandes ou du processeur.
InternalServerError Erreur interne du serveur (500) (Aucun message d’erreur, réessayez l’opération.)

Limitation

Le client HTTP peut recevoir une erreur « Trop de requêtes (429) » lorsque le nombre de requêtes HTTP dans une période donnée dépasse le nombre autorisé d’appels par API.

Le client HTTP doit retarder la soumission d’autres requêtes HTTPS, puis les envoyer d’une manière conforme aux limitations de débit. Un Retry-After dans l’en-tête de réponse indiquant le délai d’attente (en secondes) avant d’effectuer une nouvelle requête

En ignorant la réponse 429 ou en essayant de soumettre à nouveau des requêtes HTTP dans un délai plus court, vous obtenez un retour du code d’erreur 429.

Les paramètres de corps respectent la casse

Les paramètres du corps soumis respectent actuellement la casse.

Si vous rencontrez des erreurs InvalidRequestBody ou MissingRequiredParameter , cela peut être dû à un paramètre incorrect majuscule ou minuscule.

Passez en revue la page de documentation de l’API et case activée que les paramètres envoyés correspondent à l’exemple approprié.

ID de demande de corrélation

Chaque réponse d’erreur contient un paramètre d’ID unique pour le suivi.

Le nom de propriété de ce paramètre est « target ».

Lorsque vous nous contactez au sujet d’une erreur, l’attachement de cet ID permet de trouver la cause racine du problème.

Exemples

{
    "error": {
        "code": "ResourceNotFound",
        "message": "Machine 123123123 was not found",
        "target": "43f4cb08-8fac-4b65-9db1-745c2ae65f3a"
    }
}
{
    "error": {
        "code": "InvalidRequestBody",
        "message": "Request body is incorrect",
        "target": "1fa66c0f-18bd-4133-b378-36d76f3a2ba0"
    }
}

Conseil

Voulez-vous en savoir plus ? Engage avec la communauté Microsoft Security dans notre communauté technique : Microsoft Defender pour point de terminaison Tech Community.