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

# List curated extension packages available to the organization



## OpenAPI

````yaml /openapi/next.yaml get /admin/package-catalog
openapi: 3.1.0
info:
  title: Blue — Service Contract
  version: 0.1.0
  description: >
    The client-side contract the `blue` CLI expects from the provisioned
    service. The reference `control-api` implements it; any BYO service that
    honors these shapes can be swapped in. Gateway-mode inference JWT issuance
    is OPTIONAL — governance-only deployments need only `GET
    /governance-config`. CLI callers use OAuth 2.0 access tokens issued through
    RFC 8628 device authorization; dashboard callers use an HTTP-only Better
    Auth session cookie.
servers:
  - url: https://harness.example.com
    description: Replace with the Control API URL for your deployment.
security:
  - oauthDevice: []
tags:
  - name: System
    description: Service health and authenticated identity.
  - name: Configuration
    description: Personalized governance policy and client reconciliation state.
  - name: Gateway
    description: Per-user managed inference-gateway credential lifecycle.
  - name: Sessions
    description: Raw-session upload, metadata, and download lifecycle.
  - name: Administration
    description: Organization-administrator policy and client operations.
  - name: User management
    description: >-
      Organization user lifecycle, session revocation, and invitation
      operations.
  - name: Identity provisioning
    description: SCIM 2.0 user and group provisioning for an external identity provider.
paths:
  /admin/package-catalog:
    get:
      tags:
        - Administration
      summary: List curated extension packages available to the organization
      operationId: listManagedPackageCatalog
      responses:
        '200':
          description: Digest-pinned package catalog
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ManagedPackage'
components:
  schemas:
    ManagedPackage:
      type: object
      required:
        - id
        - version
        - source_ref
        - sha256
      properties:
        id:
          type: string
          pattern: ^[a-z0-9-]+$
        name:
          type: string
        version:
          type: string
        source_ref:
          type: string
          description: Immutable HTTPS or local .tar.gz archive
        artifact_id:
          type: string
          format: uuid
          description: Organization-scoped mirrored artifact
        sha256:
          type: string
          pattern: ^[A-Fa-f0-9]{64}$
        platform_sources:
          type: object
          description: >-
            Exact `<os>-<arch>` archive overrides; clients require a matching
            entry when this map is present.
          additionalProperties:
            $ref: '#/components/schemas/PackageSource'
        settings:
          type: object
          additionalProperties: true
        adapters:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/PackageAdapter'
    PackageSource:
      type: object
      required:
        - source_ref
        - sha256
      properties:
        source_ref:
          type: string
          description: Immutable HTTPS or local .tar.gz archive
        artifact_id:
          type: string
          format: uuid
          description: Organization-scoped mirrored artifact
        sha256:
          type: string
          pattern: ^[A-Fa-f0-9]{64}$
    PackageAdapter:
      type: object
      description: >
        All paths are archive-root-relative. skills_dir may identify an exact
        skill folder or a collection of skill folders. Codex/Claude agents and
        hooks require plugin_dir; OpenCode hooks are declared as plugin modules.
      properties:
        introduced:
          type: string
          description: >-
            Inclusive harness-version lower bound for adapter availability;
            defaults to 0.0.0
        before:
          type: string
          description: Exclusive harness-version upper bound for adapter availability
        plugin_dir:
          type: string
        skills_dir:
          type: string
        agents_dir:
          type: string
        hooks_file:
          type: string
        plugins:
          type: array
          items:
            type: string
        helpers:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/PlatformAsset'
        variants:
          type: array
          description: >-
            Ordered half-open layouts selected within adapter availability;
            intervals must not overlap or leave gaps without a fallback.
          items:
            $ref: '#/components/schemas/PackageAdapterVariant'
    PlatformAsset:
      type: object
      properties:
        paths:
          type: object
          description: Archive paths keyed by os-architecture, with optional default.
          additionalProperties:
            type: string
    PackageAdapterVariant:
      type: object
      required:
        - introduced
      properties:
        introduced:
          type: string
          description: Inclusive semantic-version lower bound
        before:
          type: string
          description: Exclusive semantic-version upper bound; omit for open-ended
        plugin_dir:
          type: string
        skills_dir:
          type: string
        agents_dir:
          type: string
        hooks_file:
          type: string
        plugins:
          type: array
          items:
            type: string
        helpers:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/PlatformAsset'
  securitySchemes:
    oauthDevice:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        OAuth 2.0 access token obtained through RFC 8628 at
        /api/auth/device/code and /api/auth/oauth2/token. The API enforces
        governance:read, session:write, and client-status:write as appropriate.

````