/api/meta/endpoint
GETDisponibileFRESH

Documentazione di un endpoint

Documentazione completa di un endpoint: parametri, tabella dei campi generata da risposte reali, una risposta di esempio acquisita, campioni verificati, storico della sonda a 30 giorni, errori e limiti.

GET/api/meta/endpoint

Richiesta

Parametri di query

NomeTipoObbligatorioPredefinitoValori ammessiDescrizione
idstringObbligatorio——ID dell'endpoint nel catalogo (per esempio `sd-oi`). Gli ID sconosciuti restituiscono 404. Esempio: sd-oi

Richiesta di esempio

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

Campi della risposta

La tabella dei campi è generata da risposte reali, quindi elenca esattamente ciò che l'endpoint restituisce. I percorsi usano a[] per gli elementi di un array e {*} per gli oggetti indicizzati da un nome dinamico, come una moneta o un exchange.

CampoTipoUnitàDescrizione
successboolean—true quando la richiesta è riuscita. In caso di errore il corpo è `{ success: false, code, error, request_id }`.
schemastring—ID dello schema di questa risposta (`coinboss.meta.endpoint/1`).
nownumbermsOra del server al momento della composizione della risposta.
endpointobject—Record di catalogo dell'endpoint. Le chiavi della mappa sono nomi di attributi come `id`, `path`, `status`, `params`, `category`, `sources`, `units`, `formula`. chiavi dinamiche: id,cat,kind,method,path,title
endpoint.{*}array|number|object|string|null—Valore di un attributo: testo, un numero, un elenco (`params`, `required`, `ts_fields`) o un oggetto (`probe`, `category`, `example_query`); null quando non è impostato.
endpoint.{*}[]object|string—Elemento di un attributo di tipo elenco: la definizione di un parametro in `params`, oppure un nome in `required` / `ts_fields`. può essere assente
endpoint.{*}[].namestring—Nome. può essere assente
endpoint.{*}[].instring—Dove viene inviato il parametro: `query` o `path`. può essere assente
endpoint.{*}[].typestring—Tipo. può essere assente
endpoint.{*}[].requiredboolean—true quando il parametro deve essere inviato. può essere assente
endpoint.{*}[].defaultnull—Valore usato quando il parametro è omesso; null quando non esiste un valore predefinito. può essere assente
endpoint.{*}[].enumnull—Elenco dei valori accettati; null quando il parametro non è limitato a un elenco. può essere assente
endpoint.{*}[].minnull—Minimo. può essere assente
endpoint.{*}[].maxnull—Massimo. può essere assente
endpoint.{*}[].examplestring—Valore di esempio del parametro; null quando non ne è indicato alcuno. può essere assente
endpoint.{*}[].descstring—Descrizione del parametro. può essere assente
endpoint.{*}.checked_atnumbermsTimestamp. può essere assente
endpoint.{*}.httpnumber—Stato HTTP della richiesta più recente della sonda. può essere assente
endpoint.{*}.okboolean—`true` quando la richiesta più recente della sonda ha restituito HTTP 200 con un corpo JSON valido. può essere assente
endpoint.{*}.schema_okboolean—`true` quando la risposta sondata corrispondeva alla tabella dei campi documentata; `null` quando non esiste alcuna tabella dei campi. può essere assente
endpoint.{*}.latency_msnumbermsTempo di risposta della richiesta più recente della sonda. può essere assente
endpoint.{*}.bytesnumberbytesDimensione del corpo della risposta sondata. può essere assente
endpoint.{*}.qualitynull—`meta.quality` riportato dalla risposta sondata (FRESH / PARTIAL / STALE …); `null` quando l'endpoint non lo riporta. può essere assente
endpoint.{*}.data_age_snumber|nullsSecondi trascorsi dall'evento. può essere assente
endpoint.{*}.last_ok_atnumbermsTimestamp. può essere assente
endpoint.{*}.fail_streaknumbercountNumero di sonde fallite consecutive; 0 quando l'ultima sonda è riuscita. può essere assente
endpoint.{*}.idstring—Identificatore. può essere assente
endpoint.{*}.titlestring—Titolo visualizzato della categoria dell'endpoint (all'interno di `category`). può essere assente
endpoint.{*}.coinstring—Simbolo della moneta, in maiuscolo (per esempio BTC). può essere assente
fieldsarray—Tabella dei campi della risposta, dedotta da risposte reali; null quando non è stata generata alcuna tabella.
fields[]object—Un campo della risposta: `path`, `type`, `unit`, `desc` e flag.
fields[].pathstring—Percorso del campo nella risposta: `a.b` per l'annidamento, `[]` per gli elementi di un array, `{*}` per i valori di una mappa.
fields[].typestring—Tipo.
fields[].unitstring|null—Unità dei valori di questo oggetto.
fields[].descstring—Descrizione del campo; null quando non ne è stata scritta alcuna.
fields[].optionalboolean—Presente e true quando il campo era assente in almeno una delle risposte campionate. può essere assente
fields[].mapboolean—Presente e true quando l'oggetto è una mappa con chiavi che dipendono dai dati (monete, exchange, date) anziché campi fissi. può essere assente
fields[].keysarray—Campione delle chiavi osservate nella mappa; solo sui campi con `map` true. può essere assente
fields[].keys[]string—Una chiave di esempio. può essere assente
fields_generated_atnumbermsTimestamp.
fields_generated_fromarray—URL di richiesta dalle cui risposte reali è stata dedotta la tabella dei campi; null quando non esiste alcuna tabella.
fields_generated_from[]string—Un percorso di richiesta campionato con la stringa di query.
exampleobject—Ultima risposta reale riuscita acquisita dalla sonda: `request`, `captured_at`, `truncated` (lunghezze originali degli array accorciati) e `body`; null quando non ce n'è alcuna.
example.requeststring—Richiesta che ha prodotto l'esempio acquisito (percorso e stringa di query).
example.captured_atnumbermsTimestamp.
example.truncatedobject—Che cosa è stato accorciato nell'esempio acquisito: per ogni array o mappa, il numero di elementi omessi. Le sue chiavi dipendono dall'endpoint documentato.
example.bodyobject—Risposta acquisita dell'endpoint documentato, accorciata. La sua struttura è quella descritta da `fields`.
verified_samplesobject|null—Risultati delle richieste campione aggiuntive della sonda (`at`, `samples` con query, stato HTTP, latenza, verifica dello schema); null quando non ne è stata eseguita alcuna.
verified_samples.atnumbermsOra dell'ultima verifica dei campioni aggiuntivi.
verified_samples.samplesarray—Numero di campioni.
verified_samples.samples[]object—Numero di campioni.
verified_samples.samples[].queryobject—Parametri di query della richiesta campione.
verified_samples.samples[].query.coinstring—Simbolo della moneta, in maiuscolo (per esempio BTC). può essere assente
verified_samples.samples[].httpnumber—Stato HTTP restituito.
verified_samples.samples[].okboolean—`true` quando il campione ha restituito quanto atteso (HTTP 200 con JSON valido, oppure lo stato di errore atteso).
verified_samples.samples[].latency_msnumbermsTempo di risposta della richiesta campione.
verified_samples.samples[].schema_okboolean|null—`true` quando la risposta del campione corrispondeva alla tabella dei campi documentata; `null` quando non è stata verificata.
verified_samples.samples[].qualitynull—`meta.quality` riportato dalla risposta del campione; `null` quando non è riportato.
verified_samples.samples[].notestring|null—Nota.
probe_detailnull—Differenze di schema rilevate dall'ultima sonda: percorsi dei campi `missing`, `mismatched` e `undocumented`; null quando non ce ne sono.
uptime_30dobject—Controlli della sonda su questo endpoint negli ultimi 30 giorni: totali, percentuale di successo e ripartizione per giorno.
uptime_30d.checksnumbercountNumero di controlli della sonda sull'endpoint negli ultimi 30 giorni (meno giorni quando il tracciamento è iniziato più tardi).
uptime_30d.oknumbercountNumero di quei controlli andati a buon fine.
uptime_30d.pctnumber%Percentuale.
uptime_30d.daysarray—Valori giornalieri o numero di giorni.
uptime_30d.days[]object—Valori giornalieri o numero di giorni.
uptime_30d.days[].daystring—Giorno di calendario (UTC).
uptime_30d.days[].checksnumbercountNumero di richieste della sonda in quel giorno.
uptime_30d.days[].oknumbercountNumero di richieste della sonda riuscite in quel giorno.
uptime_30d.days[].pctnumber%Percentuale.
uptime_30d.days[].avg_msnumbermsTempo di risposta medio in quel giorno; `null` in assenza di controlli.
uptime_30d.days[].max_msnumbermsRisposta più lenta in quel giorno.
errorsarray—Codici di errore che l'API può restituire, ciascuno con stato HTTP, significato e indicazioni sul nuovo tentativo.
errors[]object—Un codice di errore.
errors[].codestring—Codice.
errors[].httpnumber|string—Stato HTTP inviato con questo codice; una stringa come `501 / 503` quando ne è applicabile più di uno.
errors[].meaningstring—Che cosa significa l'errore.
errors[].retrystring—Indicazioni su se e come ritentare.
errors[].legacyboolean—Presente e true solo per il codice usato dagli endpoint meno recenti che rispondono HTTP 200 con `success: false`. può essere assente
rate_limitobject—Regole sui limiti di richieste dell'API pubblica.
rate_limit.window_snumbersDurata della finestra di conteggio (60).
rate_limit.anonymous_per_minnumbercountRichieste al minuto consentite per IP del client quando non viene inviata alcuna chiave API.
rate_limit.scopestring—Testo che indica come vengono conteggiate le richieste: per IP del client quando sono anonime, per chiave quando viene inviato un header `CB-API-KEY`.
rate_limit.key_tiers_per_minobject—Richieste al minuto consentite per ciascun livello di chiave API, indicizzate per nome del livello.
rate_limit.key_tiers_per_min.hobbyistnumbercountRichieste al minuto per le chiavi del livello `hobbyist`.
rate_limit.key_tiers_per_min.startupnumbercountRichieste al minuto per le chiavi del livello `startup`.
rate_limit.key_tiers_per_min.standardnumbercountRichieste al minuto per le chiavi del livello `standard`.
rate_limit.key_tiers_per_min.professionalnumbercountRichieste al minuto per le chiavi del livello `professional`.
rate_limit.exemptarray—Pattern di percorso che non vengono conteggiati ai fini del limite.
rate_limit.exempt[]string—Un pattern di percorso esente, per esempio `/api/coin-icon/*`.
rate_limit.headersarray—Nomi degli header di risposta che riportano lo stato del limite di richieste.
rate_limit.headers[]string—Il nome di un header, per esempio `X-RateLimit-Remaining`.
rate_limit.on_exceedobject—Che cosa viene restituito quando il limite è superato: stato `http` e `code` di errore.
rate_limit.on_exceed.httpnumber—Stato HTTP restituito quando il limite è superato (429).
rate_limit.on_exceed.codestring—Codice.
relatedarray—Tutti gli endpoint della stessa categoria, compreso questo.
related[]object—Un endpoint: `id`, `path` e `title`.
related[].idstring—Identificatore.
related[].pathstring—Percorso di richiesta dell'endpoint.
related[].titlestring—Titolo breve visualizzato dell'endpoint.
probeobject—Stato della sonda degli endpoint alla base degli stati in tempo reale: ora dell'ultima esecuzione, la sua età, l'intervallo e se è aggiornata.
probe.last_run_atnumbermsTimestamp.
probe.age_snumbersSecondi trascorsi dall'ultimo aggiornamento di questa riga.
probe.interval_snumbersIntervallo previsto tra due esecuzioni della sonda (300).
probe.freshboolean—true quando l'ultima esecuzione della sonda risale a meno di 20 minuti fa; quando è false, gli stati degli endpoint sono riportati come `unknown`.
probe.errornull—Messaggio di errore (presente solo in caso di errore).
metaobject—Envelope di questa risposta: ID dello schema, sistema di origine, timestamp, durata della cache e freschezza.
meta.schemastring—ID dello schema di questa risposta; stesso valore del campo di primo livello `schema`.
meta.sourcearray—Provenienza del valore.
meta.source[]object—Provenienza del valore.
meta.source[].systemstring—Sistema che ha prodotto i dati; sempre `coinboss` per gli endpoint del centro sviluppatori.
meta.source[].componentstring—Componente alla base dei dati: la sonda degli endpoint e il controllo periodico della qualità dei dati.
meta.observed_atnull—Timestamp.
meta.received_atnumbermsTimestamp.
meta.fetched_atnumbermsMomento in cui CoinBoss ha recuperato i dati dalla fonte.
meta.windowstring—Finestra.
meta.cache_ttl_snumbersDurata della cache lato server di questa risposta.
meta.qualitystring—`FRESH` quando questo endpoint è stato sondato negli ultimi 20 minuti, altrimenti `STALE`.
meta.is_staleboolean—true quando la riga è più vecchia della finestra di freschezza; le righe obsolete non vengono usate nei totali.
meta.fallbackstring—Nota in testo semplice su ciò che questo endpoint restituisce quando i suoi dati di ingresso sono obsoleti o mancanti.

Generata 2026-11-11 23:03 UTC da 3 risposte reali.

Risposta di esempio

/api/meta/endpoint?id=sd-oi · Risposta reale acquisita 2026-11-13 03:59:28 UTC. Array e mappe lunghi sono abbreviati per la visualizzazione: errors conteneva 9 elementi; fields conteneva 103 elementi; related conteneva 6 elementi; endpoint conteneva 35 elementi; uptime_30d.days conteneva 3 elementi; verified_samples.samples conteneva 4 elementi.

  • {
    • "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"
      }
    }

Campioni verificati

Oltre all'esempio qui sopra, la sonda chiama questo endpoint con i parametri seguenti e ogni volta ne verifica lo schema.

ParametriHTTPLatenzaRisultato
id=sd-funding2003 msSuperato FRESH
id=liquidations-overview2002 msSuperato FRESH
—4001 msSuperato restituisce l'errore previsto

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

Dettagli

Autenticazione
Nessuna. Endpoint pubblico.
Limite di richieste
1200 richieste al minuto per IP
Cache del server
30s
Micro-cache edge
10s
Fonti dei dati
Catalogo degli endpoint di CoinBoss, schemi generati dalla sonda dell'API, sd_api_probe.
Timestamp
Millisecondi dall'epoca Unix (UTC), salvo diversa indicazione nella descrizione del campo
Formato della risposta
json
Stabilità
Stabile
Disponibile dal
2026-11-11

Stato in tempo reale

DisponibileVerificato 2026-11-13 03:59:28 UTCHTTP 2002 msSchema conformeDato più recente risalente a 2m fa

Disponibilità, ultimi 30 giorni

99.75% di 408 verifiche superate

Deriva dello schema rilevata dall'ultima verifica della sonda
  • Restituito ma non documentato: probe_detail.missing, probe_detail.mismatched, probe_detail.undocumented, probe_detail.undocumented[]

Errori

Le chiamate non riuscite hanno la stessa struttura su tutti gli endpoint. L'elenco completo è nella pagina degli errori. Errori e limiti di richieste →

CodiceHTTPSignificatoChe cosa fare
INVALID_PARAM400Manca un parametro obbligatorio oppure un valore non è accettato. `param` indica il nome del parametro quando è noto.Non riprovare senza modifiche; correggere la richiesta.
UNAUTHORIZED401L'header `CB-API-KEY` è stato inviato ma la chiave è sconosciuta o revocata. I dati pubblici non richiedono alcuna chiave: rimuovere l'header o usare una chiave valida.Non riprovare senza modifiche.
FORBIDDEN403La route non fa parte dell'API pubblica (interna o riservata agli account).Non riprovare.
NOT_FOUND404Route sconosciuta, oppure la moneta / l'exchange / il fondo richiesto non esiste.Non riprovare; verificare il percorso e gli identificatori nel catalogo.
RATE_LIMITED429Più richieste del limite al minuto. `Retry-After` indica i secondi da attendere.Attendere `Retry-After`, poi riprovare con backoff.
INTERNAL500Errore imprevisto del server. Il messaggio è volutamente generico; citare `request_id` quando lo si segnala.Riprovare una volta dopo qualche secondo; se persiste, segnalarlo con l'ID della richiesta.
UPSTREAM_FAILED503La fonte di dati alla base di questo endpoint non ha risposto in tempo. Al suo posto non vengono restituiti numeri obsoleti o sostitutivi.Riprovare con backoff; controllare la pagina di stato.
UNAVAILABLE501 / 503Il dataset è temporaneamente non pronto (riscaldamento della cache) oppure l'endpoint non ha ancora una fonte pubblica lecita.Riprovare più tardi; il catalogo contrassegna gli endpoint non disponibili per scelta progettuale.
REQUEST_FAILED200Alcuni endpoint meno recenti rispondono HTTP 200 con `success: false`. Controllare sempre `success`, non solo lo stato HTTP.Dipende dal messaggio; trattare come una richiesta non riuscita.

Prova

GET/api/meta/endpointDisponibile
Parametri

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

URL della richiestahttps://www.coinboss.com/api/meta/endpoint?id=sd-oi
Scegliere un endpoint e premere «Invia richiesta». La risposta, gli header e i tempi compariranno qui.