Dokumentasi API

Buat kunci di halaman pengembang. Kirim sebagai token bearer. Contoh memakai rute yang sama dengan berkas OpenAPI.

Kirim PDF, kumpulkan tanda tangan terverifikasi, dan unduh berkas tersegel. Stempel visual tetap gratis di browser.

Kirim kunci sebagai Authorization: Bearer gk_live_... Buat kunci. JSON OpenAPI

cURL

curl -X POST https://gustkit.com/api/v1/envelopes \
  -H "Authorization: Bearer gk_live_..." \
  -H "Idempotency-Key: envelope-42" \
  -H "Content-Type: application/json" \
  -d '{"pdfBase64":"<base64>","ownerName":"Rui","signers":[{"email":"[email protected]","name":"Ana","role":"client"}],"copies":["[email protected]"],"order":"sequential","fields":[{"signer":0,"page":1,"x":0.55,"y":0.8,"w":0.32,"h":0.08,"kind":"signature"}],"lang":"id"}'

JavaScript

const res = await fetch("https://gustkit.com/api/v1/envelopes", {
  method: "POST",
  headers: {
    Authorization: "Bearer gk_live_...",
    "Content-Type": "application/json",
    "Idempotency-Key": "envelope-42",
  },
  body: JSON.stringify({
    pdfBase64,
    signers: [{ email: "[email protected]", name: "Ana", role: "client" }],
    copies: ["[email protected]"],
    order: "parallel",
    fields: [{ signer: 0, page: 1, x: 0.55, y: 0.8, w: 0.32, h: 0.08, kind: "signature" }],
    lang: "id",
  }),
});
const envelope = await res.json();

Python

import requests
res = requests.post(
    "https://gustkit.com/api/v1/envelopes",
    headers={"Authorization": "Bearer gk_live_...", "Idempotency-Key": "envelope-42"},
    json={"pdfBase64": pdf_b64, "signers": [{"email": "[email protected]", "name": "Ana"}], "copies": ["[email protected]"], "order": "parallel", "lang": "id"},
)
print(res.status_code, res.json())

Galat

Galat berupa JSON: error.code dan error.message. 401 berarti kunci tidak ada atau dicabut. 402 berarti kuota gratis habis saat penagihan hidup. 409 adalah konflik, termasuk kunci idempotensi yang dipakai lagi dengan isi berbeda. 429 adalah batas per menit kunci.