Halaman ini mencatat perubahan pada Se-Hari API dan menjelaskan apa yang boleh Anda andalkan.
#Kebijakan versi
Versi ada di path: https://se-hari.com/api/v1. Selama path itu tidak berubah, hal-hal berikut tidak akan berubah:
- Arti sebuah
codeerror - Bentuk field yang sudah ada di respons
- Nama dan arti parameter yang sudah ada
- Perilaku endpoint yang sudah ada
Yang bisa berubah kapan saja tanpa menaikkan versi:
- Field baru di respons. Klien Anda harus mengabaikan field yang tidak dikenalnya, bukan gagal. Ini asumsi paling dasar dalam memakai API mana pun.
- Endpoint baru.
- Kode error baru. Tangani kode yang tidak dikenal sebagai kegagalan generik, jangan asumsikan daftarnya tetap.
- Teks
message. Ia untuk manusia dan akan kami perbaiki. Cabangkan padacode. - Nilai enum baru pada field yang memang bisa bertambah, seperti status pemrosesan.
Perubahan yang merusak salah satu jaminan di atas akan hadir sebagai /api/v2, dan /api/v1 tetap berjalan.
#Menulis klien yang tahan perubahan
// BENAR — field tak dikenal diabaikan, kode tak dikenal ditangani generik
const { data } = await res.json();
const judul = data.title;
if (!res.ok) {
const { error } = await res.json();
switch (error.code) {
case 'insufficient_credits':
return tanganiKreditHabis(error.details);
case 'rate_limited':
return tungguLaluUlangi(res.headers.get('retry-after'));
default:
// Kode baru mendarat di sini alih-alih membuat aplikasi berhenti.
throw new Error(`${error.code}: ${error.message}`);
}
}Dua kebiasaan yang membuat klien rapuh, dan keduanya umum:
- Validasi ketat atas respons, menolak field yang tidak ada di skema Anda. Setiap field baru yang kami tambahkan akan mematahkan aplikasi Anda.
- Mencocokkan teks pesan error. Perbaikan kalimat sekecil apa pun akan mengubah perilaku aplikasi Anda tanpa peringatan.
#Kalau sesuatu harus dihentikan
Kami berusaha tidak menghapus apa pun dari v1. Kalau suatu saat memang harus, urutannya seperti ini:
- Diumumkan di halaman ini dan lewat email ke pemilik API key aktif, beserta alasan dan penggantinya.
- Ditandai di spesifikasi OpenAPI dengan
deprecated: true, sehingga alat yang membaca spesifikasi bisa memperingatkan Anda otomatis. - Tetap berjalan selama masa transisi yang diumumkan.
- Menjawab
410 gonesetelah masa itu lewat — bukan 404, supaya jelas bahwa endpointnya pernah ada dan sengaja dihentikan.
Endpoint yang sudah dihentikan tetap punya halaman dokumentasinya, dengan penjelasan penggantinya. Menghapus halamannya berarti menghapus satu-satunya petunjuk yang tersisa bagi orang yang menemukan pemanggilannya di kode lama.
Preseden ini bukan hipotetis: endpoint event dan registrasi Se-Hari sudah melewati alur yang sama dan kini menjawab 410.
#Riwayat
#v1.0.0 — Agustus 2026
Rilis pertama Se-Hari API publik.
- Notulen — buat dari rekaman, unggah berkas, ambil ringkasan dan transkrip, kelola action item, bagikan lewat tautan publik
- Meeting — buat dan batalkan meeting Zoom berlisensi, ambil rekamannya
- Rekaman — daftar dan tautan unduh bertanda tangan
- Kredit — saldo, estimasi biaya, riwayat pemakaian
- Webhook — 7 jenis event dengan tanda tangan HMAC dan retry berjenjang
- MCP server — 11 tool untuk asisten AI, remote maupun lewat paket npm
- Community node n8n — 20 operasi, node trigger yang mendaftarkan webhook sendiri, 15 resep siap impor
- Spesifikasi OpenAPI 3.1 di
/api/v1/openapi.json
#Cara mengikuti perubahan
Halaman ini adalah sumber resminya. Perubahan yang berdampak juga diumumkan lewat email ke pemilik API key aktif.
Untuk deteksi otomatis, bandingkan /api/v1/openapi.json secara berkala — spesifikasinya di-generate dari sumber yang sama dengan validasi runtime, jadi ia tidak pernah tertinggal dari perilaku sebenarnya.
curl -s "https://se-hari.com/api/v1/openapi.json" | jq -S . > openapi-baru.json
diff openapi-lama.json openapi-baru.json#Melaporkan masalah
Kalau Anda menemukan perilaku yang tidak sesuai dokumentasi ini, kirimkan request_id dari respons yang bermasalah. Tanpa itu kami tidak bisa menemukan kembali request Anda di log, dan laporan berubah menjadi tebak-tebakan.
#Selanjutnya
- Referensi API — kontrak lengkap tiap endpoint
- Menangani error — daftar kode dan artinya