TAŇBA-OOH Developers

List approvals

GET /api/v1/approvals

https://app.tanba-ooh.kz/api/v1/approvals

Scope read:approvals. Own organisation's approvals; the authority sees all.

Authentication

API key in the Authorization header, or a console session.

Scope: read:approvals

Responses

200 Newest first, at most 500.

application/json

NameTypeRequiredDescriptionExample
itemsarray of ApprovalSummaryyesApprovals, newest first, at most 500.
items[].numberstringyesApproval number."TNB-2026-123456"
items[].valid_fromstring (date)yesFirst day the approval is in force."2026-10-01"
items[].valid_untilstring (date)yesLast day the approval is in force."2026-12-31"
items[].statusstringyesState of the approval. pending, active, expiring, expired, revoked
items[].signed_atstring | nullyesWhen the approval was signed; null while it is pending."2026-10-06T14:05:39+05:00"
items[].envstringyesEnvironment of the approval: test approvals are never valid for real content. test, prod
items[].advertiser_namestringyesName of the advertiser."Example Advertising LLP"
items[].media_namestringyesName of the approved media file."autumn-sale.mp4"
items[].submission_idstring (uuid)yesIdentifier of the submission the approval belongs to."6f1c0d3e-52a4-4b57-9a7e-0c3a1b9d2e44"
items[].structuresintegeryesNumber of structures the approval covers.3

Example

{
  "items": [
    {
      "number": "TNB-2026-123456",
      "valid_from": "2026-10-01",
      "valid_until": "2026-12-31",
      "status": "pending",
      "signed_at": "2026-10-06T14:05:39+05:00",
      "env": "test",
      "advertiser_name": "Example Advertising LLP",
      "media_name": "autumn-sale.mp4",
      "submission_id": "6f1c0d3e-52a4-4b57-9a7e-0c3a1b9d2e44",
      "structures": 3
    }
  ]
}

Errors

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

StatusMeaning
401No valid session or API key (unauthenticated, session_expired, invalid_api_key).
403The role or the key's scope does not allow this (forbidden, key_scope_denied, key_route_denied).
429Rate limit; see Retry-After.
defaultAn error as a problem document.

Code samples

curl

curl 'https://app.tanba-ooh.kz/api/v1/approvals' \
  -H 'Authorization: Bearer YOUR_API_KEY'
Python
import requests

response = requests.get(
    "https://app.tanba-ooh.kz/api/v1/approvals",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
    },
)
print(response.status_code, response.text)
Go
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, err := http.NewRequest("GET", "https://app.tanba-ooh.kz/api/v1/approvals", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
	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))
}