/api/meta/endpoint
GETTersediaFRESH

Dokumentasi endpoint

Dokumentasi lengkap satu endpoint: parameter, tabel kolom yang dihasilkan dari respons nyata, contoh respons yang direkam, sampel terverifikasi, riwayat probe 30 hari, error, dan batasan.

GET/api/meta/endpoint

Permintaan

Parameter kueri

NamaTipeWajibDefaultNilai yang diizinkanDeskripsi
idstringWajib——ID endpoint dari katalog (misalnya `sd-oi`). ID yang tidak dikenal mengembalikan 404. Contoh: sd-oi

Contoh permintaan

curl -s "https://www.coinboss.com/api/meta/endpoint?id=sd-oi"

Kolom respons

Tabel kolom dihasilkan dari respons nyata, sehingga memuat persis apa yang dikembalikan endpoint. Path memakai a[] untuk item array dan {*} untuk objek yang kuncinya berupa nama dinamis seperti koin atau bursa.

KolomTipeSatuanDeskripsi
successboolean—true jika permintaan berhasil. Jika gagal, body-nya adalah `{ success: false, code, error, request_id }`.
schemastring—ID skema respons ini (`coinboss.meta.endpoint/1`).
nownumbermsWaktu server saat respons disusun.
endpointobject—Catatan katalog endpoint. Kunci map adalah nama atribut seperti `id`, `path`, `status`, `params`, `category`, `sources`, `units`, `formula`. kunci dinamis: id,cat,kind,method,path,title
endpoint.{*}array|number|object|string|null—Nilai satu atribut: teks, angka, daftar (`params`, `required`, `ts_fields`), atau objek (`probe`, `category`, `example_query`); null jika tidak diatur.
endpoint.{*}[]object|string—Elemen atribut berupa daftar: definisi parameter dalam `params`, atau nama dalam `required` / `ts_fields`. bisa tidak ada
endpoint.{*}[].namestring—Nama. bisa tidak ada
endpoint.{*}[].instring—Tempat parameter dikirim: `query` atau `path`. bisa tidak ada
endpoint.{*}[].typestring—Tipe. bisa tidak ada
endpoint.{*}[].requiredboolean—true jika parameter wajib dikirim. bisa tidak ada
endpoint.{*}[].defaultnull—Nilai yang dipakai jika parameter tidak disertakan; null jika tidak ada nilai bawaan. bisa tidak ada
endpoint.{*}[].enumnull—Daftar nilai yang diterima; null jika parameter tidak dibatasi pada suatu daftar. bisa tidak ada
endpoint.{*}[].minnull—Minimum. bisa tidak ada
endpoint.{*}[].maxnull—Maksimum. bisa tidak ada
endpoint.{*}[].examplestring—Contoh nilai parameter; null jika tidak diberikan. bisa tidak ada
endpoint.{*}[].descstring—Deskripsi parameter. bisa tidak ada
endpoint.{*}.checked_atnumbermsStempel waktu. bisa tidak ada
endpoint.{*}.httpnumber—Status HTTP permintaan probe terbaru. bisa tidak ada
endpoint.{*}.okboolean—`true` jika permintaan probe terbaru mengembalikan HTTP 200 dengan body JSON yang valid. bisa tidak ada
endpoint.{*}.schema_okboolean—`true` jika respons yang di-probe cocok dengan tabel kolom yang terdokumentasi; `null` jika tidak ada tabel kolom. bisa tidak ada
endpoint.{*}.latency_msnumbermsWaktu respons permintaan probe terbaru. bisa tidak ada
endpoint.{*}.bytesnumberbytesUkuran body respons yang di-probe. bisa tidak ada
endpoint.{*}.qualitynull—`meta.quality` yang dilaporkan respons yang di-probe (FRESH / PARTIAL / STALE …); `null` jika endpoint tidak melaporkannya. bisa tidak ada
endpoint.{*}.data_age_snumber|nullsJumlah detik sejak event tersebut. bisa tidak ada
endpoint.{*}.last_ok_atnumbermsStempel waktu. bisa tidak ada
endpoint.{*}.fail_streaknumbercountJumlah probe yang gagal berturut-turut; 0 jika probe terakhir berhasil. bisa tidak ada
endpoint.{*}.idstring—Pengenal. bisa tidak ada
endpoint.{*}.titlestring—Judul tampilan kategori endpoint (di dalam `category`). bisa tidak ada
endpoint.{*}.coinstring—Simbol koin, huruf besar (misalnya BTC). bisa tidak ada
fieldsarray—Tabel kolom respons, disimpulkan dari respons nyata; null jika belum ada tabel yang dibuat.
fields[]object—Satu kolom respons: `path`, `type`, `unit`, `desc`, dan flag.
fields[].pathstring—Path kolom dalam respons: `a.b` untuk struktur bersarang, `[]` untuk item array, `{*}` untuk nilai-nilai sebuah map.
fields[].typestring—Tipe.
fields[].unitstring|null—Satuan nilai dalam objek ini.
fields[].descstring—Deskripsi kolom; null jika belum ditulis.
fields[].optionalboolean—Ada dan bernilai true jika kolom tersebut tidak ada pada setidaknya satu respons yang dijadikan sampel. bisa tidak ada
fields[].mapboolean—Ada dan bernilai true jika objek tersebut adalah map dengan kunci yang bergantung pada data (koin, bursa, tanggal), bukan kolom tetap. bisa tidak ada
fields[].keysarray—Sampel kunci yang terlihat dalam map; hanya pada kolom dengan `map` bernilai true. bisa tidak ada
fields[].keys[]string—Satu kunci sampel. bisa tidak ada
fields_generated_atnumbermsStempel waktu.
fields_generated_fromarray—URL permintaan yang respons nyatanya menjadi dasar penyimpulan tabel kolom; null jika tidak ada tabel.
fields_generated_from[]string—Satu path permintaan sampel beserta query string-nya.
exampleobject—Respons nyata terakhir yang berhasil dan ditangkap probe: `request`, `captured_at`, `truncated` (panjang asli array yang dipendekkan), dan `body`; null jika tidak ada.
example.requeststring—Permintaan yang menghasilkan contoh yang ditangkap (path dan query string).
example.captured_atnumbermsStempel waktu.
example.truncatedobject—Bagian yang dipendekkan dalam contoh yang ditangkap: untuk setiap array atau map, jumlah item yang dihilangkan. Kuncinya bergantung pada endpoint yang didokumentasikan.
example.bodyobject—Respons endpoint yang didokumentasikan sebagaimana ditangkap, dipendekkan. Strukturnya adalah yang dijelaskan oleh `fields`.
verified_samplesobject|null—Hasil permintaan sampel tambahan dari probe (`at`, `samples` dengan query, status HTTP, latensi, pemeriksaan skema); null jika tidak ada yang dijalankan.
verified_samples.atnumbermsWaktu sampel tambahan terakhir diperiksa.
verified_samples.samplesarray—Jumlah sampel.
verified_samples.samples[]object—Jumlah sampel.
verified_samples.samples[].queryobject—Parameter query permintaan sampel.
verified_samples.samples[].query.coinstring—Simbol koin, huruf besar (misalnya BTC). bisa tidak ada
verified_samples.samples[].httpnumber—Status HTTP yang dikembalikan.
verified_samples.samples[].okboolean—`true` jika sampel mengembalikan hasil yang diharapkan (HTTP 200 dengan JSON yang valid, atau status galat yang diharapkan).
verified_samples.samples[].latency_msnumbermsWaktu respons permintaan sampel.
verified_samples.samples[].schema_okboolean|null—`true` jika respons sampel cocok dengan tabel kolom yang terdokumentasi; `null` jika tidak diperiksa.
verified_samples.samples[].qualitynull—`meta.quality` yang dilaporkan respons sampel; `null` jika tidak dilaporkan.
verified_samples.samples[].notestring|null—Catatan.
probe_detailnull—Perbedaan skema yang ditemukan probe terakhir: path kolom `missing`, `mismatched`, dan `undocumented`; null jika tidak ada.
uptime_30dobject—Pemeriksaan probe atas endpoint ini selama 30 hari terakhir: total, persentase keberhasilan, dan rincian per hari.
uptime_30d.checksnumbercountJumlah pemeriksaan probe atas endpoint dalam 30 hari terakhir (lebih sedikit hari jika pelacakan dimulai belakangan).
uptime_30d.oknumbercountJumlah pemeriksaan tersebut yang berhasil.
uptime_30d.pctnumber%Persentase.
uptime_30d.daysarray—Nilai harian atau jumlah hari.
uptime_30d.days[]object—Nilai harian atau jumlah hari.
uptime_30d.days[].daystring—Hari kalender (UTC).
uptime_30d.days[].checksnumbercountJumlah permintaan probe pada hari itu.
uptime_30d.days[].oknumbercountJumlah permintaan probe yang berhasil pada hari itu.
uptime_30d.days[].pctnumber%Persentase.
uptime_30d.days[].avg_msnumbermsRata-rata waktu respons pada hari itu; `null` jika tidak ada pemeriksaan.
uptime_30d.days[].max_msnumbermsRespons paling lambat pada hari itu.
errorsarray—Kode galat yang dapat dikembalikan API, masing-masing dengan status HTTP, makna, dan saran percobaan ulang.
errors[]object—Satu kode galat.
errors[].codestring—Kode.
errors[].httpnumber|string—Status HTTP yang dikirim bersama kode ini; berupa teks seperti `501 / 503` jika lebih dari satu yang berlaku.
errors[].meaningstring—Makna galat tersebut.
errors[].retrystring—Saran tentang perlu tidaknya dan cara mencoba ulang.
errors[].legacyboolean—Hanya ada dan bernilai true untuk kode yang dipakai endpoint lama yang menjawab HTTP 200 dengan `success: false`. bisa tidak ada
rate_limitobject—Aturan batas laju API publik.
rate_limit.window_snumbersPanjang jendela penghitungan (60).
rate_limit.anonymous_per_minnumbercountPermintaan per menit yang diizinkan per IP klien jika tidak ada kunci API yang dikirim.
rate_limit.scopestring—Teks yang menyatakan cara permintaan dihitung: per IP klien jika anonim, per kunci jika header `CB-API-KEY` dikirim.
rate_limit.key_tiers_per_minobject—Permintaan per menit yang diizinkan untuk setiap tingkatan kunci API, dengan nama tingkatan sebagai kuncinya.
rate_limit.key_tiers_per_min.hobbyistnumbercountPermintaan per menit untuk kunci tingkatan `hobbyist`.
rate_limit.key_tiers_per_min.startupnumbercountPermintaan per menit untuk kunci tingkatan `startup`.
rate_limit.key_tiers_per_min.standardnumbercountPermintaan per menit untuk kunci tingkatan `standard`.
rate_limit.key_tiers_per_min.professionalnumbercountPermintaan per menit untuk kunci tingkatan `professional`.
rate_limit.exemptarray—Pola path yang tidak dihitung terhadap batas.
rate_limit.exempt[]string—Satu pola path yang dikecualikan, misalnya `/api/coin-icon/*`.
rate_limit.headersarray—Nama header respons yang melaporkan keadaan batas laju.
rate_limit.headers[]string—Satu nama header, misalnya `X-RateLimit-Remaining`.
rate_limit.on_exceedobject—Yang dikembalikan saat batas terlampaui: status `http` dan `code` galat.
rate_limit.on_exceed.httpnumber—Status HTTP yang dikembalikan saat batas terlampaui (429).
rate_limit.on_exceed.codestring—Kode.
relatedarray—Semua endpoint dalam kategori yang sama, termasuk endpoint ini.
related[]object—Satu endpoint: `id`, `path`, dan `title`.
related[].idstring—Pengenal.
related[].pathstring—Path permintaan endpoint.
related[].titlestring—Judul tampilan singkat endpoint.
probeobject—Keadaan probe endpoint di balik status langsung: waktu putaran terakhir, usianya, intervalnya, dan apakah masih segar.
probe.last_run_atnumbermsStempel waktu.
probe.age_snumbersJumlah detik sejak baris ini terakhir diperbarui.
probe.interval_snumbersInterval terencana antara dua putaran probe (300).
probe.freshboolean—true jika putaran probe terakhir berusia kurang dari 20 menit; jika false, status endpoint dilaporkan sebagai `unknown`.
probe.errornull—Pesan error (hanya ada saat gagal).
metaobject—Envelope respons ini: ID skema, sistem penghasil, stempel waktu, masa berlaku cache, dan kesegaran.
meta.schemastring—ID skema respons ini; nilainya sama dengan `schema` di tingkat teratas.
meta.sourcearray—Asal nilai tersebut.
meta.source[]object—Asal nilai tersebut.
meta.source[].systemstring—Sistem yang menghasilkan data; selalu `coinboss` untuk endpoint pusat pengembang.
meta.source[].componentstring—Komponen di balik data: probe endpoint dan patroli kualitas data.
meta.observed_atnull—Stempel waktu.
meta.received_atnumbermsStempel waktu.
meta.fetched_atnumbermsWaktu CoinBoss mengambil data dari sumber.
meta.windowstring—Jendela.
meta.cache_ttl_snumbersMasa berlaku cache sisi server untuk respons ini.
meta.qualitystring—`FRESH` jika endpoint ini di-probe dalam 20 menit terakhir, selain itu `STALE`.
meta.is_staleboolean—true jika baris lebih lama daripada jendela kesegaran; baris usang tidak dipakai dalam total.
meta.fallbackstring—Catatan teks biasa tentang apa yang dikembalikan endpoint ini ketika inputnya usang atau tidak ada.

Dihasilkan 2026-11-11 23:03 UTC dari 3 respons nyata.

Contoh respons

/api/meta/endpoint?id=sd-oi · Respons nyata yang direkam 2026-11-13 03:59:28 UTC. Array dan map yang panjang dipersingkat untuk tampilan: errors berisi 9 item; fields berisi 103 item; related berisi 6 item; endpoint berisi 35 item; uptime_30d.days berisi 3 item; verified_samples.samples berisi 4 item.

  • {
    • "success": true,
    • "schema": "coinboss.meta.endpoint/1",
    • "now": 1794542368241,
    • "endpoint": {
      • "id": "sd-oi",
      • "cat": "open-interest"
      },
    • "fields": [
      • { … 4 },
      • { … 4 }
      ],
    • "fields_generated_at": 1794438008862,
    • "fields_generated_from": [
      • "/api/sd/oi?coin=BTC",
      • "/api/sd/oi?coin=ETH",
      • "/api/sd/oi?coin=SOL",
      • "/api/sd/oi?coin=ARKM"
      ],
    • "example": {
      • "request": "/api/sd/oi?coin=BTC",
      • "captured_at": 1794542259642,
      • "truncated": { … 4 },
      • "body": { … 17 }
      },
    • "verified_samples": {
      • "at": 1794542259642,
      • "samples": [ … 2 ]
      },
    • "probe_detail": {
      • "missing": [],
      • "mismatched": [],
      • "undocumented": [ … 6 ]
      },
    • "uptime_30d": {
      • "checks": 411,
      • "ok": 411,
      • "pct": 100,
      • "days": [ … 2 ]
      },
    • "errors": [
      • { … 4 },
      • { … 4 }
      ],
    • "rate_limit": {
      • "window_s": 60,
      • "anonymous_per_min": 1200,
      • "scope": "per client IP for anonymous requests; per key when a CB-API-KEY header is sent",
      • "key_tiers_per_min": { … 4 },
      • "exempt": [ … 1 ],
      • "headers": [ … 4 ],
      • "on_exceed": { … 2 }
      },
    • "related": [
      • { … 3 },
      • { … 3 }
      ],
    • "probe": {
      • "last_run_at": 1794542029183,
      • "age_s": 339,
      • "interval_s": 300,
      • "fresh": true,
      • "error": null
      },
    • "meta": {
      • "schema": "coinboss.meta.endpoint/1",
      • "source": [ … 1 ],
      • "observed_at": null,
      • "received_at": 1794542259642,
      • "fetched_at": 1794542368241,
      • "window": "latest",
      • "cache_ttl_s": 30,
      • "quality": "FRESH",
      • "is_stale": false,
      • "fallback": "field table comes from the last schema generation; example is the last successful real response"
      }
    }

Sampel terverifikasi

Selain contoh di atas, probe memanggil endpoint ini dengan parameter berikut dan memeriksa skemanya setiap kali.

ParameterHTTPLatensiHasil
id=sd-funding2003 msLolos FRESH
id=liquidations-overview2002 msLolos FRESH
—4001 msLolos mengembalikan error yang diharapkan

Diperiksa 2026-11-13 03:59:28 UTC

Detail

Autentikasi
Tidak ada. Endpoint publik.
Batas permintaan
1200 permintaan per menit per IP
Cache server
30s
Mikro-cache edge
10s
Sumber data
Katalog endpoint CoinBoss, skema yang dihasilkan probe API, sd_api_probe.
Stempel waktu
Milidetik epoch Unix (UTC) kecuali deskripsi kolom menyatakan lain
Format respons
json
Stabilitas
Stabil
Tersedia sejak
2026-11-11

Status langsung

TersediaDiperiksa 2026-11-13 03:59:28 UTCHTTP 2002 msSkema sesuaiTitik data terbaru berusia 2m

Ketersediaan, 30 hari terakhir

99.75% dari 408 pemeriksaan lolos

Pergeseran skema yang terdeteksi oleh probe terakhir
  • Dikembalikan tetapi tidak didokumentasikan: probe_detail.missing, probe_detail.mismatched, probe_detail.undocumented, probe_detail.undocumented[]

Error

Panggilan yang gagal memiliki satu bentuk yang sama di semua endpoint. Daftar lengkapnya ada di halaman error. Error dan batas permintaan →

KodeHTTPArtiTindakan
INVALID_PARAM400Parameter wajib tidak ada atau suatu nilai tidak diterima. `param` menyebutkan nama parameternya jika diketahui.Jangan mengulang tanpa perubahan; perbaiki permintaannya.
UNAUTHORIZED401Header `CB-API-KEY` dikirim tetapi kuncinya tidak dikenal atau sudah dicabut. Data publik tidak memerlukan kunci — hapus header tersebut atau gunakan kunci yang valid.Jangan mengulang tanpa perubahan.
FORBIDDEN403Rute ini bukan bagian dari API publik (internal atau khusus akun).Jangan mengulang.
NOT_FOUND404Rute tidak dikenal, atau koin / bursa / dana yang diminta tidak ada.Jangan mengulang; periksa path dan pengenal terhadap katalog.
RATE_LIMITED429Jumlah permintaan melebihi batas per menit. `Retry-After` memberikan jumlah detik untuk menunggu.Tunggu selama `Retry-After`, lalu ulangi dengan backoff.
INTERNAL500Error server yang tidak terduga. Pesannya sengaja dibuat generik; sertakan `request_id` saat melaporkannya.Ulangi sekali setelah beberapa detik; laporkan beserta ID permintaan jika masih terjadi.
UPSTREAM_FAILED503Sumber data di balik endpoint ini tidak menjawab tepat waktu. Tidak ada angka usang atau angka pengganti yang dikembalikan sebagai gantinya.Ulangi dengan backoff; periksa halaman status.
UNAVAILABLE501 / 503Dataset untuk sementara belum siap (cache sedang diisi) atau endpoint belum memiliki sumber publik yang sah.Ulangi nanti; katalog menandai endpoint yang memang tidak tersedia secara desain.
REQUEST_FAILED200Beberapa endpoint lama menjawab HTTP 200 dengan `success: false`. Selalu periksa `success`, bukan hanya status HTTP.Bergantung pada pesannya; perlakukan sebagai permintaan yang gagal.

Coba

GET/api/meta/endpointTersedia
Parameter

string — Endpoint id from the catalog (for example `sd-oi`). Unknown ids return 404.

URL permintaanhttps://www.coinboss.com/api/meta/endpoint?id=sd-oi
Pilih endpoint lalu tekan “Kirim permintaan”. Respons, header, dan waktu tempuhnya akan muncul di sini.