> ## 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.

# Get compute profile

> Returns how your account's compute is served: who manages its Macs (`computeManagement`), whether that is settled (`state`), and, for an account whose Macs your organization manages, the capabilities it has (`capabilities`). Read it to decide which compute operations to offer, or to explain a refusal. Mount Thor sets the profile, and no request changes it. Every person and every service account in your account can call it. Each service account holds `compute:GetComputeProfile` without a role.

Service accounts can call it with the `compute:GetComputeProfile` permission.



## OpenAPI

````yaml /api-reference/openapi/compute.json get /compute/v2/computeprofile
openapi: 3.0.3
info:
  title: Mount Thor Compute API
  version: 02a4a30e3ecb
  description: >-
    Create, list, inspect and delete virtual machines and bare-metal Macs, read
    the image and machine-class catalogs, see your reserved capacity and your
    account's compute profile, report machine problems to Mount Thor, and
    subscribe to machine events. Service-account credentials can list, create
    and delete machines, read the catalogs and the compute profile, and use
    event subscriptions. In an account whose Macs your organization manages,
    they can also read a Mac and use problem reports, and every one of these
    only as far as the account's capabilities allow. The other compute
    operations are for people using the `mthr` CLI or the portal. In an account
    whose Macs your organization manages, an operation outside its capabilities
    (see Get compute profile) answers 400 `tenant_compute_customer_managed`.
    Mount Thor names each machine. To change a machine's class or image, delete
    it and create a new one. Lists return one page at a time: pass
    `nextPageToken` back as `pageToken` until it comes back empty.
servers:
  - url: https://customer-api.mountthor.com
security:
  - bearerAuth: []
paths:
  /compute/v2/computeprofile:
    get:
      summary: Get compute profile
      description: >-
        Returns how your account's compute is served: who manages its Macs
        (`computeManagement`), whether that is settled (`state`), and, for an
        account whose Macs your organization manages, the capabilities it has
        (`capabilities`). Read it to decide which compute operations to offer,
        or to explain a refusal. Mount Thor sets the profile, and no request
        changes it. Every person and every service account in your account can
        call it. Each service account holds `compute:GetComputeProfile` without
        a role.


        Service accounts can call it with the `compute:GetComputeProfile`
        permission.
      operationId: ComputeService_GetComputeProfile
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetComputeProfileResponse'
        '400':
          description: >-
            The request is invalid or cannot be carried out now. `error.reason`
            says why when it can.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: The credential is missing, invalid or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            The credential does not allow this operation. `error.reason` is
            `machine_credential_not_supported` when the operation refuses
            service accounts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: >-
            Too many requests for now. Event subscription operations are limited
            per account; retry after the number of seconds in `Retry-After`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Compute is temporarily unable to complete the request; retry later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    GetComputeProfileResponse:
      type: object
      properties:
        computeProfile:
          $ref: '#/components/schemas/ComputeProfile'
          description: The profile.
      description: Your account's compute profile.
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: The HTTP status code.
            status:
              type: string
              description: >-
                A short category name, for example `NotFound`, `InvalidArgument`
                or `FailedPrecondition`.
            reason:
              type: string
              description: >-
                A stable, machine-readable reason when one applies, for example
                `insufficient_funds` when a launch is refused for billing.
                Branch on this, not on `message`.
            message:
              type: string
              description: A human-readable explanation. Its wording can change.
    ComputeProfile:
      type: object
      properties:
        computeManagement:
          readOnly: true
          enum:
            - COMPUTE_MANAGEMENT_MANAGED
            - COMPUTE_MANAGEMENT_CUSTOMER_MANAGED
          type: string
          description: >-
            Who manages your account's Macs: `COMPUTE_MANAGEMENT_MANAGED` for
            Mount Thor, or `COMPUTE_MANAGEMENT_CUSTOMER_MANAGED` when your
            organization manages them with its own device management. While
            `state` is `STATE_SETTING_UP`, it is `COMPUTE_MANAGEMENT_MANAGED`.
          format: enum
        state:
          readOnly: true
          enum:
            - STATE_READY
            - STATE_SETTING_UP
          type: string
          description: >-
            `STATE_READY` once `computeManagement` is settled.
            `STATE_SETTING_UP` while your account is being set up as
            customer-managed: reads answer as for a Mount Thor-managed account,
            and every change is refused with 503 until the setup completes.
          format: enum
        capabilities:
          readOnly: true
          type: array
          items:
            enum:
              - CAPABILITY_INVENTORY_READ
              - CAPABILITY_PROBLEM_REPORTS
              - CAPABILITY_EVENTS
            type: string
            format: enum
          description: >-
            What an account whose Macs your organization manages can use, each
            at most once: `CAPABILITY_INVENTORY_READ` (List and Get bare-metal
            machines), `CAPABILITY_PROBLEM_REPORTS` (the problem report
            operations) and `CAPABILITY_EVENTS` (the event subscription
            operations). Other compute operations answer 400
            `tenant_compute_customer_managed`. Absent for a Mount Thor-managed
            account. To add a capability, ask your Mount Thor contact. Values
            may be added. Skip a value you do not know.
      description: >-
        How your account's compute is served. Mount Thor sets it, and no request
        changes it.
  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.