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

# Read a catalog resource

> GetResource returns a single catalog resource by kind and name.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/catalog/{ref.kind}/{ref.name}
openapi: 3.0.0
info:
  title: Murmur REST API
  description: >-
    PRE-ALPHA: INTERFACE SUBJECT TO CHANGE WITHOUT NOTICE.


    The murmur REST API lets you spawn agents, track their progress, manage
    their task lists, and read and write catalog resources from any HTTP client.
  version: v1
servers:
  - url: https://api.murmur.dev
security:
  - ApiKey: []
tags:
  - name: MurmurService
paths:
  /v1/catalog/{ref.kind}/{ref.name}:
    get:
      tags:
        - MurmurService
      summary: Read a catalog resource
      description: GetResource returns a single catalog resource by kind and name.
      operationId: MurmurService_GetResource
      parameters:
        - name: ref.kind
          description: e.g. "vm-profile", "environment", "pool-config"
          in: path
          required: true
          schema:
            type: string
        - name: ref.name
          description: resource name within the kind (required)
          in: path
          required: true
          schema:
            type: string
        - name: ref.tenant.provider
          description: >-
            Identity provider of the tenant namespace (e.g. PROVIDER_GITHUB_APP
            for a GitHub org).
          in: query
          required: false
          schema:
            type: string
            enum:
              - PROVIDER_UNSPECIFIED
              - PROVIDER_GITHUB_OAUTH
              - PROVIDER_GITHUB_APP
              - PROVIDER_GOOGLE_OIDC
              - PROVIDER_SERVICE_PROFILE
            default: PROVIDER_UNSPECIFIED
        - name: ref.tenant.org
          description: username or org name
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1GetResourceResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googleRpcStatus'
components:
  schemas:
    v1GetResourceResponse:
      type: object
      properties:
        kind:
          type: string
        payload:
          type: string
          format: byte
          description: The resource document as base64-encoded JSON.
        inputFormat:
          $ref: '#/components/schemas/v1InputFormat'
        generation:
          type: string
          format: int64
          description: >-
            Version generation of the stored resource, read atomically with
            payload. Pass it back as SetResourceRequest.if_generation_match for
            a consistent read-modify-write. 0 when the resource has no stored
            version (platform builtins and change-request records).
    googleRpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
          description: >-
            Numeric status code for the failure, matching the HTTP status of the
            response via the standard mapping (e.g. 3 INVALID_ARGUMENT → 400, 5
            NOT_FOUND → 404, 7 PERMISSION_DENIED → 403, 16 UNAUTHENTICATED →
            401).
        message:
          type: string
          description: Human-readable description of what caused the failure.
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
          description: >-
            Machine-readable error details, when the failure carries them.
            Usually empty.
      description: The error envelope returned on every non-2xx response.
    v1InputFormat:
      type: string
      enum:
        - INPUT_FORMAT_UNSPECIFIED
        - INPUT_FORMAT_YAML
        - INPUT_FORMAT_MARKDOWN
      default: INPUT_FORMAT_UNSPECIFIED
      description: >-
        InputFormat describes how the CLI accepts input for a catalog resource
        kind.
    protobufAny:
      type: object
      properties:
        '@type':
          type: string
          description: >-
            Identifies the payload type of this detail value; the remaining
            properties are that type's fields.
      additionalProperties: {}
      description: >-
        A structured detail value. `@type` identifies the payload type; the
        remaining properties are that type's fields.
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      description: 'murmur API key: mur_<key_id>.<secret>'

````