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

# Get Provider Spec By Key

> Get a provider specification by its key (e.g., 'openai', 'anthropic').



## OpenAPI

````yaml /api-reference/openapi.json get /v1/provider-specs/by-key/{provider_key}
openapi: 3.1.0
info:
  description: >-
    Modular and extensible framework for building AI agents. This API requires
    JWT Bearer token authentication for most endpoints. Include your JWT token
    in the Authorization header. Public endpoints include /, /health, /docs,
    /redoc, and /openapi.json.
  title: AgentArea API
  version: 0.1.0
servers: []
security:
  - bearer: []
paths:
  /v1/provider-specs/by-key/{provider_key}:
    get:
      tags:
        - v1
        - protected
        - provider-specs
      summary: Get Provider Spec By Key
      description: Get a provider specification by its key (e.g., 'openai', 'anthropic').
      operationId: get_provider_spec_by_key_v1_provider_specs_by_key__provider_key__get
      parameters:
        - in: path
          name: provider_key
          required: true
          schema:
            title: Provider Key
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderSpecWithModelsResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
        - HTTPBearer: []
components:
  schemas:
    ProviderSpecWithModelsResponse:
      properties:
        created_at:
          title: Created At
          type: string
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        icon:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon
        icon_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon Url
        id:
          title: Id
          type: string
        is_builtin:
          title: Is Builtin
          type: boolean
        models:
          items:
            $ref: >-
              #/components/schemas/agentarea_api__api__v1__provider_specs__ModelSpecResponse
          title: Models
          type: array
        name:
          title: Name
          type: string
        provider_key:
          title: Provider Key
          type: string
        provider_type:
          title: Provider Type
          type: string
        updated_at:
          title: Updated At
          type: string
      required:
        - id
        - provider_key
        - name
        - description
        - provider_type
        - icon
        - icon_url
        - is_builtin
        - created_at
        - updated_at
        - models
      title: ProviderSpecWithModelsResponse
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    agentarea_api__api__v1__provider_specs__ModelSpecResponse:
      properties:
        context_window:
          title: Context Window
          type: integer
        created_at:
          title: Created At
          type: string
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        display_name:
          title: Display Name
          type: string
        id:
          title: Id
          type: string
        input_cost_per_token:
          anyOf:
            - type: number
            - type: 'null'
          title: Input Cost Per Token
        is_active:
          title: Is Active
          type: boolean
        max_output_tokens:
          anyOf:
            - type: integer
            - type: 'null'
          title: Max Output Tokens
        model_name:
          title: Model Name
          type: string
        output_cost_per_token:
          anyOf:
            - type: number
            - type: 'null'
          title: Output Cost Per Token
        provider_spec_id:
          title: Provider Spec Id
          type: string
        supports_function_calling:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Supports Function Calling
        supports_reasoning:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Supports Reasoning
        supports_vision:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Supports Vision
        updated_at:
          title: Updated At
          type: string
      required:
        - id
        - provider_spec_id
        - model_name
        - display_name
        - description
        - context_window
        - is_active
        - created_at
        - updated_at
      title: ModelSpecResponse
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
  securitySchemes:
    bearer:
      bearerFormat: JWT
      description: JWT Bearer token for authentication
      scheme: bearer
      type: http
    HTTPBearer:
      scheme: bearer
      type: http

````