TAŇBA-OOH Developers

Latest daily audit anchors

GET /v1/audit-anchors

https://verify.tanba-ooh.kz/v1/audit-anchors

The newest 30 anchors, newest first. Each day the signer signs the head of the audit chain with the status key; the chain of anchors (prev_anchor_hash) and the signed files let anyone check that earlier audit entries were not changed. Served on the verify and app hosts, cached for 60 seconds.

Authentication

None. This call is public.

Responses

200 The anchors.

application/json

NameTypeRequiredDescriptionExample
itemsarray of AuditAnchorItemyesThe anchors, newest first.
items[].daystring (date)yesThe Asia/Almaty day the anchor covers."2026-10-05"
items[].envstringyesEnvironment the anchor belongs to. test, prod
items[].first_idintegeryesNumber of the first audit event of the day.15021
items[].last_idintegeryesNumber of the last audit event of the day.15874
items[].event_countintegeryesNumber of audit events of the day.854
items[].head_hashstringyesSHA-256 of the last audit event of the day, hex."b958946e30b0a4e6e69434dde89c1b1d7b631bc091ff027b0668027f7dc07bf7"
items[].prev_anchor_hashstringyesSHA-256 of the previous anchor body, hex; 64 zeros for the first."672d8fb820c1922f71e00aff2be44d87bb1bef45300381ed434814cb4c6a6b65"
items[].signed_atstringyesWhen the anchor was signed."2026-10-06T00:05:12+05:00"
items[].urlstringyesAddress of the signed anchor."/v1/audit-anchors/2026-10-05"

Example

{
  "items": [
    {
      "day": "2026-10-05",
      "env": "test",
      "first_id": 15021,
      "last_id": 15874,
      "event_count": 854,
      "head_hash": "b958946e30b0a4e6e69434dde89c1b1d7b631bc091ff027b0668027f7dc07bf7",
      "prev_anchor_hash": "672d8fb820c1922f71e00aff2be44d87bb1bef45300381ed434814cb4c6a6b65",
      "signed_at": "2026-10-06T00:05:12+05:00",
      "url": "/v1/audit-anchors/2026-10-05"
    }
  ]
}

Errors

Errors are problem documents (application/problem+json) with a stable code.

StatusMeaning
429Rate limit; see Retry-After.

Code samples

curl

curl 'https://verify.tanba-ooh.kz/v1/audit-anchors'
Python
import requests

response = requests.get(
    "https://verify.tanba-ooh.kz/v1/audit-anchors",
)
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", 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))
}