Latest public-ledger days
GET /v1/ledger-days
https://verify.tanba-ooh.kz/v1/ledger-days
Анықтамалықтың техникалық мәтіні ағылшын тілінде жазылған.
The newest 30 days, newest first. For each anchored day the platform computes a Merkle root over the approvals issued and revoked that day and a digest, SHA-256 of the anchor body hash followed by the root, and has the digest timestamped in Bitcoin through OpenTimestamps. status is pending until a Bitcoin block attestation is in the proof, then pending_check until the platform has compared the value the proof commits to with the merkle root in the header of that block, read from two independent block explorers, and anchored with block_height only after that comparison succeeded. Served on the verify and app hosts, cached for 60 seconds.
Аутентификация
Қажет емес. Шақыру ашық.
Жауаптар
200 The days.
application/json
| Атауы | Түрі | Міндетті | Сипаттама | Мысал |
|---|---|---|---|---|
items | array of LedgerDayItem | иә | The days, newest first. | |
items[].day | string (date) | иә | The Asia/Almaty day the ledger entry covers. | "2026-10-05" |
items[].leaf_count | integer | иә | Number of approvals issued and revoked that day. | 14 |
items[].merkle_root | string | иә | Hex SHA-256 root over the day's leaves; SHA-256 of the empty string when the day has none. | "53f8fe42a83fc01075e856d385cea164e06b7124d4c76b3a498e39de98d7168b" |
items[].digest | string | иә | Hex SHA-256 of the anchor body hash followed by the Merkle root; this is what is timestamped. | "44eeee2dfc054adad906be43d8d227a8052c19e5080b0ed64dc572fad9ee8f46" |
items[].status | string | иә | How far the digest has been anchored in Bitcoin. pending, pending_check, anchored | |
items[].block_height | integer | Bitcoin block of the attestation, present only when anchored: after its header was checked against the proof. | 905432 | |
items[].inputs_url | string | иә | Address of the inputs file of the day. | "/v1/ledger-days/2026-10-05" |
items[].ots_url | string | Present once the digest has been submitted to the calendars. | "/v1/ledger-days/2026-10-05/proof.ots" |
Мысал
{
"items": [
{
"day": "2026-10-05",
"leaf_count": 14,
"merkle_root": "53f8fe42a83fc01075e856d385cea164e06b7124d4c76b3a498e39de98d7168b",
"digest": "44eeee2dfc054adad906be43d8d227a8052c19e5080b0ed64dc572fad9ee8f46",
"status": "pending",
"block_height": 905432,
"inputs_url": "/v1/ledger-days/2026-10-05",
"ots_url": "/v1/ledger-days/2026-10-05/proof.ots"
}
]
}
Қателер
Қателер problem құжаты (application/problem+json) түрінде, тұрақты code өрісімен келеді.
| Мәртебесі | Мағынасы |
|---|---|
| 429 | Rate limit; see Retry-After. |
Код мысалдары
curl
curl 'https://verify.tanba-ooh.kz/v1/ledger-days'
Python
import requests
response = requests.get(
"https://verify.tanba-ooh.kz/v1/ledger-days",
)
print(response.status_code, response.text)
Go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://verify.tanba-ooh.kz/v1/ledger-days", nil)
if err != nil {
panic(err)
}
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, _ := io.ReadAll(resp.Body)
fmt.Println(resp.Status, string(data))
}