> ## 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 Update Workflow: Edit Alur Kerja KYC

> Perbarui alur kerja KYC atau KYB Didit secara terprogram: ganti nama, ubah urutan fitur, atau atur ambang batas. Bayar per panggilan, tanpa kontrak.



Prompt API untuk Memperbarui Alur Kerja
        Salin prompt ke papan klip



      
      

\<pre>

\`Update a simple Didit workflow through the Management API.

Endpoint:
PATCH https://verification.didit.me/v3/workflows/{settings_uuid}/

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

Requirements:
\- Use PATCH and include only the fields I want to change.
\- To rename the workflow, send workflow_label only.
\- To change workflow checks, send the full desired features array. This replaces the previous feature order and config.
\- Do not send workflow_graph, branches, actions, webhooks, or conditional logic.
\- Send features in the exact execution order.
\- Use uppercase feature values such as OCR, LIVENESS, FACE_MATCH, AML, QUESTIONNAIRE, EMAIL_VERIFICATION, PHONE_VERIFICATION, or PROOF_OF_ADDRESS.
\- Configure each feature with the fields from /management-api/workflows/feature-configs.
\- For an OCR feature, omit config.documents_allowed or send an empty object to allow every supported document type. Send config.documents_allowed only to restrict the allowed documents.
\- Keep dependency order valid. For example, put OCR before FACE_MATCH.
\- If the workflow includes QUESTIONNAIRE, use the latest questionnaire_id as config.questionnaire_uuid.

Example metadata update body:
\{
"workflow_label": "Premium KYC"
}

Example full feature replacement body:
\{
"features": [
\{
  "feature": "OCR",
  "config": {
    "documents_allowed": {
      "USA": {
        "DL": {
          "enabled": 1,
          "sides": 2
        }
      }
    }
  }
},
\{
  "feature": "AML",
  "config": {
    "aml_score_review_threshold": 70,
    "aml_score_approve_threshold": 30
  }
}
]
}

Build the API call, handle validation errors, and return the updated workflow response.`

\</pre>



      
      

Tempel ke

Gunakan `PATCH` untuk pembaruan parsial. Untuk mengganti nama alur kerja, kirim hanya `workflow_label`.```json theme={null}
{
  "workflow_label": "Premium KYC"
}
```Untuk mengubah pemeriksaan dalam alur kerja, kirim seluruh array `features` yang Anda inginkan. Ini akan menggantikan urutan fitur dan konfigurasi sebelumnya.```json theme={null}
{
  "features": [
    {
      "feature": "OCR",
      "config": {
        "documents_allowed": {
          "USA": {
            "DL": {
              "enabled": 1,
              "sides": 2
            }
          }
        }
      }
    },
    {
      "feature": "AML",
      "config": {
        "aml_score_review_threshold": 70,
        "aml_score_approve_threshold": 30
      }
    }
  ]
}
```API v3 membuat alur kerja tetap sederhana: satu jalur linear dan satu langkah status akhir. Percabangan, node tindakan, dan node webhook tidak diterima di sini.## Referensi konfigurasi fiturSaat Anda mengirim `features` dalam `PATCH`, array tersebut menggantikan urutan fitur dan konfigurasi sebelumnya. Sertakan kembali setiap konfigurasi yang wajib.Objek `config` yang tepat bergantung pada fiturnya. Tinjau daftar kolom lengkap, nilai default, pengaturan wajib, rentang nilai, dan contohnya di [Konfigurasi Fitur Alur Kerja](https://docs.didit.me/id/management-api/workflows/feature-configs.md).Untuk `OCR`, hilangkan `config.documents_allowed`, kirim `null`, atau kirim `{}` untuk mengizinkan semua jenis dokumen yang didukung. Sertakan hanya jika Anda ingin membatasi alur kerja ke negara atau jenis dokumen tertentu. Untuk `QUESTIONNAIRE`, `config.questionnaire_uuid` wajib diisi.## Memperbarui pengaturan alur kerjaAnda dapat mem-patch pengaturan tingkat sesi tanpa mengubah daftar fitur. Kirim hanya kolom yang ingin Anda ubah.| Kolom | Tipe | Deskripsi |
| - | - | - |
| `is_white_label_enabled` | boolean | Aktifkan kustomisasi White Label untuk sesi yang dibuat dengan alur kerja ini. |
| `is_desktop_allowed` | boolean | Izinkan alur verifikasi berjalan di peramban desktop. |
| `max_retry_attempts` | integer (0–10) | Jumlah maksimum percobaan ulang yang diizinkan setelah verifikasi ditolak. `0` memblokir pengguna setelah penolakan pertama. |
| `retry_window_days` | integer (1–365) atau `null` | Jendela bergulir dalam hari yang digunakan untuk menghitung percobaan ulang (`null` = batas sepanjang masa). |
| `session_expiration_time` | integer (3600–2419200) | Jumlah detik sebelum sesi yang belum selesai kedaluwarsa. Minimal 1 jam, maksimal 4 minggu. |```json theme={null}
{
  "is_white_label_enabled": true,
  "is_desktop_allowed": true,
  "max_retry_attempts": 5,
  "retry_window_days": 14,
  "session_expiration_time": 86400
}
```Gunakan `uuid` alur kerja yang dikembalikan oleh endpoint list, create, atau get sebagai `settings_uuid` dalam URL ini.


## OpenAPI

````yaml id/openapi-25.json PATCH /v3/workflows/{settings_uuid}/
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/{settings_uuid}/:
    patch:
      tags:
        - Workflows
      summary: Perbarui alur kerja
      description: >-
        Perbarui alur kerja. Pembuatan versi bergantung pada kolom `status` yang
        Anda kirim dan status versi saat ini: (1) tanpa `status` pada versi
        **diterbitkan** → versi diterbitkan diperbarui di tempat (`uuid` sama,
        `version` sama); (2) tanpa `status` pada **draf** → draf diperbarui dan
        langsung diterbitkan; (3) `status: "published"` pada versi
        **diterbitkan** → versi diterbitkan BARU dibuat di bawah `workflow_id`
        yang sama (`uuid` baru, `version` + 1) dan dikembalikan, serta draf yang
        ada dalam grup akan dihapus; (4) `status: "draft"` mempertahankan draf
        sebagai draf (simpan otomatis) tetapi ditolak dengan 400 pada versi yang
        telah diterbitkan (`"Cannot revert a published version to draft."`).
        Bagian body menerima whitelist kolom ketat yang sama seperti saat
        pembuatan — kunci yang tidak dikenal akan ditolak dengan 400.
      operationId: update_workflow
      parameters:
        - name: settings_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID per versi dari alur kerja yang akan diperbarui.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SimpleWorkflowUpdateRequest'
            examples:
              Replace features:
                summary: Kirim urutan fitur lengkap yang diinginkan
                value:
                  features:
                    - feature: OCR
                    - feature: AML
              Rename:
                summary: Ubah nama alur kerja
                value:
                  workflow_label: Premium KYC
              Set as default:
                summary: Jadikan alur kerja ini sebagai default aplikasi
                value:
                  is_default: true
              Update config:
                summary: Ubah konfigurasi fitur
                value:
                  features:
                    - feature: OCR
                    - feature: LIVENESS
                      config:
                        face_liveness_method: passive
              Publish a draft:
                summary: Promosikan draf ke status dipublikasikan
                value:
                  status: published
      responses:
        '200':
          description: >-
            Alur kerja diperbarui. Isi adalah konfigurasi PENUH dari versi yang
            dihasilkan (bentuk mentah `VerificationSettings` yang sama seperti
            `GET /v3/workflows/{settings_uuid}/`). Ketika pembaruan membuat
            versi baru (`status: "published"` dikirim pada baris yang
            dipublikasikan), `uuid` dan `version` yang dikembalikan berbeda dari
            yang Anda ubah — gunakan `uuid` yang dikembalikan untuk panggilan
            berikutnya.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowDetail'
        '400':
          description: >-
            Kesalahan validasi — kunci tingkat teratas di luar daftar izin yang
            diterima, fitur yang tidak dikenal, pengurutan tidak valid, ambang
            batas di luar rentang, mereferensikan kuesioner yang tidak ada,
            fitur `SIGNATURE` yang akan aktif tanpa dokumen untuk
            ditandatangani, fitur `SIGNATURE` baru pada `signature_level: "aes"`
            saat Tingkat Lanjut (AES) tidak tersedia (`aes_not_available`, lihat
            `signature_availability` pada alur kerja; langkah yang sudah
            menyimpan `aes` akan mempertahankannya), atau `status: "draft"` yang
            dikirim untuk versi yang sudah dipublikasikan (`"Cannot revert a
            published version to draft."`). Body respons adalah kesalahan
            validasi DRF dengan kunci berdasarkan nama kolom.
        '403':
          description: Kunci API tidak ada atau tidak valid.
          content:
            application/json:
              examples:
                Invalid token:
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: >-
            Tidak ada alur kerja dengan `settings_uuid` ini untuk aplikasi yang
            diautentikasi.
        '415':
          description: 'Tipe media tidak didukung. Atur `Content-Type: application/json`.'
        '429':
          description: Batas laju terlampaui. Coba lagi dengan backoff eksponensial.
        '500':
          description: Terjadi kesalahan server tak terduga. Aman untuk dicoba lagi.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: >-
            curl -X PATCH
            'https://verification.didit.me/v3/workflows/a1b2c3d4-5678-90ab-cdef-111111111111/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"workflow_label": "Premium KYC"}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.workflows.update(
                "11111111-2222-3333-4444-555555555555",
                features=[{
                    "feature": "OCR",
                }, {
                    "feature": "AML",
                }],
            )
            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.workflows.update("11111111-2222-3333-4444-555555555555", {
              features: [{
                feature: "OCR",
              }, {
                feature: "AML",
              }],
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Workflows.Update(ctx, \"11111111-2222-3333-4444-555555555555\", didit.SimpleWorkflowUpdateRequest{\n\tFeatures: didit.Some([]didit.SimpleWorkflowFeature{{\n\t\tFeature: \"OCR\",\n\t}, {\n\t\tFeature: \"AML\",\n\t}}),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import java.util.List;

            import me.didit.Didit;

            import me.didit.types.SimpleWorkflowFeature;

            import me.didit.types.SimpleWorkflowUpdateRequest;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.workflows().update("11111111-2222-3333-4444-555555555555",
            SimpleWorkflowUpdateRequest.builder()
                    .features(List.of(
                            SimpleWorkflowFeature.builder()
                                    .feature(SimpleWorkflowFeature.Feature.of("OCR"))
                                    .build(),
                            SimpleWorkflowFeature.builder()
                                    .feature(SimpleWorkflowFeature.Feature.of("AML"))
                                    .build()))
                    .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->workflows->update('11111111-2222-3333-4444-555555555555', [
                'features' => [[
                    'feature' => 'OCR',
                ], [
                    'feature' => 'AML',
                ]],
            ]);

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.workflows.update(
              "11111111-2222-3333-4444-555555555555",
              features: [{
                feature: "OCR",
              }, {
                feature: "AML",
              }]
            )
            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.Workflows.UpdateAsync("11111111-2222-3333-4444-555555555555",
            new SimpleWorkflowUpdateRequest

            {
                Features = new SimpleWorkflowFeature[]
                {
                    new()
                    {
                        Feature = "OCR",
                    },
                    new()
                    {
                        Feature = "AML",
                    },
                },
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    SimpleWorkflowUpdateRequest:
      type: object
      description: >-
        Perbarui metadata alur kerja atau ganti seluruh daftar fitur linear.
        Daftar putih kolom yang KETAT: kunci apa pun yang tidak tercantum di
        sini akan ditolak dengan respons 400.
      properties:
        workflow_label:
          type: string
          maxLength: 50
          description: Nama tampilan untuk alur kerja (maksimal 50 karakter).
        is_default:
          type: boolean
          description: Atur alur kerja ini sebagai default untuk sesi baru.
        status:
          type: string
          enum:
            - draft
            - published
          description: >-
            Mengontrol versi. Jangan sertakan untuk memperbarui versi saat ini
            di tempat (draf dipublikasikan secara otomatis). `published` pada
            versi yang sudah dipublikasikan akan membuat dan mengembalikan versi
            BARU. `draft` hanya valid selama versi tersebut masih berupa draf.
        features:
          type: array
          minItems: 1
          description: >-
            Jika diberikan, ini menggantikan urutan dan konfigurasi fitur secara
            menyeluruh.
          items:
            $ref: '#/components/schemas/SimpleWorkflowFeature'
        is_white_label_enabled:
          type: boolean
          description: >-
            Aktifkan kustomisasi White Label untuk sesi yang dibuat dengan alur
            kerja ini.
        is_desktop_allowed:
          type: boolean
          description: Izinkan alur verifikasi berjalan di browser desktop.
        max_retry_attempts:
          type: integer
          minimum: 0
          maximum: 10
          description: >-
            Upaya coba lagi maksimum yang diizinkan setelah verifikasi yang
            ditolak. `0` memblokir pengguna setelah penolakan pertama.
        retry_window_days:
          type: integer
          minimum: 1
          maximum: 365
          nullable: true
          description: >-
            Jendela bergulir dalam hitungan hari yang digunakan untuk menghitung
            percobaan ulang. `null` memberlakukan batas sepanjang masa.
        face_liveness_max_attempts:
          type: integer
          minimum: 1
          maximum: 3
          description: >-
            Pengiriman deteksi liveness maksimum per sesi. Nilai ini juga
            disalin ke dalam node alur kerja deteksi liveness dan estimasi usia
            yang dibuat kecuali ditimpa oleh konfigurasi tingkat fitur.
        face_match_max_attempts:
          type: integer
          minimum: 1
          maximum: 3
          description: >-
            Pengiriman pencocokan wajah maksimum per sesi. Nilai ini juga
            disalin ke dalam node alur kerja pencocokan wajah yang dibuat
            kecuali ditimpa oleh konfigurasi tingkat fitur.
        session_expiration_time:
          type: integer
          minimum: 3600
          maximum: 2419200
          description: >-
            Detik sebelum sesi yang belum selesai kedaluwarsa. Minimum 1 jam
            (3600), maksimum 4 minggu (2419200).
    WorkflowDetail:
      type: object
      description: >-
        Kolom di bawah ini memiliki tipe; objek ini juga memuat setiap kolom
        lain dari konfigurasi alur kerja (pengalih fitur, ambang batas, tindakan
        peringatan, dokumen yang diizinkan, callback) sebagai properti tambahan.
        Kolom yang tidak berlaku untuk `workflow_type` bernilai `null`.
      properties:
        uuid:
          type: string
          format: uuid
          description: >-
            Pengidentifikasi per versi (`settings_uuid`). Setiap versi alur
            kerja memiliki pengidentifikasi tersendiri.
        workflow_id:
          type: string
          format: uuid
          description: >-
            Pengidentifikasi stabil yang digunakan bersama oleh setiap versi
            alur kerja. Sesi yang dibuat dengannya menggunakan versi terbaru
            yang dipublikasikan.
        workflow_label:
          type: string
          description: Nama tampilan alur kerja.
        workflow_type:
          type: string
          nullable: true
          enum:
            - kyc
            - kyb
            - adaptive_age_verification
            - biometric_authentication
            - address_verification
            - questionnaire_verification
            - email_verification
            - phone_verification
            - null
          description: >-
            Templat alur kerja. `null` untuk alur kerja graf yang dibuat tanpa
            templat.
        is_default:
          type: boolean
          description: Apakah ini merupakan alur kerja default aplikasi.
        is_archived:
          type: boolean
          description: Alur kerja yang diarsipkan tidak dapat memulai sesi baru.
        version:
          type: integer
          description: Nomor versi dalam alur kerja.
        status:
          type: string
          enum:
            - draft
            - published
          description: >-
            Versi draf dapat diedit; versi yang dipublikasikan bersifat tidak
            dapat diubah dan digunakan untuk sesi baru.
        published_at:
          type: string
          format: date-time
          nullable: true
          description: Kapan versi ini dipublikasikan. `null` untuk draf.
        is_simple_workflow:
          type: boolean
          description: '`true` saat alur kerja tidak memiliki `workflow_graph` khusus.'
        is_editable:
          type: boolean
          description: '`true` hanya untuk versi `draft`.'
        workflow_url:
          type: string
          format: uri
          description: URL publik yang memulai sesi dengan alur kerja ini.
        workflow_graph:
          type: object
          nullable: true
          additionalProperties: true
          description: >-
            Struktur graf alur kerja (node dan edge). `null` untuk alur kerja
            sederhana.
        features:
          type: string
          description: >-
            Fitur yang diaktifkan digabungkan dengan `" + "`, misalnya `"OCR +
            LIVENESS"`.
        total_price:
          type: number
          nullable: true
          description: Harga per sesi; untuk alur kerja graf, merupakan jalur termahal.
        min_price:
          type: number
          nullable: true
          description: Harga jalur termurah melalui alur kerja.
        max_price:
          type: number
          nullable: true
          description: Harga jalur termahal melalui alur kerja.
        special_add_on_prices:
          type: object
          nullable: true
          additionalProperties: true
          description: >-
            Harga add-on khusus organisasi, atau `null` jika tidak ada yang
            diatur.
        max_retry_attempts:
          type: integer
          description: Jumlah coba lagi yang diizinkan setelah verifikasi ditolak.
        retry_window_days:
          type: integer
          nullable: true
          description: Jumlah hari selama percobaan ulang diizinkan.
        session_expiration_time:
          type: integer
          description: Detik sebelum sesi yang belum selesai kedaluwarsa.
        questionnaire:
          type: object
          nullable: true
          additionalProperties: true
          description: Kuesioner yang dilampirkan pada alur kerja, atau `null`.
        kyb_role_settings:
          type: array
          items:
            type: object
            additionalProperties: true
          description: Pengaturan verifikasi per peran untuk pihak kunci KYB.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        signature_availability:
          type: object
          description: >-
            Tingkat Tanda Tangan Elektronik mana yang dapat digunakan untuk
            menandatangani saat ini. Periksa ini sebelum Anda menyetel
            `signature_level`. Dikembalikan pada alur kerja `kyc`, `kyb`, dan
            graf.
          properties:
            simple:
              type: boolean
              description: Simple selalu tersedia.
            aes:
              type: boolean
              description: >-
                Menentukan apakah Tingkat Lanjut (AES) dapat menandatangani
                sekarang. Saat bernilai `false`, penyimpanan langkah baru pada
                `signature_level: "aes"` ditolak dengan `aes_not_available`.
            qes:
              type: boolean
              description: >-
                Menentukan apakah Berkualifikasi (QES) dapat menandatangani
                sekarang. Nilainya adalah `false` sampai penyedia yang
                berkualifikasi terhubung.
        is_bank_verification_enabled:
          type: boolean
          description: >-
            Menentukan apakah alur kerja KYC atau KYB sederhana menjalankan
            verifikasi Bank. Verifikasi ini berjalan setelah langkah kontak (dan
            verifikasi Lokasi) dan sebelum validasi database, AML, serta
            analisis IP. Verifikasi Bank belum tersedia secara umum:
            mengaktifkannya ditolak di mana pun fitur ini belum diaktifkan.
        bank_verification_config:
          type: object
          additionalProperties: true
          description: >-
            Pengaturan verifikasi bank dari alur kerja sederhana, dengan kunci
            yang sama seperti yang diterima node `BANK_VERIFICATION` (misalnya
            `bank_countries` dan `bank_method_order`). Kunci yang tidak dikenal
            akan dibuang. Setiap kunci bersifat opsional dan kunci yang tidak
            ada akan menggunakan nilai default-nya, sehingga `{}` berarti semua
            nilai default. Lihat [Pengaturan verifikasi
            bank](/id/management-api/workflows/feature-configs#verifikasi-bank).
          example: {}
        is_geolocation_enabled:
          type: boolean
          description: >-
            Menentukan apakah alur kerja KYC sederhana menjalankan verifikasi
            Lokasi. Verifikasi ini berjalan setelah langkah kontak dan sebelum
            verifikasi Bank serta validasi database. Alur kerja Bisnis (KYB)
            tidak dapat menjalankannya.
        geolocation_config:
          type: object
          additionalProperties: true
          description: >-
            Pengaturan verifikasi lokasi dari alur kerja sederhana, dengan kunci
            yang sama seperti yang diterima node `GEOLOCATION` (misalnya
            `is_geolocation_geofencing_enabled` dan `geolocation_max_attempts`).
            Kunci yang tidak dikenal akan diabaikan. Setiap kunci bersifat
            opsional dan kunci yang tidak ada akan menggunakan nilai
            default-nya, sehingga `{}` berarti semua nilai default.
          example: {}
      additionalProperties: true
    SimpleWorkflowFeature:
      type: object
      required:
        - feature
      properties:
        feature:
          type: string
          description: >-
            Fitur yang akan dijalankan. Gunakan nilai huruf kapital yang
            ditampilkan di sini.
          enum:
            - OCR
            - NFC
            - LIVENESS
            - FACE_MATCH
            - PROOF_OF_ADDRESS
            - QUESTIONNAIRE
            - DOCUMENT_AI
            - PHONE_VERIFICATION
            - EMAIL_VERIFICATION
            - DATABASE_VALIDATION
            - AML
            - IP_ANALYSIS
            - AGE_ESTIMATION
            - KYB_REGISTRY
            - KYB_DOCUMENTS
            - KYB_KEY_PEOPLE
            - SIGNATURE
        config:
          type: object
          description: >-
            Pengaturan khusus fitur. Untuk `QUESTIONNAIRE`, sertakan
            `questionnaire_uuid` dengan `questionnaire_id` yang dikembalikan
            oleh endpoint pembuatan kuesioner. Untuk `SIGNATURE`, alur kerja
            yang dipublikasikan memerlukan dokumen untuk ditandatangani: atur
            `signature_documents_source` ke `session` atau `both` agar setiap
            sesi dapat menyediakannya sendiri, atau kirim `status: "draft"` dan
            tambahkan dokumen sebelum Anda memublikasikannya. `signature_level:
            "aes"` ditolak dengan `aes_not_available` selama
            `signature_availability.aes` bernilai `false` pada alur kerja. Untuk
            `OCR`, `methods` memilih metode Verifikasi Identitas mana yang boleh
            digunakan setiap negara (pengambilan dokumen, pencarian non-dokumen
            ke sumber pemerintah atau sumber otoritatif lainnya, dan dompet
            identitas digital); jika diabaikan, setiap negara hanya menggunakan
            pengambilan dokumen. Untuk `SIGNATURE`, lihat [Pengaturan Tanda
            Tangan
            Elektronik](/id/management-api/workflows/feature-configs#tanda-tangan-elektronik):
            `signature_level` menerima `simple` (default, tidak memerlukan
            verifikasi identitas, email, atau telepon) dan `aes` untuk saat ini,
            serta dokumen alur kerja dan kolomnya dikelola di konsol, jadi
            melalui API kirimkan dokumen dan kolom per sesi dengan
            `signature_documents_source: "session"`.
          additionalProperties: true
        label:
          type: string
          description: Label internal opsional untuk node alur kerja ini.
  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.