[Yandex Cloud documentation](../index.md) > [Yandex Cloud Quota Manager](index.md) > Getting started

# Getting started with Yandex Cloud Quota Manager

{% note info %}

To manage quota update requests via the CLI and API, contact [support](https://center.yandex.cloud/support).

{% endnote %}

Cloud Quota Manager allows you to manage quotas of your Yandex Cloud services using different interfaces. Some services, such as SpeechKit and Yandex Cloud Video, are not available in Cloud Quota Manager.

**Quotas** are limits on the amount of resources you can use in cloud. These are organizational constraints that can be changed as needed.

The key concepts in quota management are:

* **Quota limit** or just **quota**: Current limit in place for a resource for a cloud or organization.

* **Quota usage**: Amount or size of the actually used resource.

Potentially, you can increase your quotas up to the _limits_.

**Limits** are technical constraints of the Yandex Cloud architecture, hardware physical characteristics, or external limitations.

![image](../_assets/quota-manager/quotas-limits.svg)

You can use the following interfaces to manage quotas: the [management console](https://console.yandex.cloud/cloud?section=quotas), [API](api-ref/authentication.md), and [CLI](cli-ref/index.md).

To manage quotas via the CLI and API, you need the quota ID. For the list of IDs, see [Yandex Cloud service quotas](all-quotas.md).

## Getting started {#before-you-begin}

To get started in Yandex Cloud:

1. Log in to the [management console](https://console.yandex.cloud). If not signed up yet, navigate to the management console and follow the instructions.
1. In [Yandex Cloud Billing](https://center.yandex.cloud/billing/accounts), make sure you have a [billing account](../billing/concepts/billing-account.md) linked and its status is `ACTIVE` or `TRIAL_ACTIVE`. If you do not have a billing account yet, [create one](../billing/quickstart/index.md#create_billing_account).
1. If you do not have a folder yet, [create one](../resource-manager/operations/folder/create.md).
1. Depending on the interface you are going to use, follow these additional steps:

    {% list tabs group=instructions %}

    - Management console {#console}

      Make sure the user has the following [roles](../iam/concepts/access-control/roles.md):

      * To get information about quotas: [quota-manager.viewer](security/index.md#quota-manager-viewer) or higher.
      * To create quota update requests:
      
          * At the [organization](../resource-manager/concepts/resources-hierarchy.md#cloud) level, [quota-manager.requestOperator](security/index.md#quota-manager-requestoperator) or higher, and [organization-manager.viewer](../organization/security/index.md#organization-manager-viewer) or higher.
          * At the cloud level, [resource-manager.viewer](../resource-manager/security/index.md#resource-manager-viewer) or higher.

    - CLI {#cli}

      1. If you do not have the Yandex Cloud CLI yet, [install and initialize it](../cli/quickstart.md#install).

          The folder used by default is the one specified when [creating](../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

      1. Make sure the user or service account authenticated in the CLI profile has the following [roles](../iam/concepts/access-control/roles.md):

          * To get information about quotas: [quota-manager.viewer](security/index.md#quota-manager-viewer) or higher.
          * To create quota update requests:
          
              * At the [organization](../resource-manager/concepts/resources-hierarchy.md#cloud) level, [quota-manager.requestOperator](security/index.md#quota-manager-requestoperator) or higher, and [organization-manager.viewer](../organization/security/index.md#organization-manager-viewer) or higher.
              * At the cloud level, [resource-manager.viewer](../resource-manager/security/index.md#resource-manager-viewer) or higher.

    - REST API {#api}

      1. Install [cURL](https://curl.haxx.se).
      1. [Create a service account](../iam/operations/sa/create.md) and [assign](../iam/operations/sa/assign-role-for-sa.md) it the following [roles](../iam/concepts/access-control/roles.md):

          * To get information about quotas: [quota-manager.viewer](security/index.md#quota-manager-viewer) or higher.
          * To create quota update requests:
          
              * At the [organization](../resource-manager/concepts/resources-hierarchy.md#cloud) level, [quota-manager.requestOperator](security/index.md#quota-manager-requestoperator) or higher, and [organization-manager.viewer](../organization/security/index.md#organization-manager-viewer) or higher.
              * At the cloud level, [resource-manager.viewer](../resource-manager/security/index.md#resource-manager-viewer) or higher.

      1. [Get an IAM token](../iam/operations/iam-token/create-for-sa.md) for the created service account.

    - gRPC API {#grpc-api}

      1. Install the [gRPCurl](https://github.com/fullstorydev/grpcurl) utility.
      1. [Create a service account](../iam/operations/sa/create.md) and [assign](../iam/operations/sa/assign-role-for-sa.md) it the following [roles](../iam/concepts/access-control/roles.md):

          * To get information about quotas: [quota-manager.viewer](security/index.md#quota-manager-viewer) or higher.
          * To create quota update requests:
          
              * At the [organization](../resource-manager/concepts/resources-hierarchy.md#cloud) level, [quota-manager.requestOperator](security/index.md#quota-manager-requestoperator) or higher, and [organization-manager.viewer](../organization/security/index.md#organization-manager-viewer) or higher.
              * At the cloud level, [resource-manager.viewer](../resource-manager/security/index.md#resource-manager-viewer) or higher.

      1. [Get an IAM token](../iam/operations/iam-token/create-for-sa.md) for the created service account.

    {% endlist %}

## Getting quota info {#get-quota-info}

To view quotas, you need the `quota-manager.viewer` [role](../iam/operations/roles/grant.md).

{% list tabs group=instructions %}

- Management console {#console}

  1. In the [management console](https://console.yandex.cloud), select the cloud to view quotas for.
  1. Select the **Quotas** tab.

     The page will display a list of services used in your cloud.

  1. Expand a service section and view the values in the **Usage** column.

     * Two numbers mean `quota usage / quota value`. For example, `2 / 20` or `1.203 / 5,120 GB`.

     * A single number is a non-adjustable `limit`.

  1. To estimate resource consumption, at the top right, select:
     * **Actively used**: Resources consuming over a half of the quota.
     * **Almost exhausted**: Resources that are almost exhausted.

- CLI {#cli}

  1. **See the list of services with quotas.**

      ```bash
      yc quota-manager quota-limit list-services \
        --resource-type <resource_type>
      ```

      Where `--resource-type` is the [resource type](concepts/index.md#resources-types): 
      * `resource-manager.cloud`: [Cloud](../resource-manager/concepts/resources-hierarchy.md#cloud). 
      * `organization-manager.organization`: [Organization](../organization/concepts/organization.md). 
      * `billing.account`: [Billing account](../billing/concepts/billing-account.md).

      **Example command**

      ```bash
      yc quota-manager quota-limit list-services \
        --resource-type resource-manager.cloud
      ```

      In the output, you will get a list of cloud-level services with quotas available.

  1. **View the values and usage of all quotas in a service.**

      ```bash
      yc quota-manager quota-limit list \
         --service <service_name> \
         --resource-type <resource_type> \
         --resource-id <resource_ID>
      ```

      Where:
      * `--service`: Service name you obtained at the previous step.
      * `--resource-id`: [Resource](../resource-manager/concepts/resources-hierarchy.md) ID, i.e., organization, cloud, or billing account ID.
      * `--resource-type`: Resource type, `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.

      **Example command**

      ```bash
      yc quota-manager quota-limit list \
        --service iam \
        --resource-type resource-manager.cloud \
        --resource-id <cloud_ID>
      ```

      In the output, you will get the IDs of the quotas in place in IAM within the cloud, their values ​and usage figures:
      
      ```text
      resource:
        id: b1gia87mbaom********
        type: resource-manager.cloud
      quota_limits:
        - quota_id: iam.accessKeys.count
          limit: 1001
          usage: 33
        - quota_id: iam.apiKeys.count
          limit: 1000
          usage: 14
        - quota_id: iam.authorizedKeys.count
          limit: 1000
          usage: 44
        ...
      ```

  1. **View value and usage info for a particular quota.**

      ```bash
      yc quota-manager quota-limit get \
         --quota-id <quota_ID> \
         --resource-id <resource_ID> \
         --resource-type <resource_type>
      ```

      Where:
      * `--quota-id`: Quota ID. You can look up the ID in [Yandex Cloud service quotas](all-quotas.md).
      * `--resource-id`: ID of the resource (organization, cloud, or billing account).
      * `--resource-type`: Resource type, `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.

      **Example command**

      ```bash
      yc quota-manager quota-limit get \
        --quota-id iam.accessKeys.count \
        --resource-id <cloud_ID> \
        --resource-type resource-manager.cloud
      ```

      In the output, you will get the quota value and usage info for the number of static access keys in the cloud:
      
      ```bash
      quota_id: iam.accessKeys.count
      limit: 1000
      usage: 27
      ```
      
      Where:
      
      * `limit`: Quota value.
      * `usage`: Quota usage.

- REST API {#api}

  1. **View the list of services with quotas.**

      Use the [ListServices](api-ref/QuotaLimit/listServices.md) REST API method for the [QuotaLimit](api-ref/QuotaLimit/index.md) resource:

      ```bash
      curl \
        --request GET \
        --header "Authorization: Bearer <IAM_token>" \
        "https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaLimits/services?resourceType=<resource_type>"
      ```

      Where:

      * `<IAM_token>`: Service account IAM token or the environment variable containing the token.
      * `<resource_type>`: [Resource type](concepts/index.md#resources-types), either `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.

      **Request example**

      ```bash
      curl \
        --request GET \
        --header "Authorization: Bearer ${IAM_TOKEN?}" \
        'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaLimits/services?resourceType=resource-manager.cloud'
      ```

      **Response example**

      ```json
      {
        "services": [
          {
            "id": "alb",
            "name": "Application Load Balancer"
          },
          {
            "id": "audit-trails",
            "name": "Audit Trails"
          },
          ...
          {
            "id": "ylb",
            "name": "Network Load Balancer"
          },
          {
            "id": "yq",
            "name": "Yandex Query"
          }
        ]
      }
      ```

  1. **View the values and usage of all quotas in a service.**

      Use the [List](api-ref/QuotaLimit/list.md) REST API method for the [QuotaLimit](api-ref/QuotaLimit/index.md) resource:

      ```bash
      curl \
        --request GET \
        --header "Authorization: Bearer <IAM_token>" \
        "https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaLimits?service=<service_ID>&resource.id=<resource_ID>&resource.type=<resource_type>"
      ```

      Where:

      * `<IAM_token>`: Service account IAM token or the environment variable containing the token.
      * `<service_ID>`: Service ID obtained in the previous step.
      * `<resource_ID>`: ID of the resource (organization, cloud, or billing account).
      * `<resource_type>`: Resource type, either `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.

      **Request example**

      ```bash
      curl \
        --request GET \
        --header "X-Request-Id: $(uuidgen -t)" \
        --header "Authorization: Bearer ${IAM_TOKEN?}" \
        'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaLimits?service=iam&resource.id=<cloud_ID>&resource.type=resource-manager.cloud'
      ```

      **Response example**

      ```json
      {
        "resource": {
          "id": "b1gia87mbaom********",
          "type": "resource-manager.cloud"
        },
        "quotaLimits": [
          {
            "quotaId": "iam.accessKeys.count",
            "limit": 1000,
            "usage": 34
          },
          {
            "quotaId": "iam.apiKeys.count",
            "limit": 1000,
            "usage": 13
          },
          {
            "quotaId": "iam.authorizedKeys.count",
            "limit": 1000,
            "usage": 43
          },
          ...
        ]
      }
      ```

  1. **View value and usage info for a particular quota.**
  
      Use the [Get](api-ref/QuotaLimit/get.md) REST API method for the [QuotaLimit](api-ref/QuotaLimit/index.md) resource:

      ```bash
      curl \
        --request GET \
        --header "Authorization: Bearer <IAM_token>" \
        "https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaLimits/<quota_ID>?resource.id=<resource_ID>&resource.type=<resource_type>"
      ```

      Where:

      * `<IAM_token>`: Service account IAM token or the environment variable containing the token.
      * `<quota_ID>`: Quota ID. You can look up the ID in [Yandex Cloud service quotas](all-quotas.md).
      * `<resource_ID>`: ID of the resource (organization, cloud, or billing account).
      * `<resource_type>`: Resource type, either `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.

      **Request example**

      ```bash
      curl \
        --request GET \
        --header "X-Request-Id: $(uuidgen -t)" \
        --header "Authorization: Bearer ${IAM_TOKEN?}" \
        'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaLimits/iam.accessKeys.count?resource.id=<cloud_ID>&resource.type=resource-manager.cloud'
      ```

      **Response example**

      ```json
      {
        "quotaId": "iam.accessKeys.count",
        "limit": 1000,
        "usage": 34
      }
      ```

- gRPC API {#grpc-api}

  1. **View the list of services with quotas.**

      Use the [QuotaLimitService/ListServices](api-ref/grpc/QuotaLimit/listServices.md) gRPC API call:

      ```bash
      grpcurl \
        -H "Authorization: Bearer <IAM_token>" \
        -d "{\"resource_type\": \"<resource_type>\"}" \
        quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaLimitService/ListServices
      ```

      Where:

      * `<IAM_token>`: Service account IAM token or the environment variable containing the token.
      * `<resource_type>`: [Resource type](concepts/index.md#resources-types), either `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.

      **Request example**

      ```bash
      grpcurl \
        -H "Authorization: Bearer ${IAM_TOKEN?}" \
        -d "{\"resource_type\": \"resource-manager.cloud\"}" \
        quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaLimitService/ListServices
      ```

      **Response example**

      ```json
      {
        "services": [
          {
            "id": "alb",
            "name": "Application Load Balancer"
          },
          {
            "id": "audit-trails",
            "name": "Audit Trails"
          },
          ...
          {
            "id": "ylb",
            "name": "Network Load Balancer"
          },
          {
            "id": "yq",
            "name": "Yandex Query"
          }
        ]
      }
      ```

  1. **View the values and usage of all quotas in a service.**

      Use the [QuotaLimitService/List](api-ref/grpc/QuotaLimit/list.md) gRPC API call:

      ```bash
      grpcurl \
        -H "Authorization: Bearer <IAM_token>" \
        -d "{ \"resource\": { \"id\": \"<resource_ID>\", \"type\": \"<resource_type>\" }, \"service\": \"<service_ID>\"}" \
        quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaLimitService/List
      ```

      Where:

      * `<IAM_token>`: Service account IAM token or the environment variable containing the token.
      * `<resource_ID>`: ID of the resource (organization, cloud, or billing account).
      * `<resource_type>`: Resource type, either `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.
      * `<service_ID>`: Service ID obtained in the previous step.

      **Request example**

      ```bash
      grpcurl \
        -H "X-Request-Id: $(uuidgen -t)" \
        -H "Authorization: Bearer ${IAM_TOKEN?}" \
        -d "{ \"resource\": { \"id\": \"<cloud_ID>\", \"type\": \"resource-manager.cloud\" }, \"service\": \"iam\"}" \
        quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaLimitService/List
      ```

      **Response example**

      ```json
      {
        "resource": {
          "id": "b1gia87mbaom********",
          "type": "resource-manager.cloud"
        },
        "quotaLimits": [
          {
            "quotaId": "iam.accessKeys.count",
            "limit": 1000,
            "usage": 34
          },
          {
            "quotaId": "iam.apiKeys.count",
            "limit": 1000,
            "usage": 13
          },
          {
            "quotaId": "iam.authorizedKeys.count",
            "limit": 1000,
            "usage": 43
          },
          ...
        ]
      }
      ```

  1. **View value and usage info for a particular quota.**

      Use the [QuotaLimitService/Get](api-ref/grpc/QuotaLimit/get.md) gRPC API call:

      ```bash
      grpcurl \
        -H "Authorization: Bearer <IAM_token>" \
        -d "{ \"resource\": { \"id\": \"<resource_ID>\", \"type\": \"<resource_type>\" }, \"quota_id\": \"<quota_ID>\"}" \
        quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaLimitService/Get
      ```

      Where:

      * `<IAM_token>`: Service account IAM token or the environment variable containing the token.
      * `<resource_ID>`: ID of the resource (organization, cloud, or billing account).
      * `<resource_type>`: Resource type, either `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.
      * `<quota_ID>`: Quota ID. You can look up the ID in [Yandex Cloud service quotas](all-quotas.md).

      **Request example**

      ```bash
      grpcurl \
        -H "X-Request-Id: $(uuidgen -t)" \
        -H "Authorization: Bearer ${IAM_TOKEN?}" \
        -d "{ \"resource\": { \"id\": \"<cloud_ID>\", \"type\": \"resource-manager.cloud\" }, \"quota_id\": \"iam.accessKeys.count\"}" \
        quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaLimitService/Get
      ```

      **Response example**

      ```json
      {
        "quotaId": "iam.accessKeys.count",
        "limit": 1000,
        "usage": 34
      }
      ```

{% endlist %}

## Requesting quota changes {#request-quota-change}

{% list tabs group=instructions %}

- Management console {#console}

  Request a quota update using one of the following methods:
     * Select the resources on the [quota page](https://console.yandex.cloud/cloud?section=quotas) and click **Change**.
     * Contact [support](https://center.yandex.cloud/support) and describe which quotas you want increased and by how much.

- CLI {#cli}

  1. **Create a quota update request.**

      [View the quota ID](../overview/concepts/quotas-limits.md#quotas-limits-default) and create an update request:
      
      ```bash
      yc quota-manager quota-request create \
        --resource-type <resource_type> \
        --resource-id <resource_ID> \
        --desired-limit quota-id=<quota_ID>,value=<new_quota_value>
      ```
      
      Where:
      
      * `--resource-type`: Resource type, `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.
      * `--resource-id`: ID of the resource (organization, cloud, or billing account).
      * `--desired-limit`: Data for the quota update:
        * `quota-id`: Quota ID.
        * `value`: New quota value.
      
      You can specify multiple quotas in a single request. To do this, add several `--desired-limit` parameters.

      **Example command**

      ```bash
      yc quota-manager quota-request create \
        --resource-id <cloud_ID> \
        --resource-type resource-manager.cloud \
        --desired-limit quota-id=compute.placementGroups.count,value=5 \
        --desired-limit quota-id=storage.buckets.count,value=30
      ```

      This will create a quota increase request:
      * In Compute Cloud: Number of VM placement groups (`compute.placementGroups.count`), the new value is `5`.
      * In Object Storage: Number of buckets (`storage.buckets.count`), the new value is `30`.

      **Response example**

      ```bash
      id: atdogfioseaq********
      resource:
        id: b1gia87mbaom********
        type: resource-manager.cloud
      created_at: "2025-09-11T08:24:24.142277Z"
      status: PENDING
      quota_limits:
        - quota_id: compute.placementGroups.count
          desired_limit: 5
          status: PROCESSING
        - quota_id: storage.buckets.count
          desired_limit: 30
          status: REJECTED
          message: quota value you are requesting is equal to that already in use
      created_by: ajegtlf2q28a********
      ```

  1. **View the list of quota update requests.**

      ```bash
      yc quota-manager quota-request list \
        --resource-type <resource_type> \
        --resource-id <resource_ID> \
        --limit <number_of_requests>
      ```
      
      Where:
      * `--resource-type`: Resource type, `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.
      * `--resource-id`: ID of the resource (organization, cloud, or billing account).
      * `--limit`: Number of requests per page.
      
      **Example command**

      ```bash
      yc quota-manager quota-request list \
        --resource-id <cloud_ID> \
        --resource-type resource-manager.cloud \
        --limit 1
      ```

      **Response example**

      ```bash
      quota_requests:
        - id: atdogfioseaq********
          resource:
            id: b1gia87mbaom********
            type: resource-manager.cloud
          created_at: "2025-09-11T08:24:24.142277Z"
          status: PENDING
          quota_limits:
            - quota_id: storage.buckets.count
              desired_limit: 30
              status: REJECTED
              message: quota value you are requesting is equal to that already in use
            - quota_id: compute.placementGroups.count
              desired_limit: 5
              status: PROCESSING
          created_by: ajegtlf2q28a********
      ```

  1. **View the status of your quota update request.**

      ```bash
      yc quota-manager quota-request get \
        --id <request_ID>
      ```
      
      Where `--id` is the quota update request ID.

      **Response example**

      ```bash
      id: atdogfioseaq********
      resource:
        id: b1gia87mbaom********
        type: resource-manager.cloud
      created_at: "2025-09-11T08:24:24.142277Z"
      status: PENDING
      quota_limits:
        - quota_id: compute.placementGroups.count
          desired_limit: 5
          status: PROCESSING
        - quota_id: storage.buckets.count
          desired_limit: 30
          status: REJECTED
          message: quota value you are requesting is equal to that already in use
      created_by: ajegtlf2q28a********
      ```

- REST API {#api}

  1. **Create a quota update request.**

      [View the quota ID](all-quotas.md) and use the [Create](api-ref/QuotaRequest/create.md) REST API method for the [QuotaRequest](api-ref/QuotaRequest/index.md) resource:

      ```bash
      curl \
        --request POST \
        --header "Authorization: Bearer <IAM_token>" \
        --data '{"resource": {"id": "<resource_ID>", "type": "<resource_type>"}, "desired_quota_limits": [{"quota_id": "<quota_ID>", "desired_limit": "<new_quota_value>"}]}' \
        'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaRequests'
      ```

      Where:

      * `<IAM_token>`: Service account IAM token or the environment variable containing the token.
      * `<resource_ID>`: ID of the resource (organization, cloud, or billing account).
      * `<resource_type>`: Resource type, either `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.
      * `<quota_ID>`: ID of the quota to update.
      * `<new_quota_value>`: New value to assign to the selected quota.

      **Request example**

      ```bash
      curl \
        --request POST \
        --header "X-Request-Id: $(uuidgen -t)" \
        --header "Authorization: Bearer ${IAM_TOKEN?}" \
        --data '{"resource": {"id": "<cloud_ID>", "type": "resource-manager.cloud"}, "desired_quota_limits": [{"quota_id": "iam.accessKeys.count", "desired_limit": "1001"}]}' \
        'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaRequests'
      ```

      **Response example**

      ```json
      {
        "done": false,
        "metadata": {
          "@type": "type.googleapis.com/yandex.cloud.quotamanager.v1.CreateQuotaRequestMetadata",
          "quotaRequestId": "atdogfioseaq********"
        },
        "id": "atdlsk0hjt6r********",
        "description": "Create quota request",
        "createdAt": "2025-09-01T08:39:37.195600077Z",
        "createdBy": "ajegtlf2q28a********",
        "modifiedAt": "2025-09-01T08:39:37.195600077Z"
      }
      ```
      
      The `false` operation status means your request is under review.

   1. **View the list of quota update requests.**

      Use the [List](api-ref/QuotaRequest/list.md) REST API method for the [QuotaRequest](api-ref/QuotaRequest/index.md) resource:

      ```bash
      curl \
        --request GET \
        --header "Authorization: Bearer <IAM_token>" \
        'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaRequests?page_size=<page_size>&resource.id=<resource_ID>&resource.type=<resource_type>'
      ```

      Where:

      * `<IAM_token>`: Service account IAM token or the environment variable containing the token.
      * `<page_size>`: Number of items per page.
      * `<resource_ID>`: ID of the resource (organization, cloud, or billing account).
      * `<resource_type>`: Resource type, either `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.

      **Request example**

      ```bash
      curl \
        --request GET \
        --header "X-Request-Id: $(uuidgen -t)" \
        --header "Authorization: Bearer ${IAM_TOKEN?}" \
        'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaRequests?page_size=100&resource.id=<cloud_ID>&resource.type=resource-manager.cloud'
      ```

      **Response example**

      ```json
      {
        "quotaRequests": [
          {
            "resource": {
              "id": "b1gia87mbaom********",
              "type": "resource-manager.cloud"
            },
            "quotaLimits": [
              {
                "quotaId": "iam.accessKeys.count",
                "desiredLimit": 1001,
                "status": "PROCESSING"
              }
            ],
            "id": "atdp0kd3799e********",
            "createdAt": "2025-09-01T08:46:28.091109Z",
            "status": "PROCESSING",
            "createdBy": "ajegtlf2q28a********"
          },
          ...
        ]
      }
      ```

   1. **View the status of your quota update request.**

      Use the [Get](api-ref/QuotaRequest/get.md) REST API method for the [QuotaRequest](api-ref/QuotaRequest/index.md) resource:

      ```bash
      curl \
        --request GET \
        --header "Authorization: Bearer <IAM_token>" \
        'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaRequests/<request_ID>'
      ```

      Where:

      * `<IAM_token>`: Service account IAM token or the environment variable containing the token.
      * `<request_ID>`: Quota update request ID you got in the previous step.

      **Request example**

      ```bash
      curl \
        --request GET \
        --header "X-Request-Id: $(uuidgen -t)" \
        --header "Authorization: Bearer ${IAM_TOKEN?}" \
        'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaRequests/<request_ID>'
      ```

      **Response example**

      ```json
      {
        "resource": {
          "id": "b1gia87mbaom********",
          "type": "resource-manager.cloud"
        },
        "quotaLimits": [
          {
            "quotaId": "iam.accessKeys.count",
            "desiredLimit": 1001,
            "status": "PROCESSING"
          }
        ],
        "id": "atdp0kd3799e********",
        "createdAt": "2025-09-01T08:46:28.091109Z",
        "status": "PENDING",
        "createdBy": "ajegtlf2q28a********"
      }
      ```

- gRPC API {#grpc-api}

  1. **Create a quota update request.**

      [View the quota ID](all-quotas.md) and create a request using the [QuotaRequestService/Create](api-ref/grpc/QuotaRequest/create.md) gRPC API call:

      ```bash
      grpcurl \
        -H "Authorization: Bearer <IAM_token>" \
        -d "{\"resource\": {\"id\": \"<resource_ID>\", \"type\": \"<resource_type>\"}, \"desired_quota_limits\": [{\"quota_id\": \"<quota_ID>\", \"desired_limit\": \"<new_quota_value>\"}]}" \
        quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaRequestService/Create
      ```

      Where:

      * `<IAM_token>`: Service account IAM token or the environment variable containing the token.
      * `<resource_ID>`: ID of the resource (organization, cloud, or billing account).
      * `<resource_type>`: Resource type, either `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.
      * `<quota_ID>`: ID of the quota to update.
      * `<new_quota_value>`: New value to assign to the selected quota.

      **Request example**

      ```bash
      grpcurl \
        -H "X-Request-Id: $(uuidgen -t)" \
        -H "Authorization: Bearer ${IAM_TOKEN?}" \
        -d "{\"resource\": {\"id\": \"<cloud_ID>\", \"type\": \"resource-manager.cloud\"}, \"desired_quota_limits\": [{\"quota_id\": \"iam.accessKeys.count\", \"desired_limit\": \"1001\"}]}" \
        quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaRequestService/Create
      ```

      **Response example**

      ```json
      {
        "id": "atdhrm4k26ar********",
        "description": "Create quota request",
        "createdAt": "2025-09-01T08:46:28.116514197Z",
        "createdBy": "ajegtlf2q28a********",
        "modifiedAt": "2025-09-01T08:46:28.116514197Z",
        "metadata": {
          "@type": "type.googleapis.com/yandex.cloud.quotamanager.v1.CreateQuotaRequestMetadata",
          "quotaRequestId": "atdp0kd3799e********"
        }
      }
      ```

  1. **View the list of quota update requests.**

      Use the [QuotaRequestService/List](api-ref/grpc/QuotaRequest/list.md) gRPC API call:

      ```bash
      grpcurl \
        -H "Authorization: Bearer <IAM_token>" \
        -d "{\"resource\": {\"id\": \"<resource_ID>\", \"type\": \"<resource_type>\"}}" \
        quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaRequestService/List
      ```

      Where:

      * `<IAM_token>`: Service account IAM token or the environment variable containing the token.
      * `<resource_ID>`: ID of the resource (organization, cloud, or billing account).
      * `<resource_type>`: Resource type, either `resource-manager.cloud`, `organization-manager.organization`, or `billing.account`.

      **Request example**

      ```bash
      grpcurl \
        -H "X-Request-Id: $(uuidgen -t)" \
        -H "Authorization: Bearer ${IAM_TOKEN?}" \
        -d "{\"resource\": {\"id\": \"<cloud_ID>\", \"type\": \"resource-manager.cloud\"}}" \
        quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaRequestService/List
      ```

      **Response example**

      ```json
      {
        "quotaRequests": [
          {
            "id": "atdp0kd3799e********",
            "resource": {
              "id": "b1gia87mbaom********",
              "type": "resource-manager.cloud"
            },
            "createdAt": "2025-09-01T08:46:28.091109Z",
            "status": "PROCESSING",
            "quotaLimits": [
              {
                "quotaId": "iam.accessKeys.count",
                "desiredLimit": 1001,
                "status": "PROCESSING"
              }
            ],
            "createdBy": "ajegtlf2q28a********"
          },
          ...
        ]
      }
      ```

  1. **View the status of your quota update request.**

      Use the [QuotaRequestService/Get](api-ref/grpc/QuotaRequest/get.md) gRPC API call:

      ```bash
      grpcurl \
        -H "Authorization: Bearer <IAM_token>" \
        -d "{\"quota_request_id\": \"<request_ID>\"}" \
        quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaRequestService/Get
      ```

      Where:

      * `<IAM_token>`: Service account IAM token or the environment variable containing the token.
      * `<request_ID>`: Quota update request ID you got in the previous step.

      **Request example**

      ```bash
      grpcurl \
        -H "X-Request-Id: $(uuidgen -t)" \
        -H "Authorization: Bearer ${IAM_TOKEN?}" \
        -d "{\"quota_request_id\": \"<request_ID>\"}" \
        quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaRequestService/Get
      ```

      **Response example**

      ```json
      {
        "id": "atdp0kd3799e********",
        "resource": {
          "id": "b1gia87mbaom********",
          "type": "resource-manager.cloud"
        },
        "createdAt": "2025-09-01T08:46:28.091109Z",
        "status": "PENDING",
        "quotaLimits": [
          {
            "quotaId": "iam.accessKeys.count",
            "desiredLimit": 1001,
            "status": "PROCESSING"
          }
        ],
        "createdBy": "ajegtlf2q28a********"
      }
      ```

{% endlist %}