Amba

Catalog

Browse the catalog — category / tag filters, per-item detail with prices + bundle contents.

Source: apps/api/src/routes/client/catalog.ts.

Endpoints

MethodPathDescription
GET/client/catalogPaginated catalog browse with optional ?category= + ?tag= filters.
GET/client/catalog/:itemIdSingle item with prices + bundle contents.

GET /client/catalog

Query

ParamDefaultDescription
limit50
offset0
categoryExact match on catalog_items.category.
tagMatches items whose tags JSONB array contains the tag.

Response 200

{
  "data": [
    {
      "id": "…",
      "key": "gems_100",
      "name": "100 Gems",
      "item_type": "consumable",
      "tags": ["premium"],
      "catalog_item_prices": [{ "currency_code": "usd", "price": 4.99 }]
    }
  ],
  "total": 42,
  "offset": 0,
  "limit": 50
}

Try it:

GET/client/catalog
client auth
curl -X GET 'https://api.amba.dev/client/catalog'
Loading auth… Configure auth in the settings drawer (top-right) to run this request.

Curl:

curl -X GET '${BASE_URL}/client/catalog' \
  -H 'X-Api-Key: ${CLIENT_API_KEY}' \
  -H 'Authorization: Bearer ${SESSION_TOKEN}'

GET /client/catalog/:itemId

Response 200

{
  "data": {
    "id": "…",
    "key": "starter_bundle",
    "item_type": "bundle",
    "catalog_item_prices": [{ "currency_code": "gems", "price": 500 }],
    "bundle_contents": [
      {
        "content_item_id": "…",
        "quantity": 1,
        "catalog_items": { "key": "sword_of_awesomeness", "name": "…", "icon_url": "…" }
      }
    ]
  }
}

Errors

  • 404 FETCH_FAILED (404 status, code: FETCH_FAILED) — item not found or inactive.
  • 500 FETCH_FAILED.

Try it:

GET/client/catalog/%7B%7BitemId%7D%7D
client auth
curl -X GET 'https://api.amba.dev/client/catalog/%7B%7BitemId%7D%7D'
Loading auth… Configure auth in the settings drawer (top-right) to run this request.

Curl:

curl -X GET '${BASE_URL}/client/catalog/{itemId}' \
  -H 'X-Api-Key: ${CLIENT_API_KEY}' \
  -H 'Authorization: Bearer ${SESSION_TOKEN}'

On this page