Zum Inhalt springen

Fileverity-API-Dokumentation

API-Referenz

Jeder Endpunkt der Fileverity-API mit Parametern, Anfrage- und Antwortschemas, Fehlercodes und Beispielen, erzeugt aus der OpenAPI-3.1-Spezifikation.

Als Markdown ansehenAktualisiert am 2026-11-04

Diese Referenz wird aus dem OpenAPI-3.1-Dokument der API erzeugt, das unter https://api.fileverity.com/v1/openapi.json verfügbar ist, und stimmt daher immer mit der API überein. Für Konzepte und Anleitungen beginnen Sie mit der Übersicht.

Konventionen

Basis-URL: https://api.fileverity.com/v1. Authentifizieren Sie jede Anfrage mit Authorization: Bearer <key>. Fehler haben ein einheitliches Format, das unter Fehler beschrieben ist. Jede Antwort enthält einen Header x-request-id, und authentifizierte Antworten enthalten die unter Rate-Limits und Header beschriebenen Rate-Limit-Header. Verschachtelte Objekte lassen sich in ausklappbaren Bereichen unter der Tabelle öffnen.

Textprüfungen

Von KI verfassten Text erkennen

POST https://api.fileverity.com/v1/text/detections

Stuft reinen Text als von KI verfasst, teilweise von KI verfasst oder von Menschen verfasst ein und gibt die von KI verfassten Passagen zurück. Der Text wird ausgewertet und verworfen; er wird nicht gespeichert. Abgerechnet werden Unicode-Codepoints in Einheiten von 1.000 Zeichen, pro Anfrage aufgerundet. Anfragen, die vor der Auswertung abgelehnt werden, werden nicht berechnet. Testschlüssel liefern kostenlos ein festes Ergebnis für einen von Menschen verfassten Text.

Parameter

NameOrtTypErforderlichBeschreibung
Idempotency-KeyHeaderstringNeinEindeutiger Schlüssel mit bis zu 255 Zeichen. Wird die Anfrage innerhalb von 24 Stunden mit demselben Schlüssel und demselben Anfragetext wiederholt, gibt sie die erste Antwort mit dem Header idempotent-replayed: true zurück; derselbe Schlüssel mit einem anderen Anfragetext gibt 409 zurück.

Anfragetext: application/json, erforderlich

FeldTypErforderlichBeschreibung
modelstringNeinModell-ID oder Snapshot-ID. Standardwert "fvdoc-3-text".
textstringJaReiner Text mit mindestens 100 Wörtern und höchstens 100.000 Zeichen.
languageeiner der Werte "en", "fr", "de", "es", "zh", nullNeinISO-639-1-Code. Wird automatisch erkannt, wenn er weggelassen wird. Standardwert null.

Antworten

StatusBeschreibungAntworttext
200Das Erkennungsergebnis.TextDetection
400Ungültige Anfrage. Fehlercodes: invalid_json, missing_parameter, text_too_short, unsupported_language, invalid_parameter.Error
401Fehlender oder ungültiger API-Schlüssel. Fehlercodes: missing_api_key, invalid_api_key.Error
402Das Guthaben oder das monatliche Ausgabenlimit des Schlüssels reicht für die Anfrage nicht aus. Fehlercodes: insufficient_balance, spend_limit_reached.Error
404Ressource nicht gefunden. Fehlercodes: model_not_found.Error
409Konflikt mit dem aktuellen Zustand. Fehlercodes: idempotency_mismatch, idempotency_in_progress.Error
413Ein Größenlimit wurde überschritten. Fehlercodes: text_too_long.Error
415Nicht unterstützter Medientyp oder nicht unterstütztes Dateiformat. Fehlercodes: unsupported_media_type.Error
429Zu viele Anfragen. Fehlercodes: rate_limited.Error
500Interner Fehler; nicht berechnet. Fehlercodes: internal_error.Error
502Die Analyse konnte nicht abgeschlossen werden; nicht berechnet. Fehlercodes: analysis_failed.Error
503Vorübergehend nicht verfügbar oder ausgelastet; nicht berechnet. Versuchen Sie es nach der im Header retry-after angegebenen Anzahl von Sekunden erneut. Fehlercodes: service_unavailable.Error

Antwort 200: TextDetection

FeldTypErforderlichBeschreibung
idstringJa
object"text.detection"Ja
createdintegerJaUnix-Zeitstempel.
modelstringJaSnapshot, der das Ergebnis erzeugt hat.
livemodebooleanJaBei Testschlüsseln false.
languageeiner der Werte "en", "fr", "de", "es", "zh"Ja
verdicteiner der Werte "ai", "mixed", "human"Jaai: Der Text wirkt durchgehend von KI verfasst; mixed: von KI verfasste Passagen in einem von Menschen verfassten Text; human: keine von KI verfasste Passage gefunden.
scorenumberJaModell-Score für die Passage mit der stärksten KI-Ähnlichkeit. Minimum 0. Maximum 1.
ai_fractionnumberJaAnteil des ausgewerteten Textes, der in von KI verfassten Segmenten liegt. Minimum 0. Maximum 1.
segmentsarray von objectJaVon KI verfasste Passagen als Offsets im gesendeten Text, in Unicode-Codepoints. Die Grenzen sind ungefähr und können angrenzende Sätze einschließen.
usageobjectJa
segments: Felder
FeldTypErforderlichBeschreibung
startintegerJa
endintegerJaExklusiv.
scorenumberJaMinimum 0. Maximum 1.
usage: Felder
FeldTypErforderlichBeschreibung
charactersintegerJaAusgewertete Unicode-Codepoints.
free_charactersintegerJaZeichen, die durch Ihr Kontingent des kostenlosen Starts abgedeckt sind und nicht berechnet werden.
billed_unitsintegerJaTatsächlich berechnete Einheiten zu 1.000 Zeichen, nach Abzug der kostenlosen Zeichen; billed_units × Preis pro Einheit ergibt die Kosten.

Fehlercodes

CodeStatus
invalid_json400
missing_parameter400
unsupported_media_type415
text_too_short400
text_too_long413
unsupported_language400
model_not_found404
insufficient_balance402
spend_limit_reached402
service_unavailable503
analysis_failed502
invalid_parameter400
idempotency_mismatch409
idempotency_in_progress409
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

Beispiel

curl https://api.fileverity.com/v1/text/detections \  -H "Authorization: Bearer $FILEVERITY_API_KEY" \  -H "Content-Type: application/json" \  -d "$(jq -Rs '{text: .}' essay.txt)"
{  "id": "tdet_8Hk2pQ4vN9sL1xR7cW3mY6zB",  "object": "text.detection",  "created": 1793664000,  "model": "fvdoc-3-text-2026-11-03",  "livemode": true,  "language": "en",  "verdict": "mixed",  "score": 0.97,  "ai_fraction": 0.41,  "segments": [    {      "start": 212,      "end": 433,      "score": 0.97    },    {      "start": 579,      "end": 790,      "score": 0.93    }  ],  "usage": {    "characters": 1412,    "free_characters": 0,    "billed_units": 2  }}

Dateien

Datei hochladen

POST https://api.fileverity.com/v1/files

Lädt eine Datei zur Analyse hoch. Senden Sie Dateien bis 4 MB als multipart/form-data im Feld file; die Antwort hat den Status uploaded. Dateien über 4 MB müssen über eine vorsignierte URL hochgeladen werden. Senden Sie JSON mit filename, content_type und bytes (Dokumente bis 50 MB); die Antwort hat den Status pending und ein Objekt upload mit einer vorsignierten URL: Senden Sie die Dateibytes vor deren Ablauf mit PUT und den angegebenen Headern an diese URL. Eine Datei wird gelöscht, wenn eine Analyse startet, spätestens aber nach 24 Stunden. Ein Workspace kann pro Modus gleichzeitig bis zu 50 nicht abgelaufene Dateien und 200 MB enthalten.

Parameter

NameOrtTypErforderlichBeschreibung
Idempotency-KeyHeaderstringNeinEindeutiger Schlüssel mit bis zu 255 Zeichen. Wird die Anfrage innerhalb von 24 Stunden mit demselben Schlüssel und demselben Anfragetext wiederholt, gibt sie die erste Antwort mit dem Header idempotent-replayed: true zurück; derselbe Schlüssel mit einem anderen Anfragetext gibt 409 zurück.

Anfragetext: multipart/form-data, erforderlich

FeldTypErforderlichBeschreibung
filestringJaFormat binary.

Anfragetext: application/json, erforderlich

FeldTypErforderlichBeschreibung
filenamestringNein
content_typestringJaMIME-Typ der Datei, zum Beispiel image/jpeg oder application/pdf.
bytesintegerJaGenaue Größe in Bytes. Minimum 1. Maximum 52.428.800.

Antworten

StatusBeschreibungAntworttext
201Die Datei.File
400Ungültige Anfrage. Fehlercodes: invalid_json, missing_parameter, invalid_parameter.Error
401Fehlender oder ungültiger API-Schlüssel. Fehlercodes: missing_api_key, invalid_api_key.Error
409Konflikt mit dem aktuellen Zustand. Fehlercodes: idempotency_mismatch, idempotency_in_progress.Error
413Ein Größenlimit wurde überschritten. Fehlercodes: file_too_large.Error
415Nicht unterstützter Medientyp oder nicht unterstütztes Dateiformat. Fehlercodes: unsupported_media_type, unsupported_file.Error
422Die Datei kann nicht verarbeitet werden. Fehlercodes: invalid_file.Error
429Zu viele Anfragen. Fehlercodes: pending_files_limit, rate_limited.Error
500Interner Fehler; nicht berechnet. Fehlercodes: internal_error.Error

Antwort 201: File

FeldTypErforderlichBeschreibung
idstringJa
object"file"Ja
filenamestring oder nullJa
bytesinteger oder nullJa
content_typestringJa
statuseiner der Werte "pending", "uploaded"Japending, bis die an die vorsignierte URL gesendeten Bytes angekommen sind.
livemodebooleanJaDateien sind nur für Schlüssel desselben Modus sichtbar.
createdintegerJaUnix-Zeitstempel.
expires_atintegerJaUnix-Zeitstempel, nach dem die Datei gelöscht wird.
uploadobjectNeinIn der Antwort auf eine JSON-Upload-Anfrage vorhanden.
upload: Felder
FeldTypErforderlichBeschreibung
urlstringJaTestschlüssel erhalten eine Platzhalter-URL (test: true); es wird nichts hochgeladen oder gespeichert.
method"PUT"Ja
headersobject mit string-WertenJa
expires_atintegerJaUnix-Zeitstempel.
testtrueNein

Fehlercodes

CodeStatus
invalid_json400
missing_parameter400
unsupported_media_type415
unsupported_file415
invalid_file422
file_too_large413
pending_files_limit429
invalid_parameter400
idempotency_mismatch409
idempotency_in_progress409
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

Beispiel

curl https://api.fileverity.com/v1/files \  -H "Authorization: Bearer $FILEVERITY_API_KEY" \  -F file=@claim-photo.jpg
{  "id": "file_8Hk2pQ4vN9sL1xR7cW3mY6zB",  "object": "file",  "filename": "claim-photo.jpg",  "bytes": 2481920,  "content_type": "image/jpeg",  "status": "uploaded",  "livemode": true,  "created": 1793700000,  "expires_at": 1793786400}

Datei abrufen

GET https://api.fileverity.com/v1/files/{id}

Gibt die Datei zurück und zeigt, ob ihre Bytes angekommen sind.

Parameter

NameOrtTypErforderlichBeschreibung
idPfadstringJaDatei-ID.

Antworten

StatusBeschreibungAntworttext
200Die Datei.File
401Fehlender oder ungültiger API-Schlüssel. Fehlercodes: missing_api_key, invalid_api_key.Error
404Ressource nicht gefunden. Fehlercodes: not_found.Error
429Zu viele Anfragen. Fehlercodes: rate_limited.Error
500Interner Fehler; nicht berechnet. Fehlercodes: internal_error.Error

Antwort 200: File

FeldTypErforderlichBeschreibung
idstringJa
object"file"Ja
filenamestring oder nullJa
bytesinteger oder nullJa
content_typestringJa
statuseiner der Werte "pending", "uploaded"Japending, bis die an die vorsignierte URL gesendeten Bytes angekommen sind.
livemodebooleanJaDateien sind nur für Schlüssel desselben Modus sichtbar.
createdintegerJaUnix-Zeitstempel.
expires_atintegerJaUnix-Zeitstempel, nach dem die Datei gelöscht wird.
uploadobjectNeinIn der Antwort auf eine JSON-Upload-Anfrage vorhanden.
upload: Felder
FeldTypErforderlichBeschreibung
urlstringJaTestschlüssel erhalten eine Platzhalter-URL (test: true); es wird nichts hochgeladen oder gespeichert.
method"PUT"Ja
headersobject mit string-WertenJa
expires_atintegerJaUnix-Zeitstempel.
testtrueNein

Fehlercodes

CodeStatus
not_found404
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

Beispiel

curl https://api.fileverity.com/v1/files/file_8Hk2pQ4vN9sL1xR7cW3mY6zB \  -H "Authorization: Bearer $FILEVERITY_API_KEY"
{  "id": "file_8Hk2pQ4vN9sL1xR7cW3mY6zB",  "object": "file",  "filename": "claim-photo.jpg",  "bytes": 2481920,  "content_type": "image/jpeg",  "status": "uploaded",  "livemode": true,  "created": 1793700000,  "expires_at": 1793786400}

Datei löschen

DELETE https://api.fileverity.com/v1/files/{id}

Löscht eine hochgeladene Datei und ihre gespeicherten Bytes.

Parameter

NameOrtTypErforderlichBeschreibung
idPfadstringJaDatei-ID.

Antworten

StatusBeschreibungAntworttext
200Die Datei wurde gelöscht.FileDeleted
401Fehlender oder ungültiger API-Schlüssel. Fehlercodes: missing_api_key, invalid_api_key.Error
404Ressource nicht gefunden. Fehlercodes: not_found.Error
429Zu viele Anfragen. Fehlercodes: rate_limited.Error
500Interner Fehler; nicht berechnet. Fehlercodes: internal_error.Error

Antwort 200: FileDeleted

FeldTypErforderlichBeschreibung
idstringJa
object"file"Ja
deletedtrueJa

Fehlercodes

CodeStatus
not_found404
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

Beispiel

curl -X DELETE https://api.fileverity.com/v1/files/file_8Hk2pQ4vN9sL1xR7cW3mY6zB \  -H "Authorization: Bearer $FILEVERITY_API_KEY"
{  "id": "file_8Hk2pQ4vN9sL1xR7cW3mY6zB",  "object": "file",  "deleted": true}

Analysen

Analyse erstellen

POST https://api.fileverity.com/v1/analyses

Analysiert eine hochgeladene Datei mit fvimg-2 (Bilder) oder fvdoc-3 (Dokumente). Eine Analyse ist eine einzelne Bild- oder Dokumentprüfung. Die Antwort ist 202 mit dem Status processing; das Ergebnis trifft per Webhook ein oder lässt sich per Polling über GET /analyses/{id} abrufen. Senden Sie Prefer: wait=N (bis zu 60 Sekunden), um die Anfrage offen zu halten, bis das Ergebnis vorliegt; eine abgeschlossene Analyse gibt 200 zurück. Der Preis wird beim Erstellen der Analyse reserviert und freigegeben, wenn sie fehlschlägt oder abgebrochen wird. Ergebnisse werden 7 Tage aufbewahrt. Ist die Kapazität ausgelastet, gibt die API 503 service_unavailable mit einem Header retry-after zurück und berechnet nichts: Wiederholen Sie die Anfrage mit demselben Idempotency-Key und führen Sie Bildanalysen nacheinander aus, um den besten Durchsatz zu erzielen. Testschlüssel liefern ein Beispielergebnis und werden nie berechnet; der Beispielbericht enthält nur wenige Felder.

Parameter

NameOrtTypErforderlichBeschreibung
Idempotency-KeyHeaderstringNeinEindeutiger Schlüssel mit bis zu 255 Zeichen. Wird die Anfrage innerhalb von 24 Stunden mit demselben Schlüssel und demselben Anfragetext wiederholt, gibt sie die erste Antwort mit dem Header idempotent-replayed: true zurück; derselbe Schlüssel mit einem anderen Anfragetext gibt 409 zurück.
PreferHeaderstringNeinwait=N hält die Anfrage bis zu N Sekunden (maximal 60) offen, bis die Analyse abgeschlossen ist.

Anfragetext: application/json, erforderlich

FeldTypErforderlichBeschreibung
modeleiner der Werte "fvimg-2", "fvimg-2-2026-10-30", "fvdoc-3", "fvdoc-3-2026-11-03"JaModell-ID oder Snapshot-ID. fvimg-2 analysiert Bilder, fvdoc-3 Dokumente.
filestringJaID einer hochgeladenen Datei.
metadataobject mit string-WertenNeinBis zu 16 String-Paare (Schlüssel bis zu 40 Zeichen, Werte bis zu 500), die mit der Analyse und in Webhooks zurückgegeben werden.
optionsobjectNein
options: Felder
FeldTypErforderlichBeschreibung
passwordstringNeinPasswort eines verschlüsselten Dokuments. Maximale Länge 256.
localeeiner der Werte "en", "fr", "de", "es", "zh", "vi", "ar"NeinSprache der Dokumentbefunde. Standardwert "en".

Antworten

StatusBeschreibungAntworttext
200Die abgeschlossene Analyse.Analysis
202Die Analyse wird verarbeitet.Analysis
400Ungültige Anfrage. Fehlercodes: invalid_json, missing_parameter, file_not_found, invalid_parameter.Error
401Fehlender oder ungültiger API-Schlüssel. Fehlercodes: missing_api_key, invalid_api_key.Error
402Das Guthaben oder das monatliche Ausgabenlimit des Schlüssels reicht für die Anfrage nicht aus. Fehlercodes: insufficient_balance, spend_limit_reached.Error
404Ressource nicht gefunden. Fehlercodes: model_not_found.Error
409Konflikt mit dem aktuellen Zustand. Fehlercodes: idempotency_mismatch, idempotency_in_progress.Error
413Ein Größenlimit wurde überschritten. Fehlercodes: file_too_large, too_many_pixels, too_many_pages, document_too_long.Error
415Nicht unterstützter Medientyp oder nicht unterstütztes Dateiformat. Fehlercodes: unsupported_media_type, unsupported_file.Error
422Die Datei kann nicht verarbeitet werden. Fehlercodes: invalid_file, password_required, wrong_password, not_examinable.Error
429Zu viele Anfragen. Fehlercodes: rate_limited.Error
500Interner Fehler; nicht berechnet. Fehlercodes: internal_error.Error
502Die Analyse konnte nicht abgeschlossen werden; nicht berechnet. Fehlercodes: analysis_failed.Error
503Vorübergehend nicht verfügbar oder ausgelastet; nicht berechnet. Versuchen Sie es nach der im Header retry-after angegebenen Anzahl von Sekunden erneut. Fehlercodes: service_unavailable.Error

Antwort 200: Analysis

FeldTypErforderlichBeschreibung
idstringJa
object"analysis"Ja
createdintegerJaUnix-Zeitstempel.
modelstringJaSnapshot, der das Ergebnis erzeugt hat.
livemodebooleanJa
statuseiner der Werte "processing", "succeeded", "failed", "canceled"Ja
fileobjectJa
report_idstring oder nullJaÜberprüfbare Berichts-ID, FV-XXXX-XXXX-XXXX.
report_urlstring oder nullJaÖffentliche Verifizierungsseite des Berichts.
summaryImageSummary oder DocumentSummary oder nullJaDie kurze, stabile Einstufung: eine ImageSummary für Bilder, eine DocumentSummary für Dokumente, null, bis die Analyse erfolgreich abgeschlossen ist.
resultobject oder nullJaVorhanden, sobald der Status succeeded ist, und bis das Ergebnis abläuft.
errorobject oder nullJa
progressobject oder nullJa
usageobjectJa
metadataobject oder nullJa
completed_atinteger oder nullJa
expires_atinteger oder nullJaUnix-Zeitstempel, nach dem das Ergebnis gelöscht wird.
file: Felder
FeldTypErforderlichBeschreibung
namestring oder nullNein
bytesinteger oder nullNein
formatstring oder nullNein
summary (ImageSummary): Felder
FeldTypErforderlichBeschreibung
leveleiner der Werte "L0", "L1", "L2", "L3", "L4", "L5"JaRisikostufe, L0 bis L5.
assessmenteiner der Werte "authentic_untouched", "authentic_locally_edited", "ai_generated", "undetermined"Ja
actioneiner der Werte "accept", "review", "reject", "resubmit"Ja
aieiner der Werte "labelled", "very_likely", "suspected", "undecided", "low", "very_low", "not_evaluated"JaDer Befund zur KI-Erzeugung.
editeiner der Werte "detected", "suspected", "suspected_record", "review", "generative", "minor", "none", "not_applicable", "not_evaluated"JaDer Befund zur lokalen Bearbeitung.
summary (DocumentSummary): Felder
FeldTypErforderlichBeschreibung
kind"docpro"Ja
leveleiner der Werte "L0", "L1", "L2", "L3", "L4", "L5"JaRisikostufe, L0 bis L5.
actioneiner der Werte "accept", "note", "review", "reject", "resubmit"Janote: Prüfen Sie die im Bericht markierten KI-Inhalte anhand Ihrer Richtlinie.
reasonstring oder nullJaDer Befund oder Zustand hinter der Stufe, zum Beispiel clean oder incomplete, oder eine Befund-ID.
findingsarray von stringJaIDs der relevanten Befunde.
pagesintegerJaSeiten im Dokument.
imagesintegerJaUntersuchte eingebettete Fotos.
texteiner der Werte "ai_generated", "mixed", "human", "inconclusive", nullJaDie Einstufung des Dokumenttexts oder null, wenn der Text nicht ausgewertet wurde.
strongtrueNeinVorhanden, wenn ein aufgeführter Befund stark ist.
result: Felder
FeldTypErforderlichBeschreibung
reportImageReport oder DocumentReportNeinDer vollständige Bericht. report.schema ist fileverity.report/1 für Bilder und fileverity.docpro/1 für Dokumente.
stamped_atinteger oder nullNeinUnix-Zeitstempel des für den Bericht ausgestellten RFC-3161-Zeitstempels oder null.
report (ImageReport): Felder
FeldTypErforderlichBeschreibung
schema"fileverity.report/1"Ja
idstringJaBerichts-ID, FV-XXXX-XXXX-XXXX.
sampletrueNeinVorhanden in den festen Beispielberichten, die Testschlüssel liefern.
issuedAtstringNeinZeitpunkt der Ausstellung des Berichts, ISO 8601 in UTC. Format date-time.
issuerobjectNeinAussteller des Berichts.
fileobjectNeinDas geprüfte Bild.
proobjectNeinDie Einstufung. Dieselben Werte wie summary, mit reason.
scoreinteger oder nullNeinEchtheitswert von 0 bis 100 in Schritten von 5: wie stark die Belege dafür sprechen, dass das Bild eine echte, unbearbeitete Aufnahme ist. null, wenn nicht ausgewertet.
confidenceeiner der Werte "high", "medium", "low"NeinWie viel sich anhand dieser Datei feststellen lässt. Eine geringe Aussagesicherheit liegt meist an der Datei selbst, etwa an niedriger Auflösung oder starker Komprimierung.
questionsobjectNeinDie drei Fragen, die der Bericht beantwortet.
generatorobject oder nullNeinDer für das Bild genannte KI-Generator oder null.
regionsarray von objectNeinMarkierte Bereiche, in Pixeln des angezeigten Bildes.
provenanceobjectNeinWas die eigenen Angaben der Datei über ihre Herkunft aussagen.
digeststringNeinFingerabdruck des Berichtsinhalts, den die Verifizierungsseite verwendet.
issuer: Felder
FeldTypErforderlichBeschreibung
namestringNein
operatorstringNein
verifystringNeinÖffentliche Verifizierungsseite des Berichts.
file: Felder
FeldTypErforderlichBeschreibung
namestring oder nullNein
sha256stringNeinSHA-256-Hash der geprüften Datei, hexadezimal.
bytesintegerNein
widthintegerNeinBreite in Pixeln, wie angezeigt.
heightintegerNeinHöhe in Pixeln, wie angezeigt.
formatstringNein
pro: Felder
FeldTypErforderlichBeschreibung
leveleiner der Werte "L0", "L1", "L2", "L3", "L4", "L5"NeinRisikostufe, L0 bis L5.
actioneiner der Werte "accept", "review", "reject", "resubmit"Nein
assessmenteiner der Werte "authentic_untouched", "authentic_locally_edited", "ai_generated", "undetermined"Nein
reasonstring oder nullNein
questions: Felder
FeldTypErforderlichBeschreibung
aiobjectNein
editobjectNein
sourceobjectNein
ai: Felder
FeldTypErforderlichBeschreibung
keyeiner der Werte "labelled", "very_likely", "suspected", "undecided", "low", "very_low", "not_evaluated"Nein
basiseiner der Werte "verified", "detected", "declared", nullNeinWorauf die Antwort beruht.
strengtheiner der Werte "strong", "moderate", "limited", nullNeinWie stark die Belege die Antwort stützen.
likelihoodinteger oder nullNeinWahrscheinlichkeit einer KI-Erzeugung von 0 bis 100 in Schritten von 5 oder null.
edit: Felder
FeldTypErforderlichBeschreibung
keyeiner der Werte "detected", "suspected", "suspected_record", "review", "generative", "minor", "none", "not_applicable", "not_evaluated"Nein
basiseiner der Werte "verified", "detected", "declared", nullNeinWorauf die Antwort beruht.
strengtheiner der Werte "strong", "moderate", "limited", nullNeinWie stark die Belege die Antwort stützen.
regionsintegerNeinAnzahl der markierten Bereiche.
source: Felder
FeldTypErforderlichBeschreibung
keystringNein
basiseiner der Werte "verified", "detected", "declared", nullNeinWorauf die Antwort beruht.
strengtheiner der Werte "strong", "moderate", "limited", nullNeinWie stark die Belege die Antwort stützen.
signerstring oder nullNein
aiClaimbooleanNeinOb die eigenen Angaben der Datei eine KI-Erzeugung ausweisen.
generator: Felder
FeldTypErforderlichBeschreibung
namestringNein
basisstringNeinWie der Generator identifiziert wurde.
regions: Felder
FeldTypErforderlichBeschreibung
idstringNein
xintegerNein
yintegerNein
wintegerNein
hintegerNein
strengtheiner der Werte "high", "medium"Nein
provenance: Felder
FeldTypErforderlichBeschreibung
credentialseiner der Werte "valid", "unverified", "issues", "invalid", "removed", "none"NeinZustand der Content Credentials.
signerstring oder nullNein
softwarearray von stringNeinIn den Angaben der Datei genannte Software.
camerastring oder nullNein
capturedstring oder nullNeinIn der Datei erfasster Aufnahmezeitpunkt, falls vorhanden.
report (DocumentReport): Felder
FeldTypErforderlichBeschreibung
schema"fileverity.docpro/1"Ja
idstringJaBerichts-ID, FV-XXXX-XXXX-XXXX.
sampletrueNeinVorhanden in den festen Beispielberichten, die Testschlüssel liefern.
issuedAtstringNeinZeitpunkt der Ausstellung des Berichts, ISO 8601 in UTC. Format date-time.
receivedAtstringNeinZeitpunkt des Dateieingangs, ISO 8601 in UTC. Format date-time.
issuerobjectNeinAussteller des Berichts.
fileobjectNeinDas geprüfte Dokument.
leveleiner der Werte "L0", "L1", "L2", "L3", "L4", "L5"NeinRisikostufe, L0 bis L5.
actioneiner der Werte "accept", "note", "review", "reject", "resubmit"Nein
reasonstring oder nullNeinDer Befund oder Zustand hinter der Stufe.
findingsarray von objectNeinDie Befunde hinter der Stufe, jeweils mit den Seiten und eingebetteten Fotos, auf die sie sich beziehen.
textobjectNeinDas Ergebnis für den Text des Dokuments.
imagesarray von objectNeinDie eingebetteten Fotos und Grafiken, in Dokumentreihenfolge nummeriert.
structureobject oder nullNeinDer Änderungsverlauf der Datei oder null, wenn er nicht untersucht wurde.
provenanceobjectNeinWas die eigenen Angaben der Datei über ihre Herkunft aussagen.
digeststringNeinFingerabdruck des Berichtsinhalts, den die Verifizierungsseite verwendet.
issuer: Felder
FeldTypErforderlichBeschreibung
namestringNein
operatorstringNein
verifystringNeinÖffentliche Verifizierungsseite des Berichts.
file: Felder
FeldTypErforderlichBeschreibung
namestring oder nullNein
sha256stringNeinSHA-256-Hash der geprüften Datei, hexadezimal.
bytesintegerNein
formatstringNein
pagesintegerNein
textLayereiner der Werte "present", "partial", "absent"NeinOb das Dokument eine Textebene enthält.
findings: Felder
FeldTypErforderlichBeschreibung
idstringNein
basiseiner der Werte "verified", "detected", "declared"Nein
strengtheiner der Werte "strong", "moderate", "limited"Nein
materialbooleanNeinOb der Befund in die Stufe einfließt.
pagesarray von integerNein
imagesarray von integerNein
text: Felder
FeldTypErforderlichBeschreibung
statuseiner der Werte "evaluated", "insufficient_text", "unsupported_language", "no_text"Nein
verdicteiner der Werte "ai_generated", "mixed", "human", "inconclusive"NeinVorhanden, wenn der Status evaluated ist.
wordsintegerNein
languagesarray von stringNein
passagesintegerNeinAnzahl der markierten Passagen.
images: Felder
FeldTypErforderlichBeschreibung
nintegerNein
pagesarray von integerNein
kindeiner der Werte "photo", "graphic"Nein
widthintegerNein
heightintegerNein
leveleiner der Werte "L0", "L1", "L2", "L3", "L4", "L5", nullNein
assessmenteiner der Werte "authentic_untouched", "authentic_locally_edited", "ai_generated", "undetermined", nullNein
aieiner der Werte "labelled", "very_likely", "suspected", "undecided", "low", "very_low", "not_evaluated", nullNein
editeiner der Werte "detected", "suspected", "suspected_record", "review", "generative", "minor", "none", "not_applicable", "not_evaluated", nullNein
structure: Felder
FeldTypErforderlichBeschreibung
revisionsinteger oder nullNein
changedPagesarray von integerNein
addedPagesintegerNein
signaturesintegerNein
provenance: Felder
FeldTypErforderlichBeschreibung
credentialsstringNeinZustand der Content Credentials.
signerstring oder nullNein
aiClaimbooleanNeinOb die eigenen Angaben der Datei eine KI-Erzeugung ausweisen.
softwarearray von stringNein
createdstring oder nullNein
modifiedstring oder nullNein
revisionsinteger oder nullNein
signedboolean oder nullNein
error: Felder
FeldTypErforderlichBeschreibung
codeeiner der Werte "invalid_json", "missing_parameter", "invalid_parameter", "text_too_short", "text_too_long", "unsupported_media_type", "unsupported_language", "file_not_found", "unsupported_file", "file_too_large", "too_many_pixels", "too_many_pages", "document_too_long", "invalid_file", "password_required", "wrong_password", "not_examinable", "missing_api_key", "invalid_api_key", "insufficient_balance", "spend_limit_reached", "not_found", "model_not_found", "not_cancelable", "canceled", "idempotency_mismatch", "idempotency_in_progress", "pending_files_limit", "rate_limited", "internal_error", "analysis_failed", "service_unavailable"Nein
messagestringNein
progress: Felder
FeldTypErforderlichBeschreibung
stageeiner der Werte "queued", "reading", "analyzing", "reporting"Nein
doneintegerNeinIn der aktuellen Phase abgeschlossene Einheiten, falls bekannt; andernfalls 0.
totalintegerNeinEinheiten in der aktuellen Phase, falls bekannt; andernfalls 0.
positionintegerNeinPosition in der Warteschlange, solange die Phase queued ist.
usage: Felder
FeldTypErforderlichBeschreibung
amountintegerNeinBerechneter Betrag in Cent; 0 bei Prüfungen aus dem kostenlosen Start und bei Fehlern.
currency"usd"Nein
fundingeiner der Werte "trial", "balance", nullNein

Fehlercodes

CodeStatus
invalid_json400
missing_parameter400
unsupported_media_type415
model_not_found404
file_not_found400
unsupported_file415
invalid_file422
file_too_large413
too_many_pixels413
too_many_pages413
document_too_long413
password_required422
wrong_password422
not_examinable422
insufficient_balance402
spend_limit_reached402
service_unavailable503
analysis_failed502
invalid_parameter400
idempotency_mismatch409
idempotency_in_progress409
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

Beispiel

curl https://api.fileverity.com/v1/analyses \  -H "Authorization: Bearer $FILEVERITY_API_KEY" \  -H "Content-Type: application/json" \  -H "Prefer: wait=60" \  -d '{"model": "fvimg-2", "file": "file_8Hk2pQ4vN9sL1xR7cW3mY6zB"}'
{  "id": "an_8Hk2pQ4vN9sL1xR7cW3mY6zB",  "object": "analysis",  "created": 1793700120,  "model": "fvimg-2-2026-10-30",  "livemode": true,  "status": "succeeded",  "file": {    "name": "claim-photo.jpg",    "bytes": 2481920,    "format": "jpeg"  },  "report_id": "FV-7K2M-9QXD-4T8R",  "report_url": "https://fileverity.com/verify/FV-7K2M-9QXD-4T8R",  "summary": {    "level": "L2",    "assessment": "authentic_untouched",    "action": "accept",    "ai": "very_low",    "edit": "none"  },  "result": {    "report": {      "schema": "fileverity.report/1",      "id": "FV-7K2M-9QXD-4T8R"    },    "stamped_at": 1793700130  },  "error": null,  "progress": null,  "usage": {    "amount": 199,    "currency": "usd",    "funding": "balance"  },  "metadata": {    "order_id": "A-10492"  },  "completed_at": 1793700131,  "expires_at": 1794304931}

Analysen auflisten

GET https://api.fileverity.com/v1/analyses

Listet die Bild- und Dokumentanalysen Ihres Workspace auf, die neuesten zuerst. Testschlüssel erhalten immer eine leere Liste.

Parameter

NameOrtTypErforderlichBeschreibung
limitAbfrageintegerNeinStandardwert 20. Minimum 1. Maximum 100.
starting_afterAbfragestringNeinCursor: der next_cursor der vorherigen Seite.
typeAbfrageeiner der Werte "image", "document"Nein

Antworten

StatusBeschreibungAntworttext
200Eine Seite mit Analysen.AnalysisList
400Ungültige Anfrage. Fehlercodes: invalid_parameter.Error
401Fehlender oder ungültiger API-Schlüssel. Fehlercodes: missing_api_key, invalid_api_key.Error
429Zu viele Anfragen. Fehlercodes: rate_limited.Error
500Interner Fehler; nicht berechnet. Fehlercodes: internal_error.Error

Antwort 200: AnalysisList

FeldTypErforderlichBeschreibung
object"list"Ja
dataarray von AnalysisJa
has_morebooleanJa
next_cursorstring oder nullJaAls starting_after übergeben, um die nächste Seite zu erhalten.
data: Felder
FeldTypErforderlichBeschreibung
idstringJa
object"analysis"Ja
createdintegerJaUnix-Zeitstempel.
modelstringJaSnapshot, der das Ergebnis erzeugt hat.
livemodebooleanJa
statuseiner der Werte "processing", "succeeded", "failed", "canceled"Ja
fileobjectJa
report_idstring oder nullJaÜberprüfbare Berichts-ID, FV-XXXX-XXXX-XXXX.
report_urlstring oder nullJaÖffentliche Verifizierungsseite des Berichts.
summaryImageSummary oder DocumentSummary oder nullJaDie kurze, stabile Einstufung: eine ImageSummary für Bilder, eine DocumentSummary für Dokumente, null, bis die Analyse erfolgreich abgeschlossen ist.
resultobject oder nullJaVorhanden, sobald der Status succeeded ist, und bis das Ergebnis abläuft.
errorobject oder nullJa
progressobject oder nullJa
usageobjectJa
metadataobject oder nullJa
completed_atinteger oder nullJa
expires_atinteger oder nullJaUnix-Zeitstempel, nach dem das Ergebnis gelöscht wird.
file: Felder
FeldTypErforderlichBeschreibung
namestring oder nullNein
bytesinteger oder nullNein
formatstring oder nullNein
result: Felder
FeldTypErforderlichBeschreibung
reportImageReport oder DocumentReportNeinDer vollständige Bericht. report.schema ist fileverity.report/1 für Bilder und fileverity.docpro/1 für Dokumente.
stamped_atinteger oder nullNeinUnix-Zeitstempel des für den Bericht ausgestellten RFC-3161-Zeitstempels oder null.
error: Felder
FeldTypErforderlichBeschreibung
codeeiner der Werte "invalid_json", "missing_parameter", "invalid_parameter", "text_too_short", "text_too_long", "unsupported_media_type", "unsupported_language", "file_not_found", "unsupported_file", "file_too_large", "too_many_pixels", "too_many_pages", "document_too_long", "invalid_file", "password_required", "wrong_password", "not_examinable", "missing_api_key", "invalid_api_key", "insufficient_balance", "spend_limit_reached", "not_found", "model_not_found", "not_cancelable", "canceled", "idempotency_mismatch", "idempotency_in_progress", "pending_files_limit", "rate_limited", "internal_error", "analysis_failed", "service_unavailable"Nein
messagestringNein
progress: Felder
FeldTypErforderlichBeschreibung
stageeiner der Werte "queued", "reading", "analyzing", "reporting"Nein
doneintegerNeinIn der aktuellen Phase abgeschlossene Einheiten, falls bekannt; andernfalls 0.
totalintegerNeinEinheiten in der aktuellen Phase, falls bekannt; andernfalls 0.
positionintegerNeinPosition in der Warteschlange, solange die Phase queued ist.
usage: Felder
FeldTypErforderlichBeschreibung
amountintegerNeinBerechneter Betrag in Cent; 0 bei Prüfungen aus dem kostenlosen Start und bei Fehlern.
currency"usd"Nein
fundingeiner der Werte "trial", "balance", nullNein

Fehlercodes

CodeStatus
invalid_parameter400
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

Beispiel

curl "https://api.fileverity.com/v1/analyses?limit=20&type=image" \  -H "Authorization: Bearer $FILEVERITY_API_KEY"
{  "object": "list",  "data": [    {      "id": "an_8Hk2pQ4vN9sL1xR7cW3mY6zB",      "object": "analysis",      "created": 1793700120,      "model": "fvimg-2-2026-10-30",      "livemode": true,      "status": "succeeded",      "file": {        "name": "claim-photo.jpg",        "bytes": 2481920,        "format": "jpeg"      },      "report_id": "FV-7K2M-9QXD-4T8R",      "report_url": "https://fileverity.com/verify/FV-7K2M-9QXD-4T8R",      "summary": {        "level": "L2",        "assessment": "authentic_untouched",        "action": "accept",        "ai": "very_low",        "edit": "none"      },      "result": {        "report": {          "schema": "fileverity.report/1",          "id": "FV-7K2M-9QXD-4T8R"        },        "stamped_at": 1793700130      },      "error": null,      "progress": null,      "usage": {        "amount": 199,        "currency": "usd",        "funding": "balance"      },      "metadata": {        "order_id": "A-10492"      },      "completed_at": 1793700131,      "expires_at": 1794304931    }  ],  "has_more": false,  "next_cursor": null}

Analyse abrufen

GET https://api.fileverity.com/v1/analyses/{id}

Gibt die Analyse zurück, einschließlich ihres Ergebnisses, sobald sie erfolgreich ist und bis das Ergebnis abläuft.

Parameter

NameOrtTypErforderlichBeschreibung
idPfadstringJaAnalyse-ID.

Antworten

StatusBeschreibungAntworttext
200Die Analyse.Analysis
401Fehlender oder ungültiger API-Schlüssel. Fehlercodes: missing_api_key, invalid_api_key.Error
404Ressource nicht gefunden. Fehlercodes: not_found.Error
429Zu viele Anfragen. Fehlercodes: rate_limited.Error
500Interner Fehler; nicht berechnet. Fehlercodes: internal_error.Error

Antwort 200: Analysis

FeldTypErforderlichBeschreibung
idstringJa
object"analysis"Ja
createdintegerJaUnix-Zeitstempel.
modelstringJaSnapshot, der das Ergebnis erzeugt hat.
livemodebooleanJa
statuseiner der Werte "processing", "succeeded", "failed", "canceled"Ja
fileobjectJa
report_idstring oder nullJaÜberprüfbare Berichts-ID, FV-XXXX-XXXX-XXXX.
report_urlstring oder nullJaÖffentliche Verifizierungsseite des Berichts.
summaryImageSummary oder DocumentSummary oder nullJaDie kurze, stabile Einstufung: eine ImageSummary für Bilder, eine DocumentSummary für Dokumente, null, bis die Analyse erfolgreich abgeschlossen ist.
resultobject oder nullJaVorhanden, sobald der Status succeeded ist, und bis das Ergebnis abläuft.
errorobject oder nullJa
progressobject oder nullJa
usageobjectJa
metadataobject oder nullJa
completed_atinteger oder nullJa
expires_atinteger oder nullJaUnix-Zeitstempel, nach dem das Ergebnis gelöscht wird.
file: Felder
FeldTypErforderlichBeschreibung
namestring oder nullNein
bytesinteger oder nullNein
formatstring oder nullNein
result: Felder
FeldTypErforderlichBeschreibung
reportImageReport oder DocumentReportNeinDer vollständige Bericht. report.schema ist fileverity.report/1 für Bilder und fileverity.docpro/1 für Dokumente.
stamped_atinteger oder nullNeinUnix-Zeitstempel des für den Bericht ausgestellten RFC-3161-Zeitstempels oder null.
error: Felder
FeldTypErforderlichBeschreibung
codeeiner der Werte "invalid_json", "missing_parameter", "invalid_parameter", "text_too_short", "text_too_long", "unsupported_media_type", "unsupported_language", "file_not_found", "unsupported_file", "file_too_large", "too_many_pixels", "too_many_pages", "document_too_long", "invalid_file", "password_required", "wrong_password", "not_examinable", "missing_api_key", "invalid_api_key", "insufficient_balance", "spend_limit_reached", "not_found", "model_not_found", "not_cancelable", "canceled", "idempotency_mismatch", "idempotency_in_progress", "pending_files_limit", "rate_limited", "internal_error", "analysis_failed", "service_unavailable"Nein
messagestringNein
progress: Felder
FeldTypErforderlichBeschreibung
stageeiner der Werte "queued", "reading", "analyzing", "reporting"Nein
doneintegerNeinIn der aktuellen Phase abgeschlossene Einheiten, falls bekannt; andernfalls 0.
totalintegerNeinEinheiten in der aktuellen Phase, falls bekannt; andernfalls 0.
positionintegerNeinPosition in der Warteschlange, solange die Phase queued ist.
usage: Felder
FeldTypErforderlichBeschreibung
amountintegerNeinBerechneter Betrag in Cent; 0 bei Prüfungen aus dem kostenlosen Start und bei Fehlern.
currency"usd"Nein
fundingeiner der Werte "trial", "balance", nullNein

Fehlercodes

CodeStatus
not_found404
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

Beispiel

curl https://api.fileverity.com/v1/analyses/an_8Hk2pQ4vN9sL1xR7cW3mY6zB \  -H "Authorization: Bearer $FILEVERITY_API_KEY"
{  "id": "an_8Hk2pQ4vN9sL1xR7cW3mY6zB",  "object": "analysis",  "created": 1793700120,  "model": "fvimg-2-2026-10-30",  "livemode": true,  "status": "succeeded",  "file": {    "name": "claim-photo.jpg",    "bytes": 2481920,    "format": "jpeg"  },  "report_id": "FV-7K2M-9QXD-4T8R",  "report_url": "https://fileverity.com/verify/FV-7K2M-9QXD-4T8R",  "summary": {    "level": "L2",    "assessment": "authentic_untouched",    "action": "accept",    "ai": "very_low",    "edit": "none"  },  "result": {    "report": {      "schema": "fileverity.report/1",      "id": "FV-7K2M-9QXD-4T8R"    },    "stamped_at": 1793700130  },  "error": null,  "progress": null,  "usage": {    "amount": 199,    "currency": "usd",    "funding": "balance"  },  "metadata": {    "order_id": "A-10492"  },  "completed_at": 1793700131,  "expires_at": 1794304931}

Analyse abbrechen

POST https://api.fileverity.com/v1/analyses/{id}/cancel

Bricht eine Dokumentanalyse ab, die noch verarbeitet wird, und gibt den reservierten Betrag frei. Bildanalysen können nach dem Erstellen nicht mehr abgebrochen werden.

Parameter

NameOrtTypErforderlichBeschreibung
idPfadstringJaAnalyse-ID.
Idempotency-KeyHeaderstringNeinEindeutiger Schlüssel mit bis zu 255 Zeichen. Wird die Anfrage innerhalb von 24 Stunden mit demselben Schlüssel und demselben Anfragetext wiederholt, gibt sie die erste Antwort mit dem Header idempotent-replayed: true zurück; derselbe Schlüssel mit einem anderen Anfragetext gibt 409 zurück.

Antworten

StatusBeschreibungAntworttext
200Die abgebrochene Analyse.Analysis
400Ungültige Anfrage. Fehlercodes: invalid_parameter.Error
401Fehlender oder ungültiger API-Schlüssel. Fehlercodes: missing_api_key, invalid_api_key.Error
404Ressource nicht gefunden. Fehlercodes: not_found.Error
409Konflikt mit dem aktuellen Zustand. Fehlercodes: not_cancelable, idempotency_mismatch, idempotency_in_progress.Error
429Zu viele Anfragen. Fehlercodes: rate_limited.Error
500Interner Fehler; nicht berechnet. Fehlercodes: internal_error.Error

Antwort 200: Analysis

FeldTypErforderlichBeschreibung
idstringJa
object"analysis"Ja
createdintegerJaUnix-Zeitstempel.
modelstringJaSnapshot, der das Ergebnis erzeugt hat.
livemodebooleanJa
statuseiner der Werte "processing", "succeeded", "failed", "canceled"Ja
fileobjectJa
report_idstring oder nullJaÜberprüfbare Berichts-ID, FV-XXXX-XXXX-XXXX.
report_urlstring oder nullJaÖffentliche Verifizierungsseite des Berichts.
summaryImageSummary oder DocumentSummary oder nullJaDie kurze, stabile Einstufung: eine ImageSummary für Bilder, eine DocumentSummary für Dokumente, null, bis die Analyse erfolgreich abgeschlossen ist.
resultobject oder nullJaVorhanden, sobald der Status succeeded ist, und bis das Ergebnis abläuft.
errorobject oder nullJa
progressobject oder nullJa
usageobjectJa
metadataobject oder nullJa
completed_atinteger oder nullJa
expires_atinteger oder nullJaUnix-Zeitstempel, nach dem das Ergebnis gelöscht wird.
file: Felder
FeldTypErforderlichBeschreibung
namestring oder nullNein
bytesinteger oder nullNein
formatstring oder nullNein
result: Felder
FeldTypErforderlichBeschreibung
reportImageReport oder DocumentReportNeinDer vollständige Bericht. report.schema ist fileverity.report/1 für Bilder und fileverity.docpro/1 für Dokumente.
stamped_atinteger oder nullNeinUnix-Zeitstempel des für den Bericht ausgestellten RFC-3161-Zeitstempels oder null.
error: Felder
FeldTypErforderlichBeschreibung
codeeiner der Werte "invalid_json", "missing_parameter", "invalid_parameter", "text_too_short", "text_too_long", "unsupported_media_type", "unsupported_language", "file_not_found", "unsupported_file", "file_too_large", "too_many_pixels", "too_many_pages", "document_too_long", "invalid_file", "password_required", "wrong_password", "not_examinable", "missing_api_key", "invalid_api_key", "insufficient_balance", "spend_limit_reached", "not_found", "model_not_found", "not_cancelable", "canceled", "idempotency_mismatch", "idempotency_in_progress", "pending_files_limit", "rate_limited", "internal_error", "analysis_failed", "service_unavailable"Nein
messagestringNein
progress: Felder
FeldTypErforderlichBeschreibung
stageeiner der Werte "queued", "reading", "analyzing", "reporting"Nein
doneintegerNeinIn der aktuellen Phase abgeschlossene Einheiten, falls bekannt; andernfalls 0.
totalintegerNeinEinheiten in der aktuellen Phase, falls bekannt; andernfalls 0.
positionintegerNeinPosition in der Warteschlange, solange die Phase queued ist.
usage: Felder
FeldTypErforderlichBeschreibung
amountintegerNeinBerechneter Betrag in Cent; 0 bei Prüfungen aus dem kostenlosen Start und bei Fehlern.
currency"usd"Nein
fundingeiner der Werte "trial", "balance", nullNein

Fehlercodes

CodeStatus
not_found404
not_cancelable409
invalid_parameter400
idempotency_mismatch409
idempotency_in_progress409
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

Beispiel

curl -X POST https://api.fileverity.com/v1/analyses/an_8Hk2pQ4vN9sL1xR7cW3mY6zB/cancel \  -H "Authorization: Bearer $FILEVERITY_API_KEY"
{  "id": "an_8Hk2pQ4vN9sL1xR7cW3mY6zB",  "object": "analysis",  "created": 1793700120,  "model": "fvimg-2-2026-10-30",  "livemode": true,  "status": "canceled",  "file": {    "name": "claim-photo.jpg",    "bytes": 2481920,    "format": "jpeg"  },  "report_id": null,  "report_url": null,  "summary": null,  "result": null,  "error": {    "code": "canceled",    "message": "The analysis was canceled. You were not charged."  },  "progress": null,  "usage": {    "amount": 0,    "currency": "usd",    "funding": null  },  "metadata": null,  "completed_at": 1793700135,  "expires_at": null}

PDF-Bericht herunterladen

GET https://api.fileverity.com/v1/analyses/{id}/report.pdf

Gibt den versiegelten PDF-Bericht einer erfolgreichen Analyse zurück, solange ihr Ergebnis aufbewahrt wird. Testschlüssel erhalten 404. Dokumentbelege wie Seitenbilder sind 3 Stunden nach der Analyse verfügbar; danach lässt das PDF sie weg, was durch x-evidence-included: false angezeigt wird.

Parameter

NameOrtTypErforderlichBeschreibung
idPfadstringJaAnalyse-ID.
localeAbfrageeiner der Werte "en", "fr", "de", "es", "zh", "vi", "ar"NeinStandardwert "en".

Antworten

StatusBeschreibungAntworttext
200Der PDF-Bericht.PDF-Datei
400Ungültige Anfrage. Fehlercodes: invalid_parameter.Error
401Fehlender oder ungültiger API-Schlüssel. Fehlercodes: missing_api_key, invalid_api_key.Error
404Ressource nicht gefunden. Fehlercodes: not_found.Error
429Zu viele Anfragen. Fehlercodes: rate_limited.Error
500Interner Fehler; nicht berechnet. Fehlercodes: internal_error.Error

Fehlercodes

CodeStatus
invalid_parameter400
not_found404
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

Beispiel

curl "https://api.fileverity.com/v1/analyses/an_8Hk2pQ4vN9sL1xR7cW3mY6zB/report.pdf?locale=en" \  -H "Authorization: Bearer $FILEVERITY_API_KEY" \  -o Fileverity-FV-7K2M-9QXD-4T8R.pdf

Modelle

Modelle auflisten

GET https://api.fileverity.com/v1/models

Listet die für Ihren API-Schlüssel verfügbaren Modelle auf.

Antworten

StatusBeschreibungAntworttext
200Die verfügbaren Modelle.ModelList
401Fehlender oder ungültiger API-Schlüssel. Fehlercodes: missing_api_key, invalid_api_key.Error
429Zu viele Anfragen. Fehlercodes: rate_limited.Error
500Interner Fehler; nicht berechnet. Fehlercodes: internal_error.Error

Antwort 200: ModelList

FeldTypErforderlichBeschreibung
object"list"Ja
dataarray von ModelJa
data: Felder
FeldTypErforderlichBeschreibung
idstringJa
object"model"Ja
createdintegerJaUnix-Zeitstempel des aktuellen Snapshots.
owned_bystringJa
namestringJa
typeeiner der Werte "image", "document", "text"Ja
descriptionstringJa
snapshotstringJaDatierter Snapshot, auf den die ID derzeit verweist.
statuseiner der Werte "available", "preview", "deprecated"Ja
inputobjectJaAkzeptierte Eingabe. Bei Dateien sind Formate und Größenlimits aufgeführt, bei Text Sprachen und Längenlimits.
outputobjectJa
pricingobjectJa
input: Felder
FeldTypErforderlichBeschreibung
formatsarray von stringNein
max_bytesintegerNein
max_megapixelsintegerNein
max_pagesintegerNein
languagesarray von stringNein
min_wordsintegerNein
max_charactersintegerNein
output: Felder
FeldTypErforderlichBeschreibung
schemastringJaSchema des Berichts in den Analyseergebnissen.
pricing: Felder
FeldTypErforderlichBeschreibung
currency"usd"Ja
unitstringJa
unit_amountintegerJaPreis pro Einheit in Cent.

Fehlercodes

CodeStatus
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

Beispiel

curl https://api.fileverity.com/v1/models \  -H "Authorization: Bearer $FILEVERITY_API_KEY"
{  "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      }    }  ]}

Modell abrufen

GET https://api.fileverity.com/v1/models/{model}

Ruft ein Modell anhand seiner ID oder Snapshot-ID ab.

Parameter

NameOrtTypErforderlichBeschreibung
modelPfadstringJaModell-ID oder Snapshot-ID.

Antworten

StatusBeschreibungAntworttext
200Das Modell.Model
401Fehlender oder ungültiger API-Schlüssel. Fehlercodes: missing_api_key, invalid_api_key.Error
404Ressource nicht gefunden. Fehlercodes: model_not_found.Error
429Zu viele Anfragen. Fehlercodes: rate_limited.Error
500Interner Fehler; nicht berechnet. Fehlercodes: internal_error.Error

Antwort 200: Model

FeldTypErforderlichBeschreibung
idstringJa
object"model"Ja
createdintegerJaUnix-Zeitstempel des aktuellen Snapshots.
owned_bystringJa
namestringJa
typeeiner der Werte "image", "document", "text"Ja
descriptionstringJa
snapshotstringJaDatierter Snapshot, auf den die ID derzeit verweist.
statuseiner der Werte "available", "preview", "deprecated"Ja
inputobjectJaAkzeptierte Eingabe. Bei Dateien sind Formate und Größenlimits aufgeführt, bei Text Sprachen und Längenlimits.
outputobjectJa
pricingobjectJa
input: Felder
FeldTypErforderlichBeschreibung
formatsarray von stringNein
max_bytesintegerNein
max_megapixelsintegerNein
max_pagesintegerNein
languagesarray von stringNein
min_wordsintegerNein
max_charactersintegerNein
output: Felder
FeldTypErforderlichBeschreibung
schemastringJaSchema des Berichts in den Analyseergebnissen.
pricing: Felder
FeldTypErforderlichBeschreibung
currency"usd"Ja
unitstringJa
unit_amountintegerJaPreis pro Einheit in Cent.

Fehlercodes

CodeStatus
model_not_found404
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

Beispiel

curl https://api.fileverity.com/v1/models/fvimg-2 \  -H "Authorization: Bearer $FILEVERITY_API_KEY"
{  "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  }}

Webhook-Ereignisse

Fileverity sendet diese Ereignisse an Ihre Webhook-Endpunkte. Die Regeln für Verifizierung und Zustellung stehen unter Webhooks.

Ereignis analysis.completed

Wird gemäß der Spezifikation Standard Webhooks an Ihre Webhook-Endpunkte zugestellt: mit den Headern webhook-id, webhook-timestamp und webhook-signature (v1,<base64 HMAC-SHA256 von id.timestamp.body>, mit dem Base64-Teil Ihres whsec_-Secrets als Schlüssel). Antworten Sie innerhalb von 10 Sekunden mit einem beliebigen 2xx; fehlgeschlagene Zustellungen werden 3 Tage lang mit exponentiellem Backoff wiederholt.

Anfragetext: application/json, erforderlich

FeldTypErforderlichBeschreibung
idstringJaWird auch als Header webhook-id gesendet; damit lassen sich Wiederholungen deduplizieren.
object"event"Ja
typeeiner der Werte "analysis.completed", "analysis.failed", "balance.low"Ja
createdintegerJaUnix-Zeitstempel.
dataAnalysis oder BalanceLowJaEreignisse vom Typ analysis.* enthalten dasselbe Objekt wie GET /analyses/{id}, wobei result immer null ist; rufen Sie das Ergebnis über diesen Endpunkt ab. Ereignisse vom Typ balance.low enthalten das Guthaben und die Schwelle in Cent.
data (BalanceLow): Felder
FeldTypErforderlichBeschreibung
balanceintegerJaGuthaben in Cent.
thresholdintegerJaWarnschwelle in Cent.

Ereignis analysis.failed

Wird gemäß der Spezifikation Standard Webhooks an Ihre Webhook-Endpunkte zugestellt: mit den Headern webhook-id, webhook-timestamp und webhook-signature (v1,<base64 HMAC-SHA256 von id.timestamp.body>, mit dem Base64-Teil Ihres whsec_-Secrets als Schlüssel). Antworten Sie innerhalb von 10 Sekunden mit einem beliebigen 2xx; fehlgeschlagene Zustellungen werden 3 Tage lang mit exponentiellem Backoff wiederholt.

Anfragetext: application/json, erforderlich

FeldTypErforderlichBeschreibung
idstringJaWird auch als Header webhook-id gesendet; damit lassen sich Wiederholungen deduplizieren.
object"event"Ja
typeeiner der Werte "analysis.completed", "analysis.failed", "balance.low"Ja
createdintegerJaUnix-Zeitstempel.
dataAnalysis oder BalanceLowJaEreignisse vom Typ analysis.* enthalten dasselbe Objekt wie GET /analyses/{id}, wobei result immer null ist; rufen Sie das Ergebnis über diesen Endpunkt ab. Ereignisse vom Typ balance.low enthalten das Guthaben und die Schwelle in Cent.

Ereignis balance.low

Wird gemäß der Spezifikation Standard Webhooks an Ihre Webhook-Endpunkte zugestellt: mit den Headern webhook-id, webhook-timestamp und webhook-signature (v1,<base64 HMAC-SHA256 von id.timestamp.body>, mit dem Base64-Teil Ihres whsec_-Secrets als Schlüssel). Antworten Sie innerhalb von 10 Sekunden mit einem beliebigen 2xx; fehlgeschlagene Zustellungen werden 3 Tage lang mit exponentiellem Backoff wiederholt.

Anfragetext: application/json, erforderlich

FeldTypErforderlichBeschreibung
idstringJaWird auch als Header webhook-id gesendet; damit lassen sich Wiederholungen deduplizieren.
object"event"Ja
typeeiner der Werte "analysis.completed", "analysis.failed", "balance.low"Ja
createdintegerJaUnix-Zeitstempel.
dataAnalysis oder BalanceLowJaEreignisse vom Typ analysis.* enthalten dasselbe Objekt wie GET /analyses/{id}, wobei result immer null ist; rufen Sie das Ergebnis über diesen Endpunkt ab. Ereignisse vom Typ balance.low enthalten das Guthaben und die Schwelle in Cent.
curl https://api.fileverity.com/v1/openapi.json