se-hari.com se-hari.com

method_not_allowed — Method HTTP tidak didukung

HTTP 405. Path-nya benar, tapi method yang Anda pakai tidak tersedia di sana. Header `Allow` pada respons menyebutkan method apa saja yang bisa dipakai.

2 menit baca Diperbarui 15 Agustus 2026 Lihat sebagai Markdown

method_not_allowed adalah kode error HTTP 405 pada Se-Hari API. Path-nya benar, tapi method yang Anda pakai tidak tersedia di sana. Header Allow pada respons menyebutkan method apa saja yang bisa dipakai.

#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": "method_not_allowed",
    "message": "Contoh pesan untuk method_not_allowed.",
    "docs_url": "https://se-hari.com/docs/error/method-not-allowed",
    "request_id": "req_a1b2c3d4e5f6",
    "details": {}
  }
}

#Kapan ini muncul

Kode ini jarang muncul pada integrasi yang sudah berjalan; hampir selalu ia menandai kesalahan pembacaan dokumentasi atau HTTP client yang berperilaku tidak seperti dugaan. Yang paling sering: klien yang mengubah POST menjadi GET saat mengikuti redirect, sesuai perilaku lama yang masih jadi bawaan di beberapa pustaka.

#Kenapa ini terjadi

  • GET dipakai untuk endpoint yang hanya menerima POST
  • PUT dipakai padahal endpoint memakai PATCH
  • Endpoint MCP (/api/mcp) diakses lewat GET — ia hanya bicara JSON-RPC lewat POST

#Cara memperbaikinya

Periksa halaman referensi endpointnya. Kalau Anda memakai HTTP client yang mengubah method saat mengikuti redirect, matikan perilaku itu — beberapa klien mengubah POST menjadi GET pada 301.

#Yang memicu error

bash
curl "https://se-hari.com/api/mcp" -H "Authorization: Bearer $SEHARI_API_KEY"

#Yang seharusnya

bash
curl -X POST "https://se-hari.com/api/mcp" \
  -H "Authorization: Bearer $SEHARI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

#Aman diulang?

Percuma tanpa perubahan. Ganti method-nya. Tidak ada risiko apa pun dalam mengulang, karena request tidak pernah sampai ke handler.

#Jangan tertukar dengan

Kalau path-nya yang salah, Anda mendapat 404, bukan kode ini. Kode ini justru bukti bahwa path Anda benar — yang perlu diganti hanyalah method-nya. Header Allow pada respons memberi tahu method apa saja yang tersedia di sana.

#Mencegahnya terulang

Periksa header Allow pada respons — di sana disebutkan method apa yang sebenarnya tersedia. Kalau Anda memakai HTTP client yang mengikuti redirect otomatis, pastikan ia mempertahankan method dan body. Untuk endpoint kami, panggil URL final secara langsung; tidak ada endpoint v1 yang dimaksudkan untuk diakses lewat redirect.

#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 === 'method_not_allowed') {
		// Periksa halaman referensi endpointnya. Kalau Anda memakai HTTP client yang mengubah…
		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 method_not_allowed di Se-Hari API?

HTTP 405. Path-nya benar, tapi method yang Anda pakai tidak tersedia di sana. Header `Allow` pada respons menyebutkan method apa saja yang bisa dipakai.

Apakah aman mengulang request yang gagal dengan method_not_allowed?

Percuma tanpa perubahan. Ganti method-nya. Tidak ada risiko apa pun dalam mengulang, karena request tidak pernah sampai ke handler.

Bagaimana cara memperbaiki method_not_allowed?

Periksa halaman referensi endpointnya. Kalau Anda memakai HTTP client yang mengubah method saat mengikuti redirect, matikan perilaku itu — beberapa klien mengubah `POST` menjadi `GET` pada 301.

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