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

# Products

> Browse products, pricing, availability, regions, and activation rules.

Use these endpoints to view the products available to your account.

## List products

```http theme={null}
GET /products
```

Returns the products currently available to your account.

### Request

```bash theme={null}
curl --request GET \
  --url https://api.key2arena.com/v1/products \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
```

### Response

```json theme={null}
{
  "data": [
    {
      "id": 190,
      "name": "Example Game",
      "platform": "Steam",
      "region": "Global",
      "price": "10.00",
      "currency": "EUR",
      "available_quantity": 25,
      "delivery_type": "instant",
      "activation": {
        "rule": "unrestricted",
        "countries": []
      }
    }
  ],
  "meta": {
    "current_page": 1,
    "per_page": 25,
    "total": 1
  }
}
```

### Pagination

| Field | Description |
| - | - |
| `current_page` | Current page |
| `per_page` | Products per page |
| `total` | Total matching products |

## Get a product

```http theme={null}
GET /products/{id}
```

Returns a specific product by ID.

### Request

```bash theme={null}
curl --request GET \
  --url https://api.key2arena.com/v1/products/1884 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
```

### Response

```json theme={null}
{
  "data": {
    "id": 1884,
    "name": "Example Game",
    "platform": "Steam",
    "region": "ROW",
    "price": "120.00",
    "currency": "EUR",
    "available_quantity": 200,
    "delivery_type": "instant",
    "activation": {
      "rule": "blocked",
      "countries": [
        {
          "code": "BR",
          "name": "Brazil"
        },
        {
          "code": "AR",
          "name": "Argentina"
        },
        {
          "code": "MX",
          "name": "Mexico"
        }
      ]
    }
  }
}
```

## Product fields

| Field | Description |
| - | - |
| `id` | Unique product identifier |
| `name` | Product name |
| `platform` | Product platform |
| `region` | General product region, such as `Global` |
| `price` | Current unit price for your account |
| `currency` | Price currency |
| `available_quantity` | Quantity currently available |
| `delivery_type` | Delivery method |
| `activation` | Country-level activation rules |

## Region and activation

`region` shows the product's general region.

`activation` provides the country-level rules that determine where the product can be activated.

For example:

```json theme={null}
{
  "region": "Global",
  "activation": {
    "rule": "blocked",
    "countries": [
      {
        "code": "BR",
        "name": "Brazil"
      },
      {
        "code": "AR",
        "name": "Argentina"
      }
    ]
  }
}
```

In this example, the product is labeled `Global`, but activation is blocked in the listed countries.

### Activation rules

| Rule | Meaning |
| - | - |
| `unrestricted` | No country-specific restrictions |
| `allowed` | Can be activated only in the listed countries |
| `blocked` | Cannot be activated in the listed countries |

### Unrestricted

```json theme={null}
{
  "activation": {
    "rule": "unrestricted",
    "countries": []
  }
}
```

### Allowed

```json theme={null}
{
  "activation": {
    "rule": "allowed",
    "countries": [
      {
        "code": "BR",
        "name": "Brazil"
      },
      {
        "code": "AR",
        "name": "Argentina"
      }
    ]
  }
}
```

### Blocked

```json theme={null}
{
  "activation": {
    "rule": "blocked",
    "countries": [
      {
        "code": "BR",
        "name": "Brazil"
      },
      {
        "code": "MX",
        "name": "Mexico"
      }
    ]
  }
}
```

> [!NOTE]
>
> Use `region` for the general product region and `activation` for country-specific availability.

## Activation fields

| Field | Description |
| - | - |
| `rule` | Activation rule |
| `countries` | Countries affected by the rule |
| `countries[].code` | Country code |
| `countries[].name` | Country name |

## Delivery types

| Type | Description |
| - | - |
| `instant` | Available for immediate fulfillment |
| `preorder` | Delivered when the product becomes available |
| `upon_request` | Availability is confirmed before fulfillment. Delivery may take up to 24 hours |

> [!NOTE]
>
> Use the latest `price` returned by the API when creating an order.

## Required scope

```text theme={null}
products:read
```

This scope is required to access the Products endpoints.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.