> ## 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 وKYB الخاصة بمؤسستك في Didit، وأدر تدفقات التحقق برمجياً. التسعير حسب الاستخدام، دون أي عقود.



موجّه API لعرض سير العمل
        نسخ الموجّه إلى الحافظة



      
      

\<pre>

\`List every Didit workflow in my application through the Management API.

Endpoint:
GET https://verification.didit.me/v3/workflows/

Authentication:
Use the x-api-key header with my Didit API key.

Goal:
\- Retrieve every workflow (verification settings record) defined for the application bound to my API key.
\- Use the results to render a workflow picker, sync workflow ids into my config, or discover the workflow_id of a workflow created in the Console.

Behavior:
\- Results are returned newest first (ordered by -created_at).
\- The endpoint does not paginate today — every workflow record comes back in one response.
\- Each row is a single version of a workflow group. workflow_id is the stable identifier shared by every version, version is the integer version number, and status is "draft" or "published".
\- The workflow with is_default: true is used whenever a session is created without an explicit workflow_id.
\- is_editable: true means the row is a draft and can still be patched via PATCH /v3/workflows/{settings_uuid}/.
\- Filter client-side by is_archived and status if you maintain hundreds of workflows.

Example call:
curl -X GET "https://verification.didit.me/v3/workflows/" \
-H "x-api-key: YOUR_API_KEY"

What to do with the response:
\- Use settings_uuid as the path id for GET / PATCH / DELETE /v3/workflows/{settings_uuid}/.
\- Use workflow_id when creating a session via POST /v3/session/.

Failure modes:
\- 401 — missing or malformed x-api-key.
\- 403 — canonical { "detail": "You do not have permission to perform this action." } envelope when the API key cannot list workflows for this application.
\- 429 — rate limited; back off and retry using Retry-After.

Side effects: none. This is a pure read.

For the full integration shape (auth, retries, error handling), see /integration/integration-prompt.`

\</pre>



      
      

الصق في



## OpenAPI

````yaml ar/openapi-25.json GET /v3/workflows/
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/workflows/:
    get:
      tags:
        - Workflows
      summary: عرض قائمة بسير العمل
      description: >-
        عرض قائمة بسير العمل الخاصة بك، مرتبة من الأحدث أولاً، داخل غلاف تقسيم
        الصفحات limit/offset (`{count, next, previous, results}`، حجم الصفحة
        الافتراضي 50). يمثل كل صف إصدارًا واحدًا؛ و`workflow_id` هو معرّف
        المجموعة الثابت وتستخدم الجلسات الجديدة أحدث إصدار `published`.
      operationId: list_workflows
      parameters:
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 50
          description: حجم الصفحة (عدد سير العمل في كل صفحة).
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            default: 0
          description: عدد الصفوف المراد تخطيها قبل أول سير عمل مُرجع.
      responses:
        '200':
          description: >-
            صفحة واحدة من مسارات سير العمل مرتبة تنازلياً حسب `created_at`،
            مغلفة في غلاف تقسيم الصفحات. كل عنصر في `results` هو
            `WorkflowListItem`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: العدد الإجمالي لإصدارات سير العمل الخاصة بالتطبيق.
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: رابط URL للصفحة التالية، أو `null` في الصفحة الأخيرة.
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: رابط URL للصفحة السابقة، أو `null` في الصفحة الأولى.
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/WorkflowListItem'
              examples:
                Two workflows:
                  summary: سير عمل KYC افتراضي ومسودة سير عمل KYC + AML
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - uuid: a1b2c3d4-5678-90ab-cdef-111111111111
                        workflow_id: a1b2c3d4-5678-90ab-cdef-111111111111
                        workflow_label: Standard KYC
                        workflow_type: kyc
                        is_default: true
                        is_archived: false
                        is_white_label_enabled: false
                        total_price: 0.15
                        min_price: 0.15
                        max_price: 0.15
                        features: OCR + LIVENESS + FACE_MATCH
                        is_simple_workflow: true
                        is_editable: false
                        workflow_url: https://verify.didit.me/u/_yljPOx8RWG3UAz5ZRQGVQ
                        max_retry_attempts: 3
                        retry_window_days: 7
                        session_expiration_time: 604800
                        version: 2
                        status: published
                        has_draft: false
                        created_by:
                          name: Alex Mateo
                          email: alex@example.com
                          type: user
                        updated_at: '2026-04-12T10:30:00Z'
                      - uuid: b2c3d4e5-6789-01bc-defa-222222222222
                        workflow_id: b2c3d4e5-6789-01bc-defa-222222222222
                        workflow_label: Full Verification + AML
                        workflow_type: kyc
                        is_default: false
                        is_archived: false
                        is_white_label_enabled: false
                        total_price: 0.25
                        min_price: 0.25
                        max_price: 0.25
                        features: OCR + LIVENESS + FACE_MATCH + AML
                        is_simple_workflow: true
                        is_editable: true
                        workflow_url: https://verify.didit.me/u/Aq3kPOx8RWG3UAz5ZRQGVQ
                        max_retry_attempts: 3
                        retry_window_days: 7
                        session_expiration_time: 604800
                        version: 1
                        status: draft
                        has_draft: true
                        created_by: null
                        updated_at: '2026-04-15T18:05:21Z'
        '403':
          description: >-
            مفتاح API مفقود أو غير صالح أو منتهي الصلاحية أو ينتمي إلى تطبيق
            مختلف. نص الاستجابة: `{"detail": "You do not have permission to
            perform this action."}`. قم بتحديث token عبر [Auth
            API](/ar/auth-api/get-credentials) وأعد المحاولة.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Invalid token:
                  value:
                    detail: You do not have permission to perform this action.
        '429':
          description: >-
            تم تجاوز حد المعدل. أعد المحاولة مع تراجع أسي والتزم بأي رأس
            `Retry-After`.
        '500':
          description: >-
            خطأ غير متوقع في الخادم أثناء إنشاء القائمة. يمكن إعادة محاولة الطلب
            بأمان.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl -X GET 'https://verification.didit.me/v3/workflows/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Accept: application/json'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            for item in client.workflows.list():
                print(item)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

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

            for await (const item of didit.workflows.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Workflows.ListAutoPaging(ctx, didit.WorkflowsListParams{})\nfor iter.Next() {\n\tfmt.Printf(\"%+v\\n\", iter.Current())\n}\nif err := iter.Err(); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            for (var item : client.workflows().list()) {
                System.out.println(item);
            }
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

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

            foreach ($didit->workflows->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.workflows.list.auto_paging_each do |item|
              puts item.to_h
            end
        - lang: csharp
          label: .NET
          source: |-
            using System;
            using System.Text.Json;
            using Didit;

            // Reads DIDIT_API_KEY.
            using var client = new DiditClient();

            await foreach (var item in await client.Workflows.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    WorkflowListItem:
      type: object
      description: إصدار سير عمل واحد في عرض القائمة.
      properties:
        uuid:
          type: string
          format: uuid
          description: >-
            معرف UUID لكل إصدار. يُستخدم كـ `{settings_uuid}` لعمليات
            الجلب/التحديث/الحذف، وكـ `workflow_id` عند إنشاء الجلسات.
        workflow_id:
          type: string
          format: uuid
          description: >-
            معرّف مجموعة ثابت تشترك فيه جميع إصدارات سير العمل نفسه. يساوي
            `uuid` للإصدار 1.
        workflow_label:
          type: string
          description: اسم العرض لسير العمل.
        workflow_type:
          type: string
          nullable: true
          description: >-
            النوع الأساسي لمهام سير العمل البسيطة: `kyc`، أو `kyb`، أو
            `adaptive_age_verification`، أو `biometric_authentication`، وما إلى
            ذلك. تكون القيمة `null` لمهام سير العمل المستندة إلى المخطط بدون
            ميزة KYB.
        is_default:
          type: boolean
          description: ما إذا كان هذا هو سير العمل الافتراضي للجلسات الجديدة.
        is_archived:
          type: boolean
        is_white_label_enabled:
          type: boolean
          description: >-
            ما إذا كان تخصيص العلامة البيضاء ينطبق على الجلسات التي تم إنشاؤها
            باستخدام سير العمل هذا.
        total_price:
          type: number
          description: >-
            سعر ثابت لكل عملية تحقق بالدولار الأمريكي (رقم JSON، يستثني الميزات
            ذات الأسعار المتغيرة مثل DATABASE_VALIDATION و PHONE_VERIFICATION).
        min_price:
          type: number
          description: أرخص سعر ثابت عبر مسارات مخطط سير العمل، بالدولار الأمريكي.
        max_price:
          type: number
          description: أعلى سعر ثابت عبر مسارات مخطط سير العمل، بالدولار الأمريكي.
        features:
          type: string
          description: >-
            الميزات المُمكّنة كسلسلة نصية واحدة مفصولة بـ `" + "`، مثل `"OCR +
            LIVENESS + FACE_MATCH"`. افصل السلسلة عند `" + "` للحصول على قائمة.
        is_simple_workflow:
          type: boolean
          description: تكون القيمة True عندما لا يحتوي سير العمل على مخطط سير عمل مخصص.
        is_editable:
          type: boolean
          description: >-
            تكون True عندما يكون هذا الإصدار مسودة `draft` (المسودات قابلة
            للتعديل مباشرة؛ أما الإصدارات المنشورة فهي غير قابلة للتغيير في لوحة
            التحكم Console).
        workflow_url:
          type: string
          format: uri
          description: >-
            رابط التحقق العام القابل للمشاركة لسير العمل هذا
            (`https://verify.didit.me/u/<token>`).
        max_retry_attempts:
          type: integer
          description: >-
            الحد الأقصى لمحاولات إعادة المحاولة المسموح بها بعد عملية تحقق
            مرفوضة (0-10).
        retry_window_days:
          type: integer
          nullable: true
          description: >-
            النافذة الزمنية المتجددة بالأيام المستخدمة لحساب عمليات إعادة
            المحاولة (1-365). تعني القيمة `null` حداً طوال الوقت.
        session_expiration_time:
          type: integer
          description: عدد الثواني قبل انتهاء صلاحية الجلسة غير المكتملة (3600-2419200).
        version:
          type: integer
          description: رقم الإصدار ضمن مجموعة `workflow_id`، بدءاً من 1.
        status:
          type: string
          enum:
            - draft
            - published
          description: >-
            حالة الإصدار. تستخدم الجلسات الجديدة أحدث إصدار `published` لمجموعة
            ما.
        has_draft:
          type: boolean
          description: >-
            تكون القيمة True عندما يكون أي إصدار في مجموعة `workflow_id` هذه
            مسودة حالياً.
        created_by:
          type: object
          nullable: true
          description: >-
            من أنشأ هذا الإصدار: `{name, email, type}` حيث يكون `type` هو `user`
            (مستخدم لوحة التحكم، مع تعيين `email`) أو `api_key` (`name` هو معرّف
            العميل، و`email` هو null). وتكون القيمة `null` في حال عدم تسجيل أي
            منشئ.
          properties:
            name:
              type: string
            email:
              type: string
              nullable: true
            type:
              type: string
              enum:
                - user
                - api_key
        updated_at:
          type: string
          format: date-time
  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.