---
title: "Destek talepleri — API başvurusu"
description: "Departmanlar, aç, yanıtla, kapat, yeniden aç, puanla, ekler."
url: https://www.gyrohosting.com/developers/tr/api/support-tickets.html
language: tr
openapi: https://www.gyrohosting.com/developers/openapi.json
api_version: 2.30.0
---

# Destek talepleri

Departmanlar, aç, yanıtla, kapat, yeniden aç, puanla, ekler.

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


## GET /tickets/departments

**Departmanları Listeleme** · operationId `coreGetTicketDepartments` · scope `Tickets/GetTicketDepartments` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetTicketDepartments.json

Talep açılabilecek departmanları kendi alan şemalarıyla döndürür. — açılış şeması


### Yanıtlar

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

### Örnekler

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

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/tickets/departments", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/tickets/departments", {
  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 /tickets/access-groups

**Erişim Gruplarını Listeleme** · operationId `coreGetTicketAccessGroups` · scope `Tickets/GetTicketAccessGroups` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetTicketAccessGroups.json

Mesaja eklenebilecek erişim bilgisi gruplarını şemalarıyla döndürür. — şifreli alanlar


### Yanıtlar

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

### Örnekler

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/tickets/access-groups' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro ticket access-group list
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/tickets/access-groups", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/tickets/access-groups", {
  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 /tickets

**Talepleri Listeleme** · operationId `coreGetTickets` · scope `Tickets/GetTickets` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetTickets.json

Hesabın destek taleplerini durum sırasıyla döndürür. — durum sırası


### Parametreler

| Alan | in | Tür | Açıklama |
|---|---|---|---|
| `page` | query | integer | Kaçıncı sayfa. |
| `limit` | query | integer | Sayfa başına satır. En çok 100. |
| `status` | query | string | Durum süzgeci. Müşteriye gösterilen durum sözlüğünü kabul eder. |
| `department` | query | integer | Departman süzgeci. |
| `search` | query | string | Konu, referans ve departman adında arar. |

### Yanıtlar

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

### Örnekler

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

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/tickets", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/tickets", {
  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}`);
```


## POST /tickets

**Talep Açma** · operationId `coreCreateTicket` · scope `Tickets/CreateTicket` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreCreateTicket.json

Yeni bir destek talebi açar. — ek kabul eder

**Sınır artırma**: hesap sınırları (GET /cloud/account/limits) talep ile artırılır: department_id 3, konu `Limit increase: <limit_key>`, mesajda istenen sayı ve ne yaptığınız. CLI: `gyro ticket create --department-id 3 --subject ... --message ...`.


### İstek gövdesi

| Alan | Tür | Açıklama |
|---|---|---|
| `department_id` (zorunlu) | integer | Departmanın numarası. |
| `subject` (zorunlu) | string | Konu. |
| `message` (zorunlu) | string | Açılış mesajı. En az beş karakter; düz metindir ve işaretleme ayıklanır. |
| `priority` | integer | Öncelik. Verilmezse orta alınır. |
| `service_id` | integer | Talebi bir hizmete bağlar. |
| `custom_fields` | object | Departman alanlarının yanıtları. Alan numarasını değere eşler; kutu tipli alanlar dizi alır. |
| `credentials` | string | Erişim bilgileri. Her satır bir grup numarası ve alan haritası taşır; mesaja şifreli işlenir. |
| `attachments` | array<any> | Ekler. Kodlanmış içerik olarak gönderilir; adres reddedilir. |
| `encrypt_message` | boolean | Mesaj gövdesi şifreli saklansın mı. |

### Yanıtlar

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: access_group_invalid, attachment_invalid, credential_field_required, custom_field_required, department_invalid, message_too_short, subject_required, ticket_rejected, ticket_system_disabled

### Örnekler

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/tickets' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"department_id": 1, "subject": "string", "message": "string", "priority": 1, "service_id": 1, "custom_fields": {}, "credentials": "string", "attachments": [null], "encrypt_message": true}'
```
```bash
gyro ticket create --help    # tüm seçenekler
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/tickets", headers=h, json={"department_id": 1, "subject": "string", "message": "string", "priority": 1, "service_id": 1, "custom_fields": {}, "credentials": "string", "attachments": [None], "encrypt_message": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/tickets", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"department_id": 1, "subject": "string", "message": "string", "priority": 1, "service_id": 1, "custom_fields": {}, "credentials": "string", "attachments": [null], "encrypt_message": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## GET /tickets/{id}

**Talebi ve Mesajları Okuma** · operationId `coreGetTicket` · scope `Tickets/GetTicket` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetTicket.json

Talebin üst bilgilerini ve bütün mesaj dizisini döndürür. — okundu işaretler


### 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
- **422**: ticket_system_disabled

### Örnekler

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

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/tickets/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/tickets/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}`);
```


## POST /tickets/{id}/reply

**Yanıt Yazma** · operationId `coreReplyTicket` · scope `Tickets/ReplyTicket` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreReplyTicket.json

Açık bir talebe yanıt ekler. — ek kabul eder


### Parametreler

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

### İstek gövdesi

| Alan | Tür | Açıklama |
|---|---|---|
| `message` (zorunlu) | string | Yanıt metni. En az beş karakter. |
| `credentials` | string | Erişim bilgileri. |
| `attachments` | array<any> | Ekler. |
| `encrypt_message` | boolean | Gövde şifreli saklansın mı. |

### Yanıtlar

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: access_group_invalid, attachment_invalid, message_too_short, reply_rejected, ticket_not_open, ticket_system_disabled

### Örnekler

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/tickets/12345/reply' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"message": "string", "credentials": "string", "attachments": [null], "encrypt_message": true}'
```
```bash
gyro ticket reply 12345 --help    # tüm seçenekler
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/tickets/12345/reply", headers=h, json={"message": "string", "credentials": "string", "attachments": [None], "encrypt_message": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/tickets/12345/reply", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"message": "string", "credentials": "string", "attachments": [null], "encrypt_message": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## POST /tickets/{id}/close

**Talebi Kapatma** · operationId `coreCloseTicket` · scope `Tickets/CloseTicket` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreCloseTicket.json

Talebi çözüldü olarak kapatır. — puan verilebilir


### Parametreler

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

### İstek gövdesi

| Alan | Tür | Açıklama |
|---|---|---|
| `rating` | integer | Kapatırken verilen puan. Yalnız talep henüz puansızken işlenir. |

### Yanıtlar

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

### Örnekler

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/tickets/12345/close' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"rating": 1}'
```
```bash
gyro ticket close 12345 --help    # tüm seçenekler
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/tickets/12345/close", headers=h, json={"rating": 1}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/tickets/12345/close", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"rating": 1}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## POST /tickets/{id}/reopen

**Talebi Yeniden Açma** · operationId `coreReopenTicket` · scope `Tickets/ReopenTicket` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreReopenTicket.json

Kapalı bir talebi yeniden açar. — kilitliyse olmaz


### 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
- **422**: ticket_locked, ticket_system_disabled

### Örnekler

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/tickets/12345/reopen' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro ticket reopen 12345
```
```python
import os, uuid, requests

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


## POST /tickets/{id}/rating

**Talebi Puanlama** · operationId `coreRateTicket` · scope `Tickets/RateTicket` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreRateTicket.json

Talebe bir ile beş arasında puan verir. — bir kez


### Parametreler

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

### İstek gövdesi

| Alan | Tür | Açıklama |
|---|---|---|
| `rating` (zorunlu) | integer | Verilen puan. Birden beşe. |

### Yanıtlar

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

### Örnekler

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/tickets/12345/rating' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"rating": 1}'
```
```bash
gyro ticket rating 12345 --help    # tüm seçenekler
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/tickets/12345/rating", headers=h, json={"rating": 1}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/tickets/12345/rating", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"rating": 1}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## POST /tickets/{id}/replies/{rid}/rating

**Personel Yanıtını Puanlama** · operationId `coreRateTicketReply` · scope `Tickets/RateTicketReply` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreRateTicketReply.json

Tek bir personel yanıtına puan verir. — bir kez


### Parametreler

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

### İstek gövdesi

| Alan | Tür | Açıklama |
|---|---|---|
| `rating` (zorunlu) | integer | Verilen puan. Birden beşe. |

### Yanıtlar

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

### Örnekler

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/tickets/12345/replies/1/rating' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"rating": 1}'
```
```bash
gyro ticket reply rating 12345 --help    # tüm seçenekler
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/tickets/12345/replies/1/rating", headers=h, json={"rating": 1}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/tickets/12345/replies/1/rating", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"rating": 1}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## GET /tickets/{id}/attachments/{aid}

**Eki İndirme** · operationId `coreGetTicketAttachment` · scope `Tickets/GetTicketAttachment` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetTicketAttachment.json

Bir mesaj ekini içeriğiyle birlikte döndürür. — kodlanmış içerik


### Parametreler

| Alan | in | Tür | Açıklama |
|---|---|---|---|
| `id` (zorunlu) | path | integer |  |
| `aid` (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
- **422**: ticket_system_disabled

### Örnekler

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

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/tickets/12345/attachments/1", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/tickets/12345/attachments/1", {
  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}`);
```
