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
| Name | In | Type | Required | Description | Example |
|---|---|---|---|---|---|
day | path | string | yes | The Asia/Almaty day, YYYY-MM-DD. | 2026-10-05 |
format | query | string | no | Set to json to get JSON instead of the page or the signed file. json | json |
Responses
200 The anchor.
application/pkcs7-signature
application/json
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
day | string (date) | yes | The Asia/Almaty day of the anchor. | "2026-10-05" |
signed_at | string | yes | When the anchor was signed. | "2026-10-06T00:05:12+05:00" |
body | object | yes | The anchor body: the head of the audit chain of that day. | |
signature | string | yes | Base64 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.
| Status | Meaning |
|---|---|
| 404 | Nothing there, or not visible to the caller. |
| 429 | Rate 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))
}