> ## 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 Regenerate Sesi KYC Pihak Kunci

> Buat sesi KYC baru untuk pihak kunci KYB yang sesinya dihapus atau kedaluwarsa sebelum dimulai, lalu kirim tautan baru lewat email di Didit.



Prompt API Regenerasi Sesi KYC Pihak Kunci
        Salin prompt ke papan klip



      
      

\<pre>

\`Give a Key People party of a Didit Business Verification (KYB) session a new individual KYC session through the API.

Endpoint:
POST https://verification.didit.me/v3/session/{session_id}/kyb/parties/{party_uuid}/regenerate/
(no request body)

Authentication:
Send my Didit API key in the x-api-key header. A scoped key needs decisions: write.

Goal:
\- Re-verify a person (UBO, director, other key person) whose individual KYC session was deleted, or expired before the person started it. Neither link lets the person complete verification. An expired child can cause the business session to become Declined; regenerate the party to issue a fresh link.

Behavior:
\- {session_id} is the parent business session; {party_uuid} is key_people_checks[].submitted.parties[].uuid from its decision and must belong to that session.
\- Works when the party's KYC session was deleted (kyc_session_deleted: true) or expired before the person started it. A session still in progress or one that ended in another status (Approved, Declined, In Review, Abandoned...) returns 409 unless it was deleted. A party that never had one or a company party always returns 409.
\- Deleted sessions qualify even if the person had already started or finished verification. Imported sessions do not qualify through expiry; they must have been deleted.
\- Didit creates a new hosted KYC session for the person, with the workflow the party was verified with (its latest published version) or, when that is no longer known, the workflow my Key People settings assign to the person's role. The new link lasts that KYC workflow's session expiration time, not the business session's. Its vendor_data is kyb-party-PARTY_UUID.
\- Didit emails the verification link to the party's email, when there is one.
\- is_skipped is cleared, so the Key People check waits on the new session.
\- The Key People check and the business session status are recomputed at once.
\- A data.updated webhook is sent for the business session with trigger "console_key_people_regenerate".
\- To exempt the party instead of re-verifying them, use PATCH /v3/session/{session_id}/kyb/parties/{party_uuid}/ with {"is_skipped": true}.

Example call:
curl -X POST "https://verification.didit.me/v3/session/33333333-4444-5555-6666-777777777777/kyb/parties/0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41/regenerate/" \
-H "x-api-key: YOUR_API_KEY"

What to read from the response (the updated party):
\- kyc_session_id: the new KYC session.
\- kyc_session_url: its hosted link, to share yourself if the party has no email. A scoped key without sessions: write receives it as null.
\- kyc_session_status (Not Started), kyc_session_deleted (false), is_skipped (false).

Failure modes:
\- 401: the API key has expired.
\- 403: missing key (a wrong, revoked or expired key gets 401), a key of another application, a scoped key without decisions: write, or a request from outside the key's IP allowlist.
\- 404: the session does not exist, was deleted, or is outside a scoped key's limits; no party has this UUID; or the party belongs to another session.
\- 409 with code kyb_party_kyc_session_not_deleted: no eligible KYC session to replace. A person qualifies only when their session was deleted or a non-imported session expired before the person started it. All other sessions, a party that never had one, and company parties are rejected.

Side effects: creates a KYC session, may send an email to the party, recomputes the business session status and sends a data.updated webhook.

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

\</pre>



      
      

Tempel ke

Gunakan ini ketika tautan sebelumnya tidak lagi berfungsi: sesi telah dihapus, atau telah kedaluwarsa sebelum orang tersebut memulainya. Sesi yang dihapus memenuhi syarat meskipun orang tersebut sudah memulai atau menyelesaikan verifikasi. Sesi yang diimpor tidak memenuhi syarat berdasarkan kedaluwarsa; sesi tersebut harus telah dihapus. Sesi yang belum dihapus dan sudah dimulai oleh orang tersebut tidak memenuhi syarat berdasarkan kedaluwarsa.Sesi baru ditautkan ke pihak yang sama, sehingga hasilnya masuk ke pemeriksaan Pihak Kunci seperti yang akan terjadi pada sesi asli, dan tautannya berlaku selama waktu kedaluwarsa sesi dari alur kerja KYC yang dijalankannya (1 jam hingga 4 minggu), bukan waktu kedaluwarsa sesi bisnis. Baca pihak dan sesi turunannya di [keputusan sesi bisnis](https://docs.didit.me/id/business-verification/response-schema.md#key_people_checks). Jika orang tersebut tidak boleh diverifikasi sama sekali, [lewati pihak](https://docs.didit.me/id/sessions-api/update-data.md#lewati-pihak-kunci) sebagai gantinya. Lihat [Pihak Kunci](https://docs.didit.me/id/business-verification/key-people.md) untuk penjelasan tentang cara pihak dan verifikasinya bekerja.


## OpenAPI

````yaml id/openapi-25.json POST /v3/session/{sessionId}/kyb/parties/{partyUuid}/regenerate/
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/session/{sessionId}/kyb/parties/{partyUuid}/regenerate/:
    post:
      tags:
        - Sessions
      summary: Buat ulang sesi KYC pihak kunci
      description: >-
        Berikan sesi KYC individu baru kepada pihak kunci dalam sesi Verifikasi
        Bisnis (KYB) setelah sesi sebelumnya dihapus atau kedaluwarsa sebelum
        orang tersebut memulainya, sehingga pemeriksaan pihak kunci dapat
        selesai kembali; jangan kirimkan isi permintaan. Ini berfungsi ketika
        sesi KYC pihak tersebut telah dihapus (`kyc_session_deleted: true`) atau
        kedaluwarsa sebelum orang tersebut memulainya (`Expired`, tidak pernah
        dimulai). Sesi yang masih berlangsung atau yang berakhir dengan status
        lain apa pun (`Approved`, `Declined`, `In Review`, `Abandoned`, ...)
        mengembalikan `409` kecuali jika telah dihapus. Pihak yang tidak pernah
        memilikinya atau pihak berupa perusahaan selalu mengembalikan `409`.
        Didit membuat sesi KYC baru yang di-hosting dengan alur kerja yang
        digunakan saat pihak tersebut diverifikasi (versi terbitan terbarunya)
        atau, jika tidak lagi diketahui, alur kerja yang ditetapkan pengaturan
        pihak kunci Anda untuk peran pihak tersebut, sehingga tautannya berlaku
        selama waktu kedaluwarsa sesi alur kerja KYC tersebut; Didit mengirimkan
        tautan tersebut melalui email kepada pihak tersebut jika email tercatat,
        mengosongkan `is_skipped`, dan menghitung ulang pemeriksaan pihak kunci
        serta status sesi bisnis. Kemudian Didit mengirimkan
        [webhook](https://docs.didit.me/id/integration/webhooks) `data.updated`
        untuk sesi bisnis dengan pemicu `console_key_people_regenerate`; untuk
        mengecualikan pihak tersebut sebagai gantinya, gunakan `PATCH
        /v3/session/{sessionId}/kyb/parties/{partyUuid}/`. Kunci API dengan
        pembatasan cakupan memerlukan `decisions: write`, dan tanpa `sessions:
        write` kunci tersebut menerima `kyc_session_url` sebagai `null`. Sesi
        yang dihapus memenuhi syarat meskipun orang tersebut telah memulai atau
        menyelesaikan verifikasi. Sesi yang diimpor tidak memenuhi syarat karena
        kedaluwarsa; sesi tersebut harus sudah dihapus.
      operationId: post_v3_session_kyb_party_regenerate
      parameters:
        - name: sessionId
          in: path
          required: true
          description: UUID dari sesi induk Verifikasi Bisnis (KYB).
          schema:
            type: string
            format: uuid
            example: 33333333-4444-5555-6666-777777777777
        - name: partyUuid
          in: path
          required: true
          description: >-
            UUID pihak kunci (`key_people_checks[].submitted.parties[].uuid`
            pada keputusan sesi bisnis). Harus dimiliki oleh sesi yang dirujuk
            oleh `sessionId`.
          schema:
            type: string
            format: uuid
            example: 0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41
      responses:
        '200':
          description: >-
            Sesi KYC baru dibuat. Mengembalikan pihak yang diperbarui beserta
            sesi turunan barunya, yang kedaluwarsa setelah waktu kedaluwarsa
            sesi alur kerja KYC tersebut.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KYBKeyPeopleParty'
              example:
                uuid: 0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41
                entity_type: person
                source: USER
                name: Jane Smith
                first_name: Jane
                last_name: Smith
                company_name: null
                registration_number: null
                email: user@example.com
                nationality: GB
                phone_number: null
                date_of_birth: '1980-05-04'
                position: Director
                custom_fields: {}
                is_active: true
                is_skipped: false
                requires_verification: true
                roles:
                  - role: director
                    ownership_percent: null
                    voting_percent: null
                kyc_session_id: 55555555-6666-7777-8888-999999999999
                kyc_session_status: Not Started
                kyc_session_url: https://verify.didit.me/session/abc123def456
                kyc_session_deleted: false
                kyb_sub_session_id: null
                kyb_sub_session_status: null
                kyb_sub_session_url: null
                kyb_sub_session_deleted: false
                verification_workflow_type: kyc
                verification_workflow_id: 12121212-3434-5656-7878-909090909090
                verification_workflow_label: Key People KYC
                verification_workflow_features:
                  - feature: ID_VERIFICATION
                    status: Not Finished
                  - feature: LIVENESS
                    status: Not Finished
                  - feature: AML
                    status: Not Finished
                didit_internal_id: null
        '401':
          description: >-
            Kunci API dengan cakupan terbatas telah kedaluwarsa. Ini
            satu-satunya kasus yang mengembalikan `401`: kunci yang hilang,
            tidak valid, atau dicabut mengembalikan `403`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    description: Pesan kesalahan yang mudah dibaca manusia.
              examples:
                Expired key:
                  summary: Tanggal kedaluwarsa kunci telah lewat
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            Kegagalan autentikasi atau otorisasi. Kunci yang hilang
            mengembalikan `403`, begitu juga dengan kunci dari aplikasi lain,
            kunci dengan cakupan tanpa izin yang dibutuhkan endpoint ini, dan
            permintaan dari luar daftar izin IP kunci tersebut; kunci yang
            salah, dicabut, atau kedaluwarsa mengembalikan `401`. Bedakan
            kegagalan tersebut berdasarkan `detail`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    description: Pesan kesalahan yang mudah dibaca manusia.
              examples:
                Missing or invalid credentials:
                  summary: Tidak ada header x-api-key, atau kunci gagal divalidasi
                  value:
                    detail: >-
                      Authentication credentials were not provided or are
                      invalid.
                Other application:
                  summary: Kunci valid milik aplikasi yang berbeda dari sesi
                  value:
                    detail: You do not have permission to perform this action.
                Scoped key without decisions write:
                  summary: 'Kunci ber-scope tidak memiliki decisions: write'
                  value:
                    detail: This API key has no write access to decisions.
                IP not allowed:
                  summary: Permintaan dari luar daftar izin IP kunci
                  value:
                    detail: This API key can't be used from this IP address.
        '404':
          description: >-
            Sesi tidak ada, telah dihapus, atau berada di luar batas kunci
            dengan cakupan terbatas; tidak ada pihak dengan UUID ini yang ada di
            aplikasi Anda; atau pihak tersebut milik sesi lain. Setiap kasus
            memiliki `detail`-nya sendiri. Pencarian sesi berjalan sebelum
            pemeriksaan kredensial, sehingga `sessionId` yang tidak dikenal
            mengembalikan `404` bahkan tanpa kunci yang valid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    description: Pesan kesalahan yang mudah dibaca manusia.
              examples:
                Unknown session:
                  summary: Tidak ada sesi dengan ID ini, atau telah dihapus
                  value:
                    detail: Not found.
                Outside key limits:
                  summary: >-
                    Sesi berada di luar alur kerja atau batas yang hanya berlaku
                    untuk sesi yang disetujui milik kunci dengan cakupan
                    terbatas
                  value:
                    detail: Session not found.
                Unknown party:
                  summary: Tidak ada pihak dengan UUID ini di aplikasi Anda
                  value:
                    detail: No BusinessParty matches the given query.
                Party of another session:
                  summary: partyUuid ada tetapi milik sesi yang berbeda
                  value:
                    detail: Party does not belong to the given session.
        '409':
          description: >-
            Pihak tersebut tidak memiliki sesi KYC yang memenuhi syarat untuk
            diganti. Kecuali dihapus, sesi yang masih berlangsung atau yang
            berakhir dengan status lain (`Approved`, `Declined`, `In Review`,
            `Abandoned`, ...) tidak dapat dibuat ulang. Pihak yang tidak pernah
            memilikinya atau pihak perusahaan juga mengembalikan `409`. Sesi
            yang memenuhi syarat dihapus atau kedaluwarsa sebelum orang tersebut
            memulainya. Sesi yang dihapus tetap memenuhi syarat meskipun orang
            tersebut telah memulai atau menyelesaikan verifikasi. Sesi yang
            diimpor tidak memenuhi syarat melalui kedaluwarsa; sesi tersebut
            harus sudah dihapus. Buat percabangan berdasarkan `code`.
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                  - code
                properties:
                  detail:
                    type: string
                    description: Pesan kesalahan yang mudah dibaca manusia.
                  code:
                    type: string
                    enum:
                      - kyb_party_kyc_session_not_deleted
                    description: Kode error stabil yang dapat dibaca mesin.
              example:
                detail: >-
                  This party's KYC session is still live (it has neither been
                  deleted nor expired without starting), so it cannot be
                  regenerated.
                code: kyb_party_kyc_session_not_deleted
        '429':
          description: >-
            Batas laju terlampaui: 300 permintaan penulisan (POST, PATCH,
            DELETE) per menit per kunci API. Tunggu selama `Retry-After` detik
            sebelum mencoba lagi; header `X-RateLimit-*` menunjukkan anggaran
            tersebut.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    description: Pesan kesalahan yang mudah dibaca manusia.
              examples:
                Rate limited:
                  summary: Anggaran untuk menit saat ini habis
                  value:
                    detail: >-
                      Write request rate limit exceeded. You can make up to 300
                      requests per minute.
          headers:
            Retry-After:
              description: Detik untuk menunggu sebelum mencoba lagi.
              schema:
                type: integer
                minimum: 1
                example: 30
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            'https://verification.didit.me/v3/session/33333333-4444-5555-6666-777777777777/kyb/parties/0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41/regenerate/'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.sessions.regenerate_kyb_party(
                "33333333-4444-5555-6666-777777777777",
                "0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41",
            )
            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.sessions.regenerateKybParty(
              "33333333-4444-5555-6666-777777777777",
              "0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41",
            );
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Sessions.RegenerateKYBParty(ctx, \"33333333-4444-5555-6666-777777777777\", \"0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41\")\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.sessions().regenerateKybParty("33333333-4444-5555-6666-777777777777",
            "0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41");

            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->sessions->regenerateKybParty('33333333-4444-5555-6666-777777777777',
            '0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41');

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

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

            result = didit.sessions.regenerate_kyb_party(
              "33333333-4444-5555-6666-777777777777",
              "0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41"
            )
            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.Sessions.RegenerateKybPartyAsync("33333333-4444-5555-6666-777777777777",
            "0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    KYBKeyPeopleParty:
      type: object
      description: >-
        Pihak dari pihak kunci pada sesi Verifikasi Bisnis (KYB), beserta
        verifikasi turunannya. Pihak yang sama muncul di
        `key_people_checks[].submitted.parties[]` dari keputusan sesi bisnis.
      required:
        - uuid
        - entity_type
        - source
        - name
        - is_active
        - is_skipped
        - requires_verification
        - roles
        - kyc_session_deleted
        - kyb_sub_session_deleted
      properties:
        uuid:
          type: string
          format: uuid
          description: Pengidentifikasi pihak.
        entity_type:
          type: string
          enum:
            - person
            - company
          description: Apakah pihak tersebut adalah individu atau perusahaan.
        source:
          type: string
          enum:
            - REGISTRY
            - USER
          description: >-
            `REGISTRY`: diambil dari registri perusahaan. `USER`: dimasukkan di
            layar Key People.
        name:
          type: string
          description: Nama tampilan pihak.
        first_name:
          type: string
          nullable: true
          description: Nama depan (individu).
        last_name:
          type: string
          nullable: true
          description: Nama belakang (individu).
        company_name:
          type: string
          nullable: true
          description: Nama perusahaan (pihak perusahaan).
        registration_number:
          type: string
          nullable: true
          description: Nomor registrasi perusahaan (pihak perusahaan).
        email:
          type: string
          format: email
          nullable: true
          description: Alamat email tujuan pengiriman tautan verifikasi.
        nationality:
          type: string
          nullable: true
          description: Kewarganegaraan untuk perorangan, negara pendirian untuk perusahaan.
        phone_number:
          type: string
          nullable: true
          description: Nomor telepon yang dikumpulkan untuk pihak tersebut.
        date_of_birth:
          type: string
          format: date
          nullable: true
          description: Tanggal lahir (perorangan).
        position:
          type: string
          nullable: true
          description: Jabatan berupa teks bebas (individu).
        custom_fields:
          type: object
          additionalProperties: true
          description: >-
            Kolom kustom yang ditentukan alur kerja yang dikumpulkan untuk pihak
            tersebut, dengan kunci berupa kunci kolom.
        is_active:
          type: boolean
          description: Apakah pihak tersebut aktif.
        is_skipped:
          type: boolean
          description: >-
            Apakah pihak tersebut dikecualikan dari verifikasi. Pembuatan ulang
            akan menghapusnya.
        requires_verification:
          type: boolean
          description: >-
            Apakah aturan peran dan kepemilikan mewajibkan verifikasi untuk
            pihak ini.
        roles:
          type: array
          description: Peran yang dipegang pihak terkait di dalam perusahaan.
          items:
            type: object
            required:
              - role
              - ownership_percent
              - voting_percent
            properties:
              role:
                type: string
                enum:
                  - director
                  - non_executive_director
                  - secretary
                  - chairman
                  - ubo
                  - shareholder
                  - representative
                  - founder
                  - legal_advisor
                  - authorized_signatory
                  - trustee
                  - beneficiary
                  - settlor
                  - protector
                  - company_officer
                  - investor
                  - other
                description: Kode peran.
              ownership_percent:
                type: number
                nullable: true
                description: Persentase kepemilikan untuk peran ini, jika diketahui.
              voting_percent:
                type: number
                nullable: true
                description: Persentase hak suara untuk peran ini, jika diketahui.
        kyc_session_id:
          type: string
          format: uuid
          nullable: true
          description: Sesi KYC individu turunan (perorangan).
        kyc_session_status:
          type: string
          nullable: true
          enum:
            - Not Started
            - In Progress
            - Approved
            - Declined
            - In Review
            - Expired
            - Abandoned
            - Kyc Expired
            - Resubmitted
            - Awaiting User
            - null
          description: >-
            Status sesi KYC turunan. Sesi yang dihapus tetap mempertahankan
            status yang dimilikinya saat dihapus.
        kyc_session_url:
          type: string
          format: uri
          nullable: true
          description: >-
            Tautan yang di-hosting untuk sesi KYC turunan. `null` jika tidak ada
            atau telah dihapus, dan untuk kunci API yang dibatasi tanpa
            `sessions: write`.
        kyc_session_deleted:
          type: boolean
          description: >-
            Sesi KYC turunan telah dihapus, sehingga tidak akan pernah dapat
            diselesaikan.
        kyb_sub_session_id:
          type: string
          format: uuid
          nullable: true
          description: Sesi KYB turunan (pihak perusahaan).
        kyb_sub_session_status:
          type: string
          nullable: true
          enum:
            - Not Started
            - In Progress
            - Approved
            - Declined
            - In Review
            - Expired
            - Abandoned
            - Kyc Expired
            - Resubmitted
            - Awaiting User
            - null
          description: Status sesi KYB turunan.
        kyb_sub_session_url:
          type: string
          format: uri
          nullable: true
          description: >-
            Tautan yang di-hosting untuk sesi KYB turunan, dengan aturan `null`
            yang sama seperti `kyc_session_url`.
        kyb_sub_session_deleted:
          type: boolean
          description: Padanan pihak perusahaan untuk `kyc_session_deleted`.
        verification_workflow_type:
          type: string
          nullable: true
          enum:
            - kyc
            - kyb
            - adaptive_age_verification
            - biometric_authentication
            - address_verification
            - questionnaire_verification
            - email_verification
            - phone_verification
            - null
          description: Jenis alur kerja yang dijalankan oleh sesi turunan.
        verification_workflow_id:
          type: string
          format: uuid
          nullable: true
          description: Alur kerja yang dijalankan oleh sesi anak.
        verification_workflow_label:
          type: string
          nullable: true
          description: Label alur kerja tersebut.
        verification_workflow_features:
          type: array
          nullable: true
          description: Fitur dari alur kerja sesi turunan beserta statusnya saat ini.
          items:
            type: object
            required:
              - feature
              - status
            properties:
              feature:
                type: string
                description: Kode fitur, misalnya `ID_VERIFICATION` atau `LIVENESS`.
              status:
                type: string
                description: Status fitur, `Not Finished` sampai fitur dijalankan.
        didit_internal_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            Pengidentifikasi Didit untuk orang yang terverifikasi, setelah
            diketahui.
  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.