Один ежедневный якорь аудита
GET /v1/audit-anchors/{day}
https://verify.tanba-ooh.kz/v1/audit-anchors/{day}
Технический текст справочника написан на английском.
По умолчанию подпись CMS (PKCS#7 с вложенным телом); ?format=json возвращает тело и подпись в JSON. День это календарный день Asia/Almaty, YYYY-MM-DD. Проверка офлайн: tanba-verify anchor FILE.p7s --ca root.pem.
Аутентификация
Не требуется. Вызов открытый.
Параметры
| Имя | Где | Тип | Обязательный | Описание | Пример |
|---|---|---|---|---|---|
day | путь | string | да | День Asia/Almaty, YYYY-MM-DD. | 2026-10-05 |
format | запрос | string | нет | Укажите json, чтобы получить JSON вместо страницы или подписанного файла. json | json |
Ответы
200 The anchor.
application/pkcs7-signature
application/json
| Имя | Тип | Обязательный | Описание | Пример |
|---|---|---|---|---|
day | string (date) | да | The Asia/Almaty day of the anchor. | "2026-10-05" |
signed_at | string | да | When the anchor was signed. | "2026-10-06T00:05:12+05:00" |
body | object | да | The anchor body: the head of the audit chain of that day. | |
signature | string | да | Base64 от подписи над телом. | "MIIBpQYJKoZIhvcNAQcCoIIBljCCAZICAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwE=" |
Пример
{
"day": "2026-10-05",
"signed_at": "2026-10-06T00:05:12+05:00",
"body": {},
"signature": "MIIBpQYJKoZIhvcNAQcCoIIBljCCAZICAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwE="
}
Ошибки
Ошибки приходят документом problem (application/problem+json) со стабильным полем code.
| Статус | Значение |
|---|---|
| 404 | Ничего нет или вызывающему это не видно. |
| 429 | Превышен предел частоты; см. Retry-After. |
Примеры кода
curl
curl 'https://verify.tanba-ooh.kz/v1/audit-anchors/2026-10-05'
Python
import requests
response = requests.get(
"https://verify.tanba-ooh.kz/v1/audit-anchors/2026-10-05",
)
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/audit-anchors/2026-10-05", 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))
}