---
title: "Domains and DNS — API reference"
description: "Register, transfer, renew, nameservers, DNS records, DNSSEC, lock, EPP code, privacy, WHOIS contacts, forwarding (core WISECP client API)."
url: https://www.gyrohosting.com/developers/en/api/domains-and-dns.html
language: en
openapi: https://www.gyrohosting.com/developers/openapi.json
api_version: 2.30.0
---

# Domains and DNS

Register, transfer, renew, nameservers, DNS records, DNSSEC, lock, EPP code, privacy, WHOIS contacts, forwarding (core WISECP client API).

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


## GET /domains/tlds

**List tlds** · operationId `coreGetTlds` · scope `Domains/GetTlds` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetTlds.json

List tlds. Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-edinme).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `tld` | query | string | Tek bir uzantı. Listeyi daraltır ve süre başına fiyat tablosunu ekler. |

### Responses

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

### Examples

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

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

**Check domain** · operationId `coreCheckDomain` · scope `Domains/CheckDomain` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreCheckDomain.json

Check domain. Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-edinme).


### Request body

| Field | Type | Description |
|---|---|---|
| `domain` (required) | string | Sorulacak tam alan adı. |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **422**: domain_check_throttled, domain_invalid, domain_required, domains_not_offered, tld_not_offered

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/domains/check' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "string"}'
```
```bash
gyro domain check --help    # all flags
```
```python
import os, uuid, requests

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


## POST /domains/register

**Register domain** · operationId `coreRegisterDomain` · scope `Domains/RegisterDomain` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreRegisterDomain.json

Register domain. Domain operations run against the registrar module of the domain.

**Spends money / creates an invoice.** Money rules apply (AK-40): `"confirm": true` in the body, an `Idempotency-Key` header, account balance only (no stored card), daily limit of paid API operations per account (default 50, operator can override per account/reseller, resets 00:00 Europe/Istanbul); violations answer 422 with `[confirm_required]`, `[idempotency_key_required]`, `[balance_only]` or `[daily_limit]` in the message. 

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-edinme).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `Idempotency-Key` (required) | header | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `terms` (required) | boolean | Şartların kabulü. Doğru gönderilmelidir. |
| `domain` (required) | string | Tam alan adı. |
| `years` | integer | Kayıt süresi. Uzantının penceresi içinde olmalı; özel fiyatlı adlar ne gönderilirse gönderilsin bir yıl kaydedilir. |
| `accept_premium` | boolean | Özel fiyatlı adın fiyatını kabul. Böyle bir adda zorunludur. |
| `addons` | string | Birlikte alınacak ek hizmetler. Alan adı yönetimi, kayıt gizliliği ve yönlendirme; yalnız uzantı sunuyorsa. |
| `nameservers` | string | Ad sunucuları. İkiden dörde; verilmezse hesabın varsayılanları uygulanır. |
| `whois_profile_id` | integer | Kayıtlı kayıt sahibi profili. Dört rolü birden doldurur. |
| `contacts` | object | Rol bazında kişiler. Her rol ya kayıtlı bir profil numarası ya da satır içi bir kişi taşır ve o rol için profili ezer. |
| `coupons` | string | Kupon kodları. |
| `billing_profile_id` | integer | Fatura profilinin numarası. |
| `notes` | string | Sipariş notu. |
| `payment` | object | Ödeme kaynağı. Hesap bakiyesi ya da kayıtlı kart. |
| `auth_code` | string |  |
| `method` | string |  |
| `card_id` | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: addon_not_offered, contact_field_invalid, contact_field_required, domains_not_offered, insufficient_balance, nameservers_invalid, terms_required, tld_not_offered, verification_required, years_invalid

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/domains/register' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"terms": true, "domain": "string", "years": 1, "accept_premium": true, "addons": "string", "nameservers": "string", "whois_profile_id": 1, "contacts": {}, "coupons": "string", "billing_profile_id": 1, "notes": "string", "payment": {}, "auth_code": "string", "method": "string", "card_id": "string"}'
```
```bash
gyro domain register --help    # all flags
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
h["Idempotency-Key"] = str(uuid.uuid4())
r = requests.post("https://www.gyrohosting.com/api/v1/client/domains/register", headers=h, json={"terms": True, "domain": "string", "years": 1, "accept_premium": True, "addons": "string", "nameservers": "string", "whois_profile_id": 1, "contacts": {}, "coupons": "string", "billing_profile_id": 1, "notes": "string", "payment": {}, "auth_code": "string", "method": "string", "card_id": "string"}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/domains/register", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
    "Idempotency-Key": crypto.randomUUID(),
  },
  body: JSON.stringify({"terms": true, "domain": "string", "years": 1, "accept_premium": true, "addons": "string", "nameservers": "string", "whois_profile_id": 1, "contacts": {}, "coupons": "string", "billing_profile_id": 1, "notes": "string", "payment": {}, "auth_code": "string", "method": "string", "card_id": "string"}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## POST /domains/transfer

**Transfer domain** · operationId `coreTransferDomain` · scope `Domains/TransferDomain` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreTransferDomain.json

Transfer domain. Domain operations run against the registrar module of the domain.

**Spends money / creates an invoice.** Money rules apply (AK-40): `"confirm": true` in the body, an `Idempotency-Key` header, account balance only (no stored card), daily limit of paid API operations per account (default 50, operator can override per account/reseller, resets 00:00 Europe/Istanbul); violations answer 422 with `[confirm_required]`, `[idempotency_key_required]`, `[balance_only]` or `[daily_limit]` in the message. 

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-edinme).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `Idempotency-Key` (required) | header | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `terms` (required) | boolean | Şartların kabulü. Doğru gönderilmelidir. |
| `domain` (required) | string | Tam alan adı. |
| `auth_code` | string | Mevcut sağlayıcıdan alınan transfer kodu. Uzantı işaretliyse zorunludur ve her durumda hizmete yazılır. |
| `addons` | string | Birlikte alınacak ek hizmetler. Alan adı yönetimi, kayıt gizliliği ve yönlendirme; yalnız uzantı sunuyorsa. |
| `nameservers` | string | Ad sunucuları. İkiden dörde; verilmezse hesabın varsayılanları uygulanır. |
| `whois_profile_id` | integer | Kayıtlı kayıt sahibi profili. Dört rolü birden doldurur. |
| `contacts` | object | Rol bazında kişiler. Her rol ya kayıtlı bir profil numarası ya da satır içi bir kişi taşır ve o rol için profili ezer. |
| `coupons` | string | Kupon kodları. |
| `billing_profile_id` | integer | Fatura profilinin numarası. |
| `notes` | string | Sipariş notu. |
| `payment` | object | Ödeme kaynağı. Hesap bakiyesi ya da kayıtlı kart. |
| `years` | string |  |
| `accept_premium` | string |  |
| `method` | string |  |
| `card_id` | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **422**: auth_code_required, checkout_blocked, domain_not_registered, domain_transfer_locked, domains_not_offered, terms_required, transfer_not_offered

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/domains/transfer' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"terms": true, "domain": "string", "auth_code": "string", "addons": "string", "nameservers": "string", "whois_profile_id": 1, "contacts": {}, "coupons": "string", "billing_profile_id": 1, "notes": "string", "payment": {}, "years": "string", "accept_premium": "string", "method": "string", "card_id": "string"}'
```
```bash
gyro domain transfer --help    # all flags
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
h["Idempotency-Key"] = str(uuid.uuid4())
r = requests.post("https://www.gyrohosting.com/api/v1/client/domains/transfer", headers=h, json={"terms": True, "domain": "string", "auth_code": "string", "addons": "string", "nameservers": "string", "whois_profile_id": 1, "contacts": {}, "coupons": "string", "billing_profile_id": 1, "notes": "string", "payment": {}, "years": "string", "accept_premium": "string", "method": "string", "card_id": "string"}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/domains/transfer", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
    "Idempotency-Key": crypto.randomUUID(),
  },
  body: JSON.stringify({"terms": true, "domain": "string", "auth_code": "string", "addons": "string", "nameservers": "string", "whois_profile_id": 1, "contacts": {}, "coupons": "string", "billing_profile_id": 1, "notes": "string", "payment": {}, "years": "string", "accept_premium": "string", "method": "string", "card_id": "string"}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## GET /domains/whois-profiles

**List whois profiles** · operationId `coreGetWhoisProfiles` · scope `Domains/GetWhoisProfiles` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetWhoisProfiles.json

List whois profiles. Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-kisileri-ve-gizlilik).


### Responses

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

### Examples

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

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

**Create whois profile** · operationId `coreCreateWhoisProfile` · scope `Domains/CreateWhoisProfile` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreCreateWhoisProfile.json

Create whois profile. Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-kisileri-ve-gizlilik).


### Request body

| Field | Type | Description |
|---|---|---|
| `name` (required) | string | Profilin etiketi. |
| `contact` (required) | object | contactKaydedilecek kişi. İl burada zorunlu değildir. |
| `first_name` (required) | string | Kişinin adı. |
| `last_name` (required) | string | Kişinin soyadı. |
| `company` | string | Kurum adı. Tek isteğe bağlı alandır. |
| `email` (required) | string | Geçerli bir e-posta. |
| `phone` (required) | string | Telefon. |
| `address` (required) | string | Adres satırı. |
| `address2` | string | İkinci adres satırı. İsteğe bağlı; anahtar yoksa boş satır kaydedilir. |
| `city` (required) | string | Şehir. |
| `state` | string | İl ya da eyalet. Alan adı kişilerinde zorunludur, kayıtlı profillerde değildir. |
| `zip` (required) | string | Posta kodu. |
| `country` (required) | string | Ülke kodu. Büyük harfe çevrilir. |
| `postal_code` | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **422**: contact_email_invalid, contact_field_invalid, contact_field_required, contact_name_required, name_required, profile_rejected
- **500**: profile_failed

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/domains/whois-profiles' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "string", "contact": {}, "first_name": "string", "last_name": "string", "company": "string", "email": "string", "phone": "string", "address": "string", "address2": "string", "city": "string", "state": "string", "zip": "string", "country": "string", "postal_code": "string"}'
```
```bash
gyro domain whois-profile create --help    # all flags
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/domains/whois-profiles", headers=h, json={"name": "string", "contact": {}, "first_name": "string", "last_name": "string", "company": "string", "email": "string", "phone": "string", "address": "string", "address2": "string", "city": "string", "state": "string", "zip": "string", "country": "string", "postal_code": "string"}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/domains/whois-profiles", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"name": "string", "contact": {}, "first_name": "string", "last_name": "string", "company": "string", "email": "string", "phone": "string", "address": "string", "address2": "string", "city": "string", "state": "string", "zip": "string", "country": "string", "postal_code": "string"}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## PUT /domains/whois-profiles/{pid}

**Update whois profile (path: {pid})** · operationId `coreUpdateWhoisProfile` · scope `Domains/UpdateWhoisProfile` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreUpdateWhoisProfile.json

Update whois profile (path: {pid}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-kisileri-ve-gizlilik).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `pid` (required) | path | integer |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `name` (required) | string | Yeni etiket. |
| `contact` (required) | object | contactTam kişi. Kayıtlı kişi bütünüyle değiştirilir. |
| `first_name` (required) | string | Kişinin adı. |
| `last_name` (required) | string | Kişinin soyadı. |
| `company` | string | Kurum adı. Tek isteğe bağlı alandır. |
| `email` (required) | string | Geçerli bir e-posta. |
| `phone` (required) | string | Telefon. |
| `address` (required) | string | Adres satırı. |
| `address2` | string | İkinci adres satırı. Profil bütün olarak değiştirilir; anahtar yoksa boş satır kaydedilir. |
| `city` (required) | string | Şehir. |
| `state` | string | İl ya da eyalet. Alan adı kişilerinde zorunludur, kayıtlı profillerde değildir. |
| `zip` (required) | string | Posta kodu. |
| `country` (required) | string | Ülke kodu. Büyük harfe çevrilir. |
| `postal_code` | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: contact_email_invalid, contact_field_invalid, contact_field_required, contact_name_required, name_required, profile_rejected

### Examples

```bash
curl -s -X PUT 'https://www.gyrohosting.com/api/v1/client/domains/whois-profiles/1' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "string", "contact": {}, "first_name": "string", "last_name": "string", "company": "string", "email": "string", "phone": "string", "address": "string", "address2": "string", "city": "string", "state": "string", "zip": "string", "country": "string", "postal_code": "string"}'
```
```bash
gyro domain whois-profile set --help    # all flags
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.put("https://www.gyrohosting.com/api/v1/client/domains/whois-profiles/1", headers=h, json={"name": "string", "contact": {}, "first_name": "string", "last_name": "string", "company": "string", "email": "string", "phone": "string", "address": "string", "address2": "string", "city": "string", "state": "string", "zip": "string", "country": "string", "postal_code": "string"}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/domains/whois-profiles/1", {
  method: "PUT",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"name": "string", "contact": {}, "first_name": "string", "last_name": "string", "company": "string", "email": "string", "phone": "string", "address": "string", "address2": "string", "city": "string", "state": "string", "zip": "string", "country": "string", "postal_code": "string"}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## DELETE /domains/whois-profiles/{pid}

**Delete whois profile (path: {pid})** · operationId `coreDeleteWhoisProfile` · scope `Domains/DeleteWhoisProfile` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreDeleteWhoisProfile.json

Delete whois profile (path: {pid}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-kisileri-ve-gizlilik).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `pid` (required) | path | integer |  |

### Responses

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

### Examples

```bash
curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/domains/whois-profiles/1' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain whois-profile delete
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/domains/whois-profiles/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/domains/whois-profiles/1", {
  method: "DELETE",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## POST /domains/whois-profiles/{pid}/default

**Set default whois profile (path: {pid})** · operationId `coreSetDefaultWhoisProfile` · scope `Domains/SetDefaultWhoisProfile` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreSetDefaultWhoisProfile.json

Set default whois profile (path: {pid}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-kisileri-ve-gizlilik).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `pid` (required) | path | integer |  |

### Responses

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

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/domains/whois-profiles/1/default' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain whois-profile default
```
```python
import os, uuid, requests

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


## GET /domains/default-nameservers

**Get default nameservers** · operationId `coreGetDefaultNameservers` · scope `Domains/GetDefaultNameservers` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetDefaultNameservers.json

Get default nameservers. Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Responses

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

### Examples

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

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


## PUT /domains/default-nameservers

**Update default nameservers** · operationId `coreUpdateDefaultNameservers` · scope `Domains/UpdateDefaultNameservers` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreUpdateDefaultNameservers.json

Update default nameservers. Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Request body

| Field | Type | Description |
|---|---|---|
| `nameservers` (required) | string | Varsayılan set. İkiden dörde kadar geçerli sunucu adı; boşluklar kırpılır ve küçük harfe çevrilir. |

### Responses

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

### Examples

```bash
curl -s -X PUT 'https://www.gyrohosting.com/api/v1/client/domains/default-nameservers' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"nameservers": "string"}'
```
```bash
gyro domain default-nameserver set --help    # all flags
```
```python
import os, uuid, requests

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


## GET /domains

**List domains** · operationId `coreGetDomains` · scope `Domains/GetDomains` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetDomains.json

List domains. Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/sahip-olunan-alan-adlari).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `page` | query | integer | Kaçıncı sayfa. |
| `limit` | query | integer | Sayfa başına satır. En çok 100. |
| `status` | query | string | Durum süzgeci. Rozet gruplarını alır. |
| `tld` | query | string | Yalnız bu uzantının alan adları. |
| `search` | query | string | Alan adında arar. |

### Responses

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

### Examples

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

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

**Get domain (path: {domain})** · operationId `coreGetDomain` · scope `Domains/GetDomain` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetDomain.json

Get domain (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/sahip-olunan-alan-adlari).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

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

### Examples

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

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


## PATCH /domains/{domain}

**Update domain (path: {domain})** · operationId `coreUpdateDomain` · scope `Domains/UpdateDomain` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreUpdateDomain.json

Update domain (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/sahip-olunan-alan-adlari).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `auto_renew` | boolean | Alan adı bazlı otomatik yenileme. Yalnız etkin alan adlarında ve gerçek bir mantıksal değerle. |
| `billing_profile_id` | integer | Fatura profilinin numarası. Sıfır hesabın varsayılanına döner. |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: auto_renew_invalid, autorenew_locked, billing_profile_rejected, no_auto_pay_source, not_actionable, nothing_to_update

### Examples

```bash
curl -s -X PATCH 'https://www.gyrohosting.com/api/v1/client/domains/1' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"auto_renew": true, "billing_profile_id": 1}'
```
```bash
gyro domain update --help    # all flags
```
```python
import os, uuid, requests

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


## POST /domains/{domain}/renew

**Renew domain (path: {domain})** · operationId `coreRenewDomain` · scope `Domains/RenewDomain` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreRenewDomain.json

Renew domain (path: {domain}). Domain operations run against the registrar module of the domain.

**Spends money / creates an invoice.** Money rules apply (AK-40): `"confirm": true` in the body, an `Idempotency-Key` header, account balance only (no stored card), daily limit of paid API operations per account (default 50, operator can override per account/reseller, resets 00:00 Europe/Istanbul); violations answer 422 with `[confirm_required]`, `[idempotency_key_required]`, `[balance_only]` or `[daily_limit]` in the message. 

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/sahip-olunan-alan-adlari).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |
| `Idempotency-Key` (required) | header | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `years` (required) | integer | Yenileme süresi. Detaydaki fiyatlı süre satırlarından biri olmalıdır. |

### Responses

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

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/domains/1/renew' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"years": 1}'
```
```bash
gyro domain renew --help    # all flags
```
```python
import os, uuid, requests

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


## GET /domains/{domain}/transfer-status

**Get transfer status (path: {domain})** · operationId `coreGetTransferStatus` · scope `Domains/GetTransferStatus` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetTransferStatus.json

Get transfer status (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-edinme).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

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

### Examples

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/domains/1/transfer-status' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain transfer-status get
```
```python
import os, uuid, requests

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

**Get nameservers (path: {domain})** · operationId `coreGetNameservers` · scope `Domains/GetNameservers` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetNameservers.json

Get nameservers (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

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

### Examples

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

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


## PUT /domains/{domain}/nameservers

**Update nameservers (path: {domain})** · operationId `coreUpdateNameservers` · scope `Domains/UpdateNameservers` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreUpdateNameservers.json

Update nameservers (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `nameservers` (required) | string | Yeni set. İkiden dörde kadar geçerli sunucu adı; boş girişler sayımdan önce düşer. |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: nameservers_failed, nameservers_invalid, nameservers_not_supported, nameservers_rejected, not_actionable
- **500**: nameservers_failed

### Examples

```bash
curl -s -X PUT 'https://www.gyrohosting.com/api/v1/client/domains/1/nameservers' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"nameservers": "string"}'
```
```bash
gyro domain nameserver set --help    # all flags
```
```python
import os, uuid, requests

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


## GET /domains/{domain}/child-nameservers

**Get child nameservers (path: {domain})** · operationId `coreGetChildNameservers` · scope `Domains/GetChildNameservers` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetChildNameservers.json

Get child nameservers (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

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

### Examples

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/domains/1/child-nameservers' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain child-nameserver list
```
```python
import os, uuid, requests

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

**Create child nameserver (path: {domain})** · operationId `coreCreateChildNameserver` · scope `Domains/CreateChildNameserver` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreCreateChildNameserver.json

Create child nameserver (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `host` (required) | string | Sunucunun tam adı. Küçük harfe çevrilir. |
| `ip` (required) | string | Sunucunun adresi. Biçimi doğrulanır. |
| `ns` | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: child_ns_failed, child_ns_fields, child_ns_host_invalid, child_ns_ip_invalid, child_ns_not_supported, child_ns_rejected, not_actionable
- **500**: child_ns_failed

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/domains/1/child-nameservers' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"host": "string", "ip": "string", "ns": "string"}'
```
```bash
gyro domain child-nameserver create --help    # all flags
```
```python
import os, uuid, requests

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


## DELETE /domains/{domain}/child-nameservers

**Delete child nameserver (path: {domain})** · operationId `coreDeleteChildNameserver` · scope `Domains/DeleteChildNameserver` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreDeleteChildNameserver.json

Delete child nameserver (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: child_ns_failed, child_ns_fields, child_ns_not_supported, child_ns_rejected, not_actionable
- **500**: child_ns_failed

### Examples

```bash
curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/domains/1/child-nameservers' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain child-nameserver delete
```
```python
import os, uuid, requests

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


## GET /domains/{domain}/transfer-lock

**Get transfer lock (path: {domain})** · operationId `coreGetTransferLock` · scope `Domains/GetTransferLock` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetTransferLock.json

Get transfer lock (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-edinme).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

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

### Examples

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/domains/1/transfer-lock' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain transfer-lock get
```
```python
import os, uuid, requests

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


## PUT /domains/{domain}/transfer-lock

**Update transfer lock (path: {domain})** · operationId `coreUpdateTransferLock` · scope `Domains/UpdateTransferLock` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreUpdateTransferLock.json

Update transfer lock (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-edinme).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `locked` (required) | boolean | Yeni kilit durumu. Gerçek bir mantıksal değer olmalıdır; metin ve sayı reddedilir. |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: lock_failed, lock_not_supported, lock_rejected, locked_invalid, not_actionable
- **500**: lock_failed

### Examples

```bash
curl -s -X PUT 'https://www.gyrohosting.com/api/v1/client/domains/1/transfer-lock' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"locked": true}'
```
```bash
gyro domain transfer-lock set --help    # all flags
```
```python
import os, uuid, requests

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


## POST /domains/{domain}/auth-code

**Send auth code (path: {domain})** · operationId `coreSendAuthCode` · scope `Domains/SendAuthCode` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreSendAuthCode.json

Send auth code (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-edinme).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

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

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/domains/1/auth-code' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain auth-code send
```
```python
import os, uuid, requests

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


## PUT /domains/{domain}/auth-code

**Save auth code (path: {domain})** · operationId `coreSaveAuthCode` · scope `Domains/SaveAuthCode` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreSaveAuthCode.json

Save auth code (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-edinme).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `code` (required) | string | Yeni transfer kodu. İşaretleme ayıklanır ve boşluklar kırpılır. |

### Responses

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

### Examples

```bash
curl -s -X PUT 'https://www.gyrohosting.com/api/v1/client/domains/1/auth-code' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"code": "string"}'
```
```bash
gyro domain auth-code set --help    # all flags
```
```python
import os, uuid, requests

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


## GET /domains/{domain}/dns-records

**List dns records (path: {domain})** · operationId `coreGetDnsRecords` · scope `Domains/GetDnsRecords` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetDnsRecords.json

List dns records (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: addon_pending, addon_required, dns_failed, dns_not_supported, dns_rejected
- **500**: dns_failed

### Examples

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/domains/1/dns-records' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain dns-record list
```
```hcl
# resource gyro_domain_record: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/domain_record
resource "gyro_domain_record" "www" {
  domain = "example.com"
  type   = "A"
  name   = "www"
  value  = gyro_server.web.ipv4
  ttl    = 3600
}
```
```python
import os, uuid, requests

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

**Create dns record (path: {domain})** · operationId `coreCreateDnsRecord` · scope `Domains/CreateDnsRecord` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreCreateDnsRecord.json

Create dns record (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `type` (required) | string | Kayıt türü. |
| `name` (required) | string | Kaydın yanıtlayacağı ad. Kabul edilen biçim sağlayıcıya göre değişir. |
| `value` (required) | string | Kaydın içeriği. |
| `ttl` | integer | Yaşam süresi. Verilmezse sağlayıcının varsayılanı kullanılır. |
| `priority` | integer | Öncelik. Posta ve hizmet kayıtları dışında yok sayılır. |
| `identity` | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: addon_required, dns_failed, dns_fields, dns_not_supported, dns_rejected, not_actionable
- **500**: dns_failed

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/domains/1/dns-records' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"type": "string", "name": "string", "value": "string", "ttl": 1, "priority": 1, "identity": "string"}'
```
```bash
gyro domain dns-record create --help    # all flags
```
```hcl
# resource gyro_domain_record: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/domain_record
resource "gyro_domain_record" "www" {
  domain = "example.com"
  type   = "A"
  name   = "www"
  value  = gyro_server.web.ipv4
  ttl    = 3600
}
```
```python
import os, uuid, requests

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


## PUT /domains/{domain}/dns-records

**Update dns record (path: {domain})** · operationId `coreUpdateDnsRecord` · scope `Domains/UpdateDnsRecord` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreUpdateDnsRecord.json

Update dns record (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `identity` | string | Listeden gelen kayıt numarası. Liste bir numara döndürdüyse mutlaka gönderin. |
| `type` (required) | string | Kayıt türü. |
| `name` (required) | string | Kaydın adı. |
| `value` (required) | string | Yeni içerik. |
| `ttl` | integer | Yaşam süresi. Verilmezse kayıt mevcut yaşam süresini korur. |
| `priority` | integer | Öncelik. Verilmezse kayıt, türü değişmediği sürece mevcut önceliğini korur. |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: addon_required, dns_edit_not_supported, dns_failed, dns_fields, dns_rejected, not_actionable
- **500**: dns_failed

### Examples

```bash
curl -s -X PUT 'https://www.gyrohosting.com/api/v1/client/domains/1/dns-records' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"identity": "string", "type": "string", "name": "string", "value": "string", "ttl": 1, "priority": 1}'
```
```bash
gyro domain dns-record set --help    # all flags
```
```hcl
# resource gyro_domain_record: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/domain_record
resource "gyro_domain_record" "www" {
  domain = "example.com"
  type   = "A"
  name   = "www"
  value  = gyro_server.web.ipv4
  ttl    = 3600
}
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.put("https://www.gyrohosting.com/api/v1/client/domains/1/dns-records", headers=h, json={"identity": "string", "type": "string", "name": "string", "value": "string", "ttl": 1, "priority": 1}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/domains/1/dns-records", {
  method: "PUT",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"identity": "string", "type": "string", "name": "string", "value": "string", "ttl": 1, "priority": 1}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## DELETE /domains/{domain}/dns-records

**Delete dns record (path: {domain})** · operationId `coreDeleteDnsRecord` · scope `Domains/DeleteDnsRecord` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreDeleteDnsRecord.json

Delete dns record (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: addon_required, dns_failed, dns_fields, dns_rejected, not_actionable
- **500**: dns_failed

### Examples

```bash
curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/domains/1/dns-records' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain dns-record delete
```
```hcl
# resource gyro_domain_record: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/domain_record
resource "gyro_domain_record" "www" {
  domain = "example.com"
  type   = "A"
  name   = "www"
  value  = gyro_server.web.ipv4
  ttl    = 3600
}
```
```python
import os, uuid, requests

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


## GET /domains/{domain}/dnssec

**List dnssec records (path: {domain})** · operationId `coreGetDnssecRecords` · scope `Domains/GetDnssecRecords` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetDnssecRecords.json

List dnssec records (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

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

### Examples

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/domains/1/dnssec' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain dnssec list
```
```hcl
# resource gyro_domain_record: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/domain_record
resource "gyro_domain_record" "www" {
  domain = "example.com"
  type   = "A"
  name   = "www"
  value  = gyro_server.web.ipv4
  ttl    = 3600
}
```
```python
import os, uuid, requests

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

**Create dnssec record (path: {domain})** · operationId `coreCreateDnssecRecord` · scope `Domains/CreateDnssecRecord` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreCreateDnssecRecord.json

Create dnssec record (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `key_tag` (required) | integer | Anahtarın etiketi. `dnskey-keytag-flags`'te anahtar bayrağını taşır. |
| `algorithm` (required) | integer | Anahtar algoritmasının numarası. Modülün bildirdiği kümede olmalıdır. |
| `digest_type` (required) | integer | Özet algoritmasının numarası ya da `meta.dnssec_fields`'in adlandırdığı anahtar bayrağı veya protokol. Modülün bildirdiği kümede olmalıdır. |
| `digest` (required) | string | İmza özeti. DNSKEY isteyen servis sağlayıcı burada açık anahtarı (base64) alır. |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: dnssec_algorithm_invalid, dnssec_digest_type_invalid, dnssec_failed, dnssec_fields, dnssec_not_supported, dnssec_rejected, not_actionable
- **500**: dnssec_failed

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/domains/1/dnssec' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"key_tag": 1, "algorithm": 1, "digest_type": 1, "digest": "string"}'
```
```bash
gyro domain dnssec create --help    # all flags
```
```hcl
# resource gyro_domain_record: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/domain_record
resource "gyro_domain_record" "www" {
  domain = "example.com"
  type   = "A"
  name   = "www"
  value  = gyro_server.web.ipv4
  ttl    = 3600
}
```
```python
import os, uuid, requests

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


## DELETE /domains/{domain}/dnssec

**Delete dnssec record (path: {domain})** · operationId `coreDeleteDnssecRecord` · scope `Domains/DeleteDnssecRecord` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreDeleteDnssecRecord.json

Delete dnssec record (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/ad-sunuculari-ve-kayitlar).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: dnssec_failed, dnssec_fields, dnssec_not_supported, dnssec_rejected, not_actionable
- **500**: dnssec_failed

### Examples

```bash
curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/domains/1/dnssec' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain dnssec delete
```
```hcl
# resource gyro_domain_record: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/domain_record
resource "gyro_domain_record" "www" {
  domain = "example.com"
  type   = "A"
  name   = "www"
  value  = gyro_server.web.ipv4
  ttl    = 3600
}
```
```python
import os, uuid, requests

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


## GET /domains/{domain}/whois

**Get whois contacts (path: {domain})** · operationId `coreGetWhoisContacts` · scope `Domains/GetWhoisContacts` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetWhoisContacts.json

Get whois contacts (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-kisileri-ve-gizlilik).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

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

### Examples

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

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


## PUT /domains/{domain}/whois

**Update whois contacts (path: {domain})** · operationId `coreUpdateWhoisContacts` · scope `Domains/UpdateWhoisContacts` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreUpdateWhoisContacts.json

Update whois contacts (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-kisileri-ve-gizlilik).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `role` | string | Hangi rollere yazılacağı. Verilmezse dört rolün hepsine yazılır. |
| `contact` (required) | object | contactYazılacak kişi. |
| `first_name` (required) | string | Kişinin adı. |
| `last_name` (required) | string | Kişinin soyadı. |
| `company` | string | Kurum adı. Tek isteğe bağlı alandır. |
| `email` (required) | string | Geçerli bir e-posta. |
| `phone` (required) | string | Telefon. |
| `address` (required) | string | Adres satırı. |
| `address2` | string | İkinci adres satırı (daire, kat, blok). Anahtar gönderilmezse sağlayıcıdaki satır korunur; boş metin satırı siler. |
| `city` (required) | string | Şehir. |
| `state` | string | İl ya da eyalet. Alan adı kişilerinde zorunludur, kayıtlı profillerde değildir. |
| `zip` (required) | string | Posta kodu. |
| `country` (required) | string | Ülke kodu. Büyük harfe çevrilir. |
| `postal_code` | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: contact_email_invalid, contact_field_invalid, contact_field_required, contact_name_required, not_actionable, role_invalid, whois_failed, whois_not_supported, whois_rejected
- **500**: whois_failed

### Examples

```bash
curl -s -X PUT 'https://www.gyrohosting.com/api/v1/client/domains/1/whois' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"role": "string", "contact": {}, "first_name": "string", "last_name": "string", "company": "string", "email": "string", "phone": "string", "address": "string", "address2": "string", "city": "string", "state": "string", "zip": "string", "country": "string", "postal_code": "string"}'
```
```bash
gyro domain whois set --help    # all flags
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.put("https://www.gyrohosting.com/api/v1/client/domains/1/whois", headers=h, json={"role": "string", "contact": {}, "first_name": "string", "last_name": "string", "company": "string", "email": "string", "phone": "string", "address": "string", "address2": "string", "city": "string", "state": "string", "zip": "string", "country": "string", "postal_code": "string"}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/domains/1/whois", {
  method: "PUT",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"role": "string", "contact": {}, "first_name": "string", "last_name": "string", "company": "string", "email": "string", "phone": "string", "address": "string", "address2": "string", "city": "string", "state": "string", "zip": "string", "country": "string", "postal_code": "string"}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## POST /domains/{domain}/whois/apply

**Apply whois profile (path: {domain})** · operationId `coreApplyWhoisProfile` · scope `Domains/ApplyWhoisProfile` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreApplyWhoisProfile.json

Apply whois profile (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-kisileri-ve-gizlilik).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `profile_id` (required) | integer | Uygulanacak profilin numarası. |

### Responses

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

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/domains/1/whois/apply' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"profile_id": 1}'
```
```bash
gyro domain whois apply --help    # all flags
```
```python
import os, uuid, requests

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


## PUT /domains/{domain}/whois-privacy

**Update whois privacy (path: {domain})** · operationId `coreUpdateWhoisPrivacy` · scope `Domains/UpdateWhoisPrivacy` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreUpdateWhoisPrivacy.json

Update whois privacy (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/alan-adi-kisileri-ve-gizlilik).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `enabled` (required) | boolean | Gizlilik açık mı. Gerçek bir mantıksal değer olmalıdır. |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: addon_required, enabled_invalid, not_actionable, privacy_failed, privacy_not_supported, privacy_rejected
- **500**: privacy_failed

### Examples

```bash
curl -s -X PUT 'https://www.gyrohosting.com/api/v1/client/domains/1/whois-privacy' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"enabled": true}'
```
```bash
gyro domain whois-privacy set --help    # all flags
```
```python
import os, uuid, requests

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


## GET /domains/{domain}/email-forwards

**List email forwards (path: {domain})** · operationId `coreGetEmailForwards` · scope `Domains/GetEmailForwards` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetEmailForwards.json

List email forwards (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/yonlendirme-kurma).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

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

### Examples

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/domains/1/email-forwards' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain email-forward list
```
```python
import os, uuid, requests

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

**Create email forward (path: {domain})** · operationId `coreCreateEmailForward` · scope `Domains/CreateEmailForward` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreCreateEmailForward.json

Create email forward (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/yonlendirme-kurma).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `prefix` (required) | string | Alan adındaki yerel kısım. Yönlendirme bu kısım ile alan adının birleşimine yanıt verir. |
| `target` (required) | string | Hedef posta kutusu. Geçerli bir e-posta adresi olmalıdır. |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: addon_required, email_forward_fields, email_forward_rejected, email_forward_target_invalid, email_forwarding_failed, email_forwarding_not_supported, not_actionable
- **500**: email_forwarding_failed

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/domains/1/email-forwards' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"prefix": "string", "target": "string"}'
```
```bash
gyro domain email-forward create --help    # all flags
```
```python
import os, uuid, requests

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


## DELETE /domains/{domain}/email-forwards

**Delete email forward (path: {domain})** · operationId `coreDeleteEmailForward` · scope `Domains/DeleteEmailForward` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreDeleteEmailForward.json

Delete email forward (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/yonlendirme-kurma).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: addon_required, email_forward_fields, email_forwarding_failed, email_forwarding_not_supported, not_actionable
- **500**: email_forwarding_failed

### Examples

```bash
curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/domains/1/email-forwards' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain email-forward delete
```
```python
import os, uuid, requests

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


## GET /domains/{domain}/forwarding

**Get url forwarding (path: {domain})** · operationId `coreGetUrlForwarding` · scope `Domains/GetUrlForwarding` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetUrlForwarding.json

Get url forwarding (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/yonlendirme-kurma).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

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

### Examples

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

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


## PUT /domains/{domain}/forwarding

**Update url forwarding (path: {domain})** · operationId `coreUpdateUrlForwarding` · scope `Domains/UpdateUrlForwarding` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreUpdateUrlForwarding.json

Update url forwarding (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/yonlendirme-kurma).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Request body

| Field | Type | Description |
|---|---|---|
| `url` (required) | string | Tam hedef adres. Şeması yönlendirmenin şeması olur; yazılmazsa güvensiz şema kullanılır. |
| `method` | integer | Yönlendirme türü. Kalıcı olan varsayılandır; başka bir değer ona düşer. |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: addon_required, not_actionable, url_forwarding_failed, url_forwarding_not_supported, url_forwarding_rejected, url_required
- **500**: url_forwarding_failed

### Examples

```bash
curl -s -X PUT 'https://www.gyrohosting.com/api/v1/client/domains/1/forwarding' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url": "string", "method": 1}'
```
```bash
gyro domain forwarding set --help    # all flags
```
```python
import os, uuid, requests

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


## DELETE /domains/{domain}/forwarding

**Delete url forwarding (path: {domain})** · operationId `coreDeleteUrlForwarding` · scope `Domains/DeleteUrlForwarding` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreDeleteUrlForwarding.json

Delete url forwarding (path: {domain}). Domain operations run against the registrar module of the domain.

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/yonlendirme-kurma).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: addon_required, not_actionable, url_forwarding_failed, url_forwarding_not_supported, url_forwarding_rejected
- **500**: url_forwarding_failed

### Examples

```bash
curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/domains/1/forwarding' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro domain forwarding delete
```
```python
import os, uuid, requests

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


## POST /domains/{domain}/addons/{key}

**Buy domain addon (path: {domain}, {key})** · operationId `coreBuyDomainAddon` · scope `Domains/BuyDomainAddon` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreBuyDomainAddon.json

Buy domain addon (path: {domain}, {key}). Domain operations run against the registrar module of the domain.

**Spends money / creates an invoice.** Money rules apply (AK-40): `"confirm": true` in the body, an `Idempotency-Key` header, account balance only (no stored card), daily limit of paid API operations per account (default 50, operator can override per account/reseller, resets 00:00 Europe/Istanbul); violations answer 422 with `[confirm_required]`, `[idempotency_key_required]`, `[balance_only]` or `[daily_limit]` in the message. 

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/sahip-olunan-alan-adlari).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `domain` (required) | path | string |  |
| `key` (required) | path | string |  |
| `Idempotency-Key` (required) | header | string |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: addon_active, addon_free, addon_not_offered, addon_not_supported, addon_pending, addon_rejected, addon_term_invalid, not_actionable
- **500**: addon_failed

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/domains/1/addons/1' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"
```
```bash
gyro domain addon buy
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
h["Idempotency-Key"] = str(uuid.uuid4())
r = requests.post("https://www.gyrohosting.com/api/v1/client/domains/1/addons/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/domains/1/addons/1", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Idempotency-Key": crypto.randomUUID(),
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```
