API reference · Catalog
List news
GEThttps://dev.adolfjon.uz/v1/news
catalog:read paginated read-only
Published news posts, newest first.
Parameters
limitquery · integer
Items per page, 1 to 100. Default 20.
cursorquery · string
meta.next_cursor from the previous page.
langquery · string
Language of titles and texts. Default en.
One of:
One of:
uz, ru, enRequest
curl https://dev.adolfjon.uz/v1/news \
-H "Authorization: Bearer ak_test_YOUR_KEY"<?php
$apiKey = 'ak_test_YOUR_KEY';
$ch = curl_init('https://dev.adolfjon.uz/v1/news');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$res = json_decode(curl_exec($ch), true);
if (!$res['ok']) throw new RuntimeException($res['error']['message']);
print_r($res['data']);const API_KEY = 'ak_test_YOUR_KEY';
const res = await fetch('https://dev.adolfjon.uz/v1/news', {
headers: { Authorization: `Bearer ${API_KEY}` },
});
const body = await res.json();
if (!body.ok) throw new Error(body.error.message);
console.log(body.data);import requests
API_KEY = 'ak_test_YOUR_KEY'
r = requests.get(
'https://dev.adolfjon.uz/v1/news',
headers={'Authorization': f'Bearer {API_KEY}'},
timeout=10,
)
body = r.json()
if not body['ok']:
raise RuntimeError(body['error']['message'])
print(body['data'])Response
200 OK · application/json
{
"ok": true,
"data": [
{
"id": 60,
"type": "update",
"pinned": false,
"title": "Automatic card top-up",
"body": "Top up with HUMO and the balance arrives by itself.",
"image_url": null,
"link": null,
"url": "https://adolfjon.uz/news/60",
"created_at": "2026-10-26T14:05:00+05:00"
}
],
"meta": {
"request_id": "req_3f9a0c1d2e4b5a6978c0",
"mode": "live",
"has_more": false,
"next_cursor": null
}
}Try it
Send a real request
Paste a key from your dashboard. A test key is best here. The key stays in this browser tab only and is sent straight to the API.
Errors
| Code | HTTP | When |
|---|---|---|
unauthorized | 401 | No key, or the key is not valid. |
insufficient_scope | 403 | The key lacks the permission. error.required_scope names it. |
rate_limited | 429 | Over the per-minute limit. Wait error.retry_after seconds. |
invalid_request | 400 | A parameter is wrong. error.param names it. |