# Quotas

## Get Region Quota

**get** `/v1/quotas/{region}`

Get quota usage and limits for the current organization in a single region

### Path Parameters

- `region: "us-sva-2"`

  - `"us-sva-2"`

### Returns

- `Quota object { compute, networking, nks, 2 more }`

  Quota response.

  - `compute: QuotaCompute`

    Compute quota.

    - `memory_gb: QuotaDimensionDetail`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `vcpu: QuotaDimensionDetail`

      Quota dimension detail.

  - `networking: QuotaNetworking`

    Networking quota.

    - `connect_connections: QuotaDimensionDetail`

      Quota dimension detail.

    - `public_ips: QuotaDimensionDetail`

      Quota dimension detail.

    - `vpcs: QuotaDimensionDetail`

      Quota dimension detail.

  - `nks: QuotaNKS`

    NKS quota.

    - `clusters: QuotaDimensionDetail`

      Quota dimension detail.

    - `node_pool_memory_gb: QuotaDimensionDetail`

      Quota dimension detail.

    - `node_pool_vcpu: QuotaDimensionDetail`

      Quota dimension detail.

    - `public_ips: QuotaDimensionDetail`

      Quota dimension detail.

  - `region: RegionName`

    Region the resource is in.

    - `"us-sva-2"`

  - `storage: QuotaStorage`

    Storage quota.

    - `abs: QuotaDimensionDetail`

      Quota dimension detail.

    - `local_nvme: QuotaDimensionDetail`

      Quota dimension detail.

### Example

```http
curl https://api.nirvanalabs.io/v1/quotas/$REGION \
    -H "Authorization: Bearer $NIRVANA_LABS_API_KEY"
```

#### Response

```json
{
  "compute": {
    "memory_gb": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "vcpu": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    }
  },
  "networking": {
    "connect_connections": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "public_ips": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "vpcs": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    }
  },
  "nks": {
    "clusters": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "node_pool_memory_gb": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "node_pool_vcpu": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "public_ips": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    }
  },
  "region": "us-sva-2",
  "storage": {
    "abs": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    },
    "local_nvme": {
      "limit": 32,
      "remaining": 24,
      "used": 8
    }
  }
}
```

## List Quotas

**get** `/v1/quotas`

List quota usage and limits for the current organization across all regions

### Returns

- `QuotaList object { items, pagination }`

  - `items: array of Quota`

    - `compute: QuotaCompute`

      Compute quota.

      - `memory_gb: QuotaDimensionDetail`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `vcpu: QuotaDimensionDetail`

        Quota dimension detail.

    - `networking: QuotaNetworking`

      Networking quota.

      - `connect_connections: QuotaDimensionDetail`

        Quota dimension detail.

      - `public_ips: QuotaDimensionDetail`

        Quota dimension detail.

      - `vpcs: QuotaDimensionDetail`

        Quota dimension detail.

    - `nks: QuotaNKS`

      NKS quota.

      - `clusters: QuotaDimensionDetail`

        Quota dimension detail.

      - `node_pool_memory_gb: QuotaDimensionDetail`

        Quota dimension detail.

      - `node_pool_vcpu: QuotaDimensionDetail`

        Quota dimension detail.

      - `public_ips: QuotaDimensionDetail`

        Quota dimension detail.

    - `region: RegionName`

      Region the resource is in.

      - `"us-sva-2"`

    - `storage: QuotaStorage`

      Storage quota.

      - `abs: QuotaDimensionDetail`

        Quota dimension detail.

      - `local_nvme: QuotaDimensionDetail`

        Quota dimension detail.

  - `pagination: Pagination`

    Pagination response details.

    - `next_cursor: string`

    - `previous_cursor: string`

    - `total_count: number`

### Example

```http
curl https://api.nirvanalabs.io/v1/quotas \
    -H "Authorization: Bearer $NIRVANA_LABS_API_KEY"
```

#### Response

```json
{
  "items": [
    {
      "compute": {
        "memory_gb": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "vcpu": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        }
      },
      "networking": {
        "connect_connections": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "public_ips": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "vpcs": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        }
      },
      "nks": {
        "clusters": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "node_pool_memory_gb": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "node_pool_vcpu": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "public_ips": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        }
      },
      "region": "us-sva-2",
      "storage": {
        "abs": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        },
        "local_nvme": {
          "limit": 32,
          "remaining": 24,
          "used": 8
        }
      }
    }
  ],
  "pagination": {
    "next_cursor": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
    "previous_cursor": "ARhwnmi1hA7wEbHbMjdYQlOB_ZusP4fYvw",
    "total_count": 125
  }
}
```

## Domain Types

### Quota

- `Quota object { compute, networking, nks, 2 more }`

  Quota response.

  - `compute: QuotaCompute`

    Compute quota.

    - `memory_gb: QuotaDimensionDetail`

      Quota dimension detail.

      - `limit: number`

      - `remaining: number`

      - `used: number`

    - `vcpu: QuotaDimensionDetail`

      Quota dimension detail.

  - `networking: QuotaNetworking`

    Networking quota.

    - `connect_connections: QuotaDimensionDetail`

      Quota dimension detail.

    - `public_ips: QuotaDimensionDetail`

      Quota dimension detail.

    - `vpcs: QuotaDimensionDetail`

      Quota dimension detail.

  - `nks: QuotaNKS`

    NKS quota.

    - `clusters: QuotaDimensionDetail`

      Quota dimension detail.

    - `node_pool_memory_gb: QuotaDimensionDetail`

      Quota dimension detail.

    - `node_pool_vcpu: QuotaDimensionDetail`

      Quota dimension detail.

    - `public_ips: QuotaDimensionDetail`

      Quota dimension detail.

  - `region: RegionName`

    Region the resource is in.

    - `"us-sva-2"`

  - `storage: QuotaStorage`

    Storage quota.

    - `abs: QuotaDimensionDetail`

      Quota dimension detail.

    - `local_nvme: QuotaDimensionDetail`

      Quota dimension detail.

### Quota Compute

- `QuotaCompute object { memory_gb, vcpu }`

  Compute quota.

  - `memory_gb: QuotaDimensionDetail`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `vcpu: QuotaDimensionDetail`

    Quota dimension detail.

### Quota Dimension Detail

- `QuotaDimensionDetail object { limit, remaining, used }`

  Quota dimension detail.

  - `limit: number`

  - `remaining: number`

  - `used: number`

### Quota List

- `QuotaList object { items, pagination }`

  - `items: array of Quota`

    - `compute: QuotaCompute`

      Compute quota.

      - `memory_gb: QuotaDimensionDetail`

        Quota dimension detail.

        - `limit: number`

        - `remaining: number`

        - `used: number`

      - `vcpu: QuotaDimensionDetail`

        Quota dimension detail.

    - `networking: QuotaNetworking`

      Networking quota.

      - `connect_connections: QuotaDimensionDetail`

        Quota dimension detail.

      - `public_ips: QuotaDimensionDetail`

        Quota dimension detail.

      - `vpcs: QuotaDimensionDetail`

        Quota dimension detail.

    - `nks: QuotaNKS`

      NKS quota.

      - `clusters: QuotaDimensionDetail`

        Quota dimension detail.

      - `node_pool_memory_gb: QuotaDimensionDetail`

        Quota dimension detail.

      - `node_pool_vcpu: QuotaDimensionDetail`

        Quota dimension detail.

      - `public_ips: QuotaDimensionDetail`

        Quota dimension detail.

    - `region: RegionName`

      Region the resource is in.

      - `"us-sva-2"`

    - `storage: QuotaStorage`

      Storage quota.

      - `abs: QuotaDimensionDetail`

        Quota dimension detail.

      - `local_nvme: QuotaDimensionDetail`

        Quota dimension detail.

  - `pagination: Pagination`

    Pagination response details.

    - `next_cursor: string`

    - `previous_cursor: string`

    - `total_count: number`

### Quota Networking

- `QuotaNetworking object { connect_connections, public_ips, vpcs }`

  Networking quota.

  - `connect_connections: QuotaDimensionDetail`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `public_ips: QuotaDimensionDetail`

    Quota dimension detail.

  - `vpcs: QuotaDimensionDetail`

    Quota dimension detail.

### Quota NKS

- `QuotaNKS object { clusters, node_pool_memory_gb, node_pool_vcpu, public_ips }`

  NKS quota.

  - `clusters: QuotaDimensionDetail`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `node_pool_memory_gb: QuotaDimensionDetail`

    Quota dimension detail.

  - `node_pool_vcpu: QuotaDimensionDetail`

    Quota dimension detail.

  - `public_ips: QuotaDimensionDetail`

    Quota dimension detail.

### Quota Storage

- `QuotaStorage object { abs, local_nvme }`

  Storage quota.

  - `abs: QuotaDimensionDetail`

    Quota dimension detail.

    - `limit: number`

    - `remaining: number`

    - `used: number`

  - `local_nvme: QuotaDimensionDetail`

    Quota dimension detail.
