Dokumentasi
SignChain API
API SignChain.id memungkinkan Anda mendaftarkan hash dokumen ke SUI Blockchain dan memverifikasinya secara programatik â langsung dari aplikasi atau script Anda, tanpa perlu membuka browser.
âšī¸
API ini dirancang untuk register hash , bukan upload file. File Anda tidak pernah meninggalkan komputer Anda â hanya sidik jari digitalnya (SHA-256) yang dikirim ke blockchain.
Autentikasi
X-API-Key header
Autentikasi
API Key
Setiap request ke API register harus menyertakan API Key di header. API Key didapatkan setelah KYC Anda disetujui oleh tim SignChain.id.
â ī¸
API Key bersifat rahasia. Jangan share atau commit ke repository publik. Jika bocor, segera regenerate di /dashboard/profile .
Header yang diperlukan
X-API-Key : sc_your_api_key_here
Content-Type : application/json
Cara mendapatkan API Key
2
Lengkapi KYC
Upload dokumen identitas di Dashboard â KYC Status
3
Tunggu persetujuan
Tim SignChain.id akan mereview dalam 1Ã24 jam
Quick Start
Daftarkan dokumen dalam 30 detik
Contoh paling sederhana: hash file lalu daftarkan ke blockchain.
Python
import hashlib, requests
# 1. Hitung SHA-256 file
def sha256 (path):
h = hashlib.sha256()
with open(path, 'rb' ) as f:
for chunk in iter(lambda : f.read(65536 ), b'' ):
h.update(chunk)
return h.hexdigest()
# 2. Register ke blockchain
res = requests.post(
"https://signchain.id/api/register.php" ,
headers={"X-API-Key" : "YOUR_API_KEY" },
json={
"file_hash" : sha256("dokumen.pdf" ),
"file_name" : "dokumen.pdf" ,
"ref_id" : "INV-2026-001" ,
}
)
print(res.json())
cURL
curl -X POST https://signchain.id/api/register.php \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"file_hash":"a3f5d9...","file_name":"dokumen.pdf","ref_id":"INV-001"}'
Endpoint
Register Dokumen
Mendaftarkan hash dokumen ke SUI Blockchain secara permanen. Setiap hash yang berhasil didaftarkan akan membuat ProofRecord object on-chain yang dapat diverifikasi kapanpun.
Request Body (JSON)
Field Tipe Wajib Keterangan
file_hash string YA SHA-256 hash file dalam format hex (64 karakter)
file_name string opsional Nama file asli, maks 500 karakter
file_type string opsional Ekstensi file, contoh: pdf, docx
ref_id string opsional Nomor referensi internal Anda, contoh: INV-2026-001
description string opsional Deskripsi dokumen, maks 1000 karakter
Contoh Request
{
"file_hash" : "a3f5d9c2e1b4a7f8d0e3c6b9a2f5d8e1b4a7c0f3b0a3f6c9..." ,
"file_name" : "RFQ-ABC-2026-v1.pdf" ,
"file_type" : "pdf" ,
"ref_id" : "RFQ-ABC-2026-v1" ,
"description" : "Laporan penetration testing PT ABC periode Q1 2026"
}
Response
200 Sukses
409 Duplikat
429 Quota Habis
401 Unauthorized
{
"status" : "success" ,
"data" : {
"file_hash" : "a3f5d9c2e1b4a7f8d0e3c6b9a2f5d8..." ,
"file_name" : "RFQ-ABC-2026-v1.pdf" ,
"file_type" : "pdf" ,
"reference_id" : "RFQ-ABC-2026-v1" ,
"object_id" : "0xdc9db8...c53d8" ,
"tx_digest" : "CWs9FyMZXd2UJHvUFwJH..." ,
"registered_at" : "2026-05-07 14:12:00" ,
"network" : "mainnet" ,
"explorer_url" : "https://suivision.xyz/txblock/CWs9Fy..." ,
"object_url" : "https://suivision.xyz/object/0xdc9db8..." ,
"quota_remaining" : 7
}
}
{
"status" : "error" ,
"code" : "DUPLICATE_HASH" ,
"message" : "Hash ini sudah terdaftar sebelumnya." ,
"data" : {
"object_id" : "0xdc9db8...c53d8" ,
"tx_digest" : "CWs9FyMZ..." ,
"registered_at" : "2026-05-07 14:12:00" ,
"explorer_url" : "https://suivision.xyz/object/0xdc9db8..."
}
}
{
"status" : "error" ,
"message" : "Quota bulan ini sudah habis." ,
"data" : {
"quota_used" : 10 ,
"quota_total" : 10
}
}
{
"status" : "error" ,
"message" : "API Key tidak valid."
}
Endpoint
Verifikasi Hash
Memverifikasi apakah suatu hash sudah terdaftar di blockchain. Endpoint ini tidak memerlukan API Key â siapapun bisa memverifikasi.
Request Body (JSON)
Field Tipe Wajib Keterangan
file_hash string YA SHA-256 hash yang ingin diverifikasi (64 hex char)
Contoh Request
curl -X POST https://signchain.id/api/verify.php \
-H "Content-Type: application/json" \
-d '{"file_hash":"a3f5d9c2e1b4a7f8..."}'
Response
200 Ditemukan
404 Tidak Ada
{
"status" : "success" ,
"data" : {
"file_hash" : "a3f5d9c2e1b4a7f8..." ,
"status" : "VALID" ,
"object_id" : "0xdc9db8...c53d8" ,
"tx_digest" : "CWs9FyMZ..." ,
"registered_at" : "2026-05-07 14:12:00" ,
"reference_id" : "RFQ-ABC-2026-v1" ,
"publisher" : {
"name" : "Andika Mahesa" ,
"organization" : "PT Sarahma Global Informatika" ,
"kyc_status" : "APPROVED"
},
"explorer_url" : "https://suivision.xyz/object/0xdc9db8..."
}
}
{
"status" : "error" ,
"message" : "Hash tidak ditemukan di blockchain."
}
Referensi
Kode Error
HTTP Code Kondisi Solusi
200 Sukses â
400 file_hash tidak valid (bukan 64 hex char) Pastikan hash adalah SHA-256 hex lowercase
401 API Key tidak ada atau tidak valid Cek header X-API-Key, pastikan KYC sudah APPROVED
405 Method tidak diizinkan Gunakan POST
409 Hash sudah terdaftar (DUPLICATE_HASH) Hash ini sudah ada di blockchain sebelumnya
429 Quota bulan ini habis Hubungi tim SignChain.id untuk upgrade quota
500 Server error / TX blockchain gagal Coba lagi dalam beberapa menit
Referensi
Rate Limit & Quota
Setiap akun memiliki quota register dokumen per bulan sesuai plan. Quota direset setiap awal bulan.
Plan Quota/Bulan API Access
Free 10 dokumen â (setelah KYC)
Starter 100 dokumen â
Pro 1.000 dokumen â
Enterprise Custom â
Field quota_remaining di response register menunjukkan sisa quota bulan ini.
Tool
Python CLI Tool
Script Python siap pakai untuk register dokumen dari PC Anda. Tidak perlu buka browser â cukup jalankan dari terminal.
Instalasi
2
Download script
curl -O https://signchain.id/assets/signchain-cli.py
3
Simpan API Key
python signchain-cli.py config --api-key YOUR_API_KEY
Penggunaan
# Hitung hash saja
python signchain-cli.py hash dokumen.pdf
# Register dokumen ke blockchain
python signchain-cli.py register dokumen.pdf
# Register dengan referensi dan deskripsi
python signchain-cli.py register dokumen.pdf \
--ref "RFQ-ABC-2026-v1" \
--desc "RFQ-ABC-2026-v1C"
# Verifikasi dokumen
python signchain-cli.py verify dokumen.pdf
# Register semua file dalam folder
python signchain-cli.py batch ./dokumen/