> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# مفاتيح API المقيّدة - الوصول المحدود إلى KYC API

> مفاتيح API مقيّدة في Didit: امنح كل خدمة أو شريك مفتاحه الخاص بالصلاحيات اللازمة فقط، مع قائمة IP وانتهاء صلاحية وإلغاء فوري.

***

موجّه مفاتيح API محددة النطاق
        نسخ الموجّه إلى الحافظة



      
      

\<pre>

\````# Goal - call Didit with a scoped API key

Every application has a primary secret with full access, and any number of named API keys.
A named key carries its own access: read or write per resource, optional limits, an optional IP allowlist and an optional expiry date.
Keys are created, edited, rotated and revoked in the Business Console (Developers -> API keys); there is no API to manage them.

\## Sending the key

\```bash
curl https://verification.didit.me/v3/session/$SESSION_ID/decision/ \
-H "x-api-key: $DIDIT_API_KEY"
\```

Read the key from an environment variable or a secrets manager, never from source code.

\## What each answer means

\| Status | Meaning |
\|---|---|
\| 401 | The key is missing, wrong, revoked or expired |
\| 403 | The key has no access to this resource or action, or the request came from an address outside its IP list |
\| 404 | The session is outside the key's workflows or statuses, so to this key it does not exist |

A key without media access receives decisions with every image, video and PDF URL set to null, and gets 403 on PDF reports.
A key without sessions write receives session_url and session_token as null.

\## Resources

sessions, decisions, media (read only), users, businesses, transactions, workflows, webhooks, applications, analytics (read only), api-keys.
Read covers GET requests, write covers POST, PUT, PATCH and DELETE.
Standalone checks (face match, ID verification, AML screening and the other /v3 standalone APIs) need sessions write.
Creating a person with send_verification_link: true (POST /v3/users/create/) needs users write and sessions write; without sessions write it answers 403 and nothing is created.

\## Limits

\- workflow_ids: only sessions of these workflows are visible, and sessions can only be created with them.
\- approved sessions only: declined, in-review and unfinished sessions are hidden.
\- A key with either limit cannot have access to users, businesses, transactions or analytics.

\## Rotation

Rotating a key returns a new secret once; the previous secret keeps working for 24 hours.````

\</pre>



      
      

الصق في

يبدأ كل تطبيق بـ**سر أساسي** يملك وصولاً كاملاً إلى كل ما يستطيع التطبيق القيام به.
يمكنك إضافة **مفاتيح API مسمّاة** بجانبه، واحد لكل خدمة أو شريك، ولكل منها الوصول الذي يحتاجه فقط.
امنح مزوّد المدفوعات لديك مفتاحاً يقرأ الجلسات المقبولة لسير عمل واحد ولا يستطيع تغيير أي شيء، واحتفظ بمفتاح منفصل لخادمك الخلفي، ويمكنك إلغاء أي منهما دون المساس بالآخر.> [!NOTE]
>
> تحتفظ المفاتيح التي أُنشئت قبل توفر الوصول المحدد بالنطاق بالوصول الكامل.
> لن يتغير شيء بالنسبة إليها حتى تعدّل وصولها.***## أين تجدهافي [**وحدة تحكم الأعمال**](https://business.didit.me)، اختر تطبيقك وافتح **Developers -> API keys**.تعرض القائمة كل مفاتيح التطبيق مع حالة كل منها، وعدد طلباتها خلال آخر 30 يوماً، ومن أنشأها، وصلاحياتها، وآخر مرة استُخدمت فيها.
انقر على مفتاح لمعاينته على اليمين، أو افتح صفحته الكاملة للاطلاع على الاستخدام والوصول وآخر الطلبات ومقتطف البدء السريع ونشاطه.تنتمي المفاتيح إلى تطبيق واحد ولا تعمل إلا له.
يتبع المفتاح بيئة التطبيق: فمفاتيح تطبيق في البيئة التجريبية لا تنشئ عمليات تحقق مفوترة أبداً.***## روابط إعادة التوجيه والنطاقات المسموح بهاافتح **Developers > API keys > Redirects and domains** لضبط قائمتين للتطبيق والبيئة المحددين لديك.| القائمة | ما الذي تتحكم فيه |
| - | - |
| **Redirect URLs** | المكان الذي يوجّه إليه Didit المتصفح بعد انتهاء التحقق المستضاف. يجب أن يتطابق الرابط تماماً، بما في ذلك المسار. |
| **Allowed domains** | المصادر (المخطط والمضيف والمنفذ الاختياري، مثل `https://app.example.com`) التي يجوز تضمين تدفق التحقق المستضاف فيها، والتي يجوز إعادة المستخدم إليها. |عندما تحتوي قائمة **Allowed domains** على مدخلات، يرفض [إنشاء جلسة](https://docs.didit.me/ar/sessions-api/create-session.md) أي `callback` لا يقع ضمن إحداها، ويعيد خطأ `400`.
القائمة الفارغة تعني عدم وجود أي قيد.
لا تتأثر استدعاءات الخادم إلى الخادم بذلك.***## إنشاء مفتاح**1. التفاصيل**سمِّ المفتاح باسم الخدمة التي ستستخدمه، واختر متى ينتهي: أبدًا، أو بعد 30 يومًا، أو 90 يومًا، أو سنة، أو في تاريخ تحدده.
يتوقف المفتاح المنتهي عن العمل في نهاية ذلك اليوم بالتوقيت العالمي المنسّق (UTC).**2. الوصول**ابدأ من إعداد مسبق، ثم اضبط كل مورد على حدة.
لا يمكن للمفتاح أن يفعل أكثر من ذلك أبدًا.**3. المراجعة**توضح لوحة التحكم ما يستطيع المفتاح فعله وما لا يستطيعه، قبل أن تسلّمه لأي جهة.**4. المفتاح السري**انسخ السر واحفظه في مدير الأسرار لديك.
هذه هي المرة الوحيدة التي يُعرض فيها السر الكامل.
إذا فقدته، فأعد تدوير المفتاح للحصول على سر جديد.### الإعدادات المسبقة| الإعداد المسبق | الوصول |
| - | - |
| **وصول كامل** | كل مورد، قراءةً وكتابةً، بما في ذلك مفاتيح API الأخرى. مخصص للخادم الخلفي الخاص بك. |
| **للقراءة فقط** | الجلسات والقرارات، مع الوسائط بشكل اختياري. لا يستطيع إنشاء شيء أو تعديله أو حذفه. مخصص لشريك يحتاج إلى النتائج. |
| **مخصص** | تختار لكل مورد: بدون وصول، أو قراءة، أو كتابة. |### المواردالقراءة تشمل طلبات `GET` على المورد، أما الكتابة فتشمل أيضًا `POST` و`PUT` و`PATCH` و`DELETE`.| المورد | القراءة | الكتابة |
| - | - | - |
| **الجلسات** | عرض الجلسات وفتحها | إنشاء الجلسات وتعديلها وحذفها، واستيراد الجلسات، وتشغيل الفحوصات المستقلة (مطابقة الوجه، والتحقق من الهوية، وفحص AML، وغيرها من واجهات API المستقلة) |
| **القرارات** | النتائج، ودرجات المخاطر، والبيانات المستخرجة، وسجل فحوصات AML | الموافقة على القرارات أو رفضها أو إرسالها للمراجعة، وتغيير الحالات الخاصة بالميزات وبنتائج AML |
| **الوسائط** | صور الهوية، وصور السيلفي، ومقاطع الفيديو، وتقارير PDF | - |
| **الأشخاص** (`users`) | المستخدمون النهائيون وكل ما جرى التحقق منه بشأنهم | إنشاء المستخدمين وتعديلهم وحذفهم، وكذلك مراقبتهم. إنشاء مستخدم مع رابط تحقق يتطلب أيضًا صلاحية كتابة **الجلسات** |
| **الشركات** (`businesses`) | الملفات التعريفية للشركات ومستنداتها ومالكوها | إنشاء الشركات وتعديلها وحذفها، وكذلك مراقبتها |
| **المعاملات** | المعاملات والتنبيهات والقواعد وأحداث المراقبة وبيانات Travel Rule وفحص المحافظ | إرسال المعاملات والأحداث وتغيير حالاتها، وإدارة إعدادات Travel Rule ودفتر عناوين المحافظ والتحويلات |
| **سير العمل** | سير العمل والاستبيانات والقوائم وقوائم الحظر | إنشاؤها وتعديلها |
| **webhook** | نقاط النهاية، وعمليات التسليم (مع صلاحية قراءة **القرارات**، لأن عملية التسليم تحمل payload الخاص بالجلسة الذي أرسلته) | إضافة نقاط النهاية وتعديلها وحذفها، وإعادة إرسال عمليات التسليم |
| **إعدادات التطبيق** (`applications`) | التخصيص والرصيد | تغيير التخصيص وشحن الرصيد |
| **التحليلات** | المقاييس وتصدير التقارير | - |
| **مفاتيح API** | محجوزة لإدارة المفاتيح | محجوزة لإدارة المفاتيح |يعمل المفتاح ذو الوصول المخصص مع الواجهة البرمجية العامة: endpoints الخاصة بالجلسات والمستخدمين والشركات والمعاملات وسير العمل وwebhook، وكذلك الفحوصات المستقلة.
ترد نقاط النهاية التي تستخدمها لوحة Business Console فقط بالرمز `403` لهذا المفتاح، وهي تحتاج إلى مفتاح بوصول كامل.المفتاح الذي لا يملك صلاحية قراءة **الوسائط** يتلقى قرارات الجلسات مع ضبط كل رابط للصورة والفيديو وPDF على `null`، وترد نقاط نهاية تقارير PDF بالرمز `403`.
لا يتلقى المفتاح الذي لا يملك صلاحية كتابة **الجلسات** أبدًا رابط التحقق أو رمز الجلسة الخاص بأي جلسة، لأن من يحملهما يستطيع إكمال التحقق باسم المستخدم النهائي، لذلك تعود هذه الحقول بالقيمة `null`.
ولهذا السبب نفسه، فإن إنشاء شخص مع `send_verification_link: true` يتطلب صلاحية كتابة **الجلسات** إلى جانب صلاحية كتابة **الأشخاص**، لأنه ينشئ جلسة ويرسل رابطها بالبريد الإلكتروني.
ومن دونها، يرد الطلب بالرمز `403` ولا ينشئ شيئًا.### الحدود| الحد | ما الذي يفعله |
| - | - |
| **سير العمل** | لا يرى المفتاح إلا جلسات سير العمل الذي تختاره، ولا يستطيع إنشاء جلسات إلا بها. ترد أي جلسة أخرى بالرمز `404`، كما لو لم تكن موجودة. |
| **الجلسات المقبولة فقط** | تبقى الجلسات المرفوضة وقيد المراجعة وغير المكتملة مخفية عن المفتاح. |
| **عناوين** | يعمل المفتاح فقط من العناوين أو نطاقات CIDR التي تدرجها (حتى 20، بصيغة IPv4 أو IPv6). ترد الطلبات الصادرة من أي عنوان آخر بالرمز `403`. |
| **ينتهي** | بعد هذا التاريخ، ترد كل الطلبات التي تحمل المفتاح بالرمز `401`. |يعمل المفتاح المقيَّد ببعض سير العمل أو بالجلسات المقبولة فقط على نقاط نهاية الجلسات، حيث يمكن تطبيق الحد.
ولا يستطيع الوصول إلى الأشخاص أو الشركات أو المعاملات أو التحليلات، ولا يستطيع تشغيل الفحوصات المستقلة.***## كيف ترد واجهة API على مفتاح محدود النطاق| الحالة | المعنى |
| - | - |
| **401** | المفتاح مفقود أو غير صحيح أو ملغى أو منتهي الصلاحية. |
| **403** | ليس للمفتاح وصول إلى هذا المورد أو هذا الإجراء، أو أن الطلب صادر من عنوان خارج قائمة IP الخاصة به. |
| **404** | الجلسة خارج سير عمل المفتاح أو حالاته. |لا تعيد قوائم الجلسات إلا الجلسات التي تسمح بها حدود المفتاح.***## تعديل الوصولافتح قائمة المفتاح أو معاينته أو صفحته، واختر **تعديل الوصول**.
غيّر الإعداد المسبق أو الموارد أو الحدود أو تاريخ الانتهاء، ثم راجع التغييرات فقط، مع القيم قبل التعديل وبعده.
يبقى السر كما هو، فلا حاجة إلى إعادة النشر، ويُطبَّق الوصول الجديد خلال دقيقة.يملك السر الأساسي دائمًا وصولًا كاملًا، ولا يمكن تعديله.***## تدوير مفتاحتدوير المفتاح يستبدل سره.
يُعرض السر الجديد مرة واحدة، ويظل السر الحالي يعمل لمدة **24 ساعة** حتى تتمكن من نشر السر الجديد دون توقف الخدمة.
بعد ذلك، ترد كل الطلبات التي تحمل السر القديم بالرمز `401`.يُدوَّر السر الأساسي بالطريقة نفسها، مع فترة التداخل نفسها البالغة 24 ساعة.***## إلغاء مفتاحالإلغاء يوقف المفتاح فورًا: ترد كل الطلبات المرسلة به بالرمز `401`.
ولا يمكن التراجع عنه.
لا يمكن إلغاء السر الأساسي، بل أعد تدويره بدلًا من ذلك.***## الاستخدام وسجل التدقيقيعرض كل مفتاح طلباته خلال آخر 30 يومًا، ومعدل الأخطاء، وزمن الاستجابة، وأحدث طلباته مع رموز حالتها، بما فيها الطلبات التي رفضتها حدوده.تظهر كل استدعاء يُجرى بمفتاح API في [سجلات التدقيق](https://docs.didit.me/ar/console/audit-logs.md) الخاصة بالمؤسسة، مع اسم المفتاح الذي أجراه.## من يمكنه إدارة المفاتيحتتطلب إدارة مفاتيح API الإذن **مفاتيح API**: قراءة لعرضها، وكتابة لإنشائها وتعديلها وتدويرها وإلغائها.
راجع [الأدوار والأذونات](https://docs.didit.me/ar/console/roles-permissions.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.