> ## 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: رفع الحظر عن عناصر الجلسة

> من Didit: ارفع الحظر عن الوجه أو المستند أو رقم الهاتف أو البريد الإلكتروني لجلسة تحقق بنداء واحد عبر POST /v3/blocklist/remove/.



موجّه واجهة برمجة التطبيقات: إزالة من قائمة الحظر
        نسخ الموجّه إلى الحافظة



      
      

\<pre>

\`Lift the block on the face, document, phone number or email address of one of my Didit verification sessions through the Management API.

Endpoint:
POST https://verification.didit.me/v3/blocklist/remove/

Authentication:
Use the x-api-key header with my Didit API key. A scoped API key needs workflows: write.

Goal:
\- Undo a blocklist decision for a session, for example after a false positive.

Request body (application/json):
\{
"session_id": "33333333-4444-5555-6666-777777777777", // required: a verification session of my application
"unblock_face": true,       // optional, default false
"unblock_document": true,   // optional, default false
"unblock_phone": false,     // optional, default false
"unblock_email": false      // optional, default false
}
At least one unblock_* flag must be true.

Behavior:
\- Didit uses the session's most recent record of each selected type.
\- The record is no longer flagged as blocklisted, and the system blocklist entries created from it are deleted, so it no longer declines new sessions.
\- Entries added by value are not touched: if the same phone number was also added to the phone blocklist by hand, it stays blocked until I delete that entry with DELETE /v3/lists/{list_uuid}/entries/{entry_uuid}/.
\- Unblocking a record that is not blocklisted succeeds and changes nothing.
\- Sessions that already finished are not changed.

Example call:
curl -X POST "https://verification.didit.me/v3/blocklist/remove/" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"session_id": "33333333-4444-5555-6666-777777777777", "unblock_face": true, "unblock_document": true}'

Example response (200):
\{ "message": "Successfully removed from blocklist." }

Failure modes:
\- 400: session_id is missing ({ "session_id": ["This field is required."] }) or not a UUID ({ "session_id": ["Must be a valid UUID."] }); the session is not a verification session of this application ({ "non_field_errors": ["Session not found"] }; business verification sessions are not accepted); no flag is true ({ "non_field_errors": ["Must specify at least one item to unblock"] }); or the session has no record of a selected type ({ "non_field_errors": ["Session does not have an email record"] }).
\- 401: the API key has expired.
\- 403: missing x-api-key (a wrong, revoked or expired key gets 401) ({ "detail": "You do not have permission to perform this action." }), or a scoped key without workflows: write.
\- 429: rate limited (see /integration/rate-limiting); back off and retry.

Side effects:
\- Deletes the matching entries from the system face, document, phone and email blocklists.

For the full integration shape, see /integration/integration-prompt.`

\</pre>



      
      

الصق في

ترفع هذه الواجهة الحظر عن البيانات التي جمعتها جلسة تحقق واحدة: الوجه أو مستند الهوية أو رقم الهاتف أو عنوان البريد الإلكتروني. لم يعد السجل مُعلَّمًا كمحظور، وتُحذف إدخالات قائمة الحظر في النظام التي أُنشئت منه، لذلك لا يعود النظام يرفض الجلسات الجديدة بسببه.> [!NOTE]
>
> تُزال فقط الإدخالات التي أُنشئت من سجلات الجلسة. أما القيمة التي أضافها أحدهم يدويًا إلى إحدى القوائم، مثل رقم الهاتف نفسه المكتوب في قائمة حظر أرقام الهواتف، فتبقى محظورة: ابحث عنها باستخدام [قائمة الإدخالات](https://docs.didit.me/ar/management-api/lists/list-entries.md) وأزلها باستخدام [حذف الإدخال](https://docs.didit.me/ar/management-api/lists/delete-entry.md).لعرض العناصر المحظورة حاليًا، استخدم [عرض العناصر المدرجة في قائمة الحظر](https://docs.didit.me/ar/management-api/blocklist/list.md). راجع [حظر المستخدمين](https://docs.didit.me/ar/console/blocklist-users.md) لإدارة القائمة من وحدة التحكم.


## OpenAPI

````yaml ar/openapi-25.json POST /v3/blocklist/remove/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API التحقق من الهوية. قم بالمصادقة باستخدام الرأس x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/blocklist/remove/:
    post:
      tags:
        - Blocklist
      summary: إزالة عناصر الجلسة من قائمة الحظر
      description: >-
        يرفع الحظر عن الوجه أو مستند الهوية أو رقم الهاتف أو عنوان البريد
        الإلكتروني لجلسة واحدة للتحقق من شخص تابعة للتطبيق. لكل نوع محدد، يأخذ
        Didit أحدث سجل للجلسة، ويمحو علامة الحظر الخاصة به ويحذف مدخلات قائمة
        الحظر الخاصة بالنظام التي تم إنشاؤها من ذلك السجل، بحيث لا يؤدي إلى رفض
        جلسات جديدة بعد الآن. المدخلات المضافة إلى قائمة حسب القيمة لا يتم
        المساس بها: يمكنك العثور عليها عبر [List list
        entries](https://docs.didit.me/ar/management-api/lists/list-entries)
        وحذفها عبر [Delete a list
        entry](https://docs.didit.me/ar/management-api/lists/delete-entry). ينجح
        إلغاء حظر سجل غير محظور دون تغيير أي شيء، ولا تتغير الجلسات التي اكتملت
        بالفعل. يتطلب مفتاح API المحدد النطاق الإذن `workflows: write`.
      operationId: remove_from_blocklist
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - session_id
              description: يجب أن تكون علامة `unblock_*` واحدة على الأقل مضبوطة على `true`.
              properties:
                session_id:
                  type: string
                  format: uuid
                  description: جلسة تحقق من شخص تابعة لتطبيقك. يتم رفض الجلسات المحذوفة.
                unblock_face:
                  type: boolean
                  default: false
                  description: إلغاء الحظر عن وجه الجلسة.
                unblock_document:
                  type: boolean
                  default: false
                  description: إلغاء الحظر عن مستند الهوية للجلسة.
                unblock_phone:
                  type: boolean
                  default: false
                  description: إلغاء الحظر عن رقم هاتف الجلسة.
                unblock_email:
                  type: boolean
                  default: false
                  description: إلغاء الحظر عن عنوان البريد الإلكتروني للجلسة.
            examples:
              Face and document:
                value:
                  session_id: 33333333-4444-5555-6666-777777777777
                  unblock_face: true
                  unblock_document: true
      responses:
        '200':
          description: تم رفع الحظر عن العناصر المحددة.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
                    description: دائماً `Successfully removed from blocklist.`
              examples:
                Unblocked:
                  value:
                    message: Successfully removed from blocklist.
        '400':
          description: >-
            نص الطلب غير صالح، أو أن الجلسة ليست جلسة تحقق تابعة لهذا التطبيق،
            أو ليس لديها سجل من النوع المحدد. لم يتم تغيير أي شيء.
          content:
            application/json:
              examples:
                Unknown session:
                  value:
                    non_field_errors:
                      - Session not found
                No item selected:
                  value:
                    non_field_errors:
                      - Must specify at least one item to unblock
                No email record:
                  value:
                    non_field_errors:
                      - Session does not have an email record
                Invalid session id:
                  value:
                    session_id:
                      - Must be a valid UUID.
                Missing session id:
                  value:
                    session_id:
                      - This field is required.
        '401':
          description: >-
            انتهت صلاحية مفتاح API محدد النطاق. تُرجع حالات فشل المصادقة الأخرى
            الرمز `403`.
          content:
            application/json:
              examples:
                Expired API key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            رأس `x-api-key` مفقود (المفتاح الخاطئ أو الملغى أو منتهي الصلاحية
            يحصل على `401`)، أو أن مفتاح API محدد النطاق يفتقر إلى `workflows:
            write` أو تم استخدامه من عنوان IP خارج قائمة السماح الخاصة به.
          content:
            application/json:
              examples:
                Missing or invalid API key:
                  value:
                    detail: You do not have permission to perform this action.
                Scoped key without workflows access:
                  value:
                    detail: This API key has no write access to workflows.
        '429':
          $ref: '#/components/responses/RateLimitedWrite'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X POST 'https://verification.didit.me/v3/blocklist/remove/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{
                "session_id": "33333333-4444-5555-6666-777777777777",
                "unblock_face": true,
                "unblock_document": true
              }'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.blocklist.remove(
                session_id="33333333-4444-5555-6666-777777777777",
                unblock_face=True,
                unblock_document=True,
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.blocklist.remove({
              session_id: "33333333-4444-5555-6666-777777777777",
              unblock_face: true,
              unblock_document: true,
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Blocklist.Remove(ctx, didit.BlocklistRemoveParams{\n\tSessionID:       \"33333333-4444-5555-6666-777777777777\",\n\tUnblockFace:     didit.Bool(true),\n\tUnblockDocument: didit.Bool(true),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.BlocklistRemoveParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.blocklist().remove(BlocklistRemoveParams.builder()
                    .sessionId("33333333-4444-5555-6666-777777777777")
                    .unblockFace(true)
                    .unblockDocument(true)
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            $result = $didit->blocklist->remove([
                'session_id' => '33333333-4444-5555-6666-777777777777',
                'unblock_face' => true,
                'unblock_document' => true,
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            result = didit.blocklist.remove(
              session_id: "33333333-4444-5555-6666-777777777777",
              unblock_face: true,
              unblock_document: true
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await client.Blocklist.RemoveAsync(new
            BlocklistRemoveParams

            {
                SessionId = "33333333-4444-5555-6666-777777777777",
                UnblockFace = true,
                UnblockDocument = true,
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  responses:
    RateLimitedWrite:
      description: >-
        تم تجاوز حد الكتابة المشترك البالغ 300 طلب في الدقيقة لكل مفتاح API.
        التزم بالمدة المحددة في `Retry-After` قبل إعادة المحاولة.
      content:
        application/json:
          schema:
            type: object
            required:
              - detail
            properties:
              detail:
                type: string
          example:
            detail: >-
              Write request rate limit exceeded. You can make up to 300 requests
              per minute.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        مفتاح API الخاص بتطبيقك، من Developers -> API keys في Business Console.
        يمتلك المفتاح الأساسي وصولاً كاملاً. يمكن تحديد نطاق المفتاح المسمى: لا
        شيء، أو قراءة، أو كتابة لكل مورد، ومحدوداً ببعض مسارات العمل أو بالجلسات
        المقبولة، وبقائمة من عناوين IP، وبتاريخ انتهاء الصلاحية. يشير 401 إلى أن
        المفتاح غير صحيح أو ملغى أو منتهي الصلاحية؛ ويشير 403 إلى أنه لم يتم
        إرسال أي مفتاح، أو أن المفتاح ليس لديه حق الوصول إلى هذا المورد أو
        الإجراء، أو أن الطلب جاء من عنوان خارج قائمة عناوين IP الخاصة به؛ ويشير
        404 في مسار جلسة إلى أن الجلسة خارج مسارات العمل أو الحالات الخاصة
        بالمفتاح. يتلقى المفتاح الذي لا يمتلك حق الوصول إلى الوسائط عناوين URL
        للصور ومقاطع الفيديو وملفات PDF كـ null، ويتلقى المفتاح الذي لا يمتلك
        إذن كتابة للجلسات روابط الجلسة وtoken كـ null. راجع
        https://docs.didit.me/console/api-keys.

````

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