Langsung ke konten

Error

Satu bentuk error, kode status, dan apa yang perlu dilakukan untuk masing-masing.

Satu bentuk untuk semua error

Setiap respons error memiliki field yang sama: status HTTP di statusCode, code tetap untuk diperiksa di programmu, dan message yang ditulis untuk manusia. Pesan bisa berubah; kode tidak.

JSON
{
  "statusCode": 404,
  "code": "not_found",
  "message": "work not found"
}

Kode status

Ini kode-kode yang akan kamu temui saat membaca API publik:

  • 400invalid_requestSebuah parameter tidak ada, tipenya salah, atau di luar rentang.
  • 403forbiddenSumber daya ada, tetapi pemiliknya menjadikannya privat.
  • 404not_foundTidak ada apa pun di alamat ini.
  • 429rate_limitedTerlalu banyak permintaan dari alamatmu; tunggu lalu coba lagi.
  • 500internal_errorTerjadi kesalahan di pihak kami; coba lagi nanti.
  • 503unavailableLayanan yang dibutuhkan operasi, seperti pencarian, sedang tidak tersedia sebentar.

Parameter tidak valid

Jika sebuah parameter tidak ada atau di luar rentang, responsnya 400 invalid_request, dan issues mencantumkan setiap masalah beserta nama parameternya.

JSON
{
  "statusCode": 400,
  "code": "invalid_request",
  "message": "The request parameters are not valid.",
  "issues": ["limit: Too big: expected number to be <=50"]
}

Karya yang dipindahkan

Jika dua entri katalog ternyata karya yang sama, salah satunya digabungkan ke yang lain. Meminta entri lama merespons 301 dengan id baru, atau media dan slug baru, di movedTo. Minta alamat yang baru dan perbarui data yang kamu simpan.

HTTP
HTTP/1.1 301 Moved Permanently

{ "movedTo": "01a0cb02-0a14-7877-911d-5b4dde76df72" }

Bagian profil yang privat

Member menentukan bagian profil mana yang publik. Bagian yang disembunyikan merespons 403 dengan kode yang menyebutkannya, seperti favorites_private, library_private, activity_private, atau communities_private. Member yang mengganti username merespons 404 member_renamed dengan nama baru di username.

JSON
{
  "statusCode": 403,
  "code": "favorites_private",
  "message": "You are not allowed to do this."
}