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

# List prices

> Returns the price of each machine class you can be billed for.

Requires the `billing:ListPriceCatalog` permission.



## OpenAPI

````yaml /api-reference/openapi/billing.json get /billing/v1/price-catalog
openapi: 3.0.3
info:
  title: Mount Thor Billing API
  version: 15089fd70390
  description: >-
    Read your billing account, funds, credits, prices, usage, costs and
    invoices. Amounts are exact: `units` whole currency units plus `nanos`
    billionths, never floating point.
servers:
  - url: https://customer-api.mountthor.com
security:
  - bearerAuth: []
paths:
  /billing/v1/price-catalog:
    get:
      summary: List prices
      description: |-
        Returns the price of each machine class you can be billed for.

        Requires the `billing:ListPriceCatalog` permission.
      operationId: CustomerBillingService_ListPriceCatalog
      parameters:
        - name: page.page_size
          in: query
          description: Maximum prices to return.
          schema:
            type: integer
            format: int32
        - name: page.page_token
          in: query
          description: The `next_page_token` from a previous response.
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPriceCatalogResponse'
        '400':
          description: The request is invalid, for example an unknown query parameter.
          headers:
            mt-error-slug:
              description: A stable, machine-readable error identifier, when one applies.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: >-
            The credential is missing, invalid or expired. The response has no
            body.
          headers:
            mt-error-slug:
              description: A stable, machine-readable error identifier, when one applies.
              schema:
                type: string
        '403':
          description: >-
            The credential does not allow this operation. When a permission is
            missing, `requiredAction` names it; otherwise the body may be empty.
          headers:
            mt-error-slug:
              description: A stable, machine-readable error identifier, when one applies.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ListPriceCatalogResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PriceCatalogItem'
        page:
          $ref: '#/components/schemas/PageResponse'
    Error:
      type: object
      properties:
        code:
          type: integer
          description: A numeric status code.
        message:
          type: string
          description: A human-readable explanation.
        reason:
          type: string
          description: On a 403 from a missing permission, `permission_denied`.
        requiredAction:
          type: string
          description: >-
            On a 403 from a missing permission, the permission the request
            needs.
    PriceCatalogItem:
      type: object
      properties:
        sku:
          type: string
          description: The machine class, for example `m4-24g`.
        display_name:
          type: string
          description: A readable name for the machine class.
        unit_price:
          allOf:
            - $ref: '#/components/schemas/Money'
          description: The price per unit.
        unit:
          type: string
          description: The unit the price is per.
      description: The price of one machine class.
    PageResponse:
      type: object
      properties:
        next_page_token:
          type: string
          description: >-
            Token to pass as PageRequest.page_token to fetch the next page.
            Empty when there are no further pages.
        total_size:
          type: integer
          description: >-
            Total number of items across all pages, when cheaply knowable; 0
            otherwise.
          format: int32
      description: Paging information for a list.
    Money:
      type: object
      properties:
        currency_code:
          type: string
          description: ISO-4217 currency code, e.g. "USD".
        units:
          type: string
          description: Whole units of the amount. May be negative.
        nanos:
          type: integer
          description: >-
            Fractional units in nanos (10^-9). For a positive amount, nanos is
            in [0, 999999999]; units and nanos must share sign.
          format: int32
      description: >-
        Money — an exact monetary amount. Never use floating point for money;
        this mirrors the google.type.Money shape (units + nanos + ISO-4217
        currency).
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Send `Authorization: Bearer <credential>` to
        https://customer-api.mountthor.com. People use the session that `mthr
        login` stores (a token starting `mt_session_`, valid for up to 12
        hours). Automation uses a service-account credential (starting
        `mt_sa_v1_`, valid for 90 days) from Create credential. Each operation
        names the permission it needs. Service accounts hold permissions through
        custom roles, and some operations refuse them; those operations say so.

````

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