Доказательство OpenTimestamps за один день
GET /v1/ledger-days/{day}/proof.ots
https://verify.tanba-ooh.kz/v1/ledger-days/{day}/proof.ots
Файл .ots для дайджеста дня. Пока status дня не anchored, это ожидающее доказательство (обещания календарей), потом в нем аттестация Биткоина. Проверка официальным клиентом: ots verify -d DIGEST FILE.ots, где DIGEST это дайджест дня. 404, пока дайджест не отправлен.
Аутентификация
Не требуется. Вызов открытый.
Параметры
| Имя | Где | Тип | Обязательный | Описание | Пример |
|---|---|---|---|---|---|
day | путь | string | да | День Asia/Almaty, YYYY-MM-DD. | 2026-10-05 |
Ответы
200 Доказательство.
application/vnd.opentimestamps.v1
Ошибки
Ошибки приходят документом problem (application/problem+json) со стабильным полем code.
| Статус | Значение |
|---|---|
| 404 | Ничего нет или вызывающему это не видно. |
| 429 | Превышен предел частоты; см. Retry-After. |
Примеры кода
curl
curl 'https://verify.tanba-ooh.kz/v1/ledger-days/2026-10-05/proof.ots'
Python
import requests
response = requests.get(
"https://verify.tanba-ooh.kz/v1/ledger-days/2026-10-05/proof.ots",
)
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/2026-10-05/proof.ots", 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))
}