se-hari.com se-hari.com

Changelog

Riwayat perubahan Se-Hari API, kebijakan versi, dan apa yang kami anggap perubahan yang merusak.

2 menit baca Diperbarui 16 Agustus 2026 Lihat sebagai Markdown

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 code error
  • 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 pada code.
  • 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.

javascript
// 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:

  1. Validasi ketat atas respons, menolak field yang tidak ada di skema Anda. Setiap field baru yang kami tambahkan akan mematahkan aplikasi Anda.
  2. 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:

  1. Diumumkan di halaman ini dan lewat email ke pemilik API key aktif, beserta alasan dan penggantinya.
  2. Ditandai di spesifikasi OpenAPI dengan deprecated: true, sehingga alat yang membaca spesifikasi bisa memperingatkan Anda otomatis.
  3. Tetap berjalan selama masa transisi yang diumumkan.
  4. Menjawab 410 gone setelah 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.

bash
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

Siap mencoba?

Buat API key gratis di dashboard — tidak ada biaya berlangganan, kredit terpakai hanya saat Anda benar-benar memproses rekaman atau membuat meeting.

Buat API Key