---
title: "Account limits — API reference"
description: "Every limit of your account and its current usage in one place. Limits are raised on request: open a support ticket."
url: https://www.gyrohosting.com/developers/en/api/account-limits.html
language: en
openapi: https://www.gyrohosting.com/developers/openapi.json
api_version: 2.30.0
---

# Account limits

Every limit of your account and its current usage in one place. Limits are raised on request: open a support ticket.

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


## GET /cloud/account/limits

**Account limits and usage** · operationId `getAccountLimits` · scope `cloud_read` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/getAccountLimits.json

Every limit that applies to your account with the current usage: the new-account limit of the prepaid cloud (first 7 days: 5 Gyro Cloud Istanbul servers and 1 container environment), Gyro Cloud Istanbul servers, templates, additional IPv4 / disks per server, API order caps (servers, batch size, paid operations per day), API keys, SSH keys, webhooks, firewall rules and security groups, storage buckets and keys, DNS zones, container plan limits, Gyro Pipeline, uptime monitors and projects. **Limits are raised on request: open a support ticket** (`POST /api/v1/client/tickets` with `department_id` 3, or `gyro ticket create`); `how_to_increase.support_ticket` is a ready request. Plan limits also grow with a bigger plan or an add-on. Answers are cached for 60 seconds (`fresh=1` reads again). Every refusal caused by a limit carries the same hint in `error.details` (schema LimitHint).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `fresh` | query | boolean | bypass the 60 second cache |

### Responses

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

### Examples

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/account/limits' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro api request GET /cloud/account/limits
```
```hcl
# data source gyro_account_limits: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/data-sources/account_limits
data "gyro_account_limits" "this" {}

locals {
  web_count = 3
}

# Fail at plan time instead of half-way through an apply when a new account would go over its limit.
# Account limits are raised with a support ticket: gyro ticket create --department-id 3 --subject "Limit increase: new_account.servers" --message "..."
resource "terraform_data" "limit_check" {
  lifecycle {
    precondition {
      condition = (!data.gyro_account_limits.this.new_account_applies ||
      data.gyro_account_limits.this.new_account_servers_used + local.web_count <= data.gyro_account_limits.this.new_account_servers)
      error_message = "Over the new-account server limit; open a support ticket to raise it (gyro ticket create --department-id 3 ...)."
    }
  }
}

output "limits" {
  value = { for l in data.gyro_account_limits.this.limits : l.key => "${coalesce(l.used, 0)} / ${l.limit == null ? "per plan" : l.limit}" }
}
```
```python
import os, uuid, requests

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