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

# Listar planos

> Os planos da Cube, com a memória mínima de cada projeto e quantos bots ou sites e APIs cabem em cada um.

Devolve os planos da Cube, do Free ao Empresas: memória, processador, preço mensal e anual e os limites de cada um. É público: não precisa de chave.

* `minMemoryMb` é a memória mínima de cada tipo no plano: bot **256 MB** nos planos pagos e **100 MB** no Free; site ou API **512 MB**.
* `maxBots` e `maxSites` dizem quantos cabem, cada um com esse mínimo: no Block, **4 bots ou 2 sites/APIs**, e o dobro a cada plano. Bots, sites e bancos dividem a mesma memória, então é um **ou** outro, não a soma.
* `null` é sob medida (Empresas).

Guia completo, com a tabela e exemplos de como dividir a memória, em [Planos e memória](/account/plans).

<Tip>
  Para saber quanto sobra na **sua** conta agora, use [Uso do plano](/api-reference/account/usage): ele traz o `minMemoryMb` do seu plano e a memória livre.
</Tip>

## Erros comuns

| Código | HTTP | O que fazer |
| - | - | - |
| [`internal_error`](/errors#param-internal-error) | 500 | Algo falhou do nosso lado. Tente de novo em instantes. |

Todos os códigos, com o formato do erro, em [Códigos de erro](/errors).


## OpenAPI

````yaml GET /plans
openapi: 3.1.0
info:
  title: API da Cube Hosting
  version: 1.0.0
  description: >-
    Hospede bots de Discord, sites e APIs em Node.js e Python: envie o .zip,
    inicie, pare, reinicie, leia logs e métricas, cuide das variáveis de
    ambiente, faça e baixe backups, volte para uma versão anterior, crie bancos
    de dados (PostgreSQL, MySQL, MongoDB e Redis), guarde arquivos privados no
    Blob, use um domínio seu nos sites e veja o uso do plano. Para agentes de
    IA, o servidor MCP da conta (`POST https://app.cubehosting.com.br/api/mcp`,
    JSON-RPC, com a mesma chave) está em
    https://docs.cubehosting.com.br/account-mcp.
  contact:
    name: Cube Hosting
    url: https://discord.gg/pv6D9tUsDV
servers:
  - url: https://app.cubehosting.com.br/api
security:
  - bearerAuth: []
tags:
  - name: Projetos
  - name: Controle
  - name: Logs e métricas
  - name: Variáveis de ambiente
  - name: Backups
  - name: Versões dos envios
  - name: Bancos de dados
  - name: Blob
  - name: Domínios
  - name: Templates
  - name: Avisos
  - name: Conta
paths:
  /plans:
    get:
      tags:
        - Conta
      summary: Listar planos
      description: >-
        Os planos da Cube, do Free ao Empresas: memória, processador, preço
        mensal e anual e os limites de cada um. `minMemoryMb` é a memória mínima
        de cada tipo no plano (bot 256 MB nos pagos e 100 MB no Free; site 512
        MB), e `maxBots` e `maxSites` dizem quantos cabem, cada um com esse
        mínimo. Público: não precisa de chave. Guia em [Planos e
        memória](/account/plans).
      operationId: listPlans
      responses:
        '200':
          description: A lista de planos, do menor para o maior.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Plan'
              example:
                - id: free
                  name: Free
                  memoryMb: 100
                  vcpu: 0.25
                  blobGb: 0
                  databases: 0
                  hasCustomDomain: false
                  priceCents: 0
                  annualPriceCents: 0
                  isForSale: true
                  apiRateLimit:
                    perMinute: 10
                    perDay: 5000
                  backupLimit: 1
                  hasDailyBackup: false
                  deploymentVersionLimit: 2
                  customDomainLimit: 0
                  teamMemberLimit: 0
                  minMemoryMb:
                    bot: 100
                    site: 512
                  maxBots: 1
                  maxSites: 0
                - id: block
                  name: Block
                  memoryMb: 1024
                  vcpu: 1
                  blobGb: 5
                  databases: 0
                  hasCustomDomain: true
                  priceCents: 599
                  annualPriceCents: 5750
                  isForSale: true
                  apiRateLimit:
                    perMinute: 30
                    perDay: 43200
                  backupLimit: 3
                  hasDailyBackup: true
                  deploymentVersionLimit: 3
                  customDomainLimit: 1
                  teamMemberLimit: 0
                  minMemoryMb:
                    bot: 256
                    site: 512
                  maxBots: 4
                  maxSites: 2
                - id: tower
                  name: Tower
                  memoryMb: 4096
                  vcpu: 3
                  blobGb: 25
                  databases: 3
                  hasCustomDomain: true
                  priceCents: 2399
                  annualPriceCents: 23030
                  isForSale: true
                  apiRateLimit:
                    perMinute: 120
                    perDay: 172800
                  backupLimit: 7
                  hasDailyBackup: true
                  deploymentVersionLimit: 7
                  customDomainLimit: 1
                  teamMemberLimit: 3
                  minMemoryMb:
                    bot: 256
                    site: 512
                  maxBots: 16
                  maxSites: 8
                - id: empresas
                  name: Empresas
                  memoryMb: null
                  vcpu: null
                  blobGb: null
                  databases: null
                  hasCustomDomain: true
                  priceCents: null
                  annualPriceCents: null
                  isForSale: true
                  apiRateLimit: null
                  backupLimit: 14
                  hasDailyBackup: true
                  deploymentVersionLimit: 14
                  customDomainLimit: 1
                  teamMemberLimit: null
                  minMemoryMb:
                    bot: 256
                    site: 512
                  maxBots: null
                  maxSites: null
        '500':
          description: Erro do nosso lado. Tente de novo em instantes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                internal_error:
                  summary: internal_error
                  value:
                    status: error
                    code: internal_error
                    message: Erro inesperado. Tente de novo em instantes.
      security: []
      x-codeSamples:
        - lang: bash
          label: curl
          source: curl https://app.cubehosting.com.br/api/plans
        - lang: javascript
          label: Node.js
          source: >-
            const API = 'https://app.cubehosting.com.br/api';

            const headers = { Authorization: `Bearer
            ${process.env.CUBE_API_KEY}` };


            const res = await fetch(`${API}/plans`);

            const plans = await res.json();

            for (const p of plans) console.log(p.name, p.maxBots, p.maxSites,
            p.minMemoryMb.bot);
        - lang: python
          label: Python
          source: |-
            import os
            import requests

            API = "https://app.cubehosting.com.br/api"
            headers = {"Authorization": f"Bearer {os.environ['CUBE_API_KEY']}"}

            r = requests.get(f"{API}/plans", timeout=30)
            r.raise_for_status()
            for p in r.json():
                print(p["name"], p["maxBots"], p["maxSites"], p["minMemoryMb"]["bot"])
components:
  schemas:
    Plan:
      type: object
      description: Um plano da Cube. `null` = sob medida (Empresas).
      required:
        - id
        - name
        - memoryMb
        - vcpu
        - blobGb
        - databases
        - hasCustomDomain
        - priceCents
        - annualPriceCents
        - isForSale
        - apiRateLimit
        - backupLimit
        - hasDailyBackup
        - deploymentVersionLimit
        - customDomainLimit
        - teamMemberLimit
        - minMemoryMb
        - maxBots
        - maxSites
      properties:
        id:
          type: string
          enum:
            - free
            - block
            - stack
            - tower
            - fortress
            - monolith
            - empresas
        name:
          type: string
        memoryMb:
          type:
            - integer
            - 'null'
          description: A memória do plano, dividida entre projetos e bancos.
        vcpu:
          type:
            - number
            - 'null'
        blobGb:
          type:
            - integer
            - 'null'
          description: A cota do [Blob](/hosting/blob) em GB.
        databases:
          type:
            - integer
            - 'null'
          description: >-
            Quantos [bancos de dados](/hosting/databases) cabem (0 no Free e no
            Block).
        hasCustomDomain:
          type: boolean
        priceCents:
          type:
            - integer
            - 'null'
          description: Preço do mês em centavos; `null` = sob consulta.
        annualPriceCents:
          type:
            - integer
            - 'null'
          description: Preço de 12 meses num Pix só, com 20% de desconto.
        isForSale:
          type: boolean
        apiRateLimit:
          oneOf:
            - type: object
              required:
                - perMinute
                - perDay
              properties:
                perMinute:
                  type: integer
                perDay:
                  type: integer
            - type: 'null'
          description: O limite de pedidos da API.
        backupLimit:
          type: integer
          description: Backups guardados por projeto.
        hasDailyBackup:
          type: boolean
        deploymentVersionLimit:
          type: integer
          description: Versões dos envios guardadas por projeto.
        customDomainLimit:
          type: integer
          description: Domínios próprios por site (0 no Free, que não tem site).
        teamMemberLimit:
          type:
            - integer
            - 'null'
          description: >-
            Membros da [equipe](/account/teams) além do dono, somando os
            convites pendentes: Tower 3, Fortress 7, Monolith 15. `0` = o plano
            não tem equipe (Free, Block e Stack); `null` = sob medida
            (Empresas).
        minMemoryMb:
          type: object
          required:
            - bot
            - site
          properties:
            bot:
              type: integer
            site:
              type: integer
          description: >-
            A memória mínima de cada tipo: bot 256 nos pagos e 100 no Free; site
            512.
        maxBots:
          type:
            - integer
            - 'null'
          description: >-
            Quantos bots cabem, cada um com o mínimo: Free 1, Block 4, Stack 8,
            Tower 16, Fortress 32, Monolith 64.
        maxSites:
          type:
            - integer
            - 'null'
          description: >-
            Quantos sites e APIs cabem: 0 no Free, 2 no Block, e o dobro a cada
            plano.
    Error:
      type: object
      required:
        - status
        - code
        - message
      properties:
        status:
          type: string
          const: error
        code:
          type: string
          description: Código fixo em inglês. Veja [Códigos de erro](/errors).
        message:
          type: string
          description: Texto em português para mostrar a uma pessoa.
      additionalProperties: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Chave de API da Cube (`cube_…`), criada no painel em **Chaves de API**.
        Mande como `Authorization: Bearer cube_…`.

````