> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Products

> Browse the digital value catalog available to your partner account

The products catalog contains all digital value products available to your partner account — including gift cards, PIN-less top-ups, bill payments, and account credits. Pass `currency` on every request to receive correct pricing and the applicable FX rate.

## List Products

GET /v2/products

### Query Parameters

| Name       | Type    | Required | Description                                                                                |
| ---------- | ------- | -------- | ------------------------------------------------------------------------------------------ |
| `currency` | string  | Yes      | ISO 4217 currency code. Determines pricing and FX rate returned (e.g. `USD`, `AED`, `SAR`) |
| `page`     | integer | No       | Page number, default `1`                                                                   |
| `pageSize` | integer | No       | Results per page, default `100`, max `2000`                                                |

### Example Request

```bash theme={null}
curl -X GET "https://partner.orbt.com/v2/products?currency=USD&page=1&pageSize=100" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-client-id: YOUR_CLIENT_ID" \
  -H "x-timestamp: 2026-08-13T10:00:00.000Z" \
  -H "x-body-hash: BODY_HASH" \
  -H "x-signature: SIGNATURE"
```

```javascript theme={null}
const response = await fetch('https://partner.orbt.com/v2/products?currency=USD&page=1&pageSize=100', {
  method: 'GET',
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'x-client-id': 'YOUR_CLIENT_ID',
    'x-timestamp': timestamp,
    'x-body-hash': bodyHash,
    'x-signature': signature
  }
});
```

### Response — 200 OK

```json theme={null}
{
  "data": [
    {
      "productId": 1725,
      "brand": "Apple",
      "currency": "USD",
      "denominationType": "VARIABLE",
      "minAmount": 5,
      "maxAmount": 500,
      "inStock": true,
      "fxRate": 1.00
    },
    {
      "productId": 2010,
      "brand": "Carrefour Mobile",
      "currency": "USD",
      "denominationType": "FIXED",
      "fixedAmounts": [5, 10, 25],
      "inStock": true,
      "fxRate": 3.67
    }
  ],
  "meta": {
    "pagination": {
      "page": 1,
      "pageSize": 100,
      "totalRecords": 2,
      "totalPages": 1,
      "hasNext": false
    }
  }
}
```

***

## Get Product

GET /v2/products/\{productId}

### Path Parameters

| Name        | Type    | Required | Description        |
| ----------- | ------- | -------- | ------------------ |
| `productId` | integer | Yes      | Product identifier |

### Query Parameters

| Name       | Type   | Required | Description            |
| ---------- | ------ | -------- | ---------------------- |
| `currency` | string | Yes      | ISO 4217 currency code |

### Example Request

```bash theme={null}
curl -X GET "https://partner.orbt.com/v2/products/1725?currency=USD" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-client-id: YOUR_CLIENT_ID" \
  -H "x-timestamp: 2026-08-13T10:00:00.000Z" \
  -H "x-body-hash: BODY_HASH" \
  -H "x-signature: SIGNATURE"
```

### Response — 200 OK

```json theme={null}
{
  "data": {
    "productId": 1725,
    "brand": "Apple",
    "currency": "USD",
    "denominationType": "VARIABLE",
    "minAmount": 5,
    "maxAmount": 500,
    "inStock": true,
    "fxRate": 1.00
  }
}
```

### Response — 404 Not Found

```json theme={null}
{
  "error": {
    "code": "RESOURCE_NOT_FOUND",
    "message": "Product with ID 1725 not found"
  }
}
```

## Response Fields

| Field              | Type    | Description                                                               |
| ------------------ | ------- | ------------------------------------------------------------------------- |
| `productId`        | integer | Unique product identifier. Use this in order requests.                    |
| `brand`            | string  | Brand name                                                                |
| `currency`         | string  | Currency in which this product is priced                                  |
| `denominationType` | string  | `FIXED` — set denominations only. `VARIABLE` — any amount within min/max. |
| `fixedAmounts`     | array   | Available denominations. Present only when `denominationType` is `FIXED`. |
| `minAmount`        | number  | Minimum face value. Present only when `denominationType` is `VARIABLE`.   |
| `maxAmount`        | number  | Maximum face value. Present only when `denominationType` is `VARIABLE`.   |
| `inStock`          | boolean | Whether this product is currently available                               |
| `fxRate`           | number  | FX rate applied relative to your requested wallet currency                |

## Error Responses

| Status | Code                   | Description                               |
| ------ | ---------------------- | ----------------------------------------- |
| `400`  | `VALIDATION_ERROR`     | Missing or invalid `currency` parameter   |
| `401`  | `AUTHENTICATION_ERROR` | Missing or invalid authentication headers |
| `404`  | `RESOURCE_NOT_FOUND`   | Product not found                         |

## Product Discovery Flow

<Frame>
  <img src="https://mintcdn.com/orbt/RyKjvjmiXd3KI8fS/images/Orbt-API-Order-Fulfillment-2026-08-13-092210-1.png?fit=max&auto=format&n=RyKjvjmiXd3KI8fS&q=85&s=8779ac2cd8c7ba6a07a1ffbe5d2efb6a" alt="Orbt API Order Fulfillment 2026 08 13 092210 1" width="2650" height="3959" data-path="images/Orbt-API-Order-Fulfillment-2026-08-13-092210-1.png" />
</Frame>
