Список выпусков открытых данных
GET /v1/open/index.json
https://verify.tanba-ooh.kz/v1/open/index.json
Опубликованные выпуски, сначала самые свежие, со ссылками на файлы и контрольными суммами. Без учетных данных. Пока публикация выключена, отвечает 404 с кодом not_published.
Аутентификация
Не требуется. Вызов открытый.
Ответы
200 Выпуски.
application/json
OpenDataIndex
| Имя | Тип | Обязательный | Описание | Пример |
|---|---|---|---|---|
licence | object | да | Примечание о лицензии на файлы. Условия использования определяет город; пока решения нет, примечание об этом сообщает. | |
licence.status | string | да | draft, пока город не решил. draft | |
licence.text | object | да | Примечание на английском, русском и казахском языках. | |
licence.text.en | string | да | Текст на английском. | "Draft - pending the city's decision." |
licence.text.ru | string | да | Текст на русском. | "Проект - ожидает решения города." |
licence.text.kk | string | да | Текст на казахском. | "Жоба - қаланың шешімін күтуде." |
dictionary_url | string | да | Путь к словарю данных. | "/v1/open/dictionary.json" |
releases | array of OpenDataRelease | да | Опубликованные выпуски, сначала самые свежие. | |
releases[].month | string | да | Месяц, который охватывают цифры, YYYY-MM. | "2026-08" |
releases[].published_at | string (date) | да | Дата публикации по Алматы. | "2026-10-01" |
releases[].csv_url | string | да | Путь к файлу CSV на хосте, который ответил. | "/v1/open/2026-08.csv" |
releases[].json_url | string | да | Путь к файлу JSON на хосте, который ответил. | "/v1/open/2026-08.json" |
releases[].csv_sha256 | string | да | SHA-256 файла CSV в hex. | "3f786850e387550fdab836ed7e6dc881de23001b3f786850e387550fdab836ed" |
releases[].json_sha256 | string | да | SHA-256 файла JSON в hex. | "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa" |
releases[].digest | string | да | SHA-256 файла CSV, за которым следует файл JSON; значение, которое публичный реестр хранит как лист open:YYYY-MM. | "2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3" |
releases[].cells | integer | да | Число ячеек в двух таблицах. | 41 |
releases[].suppressed_cells | integer | да | Сколько из них оставлено пустыми по правилам раскрытия. | 6 |
Пример
{
"licence": {
"status": "draft",
"text": {
"en": "Draft - pending the city's decision.",
"ru": "Проект - ожидает решения города.",
"kk": "Жоба - қаланың шешімін күтуде."
}
},
"dictionary_url": "/v1/open/dictionary.json",
"releases": [
{
"month": "2026-08",
"published_at": "2026-10-01",
"csv_url": "/v1/open/2026-08.csv",
"json_url": "/v1/open/2026-08.json",
"csv_sha256": "3f786850e387550fdab836ed7e6dc881de23001b3f786850e387550fdab836ed",
"json_sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa",
"digest": "2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3",
"cells": 41,
"suppressed_cells": 6
}
]
}
Ошибки
Ошибки приходят документом problem (application/problem+json) со стабильным полем code.
| Статус | Значение |
|---|---|
| 404 | Открытые данные выключены (not_published) либо месяц или файл не опубликован или не существует (not_found). |
| 429 | Превышен предел частоты; см. Retry-After. |
Примеры кода
curl
curl 'https://verify.tanba-ooh.kz/v1/open/index.json'
Python
import requests
response = requests.get(
"https://verify.tanba-ooh.kz/v1/open/index.json",
)
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/open/index.json", 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))
}