API
Header
Header request dan respons untuk token, tracing, caching, update yang aman, dan rate limit.
Kebanyakan panggilan hanya butuh Authorization, ditambah Content-Type saat mengirim body. Header lainnya membantu melacak, caching, dan mencegah update yang saling menimpa.
Header request
| Header | Kapan dikirim | Contoh |
|---|---|---|
Authorization | Setiap panggilan yang butuh login. | Bearer YOUR_ACCESS_TOKEN |
Content-Type | Setiap panggilan dengan body JSON. | application/json |
If-Match | Saat update, untuk menolaknya jika record berubah sejak kamu membacanya. Hasilnya 412 record_changed. | "2026-10-23T07:04:27.858424Z" |
If-None-Match | Saat membaca ulang, untuk melewati body jika tidak ada yang berubah. Hasilnya 304. | "2026-10-23T07:04:27.858424Z" |
X-Request-ID | ID trace milikmu sendiri. Kanesh mengembalikannya dan mencatatnya di log. | checkout-7f3a |
X-Workspace-ID | Untuk path tanpa :workspace, seperti /api/v1/collections. | 1d6035d32788a9046a1e3209059e00a3 |
| Header token kustom | Hanya jika server mengatur AUTH_TOKEN_HEADER, seperti X-Api-Key. Kirim token mentah. | YOUR_ACCESS_TOKEN |
Kirim satu kredensial saja. Token di dua header, atau token plus cookie, menghasilkan 401.
Header respons
| Header | Yang diberitahukan |
|---|---|
ETag | Versi satu record. Pakai bersama If-Match atau If-None-Match. |
X-Request-ID | ID request ini, juga ada di meta.request_id. Milikmu jika kamu mengirimnya. |
X-Response-Time | Waktu server untuk request, misalnya 1.906ms. |
Retry-After | Bersama 429, jumlah detik menunggu sebelum mencoba lagi. |
Content-Disposition | Pada unduhan file, nama file. |
Cache-Control | no-store pada data API, agar proxy tidak pernah menyimpan cache record privat. |
Kanesh juga mengirim header keamanan seperti X-Content-Type-Options: nosniff, X-Frame-Options: DENY, dan Referrer-Policy. Lihat Keamanan.
Contoh: baca, lalu update dengan aman
# 1. Baca dan simpan ETag
curl -i 'http://127.0.0.1:8080/api/v1/workspaces/YOUR_WORKSPACE_ID/collections/YOUR_COLLECTION_ID/records/YOUR_RECORD_ID' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'X-Request-ID: checkout-7f3a'
# 2. Update hanya jika masih versi itu
curl -X PATCH 'http://127.0.0.1:8080/api/v1/workspaces/YOUR_WORKSPACE_ID/collections/YOUR_COLLECTION_ID/records/YOUR_RECORD_ID' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-H 'If-Match: "2026-10-23T07:04:27.858424Z"' \
--data '{"stage":"Won"}' Aplikasi browser
Browser di origin lain hanya bisa mengirim dan membaca header ini jika CORS mengizinkannya. Default sudah mengizinkan semua header di halaman ini.