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

# List Plans

> Returns all non-hidden plans sorted by monthly price.

Optionally filter by `location_id` to only return plans available at a specific location (global plans + location-specific plans). When `location_id` is provided, each plan includes an `available` field indicating whether it is currently in stock. If a location that is not open for ordering is specified, an empty list is returned.



## OpenAPI

````yaml GET /plans
openapi: 3.0.3
info:
  title: CloudBlast API
  description: >-
    The CloudBlast V2 API provides a modern RESTful interface for managing your
    cloud infrastructure programmatically. All responses follow a consistent `{
    "data": ... }` or `{ "error": ... }` format.
  version: 2.0.0
servers:
  - url: https://console.cloudblast.io/api/v2
    description: Production
security:
  - bearerAuth: []
paths:
  /plans:
    get:
      tags:
        - Plans
      summary: List available plans
      description: >-
        Returns all non-hidden plans sorted by monthly price.


        Optionally filter by `location_id` to only return plans available at a
        specific location (global plans + location-specific plans). When
        `location_id` is provided, each plan includes an `available` field
        indicating whether it is currently in stock. If a location that is not
        open for ordering is specified, an empty list is returned.
      operationId: listPlans
      parameters:
        - $ref: '#/components/parameters/Page'
        - name: location_id
          in: query
          required: false
          schema:
            type: integer
          description: >-
            Filter plans by location. Returns global plans and plans specific to
            this location.
      responses:
        '200':
          description: Paginated plan list
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Plan'
                    description: >-
                      When `location_id` is provided, each plan also includes an
                      `available` boolean field indicating stock availability.
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '404':
          $ref: '#/components/responses/NotFound'
          description: Location not found (when location_id is provided)
components:
  parameters:
    Page:
      name: page
      in: query
      required: false
      schema:
        type: integer
        default: 1
      description: Page number for pagination
  schemas:
    Plan:
      type: object
      properties:
        id:
          type: integer
          example: 1
        name:
          type: string
          example: Starter VPS
        cpu:
          type: integer
          description: Number of CPU cores
          example: 2
        memory:
          type: integer
          description: RAM in bytes
          example: 2147483648
        disk:
          type: integer
          description: Disk size in bytes
          example: 42949672960
        bandwidth_limit:
          type: integer
          nullable: true
          description: Monthly bandwidth limit in bytes (null = unlimited)
          example: 1073741824000
        monthly_price:
          type: number
          format: float
          description: Monthly price in EUR
          example: 9.99
        hourly_price:
          type: number
          format: float
          description: Hourly price in EUR
          example: 0.015
        backup_price:
          type: number
          format: float
          description: Backup price per GB/month in EUR
          example: 0.05
        backup_limit:
          type: integer
          description: Maximum number of backups
          example: 3
        location_id:
          type: integer
          nullable: true
          description: If set, plan is only available in this location
          example: null
    PaginationMeta:
      type: object
      properties:
        current_page:
          type: integer
          example: 1
        last_page:
          type: integer
          example: 3
        per_page:
          type: integer
          example: 25
        total:
          type: integer
          example: 72
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Machine-readable error code
            message:
              type: string
              description: Human-readable error message
          required:
            - code
            - message
  responses:
    Unauthenticated:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: UNAUTHENTICATED
              message: >-
                Missing or invalid Authorization header. Use: Authorization:
                Bearer <token>
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: NOT_FOUND
              message: Server not found.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API token from your CloudBlast account settings. Pass as `Authorization:
        Bearer <token>`.

````