Bitculator

Changelog

API-changelog

Hver ændring af Data API'et og dets kontrakt, nyeste først. Versionsnumrene følger politikken for versionering og udfasning.

  1. v1.3.3 Ændret

    Oprettelse og test af webhooks begrænset til 5 requests i minuttet

    POST /webhooks og POST /webhooks/{id}/test deler nu en grænse på 5 requests i minuttet pr. konto, oven i planens burst-grænse. Requests over grænsen får 429 rate_limited med Retry-After. En testhændelse sendes nu én gang uden genforsøg; andre leveringer forsøges stadig op til 3 gange, med backoff mellem forsøgene. Dette er en grænse mod misbrug og lader hver plans månedlige kvote og burst-grænse være uændrede. Politikken for versionering og udfasning blev ændret samme dag, så sådanne grænser kan gælde med det samme; indtil da fulgte enhver sænkning af en rate limit, som en plan havde, udfasningstidslinjen på seks måneder. På disse to endpoints viser X-RateLimit-*-headerne den af de to grænser, der har færrest requests tilbage.

  2. v1.3.3 Ændret

    Webhook-værtsnavne slås op ved levering, ikke ved oprettelse

    POST /webhooks slår ikke længere værtsnavnet i URL'en op. Kaldet returnerer stadig 422, når URL'en ikke bruger https, indeholder loginoplysninger eller har en ikke-offentlig IP-adresse som vært. Et værtsnavn, der ikke kan slås op eller peger på en ikke-offentlig adresse, fik hidtil 422; det accepteres nu med 201 og tæller med i grænsen på 5 endpoints pr. konto. Hver levering til et sådant endpoint fejler så uden genforsøg, error på GET /webhooks/{id}/deliveries angiver årsagen, og 10 fejlede leveringer i træk deaktiverer endpointet. Send en testhændelse med POST /webhooks/{id}/test, når du har oprettet et endpoint, og tjek leveringsloggen for at se, at det kan nås.

  3. v1.3.3 Ændret

    Forbrugsopdelingen viser route-skabeloner, ikke stier

    endpoints[].endpoint på GET /usage angiver nu route-skabelonen i stedet for den forespurgte sti - api/v1/coins/{slug} i stedet for api/v1/coins/bitcoin - så hvert endpoint har én række i stedet for én pr. slug eller id. Requests, der blev registreret tidligere i den aktuelle faktureringsperiode, beholder deres sti, så begge former kan optræde, indtil perioden slutter.

  4. v1.3.2 Rettet

    Børsprofil og trust score rettet

    GET /exchanges/{slug} og GET /exchanges/{slug}/trust-score havde fejlet med 500 for alle børser, siden Data API'et blev lanceret. Begge svarer nu; parametre og svarfelter er uændrede, og en børs uden rang returnerer score og breakdown som null.

  5. v1.3.2 Ændret

    Kontrakttyper rettet

    Den offentliggjorte OpenAPI-kontrakt markerer nu hvert felt, der kan være null, som nullable og angiver værdier med decimaler som tal (for eksempel invested på GET /calculators/dca og indikatorværdier); de fælles felter logo og last_updated samt pagineringsfelterne from/to er nullable på alle endpoints, og det samme gælder coin-felterne name og price på alle endpoints for coin-lister og priser. Den angiver også series for DCA som et array, dokumenterer svarene fra GET /coins/{slug}/markets, GET /coins/losers, GET /global/history/{metric} og GET /sentiment/altseason, dokumenterer days på GET /sentiment/altseason som 1–365 (0 er altid blevet afvist; udelad den for at få den aktuelle aflæsning) og opfører koderne endpoint_unavailable (503) og http_error i fejlskemaet. Ingen request eller response er ændret - kun hvordan de beskrives.

  6. v1.3.1 Ændret

    Mislykket godkendelse begrænses pr. nøgle

    Mislykket godkendelse var tidligere begrænset til 30 forsøg i minuttet pr. IP, hvorefter alle nøgler bag den IP fik 429. Nu må én nøgle fejle 30 gange i minuttet fra én IP og én IP 300 gange, nøgler, der er godkendt inden for cirka de seneste 15 minutter, blokeres ikke af IP-grænsen, og et request uden nøgle returnerer 401 uden at blive talt med. Blokerede requests får 429 rate_limited med Retry-After.

  7. v1.3.1 Ændret

    Ikke-kanoniske URL'er omdirigeres

    GET- og HEAD-requests, hvis sti har en afsluttende skråstreg, en dobbelt skråstreg eller en indledende /index.php, får nu en 301 til den rene URL i stedet for at blive leveret - for eksempel fra /api/v1/coins/ til /api/v1/coins. Andre metoder påvirkes ikke.

  8. v1.3.1 Rettet

    Delvise rentetilskrivningsperioder tælles præcist

    GET /calculators/compound-interest afrundede varigheden til hele rentetilskrivningsperioder, så en varighed, der sluttede midt i en periode, blev simuleret for lang eller for kort: 6 måneder med annually-tilskrivning løb et helt år (12 indskud og et helt års renter), og 5 måneder løb slet ingen periode (ingen indskud, ingen renter). Hele perioder kører nu som før, den sidste delvise periode giver forholdsmæssig rente (simpel rente for brøkdelen), og hvert indskud inden for varigheden tælles med. Resultaterne er uændrede, når varigheden er et helt antal rentetilskrivningsperioder; parametre og svarfelter er uændrede.

  9. v1.3.0 Ændret

    Renten ved renters rente er årlig, ikke pr. periode

    API’et og dokumentationen behandlede rate som renten pr. renteperiode, mens beregneren på hjemmesiden og dens vejledning brugte en årlig rente. GET /calculators/compound-interest anvendte hele rate på hver renteperiode, så 5 % med månedlig rentetilskrivning voksede som 5 % om måneden. rate er nu den årlige nominelle rente: hver periode giver rate divideret med antallet af perioder pr. år (5 % med månedlig rentetilskrivning giver 5/12 % om måneden), som meta.note nu angiver. Parametre og svarfelter er uændrede; resultaterne ændres for alle tilskrivningsfrekvenser undtagen annually. Uafhængigt heraf: når contribution_frequency og compound_frequency begge er daily eller begge er weekly, bliver indbetalinger ikke længere forsinket eller tabt på grund af afrundingsfejl i flydende kommatal, så total_contributions kan være én indbetaling højere ved duration_unit=months. Det ændrer betydningen af en eksisterende parameter: For at genskabe tidligere resultater skal du gange din rate med antallet af rentetilskrivningsperioder pr. år.

  10. v1.2.0 Tilføjet

    Fear & Greed-indeks (0–100) ved siden af den rå score

    Hver Fear & Greed-aflæsning indeholder nu index ved siden af score: Fear & Greed-indekset fra 0–100 præcis som vist på Bitculator (0–19 ekstrem frygt, 20–39 frygt, 40–59 neutral, 60–79 grådighed, 80–100 ekstrem grådighed) — brug det til visning. score er uændret: den rå sammensatte værdi på −100…+100, som index er afledt af. Gælder GET /sentiment/fear-greed (hovedaflæsningen og hver post i intervals), fear_greed på GET /global og meta.fear_greed på GET /global/heatmap. Kun en tilføjelse; intet eksisterende felt er ændret.

  11. v1.1.2 Rettet

    Ukendt fuldt udvandet værdiansættelse er null

    GET /coins/{slug} returnerede fully_diluted_valuation som 0 for coins uden et maksimalt udbud (for eksempel Solana og Ethereum, hvis udbud ikke har et loft). Den falder nu tilbage til det samlede udbud og er null, når ingen af dem kendes, som OpenAPI-kontrakten allerede dokumenterede.

  12. v1.1.2 Rettet

    Fear & Greed uden tilstrækkelige data er null

    En Fear & Greed-aflæsning, der endnu ikke havde nogen score, blev rapporteret som score: 0. Den er nu null på GET /sentiment/fear-greed, og det samme gælder fear_greed på GET /global og meta.fear_greed på GET /global/heatmap.

  13. v1.1.1 Rettet

    Null-værdier, sortering og movers rettet

    marketcap og dominance kan være null for en coin uden cirkulerende udbud, og trust scorens score og breakdown er null for en børs uden rang. POST /alarms svarer med 422, når coinen ikke har nogen aktuel værdi for den valgte metrik. /coins/recently-added og /wallets/timeline respekterer nu sort. /coins/gainers og /coins/losers sorteres efter selve ændringen (tidligere reelt efter markedsværdi), og losers udelader coins på 0.00. Stigende sorteringer returnerer null-værdier til sidst. /prices opløser et tvetydigt symbol til den aktive coin med den højeste rangering. OpenAPI-kontrakten markerer de markedsfelter, der kan være null, og angiver 24t-volumen som et tal.

  14. v1.1.1 Tilføjet

    Indsigter oplyser, at de er skrevet af AI

    Hver indsigt på GET /insights, GET /insights/{id} og GET /coins/{slug}/insights bærer nu generated_by: "ai" og den model, der skrev den. Kun en tilføjelse; intet eksisterende felt er ændret.

  15. v1.1.1 Ændret

    Huobi hedder nu HTX; CoinEx inaktiv

    Børsen Huobi er omdøbt til HTX, og dens slug er ændret fra huobi til htx; API'et følger ikke slug-omdirigeringer, så /exchanges/huobi returnerer nu 404. CoinEx er sat som inaktiv og returneres ikke længere.

  16. v1.1.1 Rettet

    Forældede 24t- og 7d-ændringer er null

    change_24h og change_7d er nu null, når en coins ændringer ikke er blevet genberegnet i 15 minutter, i stedet for at vise en forældet bevægelse. Siden 18. september gælder det samme for change_rank_24h og change_rank_7d.

  17. v1.1.0 Ændret

    OpenAPI-kontrakt beriget

    Den offentliggjorte kontrakt bærer nu eksempler på medietype-niveau, ét fælles fejlskema, som hvert 4xx/5xx-svar refererer til, de 401-, 429- og 500-svar, som ethvert kald med nøgle kan returnere, X-RateLimit-*- og X-Quota-*-headerne på hvert succesfuldt svar, alarm.triggered-leveringen som callback på POST /webhooks, samt metadata om kontakt, licens og vilkår. Ingen request eller response er ændret - kun hvordan de beskrives.

  18. v1.1.0 Tilføjet

    Maskinlæsbar discovery

    Nyt: /apis.json, /.well-known/api-catalog (RFC 9727), /.well-known/security.txt (RFC 9116), et JSON Schema-bundle med de fælles svarformer, en offentlig statusside med en JSON-tvilling, denne changelog og politikken for versionering og udfasning.

  19. v1.0.1 Ændret

    Data API-kvoten deles ikke længere med MCP

    MCP-værktøjskald tæller ikke længere med i Data API-planens månedlige kvote og burst-grænse; MCP-serveren har haft sine egne nøgler og planer siden denne dag. tokens[].kind på GET /usage kan nu være mcp, og 429-beskeden ved overskredet kvote lyder »Your Data API plan has reached its monthly request limit.« (tidligere stod der embed plan).

  20. v1.0.1 Ændret

    Bekræftet e-mail kræves for at oprette nøgler

    Oprettelse eller rotation af en Data API-nøgle i udviklerkonsollen kræver nu en bekræftet e-mailadresse; konti uden e-mail, såsom wallet-logins, er undtaget. Oprettelse af nøgler er begrænset til 10 i minuttet. Eksisterende nøgler virker fortsat.

  21. v1.0.1 Rettet

    Tickervolumener beholder deres cents

    volume_usd på GET /tickers, GET /pairs, GET /pairs/{id}, GET /coins/{slug}/markets og GET /exchanges/{slug}/tickers blev gemt som et heltal, så cents gik tabt, og markeder under $0,50 viste 0. Volumener beholder nu to decimaler, og de totaler, der bygges af dem, arver ikke længere afrundingen.

  22. v1.0.1 Ændret

    Sparkline-ændring er en procentsats for alle perioder

    change på GET /coins/{slug}/sparkline og GET /exchanges/{slug}/sparkline var en brøk for 30d til 365d (0,05 betød +5 %), men en procentsats for 24h og 7d. Den er nu en procentsats for alle perioder (1.25 betyder +1,25 %), så værdierne for de længere perioder er 100 gange større end før, og bevægelser under 0,5 % rundes ikke længere ned til 0.

  23. v1.0.1 Rettet

    Sparkline-low og -high stemmer med serien

    På begge sparkline-endpoints kom low og high fra et sammendrag over et andet vindue og kunne modsige points - for eksempel en low over priser i serien. De er nu de faktiske yderværdier for den periode, points udtages fra.

  24. v1.0.1 Ændret

    Vaporware-wallets vises

    GET /wallets, /wallets/timeline, /wallets/compare, /wallets/{slug} og /wallets/{slug}/assets returnerer nu også wallets med status vaporware, så status kan have den værdi.

  25. v1.0.1 Rettet

    Kildetekst i indsigter afkodet

    Kildernes title og excerpt i indsigter indeholder ikke længere rå HTML-entiteter som í.

  26. v1.0.1 Rettet

    Artiklers updated_at viser den seneste redigering

    For en artikel, der aldrig var blevet redigeret, viste updated_at på GET /articles og GET /articles/{slug} det seneste tidspunkt, posten var ændret af en hvilken som helst grund, såsom en visningstæller eller en stemme. Den viser nu den seneste redaktionelle redigering med udgivelsesdatoen som fallback, og POST /articles/{slug}/feedback flytter den ikke længere.

  27. v1.0.1 Tilføjet

    Sentiment for indsigter

    Indsigter indeholder nu sentiment: bullish, bearish, sheepish eller null, når den ikke er klassificeret.

  28. v1.0.1 Tilføjet

    Otte officielle SDK'er

    Klienter til TypeScript, Python, PHP, Go, Rust, Java, C# og C++, som hver dækker hvert endpoint på samme transportkerne: Bearer-auth, udpakning af envelopen, opsamling af X-Quota-*, retries ved 429 og 5xx, typede fejl og paginering.

  29. v1.0.1 Ændret

    Plan-gatede endpoints

    Endpoints kan nu kræve en plan. Ved introduktionen krævede GET /sentiment/indicators Pro, og GET /sentiment/bull-bear, GET /sentiment/altseason, GET /global, GET /global/heatmap og GET /global/history/{metric} krævede Starter. Et kald uden for din plan returnerer 403 plan_required, hvor details.required_plan nævner den plan, der låser det op, og det bruger ikke af kvoten.

  30. v1.0.1 Ændret

    Likvidations-endpoints slået fra

    De seks /liquidations-endpoints blev slået fra på alle planer: de returnerer 503 endpoint_unavailable (»This endpoint is temporarily unavailable.«) og bruger ikke af kvoten.

  31. v1.0.1 Ændret

    Pro-kvoten sænket til 250.000

    Pro-planens månedlige kvote gik fra 500.000 til 250.000 requests.

  32. v1.0.1 Ændret

    Ét endpoint pr. indikator

    Det generiske GET /coins/{slug}/indicators/{family} blev til 13 separat dokumenterede endpoints på de samme stier: rsi, stoch-rsi, sma, cci, mfi, williams-r, price-volatility, volume-volatility, macd, obv, adx, vwap og cmf. Eksisterende kald er uændrede; et ukendt indikatornavn får nu en ren 404 uden listen over gyldige navne.

  33. v1.0.1 Ændret

    Egne planer og egen kvote til Data API'et

    Ved lanceringen trak Data API-kald og embed-widget-requests fra én månedlig pulje knyttet til embed-planen. Data API'et har nu sine egne planer Free, Starter og Pro, sit eget abonnement og sin egen månedlige kvote med sin egen faktureringsperiode: kalendermåneden i UTC på Free, forankret til fornyelsesdagen på betalte planer. GET /ping og GET /usage rapporterer Data API-planen, og /usage tæller kun Data API-kald. Grænserne var uændrede ved opdelingen.

  34. v1.0.1 Ændret

    Dokumentations-URL'er flyttet

    Referencen flyttede fra /{locale}/documentation til /{locale}/documentation/api/v1, og Postman-samlingen og OpenAPI-YAML'en fra /documentation.postman og /documentation.openapi til /documentation/api/v1.postman og /documentation/api/v1.openapi. De gamle stier blev fjernet uden omdirigeringer; /api/v1/openapi.json er uændret.

  35. v1.0.0 Tilføjet

    Data API v1

    Lancering: 73 operationer fordelt på 15 grupper - coins, priser, markeder, børser, wallets, global, sentiment, indikatorer, likvidationer, konvertering, beregnere, redaktionelt, alarmer, webhooks og meta. Bearer-nøgler med data-api-tilladelsen, { data, meta }-envelopen, decimalstreng-præcision, X-Quota-*-headers og signerede webhooks. Data API-kald og embed-widget-requests delte én månedlig kvote under embed-planen, og længere indikatorvinduer krævede Starter.

Hold dig orienteret

Udfasninger annonceres her og pr. e-mail til alle nøgleejere mindst seks måneder før fjernelse - se udfasningspolitikken. Det maskinlæsbare indeks på /apis.json bærer datoen for den nyeste post som sit modified-stempel.