TAŇBA-OOH Developers

The approved media file

GET /api/v1/approvals/{number}/media

https://app.tanba-ooh.kz/api/v1/approvals/{number}/media

Scope read:approvals. Supports byte ranges.

Authentication

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

Scope: read:approvals

Parameters

NameInTypeRequiredDescriptionExample
numberpathstringyesApproval number.TNB-2026-000123

Responses

200 The file, with the media type it was uploaded as (video or image).

video/mp4

image/*

application/octet-stream

206 Partial content.

No body.

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).
404Nothing there, or not visible to the caller.
defaultAn error as a problem document.

Code samples

curl

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

response = requests.get(
    "https://app.tanba-ooh.kz/api/v1/approvals/TNB-2026-000123/media",
    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/TNB-2026-000123/media", 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))
}