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

# List providers an API key can be pinned to

> Every provider this deployment can pin a key to, by display name.

Store one as an API key's `fixed_provider` to make it the only provider allowed
to serve that key. See the provider pinning guide for what the pin does to
fallback and to billing.

A provider that serves a surface but prices no listed model is left out: pinning
to it would refuse every request a caller could discover how to make. That makes
this list a strict subset of what `fixed_provider` accepts, never a superset, so
anything offered here is valid.



## OpenAPI

````yaml /api/openapi.json get /v1/providers/pinnable
openapi: 3.1.0
info:
  title: MeshAPI
  description: One key, all AI models.
  version: 0.1.0
servers:
  - url: https://api.meshapi.ai
security:
  - BearerAuth: []
paths:
  /v1/providers/pinnable:
    get:
      tags:
        - Providers
      summary: List providers an API key can be pinned to
      description: >-
        Every provider this deployment can pin a key to, by display name.


        Store one as an API key's `fixed_provider` to make it the only provider
        allowed

        to serve that key. See the provider pinning guide for what the pin does
        to

        fallback and to billing.


        A provider that serves a surface but prices no listed model is left out:
        pinning

        to it would refuse every request a caller could discover how to make.
        That makes

        this list a strict subset of what `fixed_provider` accepts, never a
        superset, so

        anything offered here is valid.
      operationId: list_pinnable_providers
      parameters:
        - in: header
          name: X-Mesh-Version
          required: false
          schema:
            type: string
            enum:
              - 2026-08
              - 2026-09
            default: 2026-08
          example: 2026-09
          description: >-
            Dated version of the API contract to pin this request to. Omit it
            and the request is served under `2026-08` — the oldest supported
            version, so an existing integration is never moved by a release. A
            malformed or unsupported value is rejected with `400
            invalid_api_version` rather than falling back silently. The version
            actually served is echoed as `X-Mesh-Version` on every response,
            including errors.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/PinnableProviderOut'
                type: array
                title: Response List Pinnable Providers
        '503':
          description: >-
            The calling key's policy names a brand wildcard and the catalog
            brand map is not loaded yet — retry
          content:
            application/json:
              example:
                error:
                  code: model_policy_unavailable
                  message: Model policy cannot be evaluated right now. Please retry.
                request_id: req_01ARZ3NDEKTSV4RRFFQ69G5FAV
      security:
        - BearerAuth: []
components:
  schemas:
    PinnableProviderOut:
      properties:
        provider:
          type: string
          title: Provider
          description: The slug to store as `fixed_provider`, e.g. `bedrock`.
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Name
          description: >-
            Human-readable name (`AWS Bedrock` for `bedrock`). Null for a
            provider our mapping does not know yet — render the raw slug then.
        icon_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon Url
          description: Absolute logo URL, or null.
        icon_url_dark:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon Url Dark
          description: >-
            Logo for dark backgrounds. Only set for marks that would be
            invisible otherwise; fall back to `icon_url`.
        model_count:
          type: integer
          title: Model Count
          description: >-
            How many LISTED models this provider prices — the same set `GET
            /v1/models` shows you. A model hidden from the catalogue but still
            priced stays callable by id and is not counted here.
      type: object
      required:
        - provider
        - model_count
      title: PinnableProviderOut
      description: One provider an API key's `fixed_provider` may name.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Enter your MeshAPI key (`rsk_...`) or, for the admin-keys endpoints, a
        dashboard session token — sent as `Authorization: Bearer <token>`.

````