---
title: "Account limits and how to raise them"
description: "Every account limit, its default and how to raise it with a support ticket; the limit_exceeded hint."
url: https://www.gyrohosting.com/developers/en/guides/account-limits.html
language: en
openapi: https://www.gyrohosting.com/developers/openapi.json
api_version: 2.30.0
---

# Account limits and how to raise them

**Account limits are raised with a support ticket.** Every limit of your account with the current usage:
`GET /cloud/account/limits` (CLI `gyro limits`, Terraform data source `gyro_account_limits`).

| Limit | Default | How to raise |
|---|---|---|
| New account, first 7 days (prepaid cloud) | 5 Gyro Cloud Istanbul servers, 1 container environment | ticket |
| Gyro Cloud Istanbul servers per account | 10 | ticket |
| Largest single server | 32 vCPU / 256 GB RAM / 4000 GB disk | fixed |
| Custom templates | 10 | ticket |
| Additional IPv4 per server | 5 (adding: 3 per hour) | ticket |
| Additional disk per server | SSD 500 GB, HDD 2048 GB | ticket |
| Snapshots per server | plan (Istanbul plans: 3) | ticket |
| Servers ordered through the API | 10 | ticket |
| Services per order request (quantity) | 25 | ticket |
| Paid API operations per day | 50 (reset 00:00 Europe/Istanbul) | ticket |
| API requests per key | 60 per minute (HTTP 429 above) | fixed |
| Sub-account keys / SSH keys / webhooks | 20 (resellers 1000) / 50 / 10 | ticket |
| Projects | 50 | ticket |
| Firewall rules per server | 10 + 20 per extra rule pack | plan or ticket |
| Security groups | 5 per server, 50 per account, 60 rules per group | ticket |
| Storage buckets / access keys | per plan | plan or ticket |
| Bucket renames | 5 per bucket, 10 per service per day | ticket |
| DNS zones | Free 5, Pro 50 per service | plan or ticket |
| ACME keys | 10 per Gyro DNS service | fixed |
| Container services per environment | Mini 3, Small 5, Starter 10, Standard 20, Pro 40, Serverless 30 | plan or ticket |
| Copies (replicas) per service | Mini 3, Small 3, Starter 5, Standard 10, Pro 20, Serverless 10 | plan or ticket |
| Serverless environment size | 16 vCPU / 32 GB in total | ticket |
| Gyro Pipeline | 10 pipelines, 1 parallel build, 300 build minutes a month per environment | ticket |
| Uptime monitors | per plan + monitor packs | plan or ticket |
| One-click app (re)installs | 3 per server per hour | wait |

Values for one account (and limits already raised for you) are always in `GET /cloud/account/limits`; plan limits also grow with a bigger plan or an add-on.

Every refusal caused by a limit carries the same structured hint, so scripts and AI agents can act on it:

```
{"error": {"code": "limit_exceeded", "message": "New accounts can run at most 5 Istanbul cloud servers during the first 7 days (you have 5). ...",
  "details": {"limit_exceeded": true, "limit_key": "new_account.servers", "limit": 5, "current": 5,
    "how_to_increase": "open_support_ticket",
    "support_ticket": {"endpoint": "POST /api/v1/client/tickets",
      "body": {"department_id": 3, "subject": "Limit increase: new_account.servers", "message": "..."},
      "cli": "gyro ticket create --department-id 3 --subject \"Limit increase: new_account.servers\" --message \"...\""},
    "limits_endpoint": "GET /api/v1/client/cloud/account/limits",
    "hint": "This limit can be raised with a support ticket."}}}
```

`how_to_increase`: `open_support_ticket` (raised on request), `upgrade_plan` (bigger plan or add-on) or `wait`
(short rate limit, retry later). Other limit codes keep their own `code` (`server_limit`, `daily_limit`, `ssh_key_limit`,
`invalid_replicas`, `invalid_quantity` …) and carry the same `details`; branch on `details.limit_exceeded`.
A `dry_run` quote of a server, container environment or template shows `quote.limit_exceeded` before you order. Only refusals caused by a real account or plan limit carry the hint: input validation errors (length, format, characters,
for example *"at most 64 characters"* or *"at most 30 build commands"*) never do. Fix the input instead of opening a ticket.

Open the ticket (the key needs the `Tickets/CreateTicket` scope):

```
curl -s -X POST https://www.gyrohosting.com/api/v1/client/tickets -H "Authorization: Bearer $GYRO_TOKEN" -H "Content-Type: application/json" \
  -d '{"department_id":3,"subject":"Limit increase: new_account.servers","message":"Requested limit: 10. Reason: staging + production cluster."}'
gyro ticket create --department-id 3 --subject "Limit increase: new_account.servers" --message "Requested limit: 10. Reason: ..."
```
