> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vertracloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# List Plans

> Lists the plans on sale, with price, memory, vCPU, limits and features, and the billing periods with their discounts.

Returns the plans you can buy today, with the price, memory, vCPU, limits and features of each one, and the billing periods with their discounts. The route is public: it needs no API key or session, so you can call it before an account exists. It is limited to 20 requests per minute per IP address, and the response can be cached for 10 minutes.

Use it to build a pricing table or to validate the plan names you send to [Create Order](https://docs.vertracloud.app/api-reference/endpoint/billing/create-order.md). The amount an account is actually charged comes from [Quote Order](https://docs.vertracloud.app/api-reference/endpoint/billing/quote-order.md), because it can include a coupon or a price kept from a previous plan.

### Response

**response** `object`

**Toggle object**

**cycles** `object[]`

The billing periods you can buy and their discount over the monthly price.

**Toggle object**

**months** `integer`

`1`, `3`, `6` or `12`.

**discount\_percent** `number`

Discount over the monthly price: 0, 10, 15 and 25 for 1, 3, 6 and 12 months.

**plans** `object[]`

The plans on sale, from the smallest to the largest.

**Toggle object**

**name** `string`

The plan name, the value you send as `plan` when you create an order, such as `starter-1`, `pro-4`, `business-12` or `enterprise-32`.

**family** `string | null`

`starter`, `pro`, `business` or `enterprise`. `null` for a plan that is no longer sold.

**legacy** `boolean`

`true` for a plan that is no longer sold.

**memory\_mb** `integer`

The memory the account can allocate across its applications and databases, in MB.

**max\_vcpus\_per\_app** `number`

The most vCPU one application can use on the plan.

**price** `number`

The monthly price in BRL, without any period discount. The price of a period is `price` times `months` times `(1 - discount_percent / 100)`, rounded to the cent.

**payment\_methods** `string[]`

`pix` and `card`.

**limits** `object`

**Toggle object**

**deploys\_per\_hour** `integer`

Deploys per hour.

**requests\_per\_minute** `integer`

API requests per minute with an API key.

**requests\_per\_day** `integer`

API requests per day with an API key.

**max\_domains** `integer`

Custom domains per application.

**max\_domain\_ports** `integer`

Ports besides 80 that an application with domains can serve.

**manual\_backups\_per\_day** `integer`

Manual backups per account per day.

**workspace\_members** `integer`

Members of a workspace.

**workspace\_roles** `integer`

Custom roles of a workspace.

**release\_versions** `integer`

Versions kept for rollback.

**release\_retention\_days** `integer`

Days a version is kept.

**max\_custom\_images** `integer`

Custom Docker images. `0` when the plan has none.

**blob** `object`

Blob Storage limits: `quota_bytes`, `max_rules`, `max_custom_domains`, `image_transformations_per_month` and `s3_requests_per_10s`.

**features** `object`

Booleans for what the plan includes: `web_published`, `daily_backups`, `create_backup`, `advanced_metrics`, `create_workspace`, `custom_domain`, `custom_subdomain`, `file_manager`, `database_manager`, `auto_deploy`, `rollback`, `auto_rollback`, `zero_downtime`, `delete_snapshot`, `powered_by_badge`, `blob_metadata`, `blob_share_password`, `blob_unlimited_upload_rate`, `blob_no_cache` and `blob_short_expiration`.

```json Response theme={null}
{
  "response": {
    "cycles": [
      { "months": 1, "discount_percent": 0 },
      { "months": 3, "discount_percent": 10 },
      { "months": 6, "discount_percent": 15 },
      { "months": 12, "discount_percent": 25 }
    ],
    "plans": [
      {
        "name": "starter-1",
        "family": "starter",
        "legacy": false,
        "memory_mb": 1024,
        "max_vcpus_per_app": 1,
        "price": 7.7,
        "payment_methods": ["pix", "card"],
        "limits": {
          "deploys_per_hour": 20,
          "requests_per_minute": 120,
          "requests_per_day": 43200,
          "max_domains": 0,
          "max_domain_ports": 5,
          "manual_backups_per_day": 8,
          "workspace_members": 0,
          "workspace_roles": 0,
          "release_versions": 3,
          "release_retention_days": 7,
          "max_custom_images": 0,
          "blob": {
            "quota_bytes": 10737418240,
            "max_rules": 5,
            "max_custom_domains": 0,
            "image_transformations_per_month": 0,
            "s3_requests_per_10s": 100
          }
        },
        "features": {
          "web_published": true,
          "daily_backups": true,
          "create_backup": true,
          "advanced_metrics": true,
          "create_workspace": false,
          "custom_domain": false,
          "custom_subdomain": true,
          "file_manager": true,
          "database_manager": false,
          "auto_deploy": true,
          "rollback": true,
          "auto_rollback": false,
          "zero_downtime": false,
          "delete_snapshot": true,
          "powered_by_badge": true,
          "blob_metadata": false,
          "blob_share_password": false,
          "blob_unlimited_upload_rate": false,
          "blob_no_cache": false,
          "blob_short_expiration": false
        }
      },
      {
        "name": "pro-4",
        "family": "pro",
        "legacy": false,
        "memory_mb": 4096,
        "max_vcpus_per_app": 4,
        "price": 20.9,
        "payment_methods": ["pix", "card"],
        "limits": {
          "deploys_per_hour": 60,
          "requests_per_minute": 300,
          "requests_per_day": 172800,
          "max_domains": 2,
          "max_domain_ports": 5,
          "manual_backups_per_day": 32,
          "workspace_members": 5,
          "workspace_roles": 4,
          "release_versions": 15,
          "release_retention_days": 30,
          "max_custom_images": 2,
          "blob": {
            "quota_bytes": 53687091200,
            "max_rules": 5,
            "max_custom_domains": 1,
            "image_transformations_per_month": 1500,
            "s3_requests_per_10s": 400
          }
        },
        "features": {
          "web_published": true,
          "daily_backups": true,
          "create_backup": true,
          "advanced_metrics": true,
          "create_workspace": true,
          "custom_domain": true,
          "custom_subdomain": true,
          "file_manager": true,
          "database_manager": true,
          "auto_deploy": true,
          "rollback": true,
          "auto_rollback": true,
          "zero_downtime": true,
          "delete_snapshot": true,
          "powered_by_badge": false,
          "blob_metadata": false,
          "blob_share_password": false,
          "blob_unlimited_upload_rate": false,
          "blob_no_cache": false,
          "blob_short_expiration": false
        }
      }
    ]
  }
}
```

### Error Responses

**code** `string`

The error code indicating the reason for failure. Possible values:

* `RATE_LIMIT_EXCEEDED`: More than 20 requests in a minute from the same IP address (`429`). `details.retry_after` gives the wait.
* `INTERNAL_SERVER_ERROR`: An unexpected server error occurred.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.