API reference · Catalog

Get a product

GEThttps://dev.adolfjon.uz/v1/catalog/products/{id}
catalog:read read-only

One product by id. Returns not_found when it is hidden or sold out for good.

Parameters

idrequiredpath · integer
Product id.
langquery · string
Language. Default en.
One of: uz, ru, en

Request

curl https://dev.adolfjon.uz/v1/catalog/products/341 \
  -H "Authorization: Bearer ak_test_YOUR_KEY"

Response

200 OK · application/json
{
    "ok": true,
    "data": {
        "id": 341,
        "title": "VIP 30 days",
        "type": "token",
        "category_id": 2,
        "price": {
            "uzs": 59000,
            "original_uzs": 59000,
            "discount_percent": 0,
            "sale_ends_at": null
        },
        "in_stock": true,
        "stock": null,
        "featured": true,
        "sold": 1840,
        "image_url": "https://adolfjon.uz/storage/uploads/vip.webp",
        "description": "VIP access for 30 days. Activates instantly.",
        "tags": [
            "vip"
        ],
        "url": "https://adolfjon.uz/store/product/341",
        "created_at": "2026-10-26T14:05:00+05:00"
    },
    "meta": {
        "request_id": "req_3f9a0c1d2e4b5a6978c0",
        "mode": "live"
    }
}

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

CodeHTTPWhen
unauthorized401No key, or the key is not valid.
insufficient_scope403The key lacks the permission. error.required_scope names it.
rate_limited429Over the per-minute limit. Wait error.retry_after seconds.
not_found404No such endpoint or object.
invalid_request400A parameter is wrong. error.param names it.