TAŇBA-OOH Developers

One daily audit anchor

GET /v1/audit-anchors/{day}

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

A CMS signature (PKCS#7 with the body attached) by default; ?format=json returns the body and the signature as JSON. The day is the Asia/Almaty calendar day, YYYY-MM-DD. Verify offline with tanba-verify anchor FILE.p7s --ca root.pem.

Authentication

None. This call is public.

Parameters

NameInTypeRequiredDescriptionExample
daypathstringyesThe Asia/Almaty day, YYYY-MM-DD.2026-10-05
formatquerystringnoSet to json to get JSON instead of the page or the signed file. jsonjson

Responses

200 The anchor.

application/pkcs7-signature

application/json

NameTypeRequiredDescriptionExample
daystring (date)yesThe Asia/Almaty day of the anchor."2026-10-05"
signed_atstringyesWhen the anchor was signed."2026-10-06T00:05:12+05:00"
bodyobjectyesThe anchor body: the head of the audit chain of that day.
signaturestringyesBase64 of the signature over the body."MIIBpQYJKoZIhvcNAQcCoIIBljCCAZICAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwE="

Example

{
  "day": "2026-10-05",
  "signed_at": "2026-10-06T00:05:12+05:00",
  "body": {},
  "signature": "MIIBpQYJKoZIhvcNAQcCoIIBljCCAZICAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwE="
}

Errors

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

StatusMeaning
404Nothing there, or not visible to the caller.
429Rate limit; see Retry-After.

Code samples

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))
}