curl -X GET 'https://verification.didit.me/v3/questionnaires/11111111-2222-3333-4444-555555555555/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.questionnaires.retrieve(
"11111111-2222-3333-4444-555555555555",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.questionnaires.retrieve("11111111-2222-3333-4444-555555555555");
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Questionnaires.Retrieve(ctx, "11111111-2222-3333-4444-555555555555")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.questionnaires().retrieve("11111111-2222-3333-4444-555555555555");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->questionnaires->retrieve('11111111-2222-3333-4444-555555555555');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.questionnaires.retrieve("11111111-2222-3333-4444-555555555555")
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Questionnaires.RetrieveAsync("11111111-2222-3333-4444-555555555555");
Console.WriteLine(JsonSerializer.Serialize(result));{
"questionnaire_id": "11111111-2222-3333-4444-555555555555",
"title": "Customer Onboarding",
"description": "Additional information needed for verification",
"languages": [
"en"
],
"default_language": "en",
"is_active": true,
"is_simple_questionnaire": true,
"graph": {
"start_node": "occupation",
"nodes": {
"occupation": {
"element_type": "SHORT_TEXT",
"is_required": true,
"title": {
"en": "What is your occupation?"
},
"next": "source_of_funds"
},
"source_of_funds": {
"element_type": "MULTIPLE_CHOICE",
"is_required": true,
"title": {
"en": "Source of funds"
},
"choices": [
{
"value": "employment",
"label": {
"en": "Employment"
}
},
{
"value": "business",
"label": {
"en": "Business"
}
}
],
"next": null
}
}
},
"sections": [
{
"title": {},
"description": {},
"items": [
{
"uuid": "11111111-2222-3333-4444-666666666666",
"value": "occupation",
"element_type": "SHORT_TEXT",
"is_required": true,
"title": {
"en": "What is your occupation?"
}
}
]
}
],
"questionnaire_group_id": "11111111-2222-3333-4444-555555555555",
"version": 1,
"status": "published",
"published_at": "2026-04-23T10:00:00Z",
"is_editable": false
}{
"detail": "You do not have permission to perform this action."
}{
"detail": "Not found."
}Get Questionnaire API: Ambil Formulir KYC
Ambil detail lengkap kuesioner KYC Didit: pertanyaan terurut, opsi, dan label multi-bahasa. Kelola formulir kepatuhan secara terprogram, bayar per panggilan.
curl -X GET 'https://verification.didit.me/v3/questionnaires/11111111-2222-3333-4444-555555555555/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.questionnaires.retrieve(
"11111111-2222-3333-4444-555555555555",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.questionnaires.retrieve("11111111-2222-3333-4444-555555555555");
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Questionnaires.Retrieve(ctx, "11111111-2222-3333-4444-555555555555")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.questionnaires().retrieve("11111111-2222-3333-4444-555555555555");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->questionnaires->retrieve('11111111-2222-3333-4444-555555555555');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.questionnaires.retrieve("11111111-2222-3333-4444-555555555555")
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Questionnaires.RetrieveAsync("11111111-2222-3333-4444-555555555555");
Console.WriteLine(JsonSerializer.Serialize(result));{
"questionnaire_id": "11111111-2222-3333-4444-555555555555",
"title": "Customer Onboarding",
"description": "Additional information needed for verification",
"languages": [
"en"
],
"default_language": "en",
"is_active": true,
"is_simple_questionnaire": true,
"graph": {
"start_node": "occupation",
"nodes": {
"occupation": {
"element_type": "SHORT_TEXT",
"is_required": true,
"title": {
"en": "What is your occupation?"
},
"next": "source_of_funds"
},
"source_of_funds": {
"element_type": "MULTIPLE_CHOICE",
"is_required": true,
"title": {
"en": "Source of funds"
},
"choices": [
{
"value": "employment",
"label": {
"en": "Employment"
}
},
{
"value": "business",
"label": {
"en": "Business"
}
}
],
"next": null
}
}
},
"sections": [
{
"title": {},
"description": {},
"items": [
{
"uuid": "11111111-2222-3333-4444-666666666666",
"value": "occupation",
"element_type": "SHORT_TEXT",
"is_required": true,
"title": {
"en": "What is your occupation?"
}
}
]
}
],
"questionnaire_group_id": "11111111-2222-3333-4444-555555555555",
"version": 1,
"status": "published",
"published_at": "2026-04-23T10:00:00Z",
"is_editable": false
}{
"detail": "You do not have permission to perform this action."
}{
"detail": "Not found."
}Otorisasi
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.
Parameter Path
UUID per versi dari kuesioner (nilai uuid yang dikembalikan oleh endpoint daftar, juga dikembalikan sebagai questionnaire_id pada endpoint detail).
Respons
Detail kuesioner lengkap termasuk graph kanonis, tampilan turunan sections, metadata versi, dan is_editable.
Detail kuesioner lengkap yang dikembalikan dari endpoint GET, POST (buat), dan PATCH (perbarui).
Pengenal unik kuesioner. Gunakan id ini saat mereferensikan kuesioner dari alur kerja atau dalam permintaan pembaruan/penghapusan berikutnya.
Struktur graf dengan start_node dan peta node.
Konten kuesioner yang dikelompokkan ke dalam bagian-bagian (berasal dari graf).
Pengidentifikasi stabil yang mengelompokkan semua versi dari kuesioner yang sama.
draft, published True saat kuesioner masih dapat diedit langsung di tempat (versi draf).