Tous les points d’accès de l’API Fileverity avec leurs paramètres, schémas de requête et de réponse, codes d’erreur et exemples, générés à partir de la spécification OpenAPI 3.1.
Cette référence est générée à partir du document OpenAPI 3.1 de l’API, disponible à l’adresse https://api.fileverity.com/v1/openapi.json, et reste donc toujours conforme à l’API. Pour les concepts et les guides, commencez par la Vue d’ensemble.
URL de base : https://api.fileverity.com/v1. Authentifiez chaque requête avec Authorization: Bearer <key>. Les erreurs ont toutes le même format, décrit dans Erreurs. Chaque réponse comporte un en-tête x-request-id, et les réponses authentifiées comportent les en-têtes de limite de débit décrits dans Limites de débit et en-têtes. Les objets imbriqués s’ouvrent dans des sections repliables sous le tableau.
Classe un texte brut comme rédigé par IA, en partie rédigé par IA ou rédigé par une personne, et renvoie les passages rédigés par IA. Le texte est évalué puis supprimé ; il n’est pas conservé. La facturation compte les points de code Unicode par tranches de 1 000 caractères, arrondies à la tranche supérieure pour chaque requête. Les requêtes rejetées avant l’évaluation ne sont pas facturées. Les clés de test renvoient sans frais un résultat fixe correspondant à un texte rédigé par une personne.
Paramètres
Nom
Emplacement
Type
Obligatoire
Description
Idempotency-Key
en-tête
chaîne
Non
Clé unique de 255 caractères au maximum. Répéter la requête avec la même clé et le même corps dans un délai de 24 heures renvoie la première réponse avec l’en-tête idempotent-replayed: true ; la même clé avec un corps différent renvoie 409.
Corps de la requête : application/json, obligatoire
Champ
Type
Obligatoire
Description
model
chaîne
Non
ID de modèle ou ID d’instantané. Valeur par défaut : "fvdoc-3-text".
text
chaîne
Oui
Texte brut, d’au moins 100 mots et de 100 000 caractères au maximum.
language
une valeur parmi "en", "fr", "de", "es", "zh", null
Non
Code ISO 639-1. Détecté automatiquement s’il est omis. Valeur par défaut : null.
L’analyse n’a pas pu aboutir ; rien n’est facturé. Codes d’erreur : analysis_failed.
Error
503
Temporairement indisponible ou saturé ; rien n’est facturé. Réessayez après le nombre de secondes indiqué dans l’en-tête retry-after. Codes d’erreur : service_unavailable.
Error
Réponse 200 : TextDetection
Champ
Type
Obligatoire
Description
id
chaîne
Oui
object
"text.detection"
Oui
created
entier
Oui
Horodatage Unix.
model
chaîne
Oui
Instantané qui a produit le résultat.
livemode
booléen
Oui
Vaut false pour les clés de test.
language
une valeur parmi "en", "fr", "de", "es", "zh"
Oui
verdict
une valeur parmi "ai", "mixed", "human"
Oui
ai : le texte semble entièrement rédigé par IA ; mixed : des passages rédigés par IA au sein d’un texte humain ; human : aucun passage rédigé par IA trouvé.
score
nombre
Oui
Score du modèle pour le passage qui ressemble le plus à du texte rédigé par IA. Minimum : 0. Maximum : 1.
ai_fraction
nombre
Oui
Part du texte évalué contenue dans des segments rédigés par IA. Minimum : 0. Maximum : 1.
segments
tableau d’objets
Oui
Passages rédigés par IA, indiqués par leurs positions dans le texte soumis, en points de code Unicode. Les limites sont approximatives et peuvent inclure des phrases adjacentes.
usage
objet
Oui
segments : champs
Champ
Type
Obligatoire
Description
start
entier
Oui
end
entier
Oui
Borne exclue.
score
nombre
Oui
Minimum : 0. Maximum : 1.
usage : champs
Champ
Type
Obligatoire
Description
characters
entier
Oui
Points de code Unicode évalués.
free_characters
entier
Oui
Caractères couverts par le quota de votre démarrage gratuit, non facturés.
billed_units
entier
Oui
Unités de 1 000 caractères effectivement facturées, après déduction des caractères gratuits ; billed_units × prix unitaire correspond au coût.
Téléverse un fichier en vue de son analyse. Envoyez les fichiers de 4 Mo maximum en multipart/form-data, dans le champ file ; la réponse a le statut uploaded. Les fichiers de plus de 4 Mo doivent être téléversés avec une URL présignée. Envoyez du JSON avec filename, content_type et bytes (documents de 50 Mo maximum) ; la réponse a le statut pending et un objet upload contenant une URL présignée : envoyez-y les octets du fichier avec PUT et les en-têtes indiqués avant son expiration. Un fichier est supprimé au démarrage d’une analyse et, au plus tard, après 24 heures. Un espace de travail peut contenir au maximum 50 fichiers non expirés et 200 Mo par mode à la fois.
Paramètres
Nom
Emplacement
Type
Obligatoire
Description
Idempotency-Key
en-tête
chaîne
Non
Clé unique de 255 caractères au maximum. Répéter la requête avec la même clé et le même corps dans un délai de 24 heures renvoie la première réponse avec l’en-tête idempotent-replayed: true ; la même clé avec un corps différent renvoie 409.
Corps de la requête : multipart/form-data, obligatoire
Champ
Type
Obligatoire
Description
file
chaîne
Oui
Format : binary.
Corps de la requête : application/json, obligatoire
Champ
Type
Obligatoire
Description
filename
chaîne
Non
content_type
chaîne
Oui
Type MIME du fichier, par exemple image/jpeg ou application/pdf.
bytes
entier
Oui
Taille exacte en octets. Minimum : 1. Maximum : 52 428 800.
Analyse un fichier téléversé avec fvimg-2 (images) ou fvdoc-3 (documents). Une analyse correspond à une vérification d’image ou de document. La réponse est 202 avec le statut processing ; le résultat arrive par webhook ou par interrogation de GET /analyses/{id}. Envoyez Prefer: wait=N (jusqu’à 60 secondes) pour maintenir la requête ouverte jusqu’à ce que le résultat soit prêt ; une analyse terminée renvoie 200. Le prix est réservé à la création de l’analyse et libéré si elle échoue ou est annulée. Les résultats sont conservés 7 jours. Lorsque la capacité est saturée, l’API renvoie 503 service_unavailable avec un en-tête retry-after et ne facture rien : réessayez avec la même Idempotency-Key, et exécutez les analyses d’images l’une après l’autre pour un débit optimal. Les clés de test renvoient un résultat d’exemple et ne sont jamais facturées ; le rapport d’exemple ne contient que quelques champs.
Paramètres
Nom
Emplacement
Type
Obligatoire
Description
Idempotency-Key
en-tête
chaîne
Non
Clé unique de 255 caractères au maximum. Répéter la requête avec la même clé et le même corps dans un délai de 24 heures renvoie la première réponse avec l’en-tête idempotent-replayed: true ; la même clé avec un corps différent renvoie 409.
Prefer
en-tête
chaîne
Non
wait=N maintient la requête ouverte jusqu’à N secondes (60 au maximum), le temps que l’analyse se termine.
Corps de la requête : application/json, obligatoire
Champ
Type
Obligatoire
Description
model
une valeur parmi "fvimg-2", "fvimg-2-2026-10-30", "fvdoc-3", "fvdoc-3-2026-11-03"
Oui
ID de modèle ou ID d’instantané. fvimg-2 analyse les images, fvdoc-3 les documents.
file
chaîne
Oui
ID d’un fichier téléversé.
metadata
objet de chaînes
Non
Jusqu’à 16 paires de chaînes (clés de 40 caractères au maximum, valeurs de 500 au maximum), renvoyées avec l’analyse et dans les webhooks.
options
objet
Non
options : champs
Champ
Type
Obligatoire
Description
password
chaîne
Non
Mot de passe d’un document chiffré. Longueur maximale : 256.
locale
une valeur parmi "en", "fr", "de", "es", "zh", "vi", "ar"
Non
Langue des constats du document. Valeur par défaut : "en".
L’analyse n’a pas pu aboutir ; rien n’est facturé. Codes d’erreur : analysis_failed.
Error
503
Temporairement indisponible ou saturé ; rien n’est facturé. Réessayez après le nombre de secondes indiqué dans l’en-tête retry-after. Codes d’erreur : service_unavailable.
Error
Réponse 200 : Analysis
Champ
Type
Obligatoire
Description
id
chaîne
Oui
object
"analysis"
Oui
created
entier
Oui
Horodatage Unix.
model
chaîne
Oui
Instantané qui a produit le résultat.
livemode
booléen
Oui
status
une valeur parmi "processing", "succeeded", "failed", "canceled"
Oui
file
objet
Oui
report_id
chaîne ou null
Oui
ID de rapport vérifiable, FV-XXXX-XXXX-XXXX.
report_url
chaîne ou null
Oui
Page de vérification publique du rapport.
summary
ImageSummary ou DocumentSummary ou null
Oui
Le verdict court et stable : un ImageSummary pour les images, un DocumentSummary pour les documents, null tant que l’analyse n’a pas abouti.
result
objet ou null
Oui
Présent dès que le statut est succeeded et jusqu’à l’expiration du résultat.
error
objet ou null
Oui
progress
objet ou null
Oui
usage
objet
Oui
metadata
objet ou null
Oui
completed_at
entier ou null
Oui
expires_at
entier ou null
Oui
Horodatage Unix après lequel le résultat est supprimé.
file : champs
Champ
Type
Obligatoire
Description
name
chaîne ou null
Non
bytes
entier ou null
Non
format
chaîne ou null
Non
summary (ImageSummary) : champs
Champ
Type
Obligatoire
Description
level
une valeur parmi "L0", "L1", "L2", "L3", "L4", "L5"
Oui
Niveau de risque, de L0 à L5.
assessment
une valeur parmi "authentic_untouched", "authentic_locally_edited", "ai_generated", "undetermined"
Oui
action
une valeur parmi "accept", "review", "reject", "resubmit"
Oui
ai
une valeur parmi "labelled", "very_likely", "suspected", "undecided", "low", "very_low", "not_evaluated"
Oui
Le constat sur la génération par IA.
edit
une valeur parmi "detected", "suspected", "suspected_record", "review", "generative", "minor", "none", "not_applicable", "not_evaluated"
Oui
Le constat sur la retouche locale.
summary (DocumentSummary) : champs
Champ
Type
Obligatoire
Description
kind
"docpro"
Oui
level
une valeur parmi "L0", "L1", "L2", "L3", "L4", "L5"
Oui
Niveau de risque, de L0 à L5.
action
une valeur parmi "accept", "note", "review", "reject", "resubmit"
Oui
note : vérifiez le contenu IA marqué dans le rapport au regard de votre politique.
reason
chaîne ou null
Oui
Le constat ou la condition à l’origine du niveau, par exemple clean ou incomplete, ou un ID de constat.
findings
tableau de chaînes
Oui
ID des constats importants.
pages
entier
Oui
Pages du document.
images
entier
Oui
Photos intégrées examinées.
text
une valeur parmi "ai_generated", "mixed", "human", "inconclusive", null
Oui
Le verdict sur le texte du document, ou null lorsque le texte n’a pas été évalué.
strong
true
Non
Présent lorsqu’un des constats répertoriés est solide.
result : champs
Champ
Type
Obligatoire
Description
report
ImageReport ou DocumentReport
Non
Le rapport complet. report.schema vaut fileverity.report/1 pour les images et fileverity.docpro/1 pour les documents.
stamped_at
entier ou null
Non
Horodatage Unix correspondant à l’horodatage RFC 3161 émis pour le rapport, ou null.
report (ImageReport) : champs
Champ
Type
Obligatoire
Description
schema
"fileverity.report/1"
Oui
id
chaîne
Oui
ID de rapport, FV-XXXX-XXXX-XXXX.
sample
true
Non
Présent dans les rapports d’exemple fixes renvoyés par les clés de test.
issuedAt
chaîne
Non
Date d’émission du rapport, ISO 8601 en UTC. Format : date-time.
issuer
objet
Non
Émetteur du rapport.
file
objet
Non
L’image vérifiée.
pro
objet
Non
Le verdict. Les mêmes valeurs que summary, avec reason.
score
entier ou null
Non
Score d’authenticité de 0 à 100 par paliers de 5 : dans quelle mesure les preuves étayent le caractère authentique et non retouché de la prise de vue. null si non évalué.
confidence
une valeur parmi "high", "medium", "low"
Non
Ce que ce fichier permet à l’analyse d’établir. Une confiance faible tient en général au fichier lui-même, par exemple une faible résolution ou une forte compression.
questions
objet
Non
Les trois questions auxquelles le rapport répond.
generator
objet ou null
Non
Le générateur d’IA identifié pour l’image, ou null.
regions
tableau d’objets
Non
Zones signalées, en pixels de l’image affichée.
provenance
objet
Non
Ce que les données propres au fichier indiquent sur son origine.
digest
chaîne
Non
Empreinte du contenu du rapport, utilisée par la page de vérification.
issuer : champs
Champ
Type
Obligatoire
Description
name
chaîne
Non
operator
chaîne
Non
verify
chaîne
Non
Page de vérification publique du rapport.
file : champs
Champ
Type
Obligatoire
Description
name
chaîne ou null
Non
sha256
chaîne
Non
SHA-256 du fichier vérifié, en hexadécimal.
bytes
entier
Non
width
entier
Non
Largeur en pixels, telle qu’affichée.
height
entier
Non
Hauteur en pixels, telle qu’affichée.
format
chaîne
Non
pro : champs
Champ
Type
Obligatoire
Description
level
une valeur parmi "L0", "L1", "L2", "L3", "L4", "L5"
Non
Niveau de risque, de L0 à L5.
action
une valeur parmi "accept", "review", "reject", "resubmit"
Non
assessment
une valeur parmi "authentic_untouched", "authentic_locally_edited", "ai_generated", "undetermined"
Non
reason
chaîne ou null
Non
questions : champs
Champ
Type
Obligatoire
Description
ai
objet
Non
edit
objet
Non
source
objet
Non
ai : champs
Champ
Type
Obligatoire
Description
key
une valeur parmi "labelled", "very_likely", "suspected", "undecided", "low", "very_low", "not_evaluated"
Non
basis
une valeur parmi "verified", "detected", "declared", null
Non
Ce sur quoi repose la réponse.
strength
une valeur parmi "strong", "moderate", "limited", null
Non
Dans quelle mesure les preuves étayent la réponse.
likelihood
entier ou null
Non
Probabilité de génération par IA, de 0 à 100 par paliers de 5, ou null.
edit : champs
Champ
Type
Obligatoire
Description
key
une valeur parmi "detected", "suspected", "suspected_record", "review", "generative", "minor", "none", "not_applicable", "not_evaluated"
Non
basis
une valeur parmi "verified", "detected", "declared", null
Non
Ce sur quoi repose la réponse.
strength
une valeur parmi "strong", "moderate", "limited", null
Non
Dans quelle mesure les preuves étayent la réponse.
regions
entier
Non
Nombre de zones signalées.
source : champs
Champ
Type
Obligatoire
Description
key
chaîne
Non
basis
une valeur parmi "verified", "detected", "declared", null
Non
Ce sur quoi repose la réponse.
strength
une valeur parmi "strong", "moderate", "limited", null
Non
Dans quelle mesure les preuves étayent la réponse.
signer
chaîne ou null
Non
aiClaim
booléen
Non
Indique si les données propres au fichier affirment une génération par IA.
generator : champs
Champ
Type
Obligatoire
Description
name
chaîne
Non
basis
chaîne
Non
Comment le générateur a été identifié.
regions : champs
Champ
Type
Obligatoire
Description
id
chaîne
Non
x
entier
Non
y
entier
Non
w
entier
Non
h
entier
Non
strength
une valeur parmi "high", "medium"
Non
provenance : champs
Champ
Type
Obligatoire
Description
credentials
une valeur parmi "valid", "unverified", "issues", "invalid", "removed", "none"
Non
État des Content Credentials.
signer
chaîne ou null
Non
software
tableau de chaînes
Non
Logiciel nommé dans les données du fichier.
camera
chaîne ou null
Non
captured
chaîne ou null
Non
Date de prise de vue enregistrée dans le fichier, le cas échéant.
report (DocumentReport) : champs
Champ
Type
Obligatoire
Description
schema
"fileverity.docpro/1"
Oui
id
chaîne
Oui
ID de rapport, FV-XXXX-XXXX-XXXX.
sample
true
Non
Présent dans les rapports d’exemple fixes renvoyés par les clés de test.
issuedAt
chaîne
Non
Date d’émission du rapport, ISO 8601 en UTC. Format : date-time.
receivedAt
chaîne
Non
Date de réception du fichier, ISO 8601 en UTC. Format : date-time.
issuer
objet
Non
Émetteur du rapport.
file
objet
Non
Le document vérifié.
level
une valeur parmi "L0", "L1", "L2", "L3", "L4", "L5"
Non
Niveau de risque, de L0 à L5.
action
une valeur parmi "accept", "note", "review", "reject", "resubmit"
Non
reason
chaîne ou null
Non
Le constat ou la condition à l’origine du niveau.
findings
tableau d’objets
Non
Les constats à l’origine du niveau, chacun avec les pages et les photos intégrées auxquelles il se rapporte.
text
objet
Non
Le résultat pour le texte du document.
images
tableau d’objets
Non
Les photos et graphiques intégrés, numérotés dans l’ordre du document.
structure
objet ou null
Non
L’historique des modifications du fichier, ou null s’il n’a pas été examiné.
provenance
objet
Non
Ce que les données propres au fichier indiquent sur son origine.
digest
chaîne
Non
Empreinte du contenu du rapport, utilisée par la page de vérification.
issuer : champs
Champ
Type
Obligatoire
Description
name
chaîne
Non
operator
chaîne
Non
verify
chaîne
Non
Page de vérification publique du rapport.
file : champs
Champ
Type
Obligatoire
Description
name
chaîne ou null
Non
sha256
chaîne
Non
SHA-256 du fichier vérifié, en hexadécimal.
bytes
entier
Non
format
chaîne
Non
pages
entier
Non
textLayer
une valeur parmi "present", "partial", "absent"
Non
Indique si le document contient une couche de texte.
findings : champs
Champ
Type
Obligatoire
Description
id
chaîne
Non
basis
une valeur parmi "verified", "detected", "declared"
Non
strength
une valeur parmi "strong", "moderate", "limited"
Non
material
booléen
Non
Indique si le constat compte dans le niveau.
pages
tableau d’entiers
Non
images
tableau d’entiers
Non
text : champs
Champ
Type
Obligatoire
Description
status
une valeur parmi "evaluated", "insufficient_text", "unsupported_language", "no_text"
Non
verdict
une valeur parmi "ai_generated", "mixed", "human", "inconclusive"
Non
Présent lorsque le statut est evaluated.
words
entier
Non
languages
tableau de chaînes
Non
passages
entier
Non
Nombre de passages marqués.
images : champs
Champ
Type
Obligatoire
Description
n
entier
Non
pages
tableau d’entiers
Non
kind
une valeur parmi "photo", "graphic"
Non
width
entier
Non
height
entier
Non
level
une valeur parmi "L0", "L1", "L2", "L3", "L4", "L5", null
Non
assessment
une valeur parmi "authentic_untouched", "authentic_locally_edited", "ai_generated", "undetermined", null
Non
ai
une valeur parmi "labelled", "very_likely", "suspected", "undecided", "low", "very_low", "not_evaluated", null
Non
edit
une valeur parmi "detected", "suspected", "suspected_record", "review", "generative", "minor", "none", "not_applicable", "not_evaluated", null
Non
structure : champs
Champ
Type
Obligatoire
Description
revisions
entier ou null
Non
changedPages
tableau d’entiers
Non
addedPages
entier
Non
signatures
entier
Non
provenance : champs
Champ
Type
Obligatoire
Description
credentials
chaîne
Non
État des Content Credentials.
signer
chaîne ou null
Non
aiClaim
booléen
Non
Indique si les données propres au fichier affirment une génération par IA.
Liste les analyses d’images et de documents de votre espace de travail, des plus récentes aux plus anciennes. Les clés de test reçoivent toujours une liste vide.
Paramètres
Nom
Emplacement
Type
Obligatoire
Description
limit
requête
entier
Non
Valeur par défaut : 20. Minimum : 1. Maximum : 100.
Annule une analyse de document encore en cours et libère le montant réservé. Les analyses d’images ne peuvent plus être annulées une fois créées.
Paramètres
Nom
Emplacement
Type
Obligatoire
Description
id
chemin
chaîne
Oui
ID de l’analyse.
Idempotency-Key
en-tête
chaîne
Non
Clé unique de 255 caractères au maximum. Répéter la requête avec la même clé et le même corps dans un délai de 24 heures renvoie la première réponse avec l’en-tête idempotent-replayed: true ; la même clé avec un corps différent renvoie 409.
Renvoie le rapport PDF scellé d’une analyse réussie tant que son résultat est conservé. Les clés de test reçoivent 404. Les preuves du document, comme les images de pages, sont disponibles pendant 3 heures après l’analyse ; ensuite, le PDF ne les contient plus, ce que signale x-evidence-included: false.
Paramètres
Nom
Emplacement
Type
Obligatoire
Description
id
chemin
chaîne
Oui
ID de l’analyse.
locale
requête
une valeur parmi "en", "fr", "de", "es", "zh", "vi", "ar"
{"object":"list","data":[{"id":"fvimg-2","object":"model","created": 1793318400,"owned_by":"fileverity","name":"FVIMG V2","type":"image","description":"Image authenticity analysis. Detects AI generation and local edits, checks content credentials and metadata, and returns a verifiable report.","snapshot":"fvimg-2-2026-10-30","status":"available","input":{"formats":["jpeg","png","webp"],"max_bytes": 10485760,"max_megapixels": 40},"output":{"schema":"fileverity.report/1"},"pricing":{"currency":"usd","unit":"image","unit_amount": 199}},{"id":"fvdoc-3","object":"model","created": 1793664000,"owned_by":"fileverity","name":"FVDOC V3","type":"document","description":"Document fraud analysis. Evaluates AI-written text, embedded photos, edit history and signatures, and returns a verifiable report.","snapshot":"fvdoc-3-2026-11-03","status":"available","input":{"formats":["pdf","docx","doc","rtf","odt","pptx","txt"],"max_bytes": 52428800,"max_pages": 100},"output":{"schema":"fileverity.docpro/1"},"pricing":{"currency":"usd","unit":"document","unit_amount": 599}},{"id":"fvdoc-3-text","object":"model","created": 1793664000,"owned_by":"fileverity","name":"FVDOC V3 Text","type":"text","description":"AI-written text detection. Classifies plain text as AI-written, partly AI-written or human-written and marks the AI-written passages.","snapshot":"fvdoc-3-text-2026-11-03","status":"available","input":{"languages":["en","fr","de","es","zh"],"min_words": 100,"max_characters": 100000},"output":{"schema":"fileverity.text-detection/1"},"pricing":{"currency":"usd","unit":"1000_characters","unit_amount": 14}}]}
{"id":"fvimg-2","object":"model","created": 1793318400,"owned_by":"fileverity","name":"FVIMG V2","type":"image","description":"Image authenticity analysis. Detects AI generation and local edits, checks content credentials and metadata, and returns a verifiable report.","snapshot":"fvimg-2-2026-10-30","status":"available","input":{"formats":["jpeg","png","webp"],"max_bytes": 10485760,"max_megapixels": 40},"output":{"schema":"fileverity.report/1"},"pricing":{"currency":"usd","unit":"image","unit_amount": 199}}
Envoyé à vos points de terminaison webhook selon la spécification Standard Webhooks : les en-têtes webhook-id, webhook-timestamp et webhook-signature (v1,<base64 HMAC-SHA256 de id.timestamp.body>, avec pour clé la partie base64 de votre secret whsec_). Répondez par un code 2xx quelconque dans un délai de 10 secondes ; les échecs donnent lieu à de nouvelles tentatives avec un backoff exponentiel pendant 3 jours.
Corps de la requête : application/json, obligatoire
Champ
Type
Obligatoire
Description
id
chaîne
Oui
Également envoyé dans l’en-tête webhook-id ; utilisez-le pour dédupliquer les nouvelles tentatives.
object
"event"
Oui
type
une valeur parmi "analysis.completed", "analysis.failed", "balance.low"
Oui
created
entier
Oui
Horodatage Unix.
data
Analysis ou BalanceLow
Oui
Les événements analysis.* contiennent le même objet que GET /analyses/{id}, avec result toujours à null ; récupérez le résultat avec ce point d’accès. Les événements balance.low contiennent le solde et le seuil en cents.
Envoyé à vos points de terminaison webhook selon la spécification Standard Webhooks : les en-têtes webhook-id, webhook-timestamp et webhook-signature (v1,<base64 HMAC-SHA256 de id.timestamp.body>, avec pour clé la partie base64 de votre secret whsec_). Répondez par un code 2xx quelconque dans un délai de 10 secondes ; les échecs donnent lieu à de nouvelles tentatives avec un backoff exponentiel pendant 3 jours.
Corps de la requête : application/json, obligatoire
Champ
Type
Obligatoire
Description
id
chaîne
Oui
Également envoyé dans l’en-tête webhook-id ; utilisez-le pour dédupliquer les nouvelles tentatives.
object
"event"
Oui
type
une valeur parmi "analysis.completed", "analysis.failed", "balance.low"
Oui
created
entier
Oui
Horodatage Unix.
data
Analysis ou BalanceLow
Oui
Les événements analysis.* contiennent le même objet que GET /analyses/{id}, avec result toujours à null ; récupérez le résultat avec ce point d’accès. Les événements balance.low contiennent le solde et le seuil en cents.
Envoyé à vos points de terminaison webhook selon la spécification Standard Webhooks : les en-têtes webhook-id, webhook-timestamp et webhook-signature (v1,<base64 HMAC-SHA256 de id.timestamp.body>, avec pour clé la partie base64 de votre secret whsec_). Répondez par un code 2xx quelconque dans un délai de 10 secondes ; les échecs donnent lieu à de nouvelles tentatives avec un backoff exponentiel pendant 3 jours.
Corps de la requête : application/json, obligatoire
Champ
Type
Obligatoire
Description
id
chaîne
Oui
Également envoyé dans l’en-tête webhook-id ; utilisez-le pour dédupliquer les nouvelles tentatives.
object
"event"
Oui
type
une valeur parmi "analysis.completed", "analysis.failed", "balance.low"
Oui
created
entier
Oui
Horodatage Unix.
data
Analysis ou BalanceLow
Oui
Les événements analysis.* contiennent le même objet que GET /analyses/{id}, avec result toujours à null ; récupérez le résultat avec ce point d’accès. Les événements balance.low contiennent le solde et le seuil en cents.