se-hari.com se-hari.com

not_found — Data tidak ditemukan

HTTP 404. Tidak ada data dengan id tersebut yang bisa Anda akses. Perhatikan kalimat itu: data milik akun lain juga dijawab 404, bukan 403. Menjawab 403…

2 menit baca Diperbarui 15 Agustus 2026 Lihat sebagai Markdown

not_found adalah kode error HTTP 404 pada Se-Hari API. Tidak ada data dengan id tersebut yang bisa Anda akses. Perhatikan kalimat itu: data milik akun lain juga dijawab 404, bukan 403. Menjawab 403 akan mengonfirmasi bahwa id tersebut ada — dan itu informasi yang tidak berhak diketahui pemanggil.

#Bentuk responsnya

Semua error Se-Hari memakai amplop yang sama. Yang perlu dicabang di kode Anda adalah code, bukan message — teks pesan bisa kami perbaiki sewaktu-waktu, sedangkan code adalah kontrak publik yang hanya berubah lewat versi API baru.

json
{
  "error": {
    "code": "not_found",
    "message": "Contoh pesan untuk not_found.",
    "docs_url": "https://se-hari.com/docs/error/not-found",
    "request_id": "req_a1b2c3d4e5f6",
    "details": {}
  }
}

#Kapan ini muncul

Kebijakan menjawab 404 untuk data milik orang lain punya konsekuensi praktis yang perlu diingat saat menelusuri masalah: kode ini tidak membuktikan datanya tidak ada. Kalau sebuah id jelas-jelas terlihat di dashboard Anda tapi API menjawab 404, pertanyaan pertamanya bukan tentang id itu, melainkan tentang key mana yang sedang dipakai.

#Kenapa ini terjadi

  • Id salah ketik atau tertukar antar entitas (id notulen dipakai sebagai id rekaman)
  • Data sudah dihapus
  • Key yang dipakai milik akun yang berbeda dari pemilik data
  • Id yang bukan UUID sama sekali — ini juga dijawab 404, bukan 400

#Cara memperbaikinya

Ambil id dari respons endpoint daftar alih-alih menyalinnya dari tempat lain. Kalau Anda yakin id-nya benar, jalankan GET /me dengan key yang sama dan pastikan akunnya memang pemilik data itu.

#Yang memicu error

bash
# id notulen dipakai di endpoint rekaman
curl "https://se-hari.com/api/v1/recordings/<id-notulen>/download-url" \
  -H "Authorization: Bearer $SEHARI_API_KEY"

#Yang seharusnya

bash
# Ambil id rekaman dari daftar rekaman
curl "https://se-hari.com/api/v1/recordings?limit=5" \
  -H "Authorization: Bearer $SEHARI_API_KEY" | jq '.data[].id'

#Aman diulang?

Percuma tanpa perubahan. Id-nya harus diperbaiki, atau key-nya diganti dengan milik akun yang benar. Kalau data baru saja dibuat lewat request lain yang belum selesai, tunggu selesainya alih-alih mengulang membabi buta.

#Jangan tertukar dengan

Bedanya dengan gone (410) penting: 404 berarti tidak ada atau bukan milik Anda, sedangkan 410 berarti pernah ada dan kini benar-benar hilang secara permanen. Untuk rekaman yang lewat masa simpan, kami menjawab 410 supaya Anda tahu tidak ada gunanya mencoba lagi. Id yang bentuknya bukan UUID juga dijawab 404, bukan 400 — pemeriksaan kepemilikan tidak membedakan keduanya.

#Mencegahnya terulang

Ambil id dari respons API, bukan dari tempat lain. Menyalin id dari URL dashboard, dari pesan Slack, atau dari catatan manual adalah sumber kesalahan yang berulang, terutama karena beberapa entitas Se-Hari punya id yang bentuknya identik. Dalam workflow, alirkan id dari langkah sebelumnya alih-alih menyimpannya di konfigurasi — id yang di-hardcode akan tetap menunjuk data yang sama lama setelah data itu tidak relevan.

#Menangani ini di kode

Cabangkan pada error.code, dan bedakan kegagalan yang layak diulang dari yang tidak. Mengulang kegagalan yang tidak akan pernah berhasil hanya menghabiskan kuota rate limit — dan menyembunyikan kegagalan yang sebenarnya butuh perhatian Anda.

javascript
const res = await fetch('https://se-hari.com/api/v1/me', {
	headers: { Authorization: `Bearer ${process.env.SEHARI_API_KEY}` }
});

if (!res.ok) {
	const { error } = await res.json();

	if (error.code === 'not_found') {
		// Ambil id dari respons endpoint daftar alih-alih menyalinnya dari tempat lain. Kalau Anda…
		console.error(error.message, error.details);
	}

	// request_id adalah satu-satunya cara kami menemukan request ini di log.
	console.error(`request_id: ${error.request_id}`);
}

#Selanjutnya

Pertanyaan umum

Apa arti error not_found di Se-Hari API?

HTTP 404. Tidak ada data dengan id tersebut yang bisa Anda akses. Perhatikan kalimat itu: data milik akun lain juga dijawab 404, bukan 403. Menjawab 403 akan mengonfirmasi bahwa id tersebut ada — dan itu informasi yang tidak berhak diketahui pemanggil.

Apakah aman mengulang request yang gagal dengan not_found?

Percuma tanpa perubahan. Id-nya harus diperbaiki, atau key-nya diganti dengan milik akun yang benar. Kalau data baru saja dibuat lewat request lain yang belum selesai, tunggu selesainya alih-alih mengulang membabi buta.

Bagaimana cara memperbaiki not_found?

Ambil id dari respons endpoint daftar alih-alih menyalinnya dari tempat lain. Kalau Anda yakin id-nya benar, jalankan `GET /me` dengan key yang sama dan pastikan akunnya memang pemilik data itu.

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