انتقل إلى المحتوى

توثيق واجهة Fileverity API

مرجع API

جميع نقاط نهاية Fileverity API مع المعلمات ومخططات الطلبات والاستجابات ورموز الأخطاء والأمثلة، مولَّدة من مواصفة OpenAPI 3.1.

عرض بصيغة Markdownآخر تحديث: 2026-11-04

يُولَّد هذا المرجع من وثيقة OpenAPI 3.1 الخاصة بـ API، المتاحة على https://api.fileverity.com/v1/openapi.json، ولذلك يطابق API دائمًا. وللاطلاع على المفاهيم والأدلة، ابدأ من صفحة نظرة عامة.

الاصطلاحات

عنوان URL الأساسي: https://api.fileverity.com/v1. صادِق على كل طلب باستخدام Authorization: Bearer <key>. تشترك الأخطاء في صيغة واحدة موصوفة في الأخطاء. تحمل كل استجابة الترويسة x-request-id، وتحمل الاستجابات المصادَق عليها ترويسات حدود المعدّل الموصوفة في حدود المعدّل والترويسات. وتُفتح الكائنات المتداخلة في أقسام قابلة للطي أسفل الجدول.

كشف النصوص

كشف النص المكتوب بالذكاء الاصطناعي

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

يصنّف النص العادي على أنه مكتوب بالذكاء الاصطناعي أو مكتوب جزئيًا بالذكاء الاصطناعي أو كتبه إنسان، ويعيد الفقرات المكتوبة بالذكاء الاصطناعي. يُقيَّم النص ثم يُحذف ولا يُخزَّن. تحتسب الفوترة نقاط ترميز Unicode بوحدات قدر كل منها 1,000 حرف، ويُقرَّب الناتج للأعلى في كل طلب. ولا تُحتسب رسوم على الطلبات المرفوضة قبل التقييم. وتعيد مفاتيح الاختبار نتيجة ثابتة تفيد بأن النص كتبه إنسان دون رسوم.

المعلمات

الاسمالموضعالنوعمطلوبالوصف
Idempotency-Keyالترويسةstringلامفتاح فريد من 255 حرفًا كحد أقصى. يعيد تكرار الطلب بالمفتاح ومحتوى الطلب نفسيهما خلال 24 ساعة الاستجابة الأولى مع الترويسة idempotent-replayed: true؛ أما المفتاح نفسه مع محتوى طلب مختلف فيعيد 409.

محتوى الطلب: application/json، مطلوب

الحقلالنوعمطلوبالوصف
modelstringلامعرّف النموذج أو معرّف النسخة المؤرَّخة. القيمة الافتراضية "fvdoc-3-text".
textstringنعمنص عادي، لا يقل عن 100 كلمة ولا يزيد على 100,000 حرف.
languageإحدى القيم: "en"، "fr"، "de"، "es"، "zh"، nullلارمز ISO 639-1. يُكتشف تلقائيًا عند عدم تحديده. القيمة الافتراضية null.

الاستجابات

الحالةالوصفالمحتوى
200نتيجة الكشف.TextDetection
400طلب غير صالح. رموز الأخطاء: invalid_json، missing_parameter، text_too_short، unsupported_language، invalid_parameter.Error
401مفتاح API مفقود أو غير صالح. رموز الأخطاء: missing_api_key، invalid_api_key.Error
402لا يكفي الرصيد أو حد الإنفاق الشهري للمفتاح لتغطية الطلب. رموز الأخطاء: insufficient_balance، spend_limit_reached.Error
404المورد غير موجود. رموز الأخطاء: model_not_found.Error
409تعارض مع الحالة الحالية. رموز الأخطاء: idempotency_mismatch، idempotency_in_progress.Error
413جرى تجاوز حد الحجم. رموز الأخطاء: text_too_long.Error
415نوع وسائط أو صيغة ملف غير مدعومة. رموز الأخطاء: unsupported_media_type.Error
429عدد الطلبات كبير جدًا. رموز الأخطاء: rate_limited.Error
500خطأ داخلي؛ لا تُحتسب رسوم. رموز الأخطاء: internal_error.Error
502تعذّر إكمال التحليل؛ لا تُحتسب رسوم. رموز الأخطاء: analysis_failed.Error
503الخدمة غير متاحة مؤقتًا أو أن السعة المتاحة مستخدمة بالكامل؛ لا تُحتسب رسوم. أعد المحاولة بعد عدد الثواني المذكور في الترويسة retry-after. رموز الأخطاء: service_unavailable.Error

الاستجابة 200: TextDetection

الحقلالنوعمطلوبالوصف
idstringنعم
object"text.detection"نعم
createdintegerنعمطابع زمني بصيغة Unix.
modelstringنعمالنسخة المؤرَّخة التي أنتجت النتيجة.
livemodebooleanنعمالقيمة false لمفاتيح الاختبار.
languageإحدى القيم: "en"، "fr"، "de"، "es"، "zh"نعم
verdictإحدى القيم: "ai"، "mixed"، "human"نعمai: يبدو النص مكتوبًا بالذكاء الاصطناعي من أوله إلى آخره؛ mixed: فقرات مكتوبة بالذكاء الاصطناعي ضمن نص كتبه إنسان؛ human: لم يُعثر على أي فقرة مكتوبة بالذكاء الاصطناعي.
scorenumberنعمدرجة النموذج لأكثر الفقرات شبهًا بالنص المكتوب بالذكاء الاصطناعي. الحد الأدنى 0. الحد الأقصى 1.
ai_fractionnumberنعمنسبة النص المُقيَّم الواقعة ضمن مقاطع مكتوبة بالذكاء الاصطناعي. الحد الأدنى 0. الحد الأقصى 1.
segmentsarray من objectنعمالفقرات المكتوبة بالذكاء الاصطناعي، على هيئة إزاحات في النص المُرسَل بنقاط ترميز Unicode. الحدود تقريبية وقد تشمل جملًا مجاورة.
usageobjectنعم
حقول segments
الحقلالنوعمطلوبالوصف
startintegerنعم
endintegerنعمغير مشمولة.
scorenumberنعمالحد الأدنى 0. الحد الأقصى 1.
حقول usage
الحقلالنوعمطلوبالوصف
charactersintegerنعمنقاط ترميز Unicode التي جرى تقييمها.
free_charactersintegerنعمالأحرف التي يغطيها رصيد البدء المجاني ولا تُحتسب عليها رسوم.
billed_unitsintegerنعموحدات قدر كل منها 1,000 حرف جرى احتسابها فعليًا بعد استبعاد الأحرف المجانية؛ والتكلفة هي حاصل ضرب billed_units في سعر الوحدة.

رموز الأخطاء

الرمزالحالة
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

مثال

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  }}

الملفات

رفع ملف

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

يرفع ملفًا لتحليله. أرسل الملفات التي لا يتجاوز حجمها 4 ميغابايت بصيغة multipart/form-data في الحقل file؛ وتحمل الاستجابة الحالة uploaded. أما الملفات الأكبر من 4 ميغابايت فيجب رفعها باستخدام عنوان URL موقّع مسبقًا. أرسل JSON يحتوي على filename وcontent_type وbytes (للمستندات حتى 50 ميغابايت)؛ وتحمل الاستجابة الحالة pending وكائن upload يتضمن عنوان URL موقّعًا مسبقًا: أرسل بايتات الملف إليه بالطريقة PUT مع الترويسات المحددة قبل انتهاء صلاحيته. ويُحذف الملف عند بدء التحليل وبعد 24 ساعة على أبعد تقدير. ويمكن أن تحتفظ مساحة العمل بما يصل إلى 50 ملفًا غير منتهي الصلاحية و200 ميغابايت في كل وضع في الوقت نفسه.

المعلمات

الاسمالموضعالنوعمطلوبالوصف
Idempotency-Keyالترويسةstringلامفتاح فريد من 255 حرفًا كحد أقصى. يعيد تكرار الطلب بالمفتاح ومحتوى الطلب نفسيهما خلال 24 ساعة الاستجابة الأولى مع الترويسة idempotent-replayed: true؛ أما المفتاح نفسه مع محتوى طلب مختلف فيعيد 409.

محتوى الطلب: multipart/form-data، مطلوب

الحقلالنوعمطلوبالوصف
filestringنعمالصيغة binary.

محتوى الطلب: application/json، مطلوب

الحقلالنوعمطلوبالوصف
filenamestringلا
content_typestringنعمنوع MIME للملف، مثل image/jpeg أو application/pdf.
bytesintegerنعمالحجم الدقيق بالبايت. الحد الأدنى 1. الحد الأقصى 52,428,800.

الاستجابات

الحالةالوصفالمحتوى
201الملف.File
400طلب غير صالح. رموز الأخطاء: invalid_json، missing_parameter، invalid_parameter.Error
401مفتاح API مفقود أو غير صالح. رموز الأخطاء: missing_api_key، invalid_api_key.Error
409تعارض مع الحالة الحالية. رموز الأخطاء: idempotency_mismatch، idempotency_in_progress.Error
413جرى تجاوز حد الحجم. رموز الأخطاء: file_too_large.Error
415نوع وسائط أو صيغة ملف غير مدعومة. رموز الأخطاء: unsupported_media_type، unsupported_file.Error
422لا يمكن معالجة الملف. رموز الأخطاء: invalid_file.Error
429عدد الطلبات كبير جدًا. رموز الأخطاء: pending_files_limit، rate_limited.Error
500خطأ داخلي؛ لا تُحتسب رسوم. رموز الأخطاء: internal_error.Error

الاستجابة 201: File

الحقلالنوعمطلوبالوصف
idstringنعم
object"file"نعم
filenamestring أو nullنعم
bytesinteger أو nullنعم
content_typestringنعم
statusإحدى القيم: "pending"، "uploaded"نعمتبقى pending إلى أن تصل البايتات المرسلة إلى عنوان URL الموقّع مسبقًا.
livemodebooleanنعملا تظهر الملفات إلا للمفاتيح من الوضع نفسه.
createdintegerنعمطابع زمني بصيغة Unix.
expires_atintegerنعمطابع زمني بصيغة Unix يُحذف الملف بعده.
uploadobjectلاموجود في الاستجابة لطلب رفع بصيغة JSON.
حقول upload
الحقلالنوعمطلوبالوصف
urlstringنعمتحصل مفاتيح الاختبار على عنوان URL تجريبي (test: true)؛ ولا يُرفع شيء ولا يُخزَّن.
method"PUT"نعم
headersobject من stringنعم
expires_atintegerنعمطابع زمني بصيغة Unix.
testtrueلا

رموز الأخطاء

الرمزالحالة
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

مثال

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}

جلب ملف

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

يعيد الملف ويبيّن ما إذا كانت بايتاته قد وصلت.

المعلمات

الاسمالموضعالنوعمطلوبالوصف
idالمسارstringنعممعرّف الملف.

الاستجابات

الحالةالوصفالمحتوى
200الملف.File
401مفتاح API مفقود أو غير صالح. رموز الأخطاء: missing_api_key، invalid_api_key.Error
404المورد غير موجود. رموز الأخطاء: not_found.Error
429عدد الطلبات كبير جدًا. رموز الأخطاء: rate_limited.Error
500خطأ داخلي؛ لا تُحتسب رسوم. رموز الأخطاء: internal_error.Error

الاستجابة 200: File

الحقلالنوعمطلوبالوصف
idstringنعم
object"file"نعم
filenamestring أو nullنعم
bytesinteger أو nullنعم
content_typestringنعم
statusإحدى القيم: "pending"، "uploaded"نعمتبقى pending إلى أن تصل البايتات المرسلة إلى عنوان URL الموقّع مسبقًا.
livemodebooleanنعملا تظهر الملفات إلا للمفاتيح من الوضع نفسه.
createdintegerنعمطابع زمني بصيغة Unix.
expires_atintegerنعمطابع زمني بصيغة Unix يُحذف الملف بعده.
uploadobjectلاموجود في الاستجابة لطلب رفع بصيغة JSON.
حقول upload
الحقلالنوعمطلوبالوصف
urlstringنعمتحصل مفاتيح الاختبار على عنوان URL تجريبي (test: true)؛ ولا يُرفع شيء ولا يُخزَّن.
method"PUT"نعم
headersobject من stringنعم
expires_atintegerنعمطابع زمني بصيغة Unix.
testtrueلا

رموز الأخطاء

الرمزالحالة
not_found404
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

مثال

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}

حذف ملف

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

يحذف ملفًا مرفوعًا والبايتات المخزَّنة منه.

المعلمات

الاسمالموضعالنوعمطلوبالوصف
idالمسارstringنعممعرّف الملف.

الاستجابات

الحالةالوصفالمحتوى
200حُذف الملف.FileDeleted
401مفتاح API مفقود أو غير صالح. رموز الأخطاء: missing_api_key، invalid_api_key.Error
404المورد غير موجود. رموز الأخطاء: not_found.Error
429عدد الطلبات كبير جدًا. رموز الأخطاء: rate_limited.Error
500خطأ داخلي؛ لا تُحتسب رسوم. رموز الأخطاء: internal_error.Error

الاستجابة 200: FileDeleted

الحقلالنوعمطلوبالوصف
idstringنعم
object"file"نعم
deletedtrueنعم

رموز الأخطاء

الرمزالحالة
not_found404
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

مثال

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

التحليلات

إنشاء تحليل

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

يحلّل ملفًا مرفوعًا باستخدام fvimg-2 (للصور) أو fvdoc-3 (للمستندات). التحليل هو فحص واحد لصورة أو مستند. تكون الاستجابة 202 بالحالة processing؛ وتصل النتيجة عبر Webhook أو بالاستعلام المتكرر عبر GET /analyses/{id}. أرسل Prefer: wait=N (حتى 60 ثانية) لإبقاء الطلب معلّقًا إلى أن تصبح النتيجة جاهزة؛ ويعيد التحليل المنتهي الاستجابة 200. يُحجز السعر عند إنشاء التحليل ويُحرَّر إذا فشل التحليل أو أُلغي. وتُحفظ النتائج 7 أيام. وعندما تكون السعة المتاحة مستخدمة بالكامل تعيد API الاستجابة 503 service_unavailable مع الترويسة retry-after ولا تحتسب أي رسوم: أعد المحاولة بقيمة Idempotency-Key نفسها، وشغّل تحليلات الصور واحدًا تلو الآخر للحصول على أعلى إنتاجية. وتعيد مفاتيح الاختبار نتيجة نموذجية ولا تُحتسب عليها رسوم أبدًا؛ ولا يتضمن التقرير النموذجي سوى بضعة حقول.

المعلمات

الاسمالموضعالنوعمطلوبالوصف
Idempotency-Keyالترويسةstringلامفتاح فريد من 255 حرفًا كحد أقصى. يعيد تكرار الطلب بالمفتاح ومحتوى الطلب نفسيهما خلال 24 ساعة الاستجابة الأولى مع الترويسة idempotent-replayed: true؛ أما المفتاح نفسه مع محتوى طلب مختلف فيعيد 409.
Preferالترويسةstringلايُبقي wait=N الطلب معلّقًا حتى N ثانية (60 كحد أقصى) إلى أن ينتهي التحليل.

محتوى الطلب: application/json، مطلوب

الحقلالنوعمطلوبالوصف
modelإحدى القيم: "fvimg-2"، "fvimg-2-2026-10-30"، "fvdoc-3"، "fvdoc-3-2026-11-03"نعممعرّف النموذج أو معرّف النسخة المؤرَّخة. يحلّل fvimg-2 الصور، ويحلّل fvdoc-3 المستندات.
filestringنعممعرّف ملف مرفوع.
metadataobject من stringلاحتى 16 زوجًا (مفتاح وقيمة) من النصوص (طول المفتاح حتى 40 حرفًا وطول القيمة حتى 500)، تُعاد مع التحليل وفي Webhooks.
optionsobjectلا
حقول options
الحقلالنوعمطلوبالوصف
passwordstringلاكلمة مرور المستند المشفّر. الحد الأقصى للطول 256.
localeإحدى القيم: "en"، "fr"، "de"، "es"، "zh"، "vi"، "ar"لالغة مؤشرات المستند. القيمة الافتراضية "en".

الاستجابات

الحالةالوصفالمحتوى
200التحليل المنتهي.Analysis
202التحليل قيد المعالجة.Analysis
400طلب غير صالح. رموز الأخطاء: invalid_json، missing_parameter، file_not_found، invalid_parameter.Error
401مفتاح API مفقود أو غير صالح. رموز الأخطاء: missing_api_key، invalid_api_key.Error
402لا يكفي الرصيد أو حد الإنفاق الشهري للمفتاح لتغطية الطلب. رموز الأخطاء: insufficient_balance، spend_limit_reached.Error
404المورد غير موجود. رموز الأخطاء: model_not_found.Error
409تعارض مع الحالة الحالية. رموز الأخطاء: idempotency_mismatch، idempotency_in_progress.Error
413جرى تجاوز حد الحجم. رموز الأخطاء: file_too_large، too_many_pixels، too_many_pages، document_too_long.Error
415نوع وسائط أو صيغة ملف غير مدعومة. رموز الأخطاء: unsupported_media_type، unsupported_file.Error
422لا يمكن معالجة الملف. رموز الأخطاء: invalid_file، password_required، wrong_password، not_examinable.Error
429عدد الطلبات كبير جدًا. رموز الأخطاء: rate_limited.Error
500خطأ داخلي؛ لا تُحتسب رسوم. رموز الأخطاء: internal_error.Error
502تعذّر إكمال التحليل؛ لا تُحتسب رسوم. رموز الأخطاء: analysis_failed.Error
503الخدمة غير متاحة مؤقتًا أو أن السعة المتاحة مستخدمة بالكامل؛ لا تُحتسب رسوم. أعد المحاولة بعد عدد الثواني المذكور في الترويسة retry-after. رموز الأخطاء: service_unavailable.Error

الاستجابة 200: Analysis

الحقلالنوعمطلوبالوصف
idstringنعم
object"analysis"نعم
createdintegerنعمطابع زمني بصيغة Unix.
modelstringنعمالنسخة المؤرَّخة التي أنتجت النتيجة.
livemodebooleanنعم
statusإحدى القيم: "processing"، "succeeded"، "failed"، "canceled"نعم
fileobjectنعم
report_idstring أو nullنعمرقم التقرير القابل للتحقق، FV-XXXX-XXXX-XXXX.
report_urlstring أو nullنعمصفحة التحقق العامة الخاصة بالتقرير.
summaryImageSummary أو DocumentSummary أو nullنعمالحكم المختصر الثابت: ImageSummary للصور، وDocumentSummary للمستندات، وnull إلى أن ينجح التحليل.
resultobject أو nullنعميوجد ما إن تصبح قيمة status هي succeeded وإلى أن تنتهي صلاحية النتيجة.
errorobject أو nullنعم
progressobject أو nullنعم
usageobjectنعم
metadataobject أو nullنعم
completed_atinteger أو nullنعم
expires_atinteger أو nullنعمطابع زمني بصيغة Unix تُحذف النتيجة بعده.
حقول file
الحقلالنوعمطلوبالوصف
namestring أو nullلا
bytesinteger أو nullلا
formatstring أو nullلا
حقول summary (ImageSummary)
الحقلالنوعمطلوبالوصف
levelإحدى القيم "L0" أو "L1" أو "L2" أو "L3" أو "L4" أو "L5"نعممستوى المخاطر، من L0 إلى L5.
assessmentإحدى القيم: "authentic_untouched"، "authentic_locally_edited"، "ai_generated"، "undetermined"نعم
actionإحدى القيم: "accept"، "review"، "reject"، "resubmit"نعم
aiإحدى القيم: "labelled"، "very_likely"، "suspected"، "undecided"، "low"، "very_low"، "not_evaluated"نعمالمؤشر المتعلق بالتوليد بالذكاء الاصطناعي.
editإحدى القيم: "detected"، "suspected"، "suspected_record"، "review"، "generative"، "minor"، "none"، "not_applicable"، "not_evaluated"نعمالمؤشر المتعلق بالتعديل الموضعي.
حقول summary (DocumentSummary)
الحقلالنوعمطلوبالوصف
kind"docpro"نعم
levelإحدى القيم "L0" أو "L1" أو "L2" أو "L3" أو "L4" أو "L5"نعممستوى المخاطر، من L0 إلى L5.
actionإحدى القيم "accept" أو "note" أو "review" أو "reject" أو "resubmit"نعمnote: قارن المحتوى المكتوب بالذكاء الاصطناعي المعلَّم في التقرير بسياستك.
reasonstring أو nullنعمالمؤشر أو الحالة التي يستند إليها المستوى، مثل clean أو incomplete، أو معرّف مؤشر.
findingsarray من stringنعممعرّفات المؤشرات المهمة.
pagesintegerنعمعدد صفحات المستند.
imagesintegerنعمعدد الصور المضمَّنة التي جرى فحصها.
textإحدى القيم: "ai_generated"، "mixed"، "human"، "inconclusive"، nullنعمالحكم على نص المستند، أو null عندما لم يُقيَّم النص.
strongtrueلايوجد عندما يكون أحد المؤشرات المدرجة قويًا.
حقول result
الحقلالنوعمطلوبالوصف
reportImageReport أو DocumentReportلاالتقرير الكامل. قيمة report.schema هي fileverity.report/1 للصور وfileverity.docpro/1 للمستندات.
stamped_atinteger أو nullلاطابع زمني بصيغة Unix للطابع الزمني الصادر للتقرير وفق RFC 3161، أو null.
حقول report (ImageReport)
الحقلالنوعمطلوبالوصف
schema"fileverity.report/1"نعم
idstringنعمرقم التقرير، FV-XXXX-XXXX-XXXX.
sampletrueلاموجود في التقارير النموذجية الثابتة التي تعيدها مفاتيح الاختبار.
issuedAtstringلاوقت إصدار التقرير، بصيغة ISO 8601 بالتوقيت العالمي المنسق (UTC). الصيغة date-time.
issuerobjectلاالجهة التي أصدرت التقرير.
fileobjectلاالصورة المفحوصة.
proobjectلاالحكم. القيم نفسها الواردة في summary، مع reason.
scoreinteger أو nullلادرجة الأصالة من 0 إلى 100 بخطوات قدرها 5: مدى قوة الأدلة التي تدعم كون الصورة التقاطًا أصيلًا غير معدَّل. وتكون null عند عدم التقييم.
confidenceإحدى القيم "high" أو "medium" أو "low"لامقدار ما يتيح هذا الملف للتحليل إثباته. وغالبًا ما يعكس انخفاض الثقة الملف نفسه، مثل انخفاض الدقة أو الضغط الشديد.
questionsobjectلاالأسئلة الثلاثة التي يجيب عنها التقرير.
generatorobject أو nullلاأداة التوليد بالذكاء الاصطناعي المنسوبة إلى الصورة، أو null.
regionsarray من objectلاالمناطق المعلَّمة، بالبكسل في الصورة المعروضة.
provenanceobjectلاما تذكره سجلات الملف نفسه عن منشئه.
digeststringلاقيمة تجزئة محتوى التقرير، تستخدمها صفحة التحقق.
حقول issuer
الحقلالنوعمطلوبالوصف
namestringلا
operatorstringلا
verifystringلاصفحة التحقق العامة الخاصة بالتقرير.
حقول file
الحقلالنوعمطلوبالوصف
namestring أو nullلا
sha256stringلاقيمة تجزئة SHA-256 للملف المفحوص، بالنظام السداسي العشري.
bytesintegerلا
widthintegerلاالعرض بالبكسل كما يظهر.
heightintegerلاالارتفاع بالبكسل كما يظهر.
formatstringلا
حقول pro
الحقلالنوعمطلوبالوصف
levelإحدى القيم "L0" أو "L1" أو "L2" أو "L3" أو "L4" أو "L5"لامستوى المخاطر، من L0 إلى L5.
actionإحدى القيم: "accept"، "review"، "reject"، "resubmit"لا
assessmentإحدى القيم: "authentic_untouched"، "authentic_locally_edited"، "ai_generated"، "undetermined"لا
reasonstring أو nullلا
حقول questions
الحقلالنوعمطلوبالوصف
aiobjectلا
editobjectلا
sourceobjectلا
حقول ai
الحقلالنوعمطلوبالوصف
keyإحدى القيم: "labelled"، "very_likely"، "suspected"، "undecided"، "low"، "very_low"، "not_evaluated"لا
basisإحدى القيم: "verified"، "detected"، "declared"، nullلاما تستند إليه الإجابة.
strengthإحدى القيم: "strong"، "moderate"، "limited"، nullلامدى قوة دعم الأدلة للإجابة.
likelihoodinteger أو nullلااحتمال التوليد بالذكاء الاصطناعي من 0 إلى 100 بخطوات قدرها 5، أو null.
حقول edit
الحقلالنوعمطلوبالوصف
keyإحدى القيم: "detected"، "suspected"، "suspected_record"، "review"، "generative"، "minor"، "none"، "not_applicable"، "not_evaluated"لا
basisإحدى القيم: "verified"، "detected"، "declared"، nullلاما تستند إليه الإجابة.
strengthإحدى القيم: "strong"، "moderate"، "limited"، nullلامدى قوة دعم الأدلة للإجابة.
regionsintegerلاعدد المناطق المعلَّمة.
حقول source
الحقلالنوعمطلوبالوصف
keystringلا
basisإحدى القيم: "verified"، "detected"، "declared"، nullلاما تستند إليه الإجابة.
strengthإحدى القيم: "strong"، "moderate"، "limited"، nullلامدى قوة دعم الأدلة للإجابة.
signerstring أو nullلا
aiClaimbooleanلاما إذا كانت سجلات الملف نفسه تفيد بأنه مولَّد بالذكاء الاصطناعي.
حقول generator
الحقلالنوعمطلوبالوصف
namestringلا
basisstringلاكيف جرى تحديد أداة التوليد.
حقول regions
الحقلالنوعمطلوبالوصف
idstringلا
xintegerلا
yintegerلا
wintegerلا
hintegerلا
strengthإحدى القيم: "high"، "medium"لا
حقول provenance
الحقلالنوعمطلوبالوصف
credentialsإحدى القيم: "valid"، "unverified"، "issues"، "invalid"، "removed"، "none"لاحالة Content Credentials.
signerstring أو nullلا
softwarearray من stringلاالبرمجيات المذكورة في سجلات الملف.
camerastring أو nullلا
capturedstring أو nullلاوقت الالتقاط المسجَّل في الملف، إن وُجد.
حقول report (DocumentReport)
الحقلالنوعمطلوبالوصف
schema"fileverity.docpro/1"نعم
idstringنعمرقم التقرير، FV-XXXX-XXXX-XXXX.
sampletrueلاموجود في التقارير النموذجية الثابتة التي تعيدها مفاتيح الاختبار.
issuedAtstringلاوقت إصدار التقرير، بصيغة ISO 8601 بالتوقيت العالمي المنسق (UTC). الصيغة date-time.
receivedAtstringلاوقت استلام الملف، بصيغة ISO 8601 بالتوقيت العالمي المنسق (UTC). الصيغة date-time.
issuerobjectلاالجهة التي أصدرت التقرير.
fileobjectلاالمستند المفحوص.
levelإحدى القيم "L0" أو "L1" أو "L2" أو "L3" أو "L4" أو "L5"لامستوى المخاطر، من L0 إلى L5.
actionإحدى القيم "accept" أو "note" أو "review" أو "reject" أو "resubmit"لا
reasonstring أو nullلاالمؤشر أو الحالة التي بُني عليها المستوى.
findingsarray من objectلاالمؤشرات التي بُني عليها المستوى، مع الصفحات والصور المضمَّنة التي يشير إليها كل منها.
textobjectلانتيجة نص المستند.
imagesarray من objectلاالصور والرسومات المضمَّنة، مرقَّمة بحسب ترتيبها في المستند.
structureobject أو nullلاسجل تعديلات الملف، أو null إذا لم يُفحص.
provenanceobjectلاما تذكره سجلات الملف نفسه عن منشئه.
digeststringلاقيمة تجزئة محتوى التقرير، تستخدمها صفحة التحقق.
حقول issuer
الحقلالنوعمطلوبالوصف
namestringلا
operatorstringلا
verifystringلاصفحة التحقق العامة الخاصة بالتقرير.
حقول file
الحقلالنوعمطلوبالوصف
namestring أو nullلا
sha256stringلاقيمة تجزئة SHA-256 للملف المفحوص، بالنظام السداسي العشري.
bytesintegerلا
formatstringلا
pagesintegerلا
textLayerإحدى القيم: "present"، "partial"، "absent"لاما إذا كان المستند يحتوي على طبقة نصية.
حقول findings
الحقلالنوعمطلوبالوصف
idstringلا
basisإحدى القيم: "verified"، "detected"، "declared"لا
strengthإحدى القيم: "strong"، "moderate"، "limited"لا
materialbooleanلاما إذا كان المؤشر يُحتسب ضمن المستوى.
pagesarray من integerلا
imagesarray من integerلا
حقول text
الحقلالنوعمطلوبالوصف
statusإحدى القيم: "evaluated"، "insufficient_text"، "unsupported_language"، "no_text"لا
verdictإحدى القيم: "ai_generated"، "mixed"، "human"، "inconclusive"لايوجد عندما تكون قيمة status هي evaluated.
wordsintegerلا
languagesarray من stringلا
passagesintegerلاعدد الفقرات المعلَّمة.
حقول images
الحقلالنوعمطلوبالوصف
nintegerلا
pagesarray من integerلا
kindإحدى القيم: "photo"، "graphic"لا
widthintegerلا
heightintegerلا
levelإحدى القيم: "L0"، "L1"، "L2"، "L3"، "L4"، "L5"، nullلا
assessmentإحدى القيم: "authentic_untouched"، "authentic_locally_edited"، "ai_generated"، "undetermined"، nullلا
aiإحدى القيم: "labelled"، "very_likely"، "suspected"، "undecided"، "low"، "very_low"، "not_evaluated"، nullلا
editإحدى القيم: "detected"، "suspected"، "suspected_record"، "review"، "generative"، "minor"، "none"، "not_applicable"، "not_evaluated"، nullلا
حقول structure
الحقلالنوعمطلوبالوصف
revisionsinteger أو nullلا
changedPagesarray من integerلا
addedPagesintegerلا
signaturesintegerلا
حقول provenance
الحقلالنوعمطلوبالوصف
credentialsstringلاحالة Content Credentials.
signerstring أو nullلا
aiClaimbooleanلاما إذا كانت سجلات الملف نفسه تفيد بأنه مولَّد بالذكاء الاصطناعي.
softwarearray من stringلا
createdstring أو nullلا
modifiedstring أو nullلا
revisionsinteger أو nullلا
signedboolean أو nullلا
حقول error
الحقلالنوعمطلوبالوصف
codeإحدى القيم: "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"لا
messagestringلا
حقول progress
الحقلالنوعمطلوبالوصف
stageإحدى القيم: "queued"، "reading"، "analyzing"، "reporting"لا
doneintegerلاعدد الوحدات المنجزة في المرحلة الحالية عند معرفتها؛ وإلا فالقيمة 0.
totalintegerلاعدد الوحدات في المرحلة الحالية عند معرفتها؛ وإلا فالقيمة 0.
positionintegerلاالترتيب في قائمة الانتظار ما دامت المرحلة في الانتظار.
حقول usage
الحقلالنوعمطلوبالوصف
amountintegerلاالرسوم بالسنتات؛ 0 لفحوصات رصيد البدء المجاني ولحالات الفشل.
currency"usd"لا
fundingإحدى القيم: "trial"، "balance"، nullلا

رموز الأخطاء

الرمزالحالة
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

مثال

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}

عرض قائمة التحليلات

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

يعرض تحليلات الصور والمستندات في مساحة عملك، بدءًا من الأحدث. وتحصل مفاتيح الاختبار دائمًا على قائمة فارغة.

المعلمات

الاسمالموضعالنوعمطلوبالوصف
limitالاستعلامintegerلاالقيمة الافتراضية 20. الحد الأدنى 1. الحد الأقصى 100.
starting_afterالاستعلامstringلامؤشر التصفح: قيمة next_cursor من الصفحة السابقة.
typeالاستعلامإحدى القيم: "image"، "document"لا

الاستجابات

الحالةالوصفالمحتوى
200صفحة من التحليلات.AnalysisList
400طلب غير صالح. رموز الأخطاء: invalid_parameter.Error
401مفتاح API مفقود أو غير صالح. رموز الأخطاء: missing_api_key، invalid_api_key.Error
429عدد الطلبات كبير جدًا. رموز الأخطاء: rate_limited.Error
500خطأ داخلي؛ لا تُحتسب رسوم. رموز الأخطاء: internal_error.Error

الاستجابة 200: AnalysisList

الحقلالنوعمطلوبالوصف
object"list"نعم
dataarray من Analysisنعم
has_morebooleanنعم
next_cursorstring أو nullنعممرّره في starting_after للحصول على الصفحة التالية.
حقول data
الحقلالنوعمطلوبالوصف
idstringنعم
object"analysis"نعم
createdintegerنعمطابع زمني بصيغة Unix.
modelstringنعمالنسخة المؤرَّخة التي أنتجت النتيجة.
livemodebooleanنعم
statusإحدى القيم: "processing"، "succeeded"، "failed"، "canceled"نعم
fileobjectنعم
report_idstring أو nullنعمرقم التقرير القابل للتحقق، FV-XXXX-XXXX-XXXX.
report_urlstring أو nullنعمصفحة التحقق العامة الخاصة بالتقرير.
summaryImageSummary أو DocumentSummary أو nullنعمالحكم المختصر الثابت: ImageSummary للصور، وDocumentSummary للمستندات، وnull إلى أن ينجح التحليل.
resultobject أو nullنعميوجد ما إن تصبح قيمة status هي succeeded وإلى أن تنتهي صلاحية النتيجة.
errorobject أو nullنعم
progressobject أو nullنعم
usageobjectنعم
metadataobject أو nullنعم
completed_atinteger أو nullنعم
expires_atinteger أو nullنعمطابع زمني بصيغة Unix تُحذف النتيجة بعده.
حقول file
الحقلالنوعمطلوبالوصف
namestring أو nullلا
bytesinteger أو nullلا
formatstring أو nullلا
حقول result
الحقلالنوعمطلوبالوصف
reportImageReport أو DocumentReportلاالتقرير الكامل. قيمة report.schema هي fileverity.report/1 للصور وfileverity.docpro/1 للمستندات.
stamped_atinteger أو nullلاطابع زمني بصيغة Unix للطابع الزمني الصادر للتقرير وفق RFC 3161، أو null.
حقول error
الحقلالنوعمطلوبالوصف
codeإحدى القيم: "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"لا
messagestringلا
حقول progress
الحقلالنوعمطلوبالوصف
stageإحدى القيم: "queued"، "reading"، "analyzing"، "reporting"لا
doneintegerلاعدد الوحدات المنجزة في المرحلة الحالية عند معرفتها؛ وإلا فالقيمة 0.
totalintegerلاعدد الوحدات في المرحلة الحالية عند معرفتها؛ وإلا فالقيمة 0.
positionintegerلاالترتيب في قائمة الانتظار ما دامت المرحلة في الانتظار.
حقول usage
الحقلالنوعمطلوبالوصف
amountintegerلاالرسوم بالسنتات؛ 0 لفحوصات رصيد البدء المجاني ولحالات الفشل.
currency"usd"لا
fundingإحدى القيم: "trial"، "balance"، nullلا

رموز الأخطاء

الرمزالحالة
invalid_parameter400
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

مثال

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}

جلب تحليل

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

يعيد التحليل مع نتيجته متى نجح وإلى أن تنتهي صلاحيتها.

المعلمات

الاسمالموضعالنوعمطلوبالوصف
idالمسارstringنعممعرّف التحليل.

الاستجابات

الحالةالوصفالمحتوى
200التحليل.Analysis
401مفتاح API مفقود أو غير صالح. رموز الأخطاء: missing_api_key، invalid_api_key.Error
404المورد غير موجود. رموز الأخطاء: not_found.Error
429عدد الطلبات كبير جدًا. رموز الأخطاء: rate_limited.Error
500خطأ داخلي؛ لا تُحتسب رسوم. رموز الأخطاء: internal_error.Error

الاستجابة 200: Analysis

الحقلالنوعمطلوبالوصف
idstringنعم
object"analysis"نعم
createdintegerنعمطابع زمني بصيغة Unix.
modelstringنعمالنسخة المؤرَّخة التي أنتجت النتيجة.
livemodebooleanنعم
statusإحدى القيم: "processing"، "succeeded"، "failed"، "canceled"نعم
fileobjectنعم
report_idstring أو nullنعمرقم التقرير القابل للتحقق، FV-XXXX-XXXX-XXXX.
report_urlstring أو nullنعمصفحة التحقق العامة الخاصة بالتقرير.
summaryImageSummary أو DocumentSummary أو nullنعمالحكم المختصر الثابت: ImageSummary للصور، وDocumentSummary للمستندات، وnull إلى أن ينجح التحليل.
resultobject أو nullنعميوجد ما إن تصبح قيمة status هي succeeded وإلى أن تنتهي صلاحية النتيجة.
errorobject أو nullنعم
progressobject أو nullنعم
usageobjectنعم
metadataobject أو nullنعم
completed_atinteger أو nullنعم
expires_atinteger أو nullنعمطابع زمني بصيغة Unix تُحذف النتيجة بعده.
حقول file
الحقلالنوعمطلوبالوصف
namestring أو nullلا
bytesinteger أو nullلا
formatstring أو nullلا
حقول result
الحقلالنوعمطلوبالوصف
reportImageReport أو DocumentReportلاالتقرير الكامل. قيمة report.schema هي fileverity.report/1 للصور وfileverity.docpro/1 للمستندات.
stamped_atinteger أو nullلاطابع زمني بصيغة Unix للطابع الزمني الصادر للتقرير وفق RFC 3161، أو null.
حقول error
الحقلالنوعمطلوبالوصف
codeإحدى القيم: "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"لا
messagestringلا
حقول progress
الحقلالنوعمطلوبالوصف
stageإحدى القيم: "queued"، "reading"، "analyzing"، "reporting"لا
doneintegerلاعدد الوحدات المنجزة في المرحلة الحالية عند معرفتها؛ وإلا فالقيمة 0.
totalintegerلاعدد الوحدات في المرحلة الحالية عند معرفتها؛ وإلا فالقيمة 0.
positionintegerلاالترتيب في قائمة الانتظار ما دامت المرحلة في الانتظار.
حقول usage
الحقلالنوعمطلوبالوصف
amountintegerلاالرسوم بالسنتات؛ 0 لفحوصات رصيد البدء المجاني ولحالات الفشل.
currency"usd"لا
fundingإحدى القيم: "trial"، "balance"، nullلا

رموز الأخطاء

الرمزالحالة
not_found404
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

مثال

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}

إلغاء تحليل

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

يلغي تحليل مستند لا يزال قيد المعالجة ويحرّر المبلغ المحجوز له. لا يمكن إلغاء تحليلات الصور بعد إنشائها.

المعلمات

الاسمالموضعالنوعمطلوبالوصف
idالمسارstringنعممعرّف التحليل.
Idempotency-Keyالترويسةstringلامفتاح فريد من 255 حرفًا كحد أقصى. يعيد تكرار الطلب بالمفتاح ومحتوى الطلب نفسيهما خلال 24 ساعة الاستجابة الأولى مع الترويسة idempotent-replayed: true؛ أما المفتاح نفسه مع محتوى طلب مختلف فيعيد 409.

الاستجابات

الحالةالوصفالمحتوى
200التحليل الملغى.Analysis
400طلب غير صالح. رموز الأخطاء: invalid_parameter.Error
401مفتاح API مفقود أو غير صالح. رموز الأخطاء: missing_api_key، invalid_api_key.Error
404المورد غير موجود. رموز الأخطاء: not_found.Error
409تعارض مع الحالة الحالية. رموز الأخطاء: not_cancelable، idempotency_mismatch، idempotency_in_progress.Error
429عدد الطلبات كبير جدًا. رموز الأخطاء: rate_limited.Error
500خطأ داخلي؛ لا تُحتسب رسوم. رموز الأخطاء: internal_error.Error

الاستجابة 200: Analysis

الحقلالنوعمطلوبالوصف
idstringنعم
object"analysis"نعم
createdintegerنعمطابع زمني بصيغة Unix.
modelstringنعمالنسخة المؤرَّخة التي أنتجت النتيجة.
livemodebooleanنعم
statusإحدى القيم: "processing"، "succeeded"، "failed"، "canceled"نعم
fileobjectنعم
report_idstring أو nullنعمرقم التقرير القابل للتحقق، FV-XXXX-XXXX-XXXX.
report_urlstring أو nullنعمصفحة التحقق العامة الخاصة بالتقرير.
summaryImageSummary أو DocumentSummary أو nullنعمالحكم المختصر الثابت: ImageSummary للصور، وDocumentSummary للمستندات، وnull إلى أن ينجح التحليل.
resultobject أو nullنعميوجد ما إن تصبح قيمة status هي succeeded وإلى أن تنتهي صلاحية النتيجة.
errorobject أو nullنعم
progressobject أو nullنعم
usageobjectنعم
metadataobject أو nullنعم
completed_atinteger أو nullنعم
expires_atinteger أو nullنعمطابع زمني بصيغة Unix تُحذف النتيجة بعده.
حقول file
الحقلالنوعمطلوبالوصف
namestring أو nullلا
bytesinteger أو nullلا
formatstring أو nullلا
حقول result
الحقلالنوعمطلوبالوصف
reportImageReport أو DocumentReportلاالتقرير الكامل. قيمة report.schema هي fileverity.report/1 للصور وfileverity.docpro/1 للمستندات.
stamped_atinteger أو nullلاطابع زمني بصيغة Unix للطابع الزمني الصادر للتقرير وفق RFC 3161، أو null.
حقول error
الحقلالنوعمطلوبالوصف
codeإحدى القيم: "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"لا
messagestringلا
حقول progress
الحقلالنوعمطلوبالوصف
stageإحدى القيم: "queued"، "reading"، "analyzing"، "reporting"لا
doneintegerلاعدد الوحدات المنجزة في المرحلة الحالية عند معرفتها؛ وإلا فالقيمة 0.
totalintegerلاعدد الوحدات في المرحلة الحالية عند معرفتها؛ وإلا فالقيمة 0.
positionintegerلاالترتيب في قائمة الانتظار ما دامت المرحلة في الانتظار.
حقول usage
الحقلالنوعمطلوبالوصف
amountintegerلاالرسوم بالسنتات؛ 0 لفحوصات رصيد البدء المجاني ولحالات الفشل.
currency"usd"لا
fundingإحدى القيم: "trial"، "balance"، nullلا

رموز الأخطاء

الرمزالحالة
not_found404
not_cancelable409
invalid_parameter400
idempotency_mismatch409
idempotency_in_progress409
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

مثال

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

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

يعيد تقرير PDF المختوم لتحليل ناجح ما دامت نتيجته محفوظة. وتحصل مفاتيح الاختبار على 404. وتتوفر أدلة المستند، مثل صور الصفحات، لمدة 3 ساعات بعد التحليل؛ وبعد ذلك يخلو ملف PDF منها، ويُشار إلى ذلك بالترويسة x-evidence-included: false.

المعلمات

الاسمالموضعالنوعمطلوبالوصف
idالمسارstringنعممعرّف التحليل.
localeالاستعلامإحدى القيم: "en"، "fr"، "de"، "es"، "zh"، "vi"، "ar"لاالقيمة الافتراضية "en".

الاستجابات

الحالةالوصفالمحتوى
200تقرير PDF.ملف PDF
400طلب غير صالح. رموز الأخطاء: invalid_parameter.Error
401مفتاح API مفقود أو غير صالح. رموز الأخطاء: missing_api_key، invalid_api_key.Error
404المورد غير موجود. رموز الأخطاء: not_found.Error
429عدد الطلبات كبير جدًا. رموز الأخطاء: rate_limited.Error
500خطأ داخلي؛ لا تُحتسب رسوم. رموز الأخطاء: internal_error.Error

رموز الأخطاء

الرمزالحالة
invalid_parameter400
not_found404
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

مثال

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

النماذج

عرض قائمة النماذج

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

يعرض النماذج المتاحة لمفتاح API لديك.

الاستجابات

الحالةالوصفالمحتوى
200النماذج المتاحة.ModelList
401مفتاح API مفقود أو غير صالح. رموز الأخطاء: missing_api_key، invalid_api_key.Error
429عدد الطلبات كبير جدًا. رموز الأخطاء: rate_limited.Error
500خطأ داخلي؛ لا تُحتسب رسوم. رموز الأخطاء: internal_error.Error

الاستجابة 200: ModelList

الحقلالنوعمطلوبالوصف
object"list"نعم
dataarray من Modelنعم
حقول data
الحقلالنوعمطلوبالوصف
idstringنعم
object"model"نعم
createdintegerنعمطابع زمني بصيغة Unix للنسخة المؤرَّخة الحالية.
owned_bystringنعم
namestringنعم
typeإحدى القيم: "image"، "document"، "text"نعم
descriptionstringنعم
snapshotstringنعمالنسخة المؤرَّخة التي يشير إليها المعرّف حاليًا.
statusإحدى القيم: "available"، "preview"، "deprecated"نعم
inputobjectنعمالمُدخل المقبول. بالنسبة إلى الملفات تُدرج الصيغ وحدود الحجم؛ وبالنسبة إلى النص تُدرج اللغات وحدود الطول.
outputobjectنعم
pricingobjectنعم
حقول input
الحقلالنوعمطلوبالوصف
formatsarray من stringلا
max_bytesintegerلا
max_megapixelsintegerلا
max_pagesintegerلا
languagesarray من stringلا
min_wordsintegerلا
max_charactersintegerلا
حقول output
الحقلالنوعمطلوبالوصف
schemastringنعممخطط التقرير في نتائج التحليل.
حقول pricing
الحقلالنوعمطلوبالوصف
currency"usd"نعم
unitstringنعم
unit_amountintegerنعمالسعر لكل وحدة بالسنتات.

رموز الأخطاء

الرمزالحالة
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

مثال

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      }    }  ]}

جلب نموذج

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

يجلب نموذجًا بحسب معرّفه أو معرّف نسخته المؤرَّخة.

المعلمات

الاسمالموضعالنوعمطلوبالوصف
modelالمسارstringنعممعرّف النموذج أو معرّف النسخة المؤرَّخة.

الاستجابات

الحالةالوصفالمحتوى
200النموذج.Model
401مفتاح API مفقود أو غير صالح. رموز الأخطاء: missing_api_key، invalid_api_key.Error
404المورد غير موجود. رموز الأخطاء: model_not_found.Error
429عدد الطلبات كبير جدًا. رموز الأخطاء: rate_limited.Error
500خطأ داخلي؛ لا تُحتسب رسوم. رموز الأخطاء: internal_error.Error

الاستجابة 200: Model

الحقلالنوعمطلوبالوصف
idstringنعم
object"model"نعم
createdintegerنعمطابع زمني بصيغة Unix للنسخة المؤرَّخة الحالية.
owned_bystringنعم
namestringنعم
typeإحدى القيم: "image"، "document"، "text"نعم
descriptionstringنعم
snapshotstringنعمالنسخة المؤرَّخة التي يشير إليها المعرّف حاليًا.
statusإحدى القيم: "available"، "preview"، "deprecated"نعم
inputobjectنعمالمُدخل المقبول. بالنسبة إلى الملفات تُدرج الصيغ وحدود الحجم؛ وبالنسبة إلى النص تُدرج اللغات وحدود الطول.
outputobjectنعم
pricingobjectنعم
حقول input
الحقلالنوعمطلوبالوصف
formatsarray من stringلا
max_bytesintegerلا
max_megapixelsintegerلا
max_pagesintegerلا
languagesarray من stringلا
min_wordsintegerلا
max_charactersintegerلا
حقول output
الحقلالنوعمطلوبالوصف
schemastringنعممخطط التقرير في نتائج التحليل.
حقول pricing
الحقلالنوعمطلوبالوصف
currency"usd"نعم
unitstringنعم
unit_amountintegerنعمالسعر لكل وحدة بالسنتات.

رموز الأخطاء

الرمزالحالة
model_not_found404
missing_api_key401
invalid_api_key401
rate_limited429
internal_error500

مثال

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

ترسل Fileverity هذه الأحداث إلى نقاط نهاية Webhook لديك. وتجد قواعد التحقق والتسليم في Webhooks.

الحدث analysis.completed

يُسلَّم إلى نقاط نهاية Webhook لديك وفق مواصفة Standard Webhooks: الترويسات webhook-id وwebhook-timestamp وwebhook-signature (v1,<base64 HMAC-SHA256 of id.timestamp.body>، ومفتاحه هو جزء base64 من المفتاح السري whsec_ الخاص بك). استجب بأي حالة 2xx خلال 10 ثوانٍ؛ وتُعاد محاولة التسليم الفاشل بفواصل زمنية تتزايد أسّيًا لمدة 3 أيام.

محتوى الطلب: application/json، مطلوب

الحقلالنوعمطلوبالوصف
idstringنعميُرسل أيضًا في الترويسة webhook-id؛ استخدمه لتجاهل عمليات إعادة المحاولة المكررة.
object"event"نعم
typeإحدى القيم: "analysis.completed"، "analysis.failed"، "balance.low"نعم
createdintegerنعمطابع زمني بصيغة Unix.
dataAnalysis أو BalanceLowنعمتحمل أحداث analysis.* الكائن نفسه الذي يعيده GET /analyses/{id}، على أن تكون قيمة result هي null دائمًا؛ اجلب النتيجة من نقطة النهاية تلك. وتحمل أحداث balance.low الرصيد والحد بالسنتات.
حقول data (BalanceLow)
الحقلالنوعمطلوبالوصف
balanceintegerنعمالرصيد بالسنتات.
thresholdintegerنعمحد التنبيه بالسنتات.

الحدث analysis.failed

يُسلَّم إلى نقاط نهاية Webhook لديك وفق مواصفة Standard Webhooks: الترويسات webhook-id وwebhook-timestamp وwebhook-signature (v1,<base64 HMAC-SHA256 of id.timestamp.body>، ومفتاحه هو جزء base64 من المفتاح السري whsec_ الخاص بك). استجب بأي حالة 2xx خلال 10 ثوانٍ؛ وتُعاد محاولة التسليم الفاشل بفواصل زمنية تتزايد أسّيًا لمدة 3 أيام.

محتوى الطلب: application/json، مطلوب

الحقلالنوعمطلوبالوصف
idstringنعميُرسل أيضًا في الترويسة webhook-id؛ استخدمه لتجاهل عمليات إعادة المحاولة المكررة.
object"event"نعم
typeإحدى القيم: "analysis.completed"، "analysis.failed"، "balance.low"نعم
createdintegerنعمطابع زمني بصيغة Unix.
dataAnalysis أو BalanceLowنعمتحمل أحداث analysis.* الكائن نفسه الذي يعيده GET /analyses/{id}، على أن تكون قيمة result هي null دائمًا؛ اجلب النتيجة من نقطة النهاية تلك. وتحمل أحداث balance.low الرصيد والحد بالسنتات.

الحدث balance.low

يُسلَّم إلى نقاط نهاية Webhook لديك وفق مواصفة Standard Webhooks: الترويسات webhook-id وwebhook-timestamp وwebhook-signature (v1,<base64 HMAC-SHA256 of id.timestamp.body>، ومفتاحه هو جزء base64 من المفتاح السري whsec_ الخاص بك). استجب بأي حالة 2xx خلال 10 ثوانٍ؛ وتُعاد محاولة التسليم الفاشل بفواصل زمنية تتزايد أسّيًا لمدة 3 أيام.

محتوى الطلب: application/json، مطلوب

الحقلالنوعمطلوبالوصف
idstringنعميُرسل أيضًا في الترويسة webhook-id؛ استخدمه لتجاهل عمليات إعادة المحاولة المكررة.
object"event"نعم
typeإحدى القيم: "analysis.completed"، "analysis.failed"، "balance.low"نعم
createdintegerنعمطابع زمني بصيغة Unix.
dataAnalysis أو BalanceLowنعمتحمل أحداث analysis.* الكائن نفسه الذي يعيده GET /analyses/{id}، على أن تكون قيمة result هي null دائمًا؛ اجلب النتيجة من نقطة النهاية تلك. وتحمل أحداث balance.low الرصيد والحد بالسنتات.
curl https://api.fileverity.com/v1/openapi.json