tr-ist-1 (Gyro Bulut İstanbul): every address (primary and additional IPv4) gets an automatic PTR <a-b-c-d>.ip.gyrohosting.com with a matching A record. Set hostname to your own FQDN to replace it (published within seconds); an empty value restores the default. Names under Gyro domains and protected brand names are refused (HTTP 422 with an explanatory message); at most 30 changes per server per hour. The A record of your name should point to the address (forward-confirmed reverse DNS) for e-mail delivery; it is not enforced. When the server is deleted or an additional IP is released, its PTR is removed.
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (= service id in the client area)
Responses
200
PTR records of the server's addresses — data: array<RdnsEntry>
404
Not found — also returned for objects owned by someone else
tr-ist-1 (Gyro Bulut İstanbul): every address (primary and additional IPv4) gets an automatic PTR <a-b-c-d>.ip.gyrohosting.com with a matching A record. Set hostname to your own FQDN to replace it (published within seconds); an empty value restores the default. Names under Gyro domains and protected brand names are refused (HTTP 422 with an explanatory message); at most 30 changes per server per hour. The A record of your name should point to the address (forward-confirmed reverse DNS) for e-mail delivery; it is not enforced. When the server is deleted or an additional IP is released, its PTR is removed. dns_ptr and ptr are accepted as aliases of hostname. Legacy Istanbul VDS servers keep the request flow (status: pending until applied).
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (= service id in the client area)
Request body
Field
Type
Description
iprequired
string
An address of this server (IPv6 addresses inside the server's /64 are allowed)
hostname
string
FQDN; empty string resets to the default
Responses
200
Updated list — data: array<RdnsEntry>
404
Not found — also returned for objects owned by someone else
422
Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)
Read-only in v1. An empty list means no Gyro firewall is applied (all inbound traffic reaches the server). tr-ist-1: rules come from the network firewall add-on (security groups); without the add-on the list is empty and writes answer 409 firewall_not_enabled.
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (= service id in the client area)
Responses
200
Rules — data: array<FirewallRule>
404
Not found — also returned for objects owned by someone else
Network firewall add-on: inserts at priority (default last) and applies as a trial unless permanent. Otherwise the cloud server's simple inbound allow list.
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (= service id in the client area)
Request body
Field
Type
Description
priority
integer
Position (1 = evaluated first). Default = last. First matching rule wins.
direction
string (in, out)
in = inbound to the server, out = new outbound connections (network firewall only)
action
string (allow, deny)
protocol
string (tcp, udp, tcp_udp, icmp, all)
source
string
any | IPv4/CIDR list (comma separated, max 10). For direction out: the remote address. Country sources (country:XX / not-country:XX) are accepted only when capabilities.country_filter is true (currently not offered).
destination
string
any (all IPs of the server) or one IP address of the server
port
string
any | 22 | 80,443 | 1000-2000 (not for icmp/all)
description
string
source_ips
array<string>
Legacy - CIDRs (use source)
permanent
boolean
Network firewall - skip the 5 minute trial and make the change permanent at once
confirm_warnings
boolean
Apply even when the change has warnings (lock-out risk, shadowed or duplicate rules, private sources)
Responses
201
All rules after the change — data: array<FirewallRule>
404
Not found — also returned for objects owned by someone else
422
Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)
Applies as a 5 minute trial unless permanent is true; confirm with POST /firewall/policy/confirm. Warnings return 422 confirm_warnings_required with details.warnings.
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (= service id in the client area)
Request body
Field
Type
Description
default_action
string (allow, deny)
ping
boolean
rulesrequired
array<FirewallRuleInput>
permanent
boolean
Skip the 5 minute trial (otherwise call POST /firewall/policy/confirm within 5 minutes or the change is reverted)
confirm_warnings
boolean
Responses
200
Policy after the change — data: FirewallPolicy
404
Not found — also returned for objects owned by someone else
409
firewall_not_enabled
422
Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)
Minimum charge: each added IP is billed for at least 6 hours (pricing.minimum_hours): releasing it earlier still bills the minimum (debited at release), and taking the same address again starts a new minimum. At most adds_per_hour addresses (default 10) can be added to a server per 60 minutes. Additional IPv4 addresses are billed per address hourly from the prepaid balance (default 2 EUR per address-month, pricing shows the current price), from the hour they are added until they are released. Up to max per server (default 5). Each address is configured on the server automatically (/32 on the primary interface, kept across reboots and reinstalls); reverse DNS: PUT /cloud/servers/{id}/rdns.
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (tr-ist-1)
Responses
200
OK — data: ServerIps
404
Not found — also returned for objects owned by someone else
409
not_actionable (suspended / busy)
422
Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)
501
not_supported (not a tr-ist-1 Gyro Compute server)
Minimum charge: each added IP is billed for at least 6 hours (pricing.minimum_hours): releasing it earlier still bills the minimum (debited at release), and taking the same address again starts a new minimum. At most adds_per_hour addresses (default 10) can be added to a server per 60 minutes. Additional IPv4 addresses are billed per address hourly from the prepaid balance (default 2 EUR per address-month, pricing shows the current price), from the hour they are added until they are released. Up to max per server (default 5). Each address is configured on the server automatically (/32 on the primary interface, kept across reboots and reinstalls); reverse DNS: PUT /cloud/servers/{id}/rdns. Prepaid tr-ist-1 servers only; not while the server is suspended.
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (tr-ist-1)
Request body
Field
Type
Description
count
integer
Responses
201
OK — data: ServerIps
404
Not found — also returned for objects owned by someone else
409
not_actionable (suspended / busy)
422
Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)
501
not_supported (not a tr-ist-1 Gyro Compute server)
Minimum charge: each added IP is billed for at least 6 hours (pricing.minimum_hours): releasing it earlier still bills the minimum (debited at release), and taking the same address again starts a new minimum. At most adds_per_hour addresses (default 10) can be added to a server per 60 minutes. The address is removed from the server and returns to the pool (getting the same address back is not guaranteed); billing stops at release (the minimum still applies). Needs confirm=true.
Parameters
Field
in
Type
Description
idrequired
path
integer
Server id (tr-ist-1)
iprequired
path
string
confirmrequired
query
boolean
Responses
200
OK — data: ServerIps
404
Not found — also returned for objects owned by someone else
409
not_actionable (suspended / busy)
422
Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)
501
not_supported (not a tr-ist-1 Gyro Compute server)