> ## 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 Daftar Alur Kerja: Alur Verifikasi

> Ambil semua alur kerja KYC dan KYB untuk organisasi Didit Anda. Kelola alur verifikasi secara terprogram. Harga bayar per penggunaan, tanpa kontrak.



Prompt API untuk Menampilkan Daftar Alur Kerja
        Salin prompt ke papan klip



      
      

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



      
      

Tempel ke



## OpenAPI

````yaml id/openapi-25.json GET /v3/workflows/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API Verifikasi Identitas. Lakukan autentikasi dengan header x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/workflows/:
    get:
      tags:
        - Workflows
      summary: Daftar alur kerja
      description: >-
        Daftar alur kerja Anda, terbaru terlebih dahulu, dalam amplop paginasi
        limit/offset (`{count, next, previous, results}`, ukuran halaman default
        50). Setiap baris adalah satu versi; `workflow_id` adalah ID grup stabil
        dan sesi baru menggunakan versi `published` terbaru.
      operationId: list_workflows
      parameters:
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 50
          description: Ukuran halaman (jumlah alur kerja per halaman).
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            default: 0
          description: >-
            Jumlah baris yang dilewati sebelum alur kerja pertama yang
            dikembalikan.
      responses:
        '200':
          description: >-
            Satu halaman alur kerja yang diurutkan berdasarkan `created_at`
            menurun, dibungkus dalam amplop paginasi. Setiap item dalam
            `results` adalah `WorkflowListItem`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: Jumlah total versi alur kerja untuk aplikasi.
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: URL halaman berikutnya, atau `null` pada halaman terakhir.
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: URL halaman sebelumnya, atau `null` pada halaman pertama.
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/WorkflowListItem'
              examples:
                Two workflows:
                  summary: Alur kerja KYC default dan draf alur kerja 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: >-
            Kunci API tidak ada, salah format, kedaluwarsa, atau milik aplikasi
            lain. Isi: `{"detail": "You do not have permission to perform this
            action."}`. Segarkan token melalui [Auth
            API](/id/auth-api/get-credentials) dan coba lagi.
          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: >-
            Batas laju terlampaui. Coba lagi dengan backoff eksponensial dan
            patuhi header `Retry-After` jika ada.
        '500':
          description: >-
            Terjadi kesalahan server tak terduga saat menyusun daftar.
            Permintaan dapat dicoba lagi dengan aman.
      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: Satu versi alur kerja dalam tampilan daftar.
      properties:
        uuid:
          type: string
          format: uuid
          description: >-
            UUID per versi. Gunakan sebagai `{settings_uuid}` untuk
            get/update/delete, dan sebagai `workflow_id` saat membuat sesi.
        workflow_id:
          type: string
          format: uuid
          description: >-
            ID grup stabil yang digunakan bersama oleh setiap versi dari alur
            kerja yang sama. Sama dengan `uuid` untuk versi 1.
        workflow_label:
          type: string
          description: Nama tampilan untuk alur kerja.
        workflow_type:
          type: string
          nullable: true
          description: >-
            Tipe dasar untuk alur kerja sederhana: `kyc`, `kyb`,
            `adaptive_age_verification`, `biometric_authentication`, dll. `null`
            untuk alur kerja berbasis graf tanpa fitur KYB.
        is_default:
          type: boolean
          description: Apakah ini merupakan alur kerja default untuk sesi baru.
        is_archived:
          type: boolean
        is_white_label_enabled:
          type: boolean
          description: >-
            Menentukan apakah kustomisasi White Label berlaku untuk sesi yang
            dibuat dengan alur kerja ini.
        total_price:
          type: number
          description: >-
            Harga tetap per verifikasi dalam USD (angka JSON, tidak termasuk
            fitur dengan harga variabel seperti DATABASE_VALIDATION dan
            PHONE_VERIFICATION).
        min_price:
          type: number
          description: Harga tetap termurah di seluruh jalur graf alur kerja, dalam USD.
        max_price:
          type: number
          description: Harga tetap termahal di seluruh jalur graf alur kerja, dalam USD.
        features:
          type: string
          description: >-
            Fitur yang diaktifkan sebagai string tunggal yang digabungkan dengan
            `" + "`, misalnya `"OCR + LIVENESS + FACE_MATCH"`. Pisahkan
            berdasarkan `" + "` untuk mendapatkan daftar.
        is_simple_workflow:
          type: boolean
          description: True saat alur kerja tidak memiliki graf alur kerja kustom.
        is_editable:
          type: boolean
          description: >-
            True jika versi ini adalah `draft` (draf dapat diedit langsung;
            versi yang diterbitkan bersifat tidak dapat diubah di Console).
        workflow_url:
          type: string
          format: uri
          description: >-
            URL verifikasi publik yang dapat dibagikan untuk alur kerja ini
            (`https://verify.didit.me/u/<token>`).
        max_retry_attempts:
          type: integer
          description: >-
            Jumlah maksimum percobaan ulang yang diizinkan setelah verifikasi
            yang ditolak (0-10).
        retry_window_days:
          type: integer
          nullable: true
          description: >-
            Jendela bergulir dalam hitungan hari yang digunakan untuk menghitung
            percobaan ulang (1-365). `null` = batas sepanjang masa.
        session_expiration_time:
          type: integer
          description: Detik sebelum sesi yang belum selesai kedaluwarsa (3600-2419200).
        version:
          type: integer
          description: Nomor versi dalam grup `workflow_id`, dimulai dari 1.
        status:
          type: string
          enum:
            - draft
            - published
          description: >-
            Status versi. Sesi baru menggunakan versi `published` terbaru dari
            suatu grup.
        has_draft:
          type: boolean
          description: >-
            True saat ada versi dalam grup `workflow_id` ini yang saat ini
            berstatus draf.
        created_by:
          type: object
          nullable: true
          description: >-
            Pihak yang membuat versi ini: `{name, email, type}` dengan `type`
            berupa `user` (pengguna Konsol, `email` terisi) atau `api_key`
            (`name` adalah ID klien, `email` bernilai null). `null` jika tidak
            ada pembuat yang dicatat.
          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: >-
        Kunci API aplikasi Anda, dari Developers -> API keys di Business
        Console. Kunci utama memiliki akses penuh. Kunci bernama dapat diberi
        cakupan: none, read, atau write per sumber daya, dibatasi pada beberapa
        alur kerja atau pada sesi yang disetujui, pada daftar alamat IP, dan
        pada tanggal kedaluwarsa. 401 berarti kuncinya salah, dicabut, atau
        kedaluwarsa; 403 berarti tidak ada kunci yang dikirimkan, kunci tidak
        memiliki akses ke sumber daya atau tindakan ini, atau permintaan datang
        dari alamat di luar daftar IP-nya; 404 pada rute sesi berarti sesi
        berada di luar alur kerja atau status kunci tersebut. Kunci tanpa akses
        media menerima URL gambar, video, dan PDF sebagai null, dan kunci tanpa
        izin tulis sesi menerima tautan sesi dan token sebagai null. Lihat
        https://docs.didit.me/console/api-keys.

````

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