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.
/api/meta/endpointPermintaan
Parameter kueri
| Nama | Tipe | Wajib | Default | Nilai yang diizinkan | Deskripsi |
|---|---|---|---|---|---|
| id | string | Wajib | — | — | 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.
| Kolom | Tipe | Satuan | Deskripsi |
|---|---|---|---|
| success | boolean | — | true jika permintaan berhasil. Jika gagal, body-nya adalah `{ success: false, code, error, request_id }`. |
| schema | string | — | ID skema respons ini (`coinboss.meta.endpoint/1`). |
| now | number | ms | Waktu server saat respons disusun. |
| endpoint | object | — | 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.{*}[].name | string | — | Nama. bisa tidak ada |
| endpoint.{*}[].in | string | — | Tempat parameter dikirim: `query` atau `path`. bisa tidak ada |
| endpoint.{*}[].type | string | — | Tipe. bisa tidak ada |
| endpoint.{*}[].required | boolean | — | true jika parameter wajib dikirim. bisa tidak ada |
| endpoint.{*}[].default | null | — | Nilai yang dipakai jika parameter tidak disertakan; null jika tidak ada nilai bawaan. bisa tidak ada |
| endpoint.{*}[].enum | null | — | Daftar nilai yang diterima; null jika parameter tidak dibatasi pada suatu daftar. bisa tidak ada |
| endpoint.{*}[].min | null | — | Minimum. bisa tidak ada |
| endpoint.{*}[].max | null | — | Maksimum. bisa tidak ada |
| endpoint.{*}[].example | string | — | Contoh nilai parameter; null jika tidak diberikan. bisa tidak ada |
| endpoint.{*}[].desc | string | — | Deskripsi parameter. bisa tidak ada |
| endpoint.{*}.checked_at | number | ms | Stempel waktu. bisa tidak ada |
| endpoint.{*}.http | number | — | Status HTTP permintaan probe terbaru. bisa tidak ada |
| endpoint.{*}.ok | boolean | — | `true` jika permintaan probe terbaru mengembalikan HTTP 200 dengan body JSON yang valid. bisa tidak ada |
| endpoint.{*}.schema_ok | boolean | — | `true` jika respons yang di-probe cocok dengan tabel kolom yang terdokumentasi; `null` jika tidak ada tabel kolom. bisa tidak ada |
| endpoint.{*}.latency_ms | number | ms | Waktu respons permintaan probe terbaru. bisa tidak ada |
| endpoint.{*}.bytes | number | bytes | Ukuran body respons yang di-probe. bisa tidak ada |
| endpoint.{*}.quality | null | — | `meta.quality` yang dilaporkan respons yang di-probe (FRESH / PARTIAL / STALE …); `null` jika endpoint tidak melaporkannya. bisa tidak ada |
| endpoint.{*}.data_age_s | number|null | s | Jumlah detik sejak event tersebut. bisa tidak ada |
| endpoint.{*}.last_ok_at | number | ms | Stempel waktu. bisa tidak ada |
| endpoint.{*}.fail_streak | number | count | Jumlah probe yang gagal berturut-turut; 0 jika probe terakhir berhasil. bisa tidak ada |
| endpoint.{*}.id | string | — | Pengenal. bisa tidak ada |
| endpoint.{*}.title | string | — | Judul tampilan kategori endpoint (di dalam `category`). bisa tidak ada |
| endpoint.{*}.coin | string | — | Simbol koin, huruf besar (misalnya BTC). bisa tidak ada |
| fields | array | — | 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[].path | string | — | Path kolom dalam respons: `a.b` untuk struktur bersarang, `[]` untuk item array, `{*}` untuk nilai-nilai sebuah map. |
| fields[].type | string | — | Tipe. |
| fields[].unit | string|null | — | Satuan nilai dalam objek ini. |
| fields[].desc | string | — | Deskripsi kolom; null jika belum ditulis. |
| fields[].optional | boolean | — | Ada dan bernilai true jika kolom tersebut tidak ada pada setidaknya satu respons yang dijadikan sampel. bisa tidak ada |
| fields[].map | boolean | — | 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[].keys | array | — | 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_at | number | ms | Stempel waktu. |
| fields_generated_from | array | — | 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. |
| example | object | — | Respons nyata terakhir yang berhasil dan ditangkap probe: `request`, `captured_at`, `truncated` (panjang asli array yang dipendekkan), dan `body`; null jika tidak ada. |
| example.request | string | — | Permintaan yang menghasilkan contoh yang ditangkap (path dan query string). |
| example.captured_at | number | ms | Stempel waktu. |
| example.truncated | object | — | Bagian yang dipendekkan dalam contoh yang ditangkap: untuk setiap array atau map, jumlah item yang dihilangkan. Kuncinya bergantung pada endpoint yang didokumentasikan. |
| example.body | object | — | Respons endpoint yang didokumentasikan sebagaimana ditangkap, dipendekkan. Strukturnya adalah yang dijelaskan oleh `fields`. |
| verified_samples | object|null | — | Hasil permintaan sampel tambahan dari probe (`at`, `samples` dengan query, status HTTP, latensi, pemeriksaan skema); null jika tidak ada yang dijalankan. |
| verified_samples.at | number | ms | Waktu sampel tambahan terakhir diperiksa. |
| verified_samples.samples | array | — | Jumlah sampel. |
| verified_samples.samples[] | object | — | Jumlah sampel. |
| verified_samples.samples[].query | object | — | Parameter query permintaan sampel. |
| verified_samples.samples[].query.coin | string | — | Simbol koin, huruf besar (misalnya BTC). bisa tidak ada |
| verified_samples.samples[].http | number | — | Status HTTP yang dikembalikan. |
| verified_samples.samples[].ok | boolean | — | `true` jika sampel mengembalikan hasil yang diharapkan (HTTP 200 dengan JSON yang valid, atau status galat yang diharapkan). |
| verified_samples.samples[].latency_ms | number | ms | Waktu respons permintaan sampel. |
| verified_samples.samples[].schema_ok | boolean|null | — | `true` jika respons sampel cocok dengan tabel kolom yang terdokumentasi; `null` jika tidak diperiksa. |
| verified_samples.samples[].quality | null | — | `meta.quality` yang dilaporkan respons sampel; `null` jika tidak dilaporkan. |
| verified_samples.samples[].note | string|null | — | Catatan. |
| probe_detail | null | — | Perbedaan skema yang ditemukan probe terakhir: path kolom `missing`, `mismatched`, dan `undocumented`; null jika tidak ada. |
| uptime_30d | object | — | Pemeriksaan probe atas endpoint ini selama 30 hari terakhir: total, persentase keberhasilan, dan rincian per hari. |
| uptime_30d.checks | number | count | Jumlah pemeriksaan probe atas endpoint dalam 30 hari terakhir (lebih sedikit hari jika pelacakan dimulai belakangan). |
| uptime_30d.ok | number | count | Jumlah pemeriksaan tersebut yang berhasil. |
| uptime_30d.pct | number | % | Persentase. |
| uptime_30d.days | array | — | Nilai harian atau jumlah hari. |
| uptime_30d.days[] | object | — | Nilai harian atau jumlah hari. |
| uptime_30d.days[].day | string | — | Hari kalender (UTC). |
| uptime_30d.days[].checks | number | count | Jumlah permintaan probe pada hari itu. |
| uptime_30d.days[].ok | number | count | Jumlah permintaan probe yang berhasil pada hari itu. |
| uptime_30d.days[].pct | number | % | Persentase. |
| uptime_30d.days[].avg_ms | number | ms | Rata-rata waktu respons pada hari itu; `null` jika tidak ada pemeriksaan. |
| uptime_30d.days[].max_ms | number | ms | Respons paling lambat pada hari itu. |
| errors | array | — | Kode galat yang dapat dikembalikan API, masing-masing dengan status HTTP, makna, dan saran percobaan ulang. |
| errors[] | object | — | Satu kode galat. |
| errors[].code | string | — | Kode. |
| errors[].http | number|string | — | Status HTTP yang dikirim bersama kode ini; berupa teks seperti `501 / 503` jika lebih dari satu yang berlaku. |
| errors[].meaning | string | — | Makna galat tersebut. |
| errors[].retry | string | — | Saran tentang perlu tidaknya dan cara mencoba ulang. |
| errors[].legacy | boolean | — | Hanya ada dan bernilai true untuk kode yang dipakai endpoint lama yang menjawab HTTP 200 dengan `success: false`. bisa tidak ada |
| rate_limit | object | — | Aturan batas laju API publik. |
| rate_limit.window_s | number | s | Panjang jendela penghitungan (60). |
| rate_limit.anonymous_per_min | number | count | Permintaan per menit yang diizinkan per IP klien jika tidak ada kunci API yang dikirim. |
| rate_limit.scope | string | — | Teks yang menyatakan cara permintaan dihitung: per IP klien jika anonim, per kunci jika header `CB-API-KEY` dikirim. |
| rate_limit.key_tiers_per_min | object | — | Permintaan per menit yang diizinkan untuk setiap tingkatan kunci API, dengan nama tingkatan sebagai kuncinya. |
| rate_limit.key_tiers_per_min.hobbyist | number | count | Permintaan per menit untuk kunci tingkatan `hobbyist`. |
| rate_limit.key_tiers_per_min.startup | number | count | Permintaan per menit untuk kunci tingkatan `startup`. |
| rate_limit.key_tiers_per_min.standard | number | count | Permintaan per menit untuk kunci tingkatan `standard`. |
| rate_limit.key_tiers_per_min.professional | number | count | Permintaan per menit untuk kunci tingkatan `professional`. |
| rate_limit.exempt | array | — | Pola path yang tidak dihitung terhadap batas. |
| rate_limit.exempt[] | string | — | Satu pola path yang dikecualikan, misalnya `/api/coin-icon/*`. |
| rate_limit.headers | array | — | Nama header respons yang melaporkan keadaan batas laju. |
| rate_limit.headers[] | string | — | Satu nama header, misalnya `X-RateLimit-Remaining`. |
| rate_limit.on_exceed | object | — | Yang dikembalikan saat batas terlampaui: status `http` dan `code` galat. |
| rate_limit.on_exceed.http | number | — | Status HTTP yang dikembalikan saat batas terlampaui (429). |
| rate_limit.on_exceed.code | string | — | Kode. |
| related | array | — | Semua endpoint dalam kategori yang sama, termasuk endpoint ini. |
| related[] | object | — | Satu endpoint: `id`, `path`, dan `title`. |
| related[].id | string | — | Pengenal. |
| related[].path | string | — | Path permintaan endpoint. |
| related[].title | string | — | Judul tampilan singkat endpoint. |
| probe | object | — | Keadaan probe endpoint di balik status langsung: waktu putaran terakhir, usianya, intervalnya, dan apakah masih segar. |
| probe.last_run_at | number | ms | Stempel waktu. |
| probe.age_s | number | s | Jumlah detik sejak baris ini terakhir diperbarui. |
| probe.interval_s | number | s | Interval terencana antara dua putaran probe (300). |
| probe.fresh | boolean | — | true jika putaran probe terakhir berusia kurang dari 20 menit; jika false, status endpoint dilaporkan sebagai `unknown`. |
| probe.error | null | — | Pesan error (hanya ada saat gagal). |
| meta | object | — | Envelope respons ini: ID skema, sistem penghasil, stempel waktu, masa berlaku cache, dan kesegaran. |
| meta.schema | string | — | ID skema respons ini; nilainya sama dengan `schema` di tingkat teratas. |
| meta.source | array | — | Asal nilai tersebut. |
| meta.source[] | object | — | Asal nilai tersebut. |
| meta.source[].system | string | — | Sistem yang menghasilkan data; selalu `coinboss` untuk endpoint pusat pengembang. |
| meta.source[].component | string | — | Komponen di balik data: probe endpoint dan patroli kualitas data. |
| meta.observed_at | null | — | Stempel waktu. |
| meta.received_at | number | ms | Stempel waktu. |
| meta.fetched_at | number | ms | Waktu CoinBoss mengambil data dari sumber. |
| meta.window | string | — | Jendela. |
| meta.cache_ttl_s | number | s | Masa berlaku cache sisi server untuk respons ini. |
| meta.quality | string | — | `FRESH` jika endpoint ini di-probe dalam 20 menit terakhir, selain itu `STALE`. |
| meta.is_stale | boolean | — | true jika baris lebih lama daripada jendela kesegaran; baris usang tidak dipakai dalam total. |
| meta.fallback | string | — | 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"
- "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"
- "body"
- "verified_samples"
- "at"1794542259642
- "samples"
- "probe_detail"
- "missing"
- "mismatched"
- "undocumented"
- "uptime_30d"
- "checks"411
- "ok"411
- "pct"100
- "days"
- "errors"
- "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"
- "exempt"
- "headers"
- "on_exceed"
- "related"
- "probe"
- "last_run_at"1794542029183
- "age_s"339
- "interval_s"300
- "fresh"true
- "error"null
- "meta"
- "schema""coinboss.meta.endpoint/1"
- "source"
- "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.
| Parameter | HTTP | Latensi | Hasil |
|---|---|---|---|
| id=sd-funding | 200 | 3 ms | Lolos FRESH |
| id=liquidations-overview | 200 | 2 ms | Lolos FRESH |
| — | 400 | 1 ms | Lolos 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
Ketersediaan, 30 hari terakhir
99.75% dari 408 pemeriksaan lolos
- 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 →
| Kode | HTTP | Arti | Tindakan |
|---|---|---|---|
| INVALID_PARAM | 400 | Parameter wajib tidak ada atau suatu nilai tidak diterima. `param` menyebutkan nama parameternya jika diketahui. | Jangan mengulang tanpa perubahan; perbaiki permintaannya. |
| UNAUTHORIZED | 401 | Header `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. |
| FORBIDDEN | 403 | Rute ini bukan bagian dari API publik (internal atau khusus akun). | Jangan mengulang. |
| NOT_FOUND | 404 | Rute tidak dikenal, atau koin / bursa / dana yang diminta tidak ada. | Jangan mengulang; periksa path dan pengenal terhadap katalog. |
| RATE_LIMITED | 429 | Jumlah permintaan melebihi batas per menit. `Retry-After` memberikan jumlah detik untuk menunggu. | Tunggu selama `Retry-After`, lalu ulangi dengan backoff. |
| INTERNAL | 500 | Error 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_FAILED | 503 | Sumber 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. |
| UNAVAILABLE | 501 / 503 | Dataset 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_FAILED | 200 | Beberapa endpoint lama menjawab HTTP 200 dengan `success: false`. Selalu periksa `success`, bukan hanya status HTTP. | Bergantung pada pesannya; perlakukan sebagai permintaan yang gagal. |
Coba
/api/meta/endpointTersediastring — Endpoint id from the catalog (for example `sd-oi`). Unknown ids return 404.
https://www.coinboss.com/api/meta/endpoint?id=sd-oiLainnya di kategori ini
- Matriks kualitas data (tampilan kolektor) /api/sd/quality
- Katalog API /api/meta/catalog
- Catatan perubahan dan kebijakan versi /api/meta/changelog
- Dokumentasi endpoint /api/meta/endpoint
- Dokumen OpenAPI /api/meta/openapi
- Matriks kualitas data /api/meta/quality
- Status layanan /api/meta/status
- Memeriksa apakah suatu simbol koin dikenal oleh platform /api/coin-exists
- Peta simbol koin ke path ikon yang di-host secara lokal /api/coin-icons
- Ringkasan agregat halaman koin /api/content/coin
- Ringkasan bagian seluruh situs /api/content/summary
- Tabel kurs valas fiat /api/currency/fx
- Peta id bursa ke path ikon yang di-host secara lokal /api/exchange-icons
- Pemeriksaan liveness /api/health
- Statistik halaman riset /api/research/stats