---
title: "Katalog — API başvurusu"
description: "Sipariş verilebilen ürünler, lokasyonlar ve işletim sistemi imajları."
url: https://www.gyrohosting.com/developers/tr/api/catalog.html
language: tr
openapi: https://www.gyrohosting.com/developers/openapi.json
api_version: 2.30.0
---

# Katalog

Sipariş verilebilen ürünler, lokasyonlar ve işletim sistemi imajları.

Base URL: `https://www.gyrohosting.com/api/v1/client` · OpenAPI: https://www.gyrohosting.com/developers/openapi.json


## GET /cloud/products

**Sipariş verilebilen bulut sunucu ürünlerini listele** · operationId `listProducts` · scope `cloud_read` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/listProducts.json

Fiyatlar ürün para biriminde ve KDV hariçtir. `available=false` geçici olarak stokta yok demektir.


### Parametreler

| Alan | in | Tür | Açıklama |
|---|---|---|---|
| `region` | query | string | Filter by region (see GET /cloud/locations). A city name (falkenstein) also works. |
| `plan` | query | string | Filter by plan name |
| `location` | query | string | Deprecated alias of region (legacy location code) |
| `server_type` | query | string | Deprecated alias of plan (legacy type code) |
| `page` | query | integer |  |
| `limit` | query | integer |  |

### Yanıtlar

- **200**: Products
- **401**: Missing, invalid or revoked key
- **422**: Validation or business rule failure (`confirm_required`, `invalid_image`, `tool_action_failed` ...)

### Örnekler

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/products' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro plan list
```
```hcl
# veri kaynağı gyro_products: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/data-sources/products
data "gyro_products" "frankfurt_area" {
  region         = "eu-de-1"
  available_only = true
}

output "plans" {
  value = [for p in data.gyro_products.frankfurt_area.products : "${p.plan} (${p.name}): ${p.monthly_price} ${p.currency}"]
}
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/products", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/products", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## GET /cloud/locations

**Sipariş verilebilen lokasyonları listele** · operationId `listLocations` · scope `cloud_read` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/listLocations.json




### Yanıtlar

- **200**: Locations
- **401**: Missing, invalid or revoked key

### Örnekler

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/locations' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro location list
```
```hcl
# veri kaynağı gyro_locations: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/data-sources/locations
data "gyro_locations" "all" {}

output "regions" {
  value = { for l in data.gyro_locations.all.locations : l.region => "${l.city}, ${l.country}" }
}
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/locations", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/locations", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## GET /cloud/images

**İşletim sistemi imajlarını listele** · operationId `listImages` · scope `cloud_read` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/listImages.json




### Parametreler

| Alan | in | Tür | Açıklama |
|---|---|---|---|
| `region` | query | string | Only images offered in this region (e.g. tr-ist-1). Without it: the images of the global cloud catalogue (unchanged). |
| `product_id` | query | integer | Only the images offered on this product (implies its region). |
| `plan` | query | string | With region: only the images of this plan in that region. |

### Yanıtlar

- **200**: Images
- **401**: Missing, invalid or revoked key
- **422**: Validation or business rule failure (`confirm_required`, `invalid_image`, `tool_action_failed` ...)

### Örnekler

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/images' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro image list
```
```hcl
# veri kaynağı gyro_images: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/data-sources/images
data "gyro_images" "example" {

}
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/images", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/images", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## GET /products

**Ürünleri Listeleme** · operationId `coreGetProducts` · scope `Products/GetProducts` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetProducts.json

Sipariş edilebilecek ürünleri vitrin sırasıyla döndürür. — cüzdan para birimi


### Parametreler

| Alan | in | Tür | Açıklama |
|---|---|---|---|
| `page` | query | integer | Kaçıncı sayfa. |
| `limit` | query | integer | Sayfa başına satır. En çok 100. |
| `type` | query | string | Tek bir ürün türü. Bilinmeyen tür reddedilir ve geçerli liste yanıtın ayrıntısında gelir. |
| `category` | query | integer | Kategori numarası. Ana kategoriyle de ek atamalarla da eşleşir. |
| `search` | query | string | Ürün başlığında arar. |

### Yanıtlar

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **422**: type_invalid

### Örnekler

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/products' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro core product list
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/products", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/products", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## GET /products/categories

**Kategorileri Listeleme** · operationId `coreGetProductCategories` · scope `Products/GetProductCategories` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetProductCategories.json

Vitrinde görünen ürün kategorilerini düz bir liste olarak döndürür. — sayfalama yok


### Parametreler

| Alan | in | Tür | Açıklama |
|---|---|---|---|
| `type` | query | string | Yalnız bu türün kategorileri. Bilinmeyen değer boş liste verir, hata değil. |

### Yanıtlar

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled

### Örnekler

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/products/categories' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro product category list
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/products/categories", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/products/categories", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## GET /products/{id}

**Ürün Detayı ve Sipariş Şeması** · operationId `coreGetProduct` · scope `Products/GetProduct` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetProduct.json

Bir ürünü, sipariş gövdesini kurmak için gereken her şeyle döndürür. — sipariş girdisi


### Parametreler

| Alan | in | Tür | Açıklama |
|---|---|---|---|
| `id` (zorunlu) | path | integer |  |

### Yanıtlar

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found

### Örnekler

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/products/12345' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro product get 12345
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/products/12345", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/products/12345", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```
