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

# Get a private endpoint

> Get one private endpoint with its upstream configuration and current pricing. [Management key](/docs/guides/overview/auth/management-api-keys) required.



## OpenAPI

````yaml /openapi/openapi.yaml get /private-endpoints/{id}
openapi: 3.1.0
info:
  contact:
    email: support@openrouter.ai
    name: OpenRouter Support
    url: https://openrouter.ai/docs
  description: OpenAI-compatible API with additional OpenRouter features
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  title: OpenRouter API
  version: 1.0.0
servers:
  - description: Production server
    url: https://openrouter.ai/api/v1
    x-speakeasy-server-id: production
security:
  - apiKey: []
tags:
  - description: API key management endpoints
    name: API Keys
  - description: Analytics and usage endpoints
    name: Analytics
  - description: Anthropic Messages endpoints
    name: Anthropic Messages
  - description: BYOK endpoints
    name: BYOK
  - description: >-
      Submit, list, poll, and delete asynchronous batches of inference requests.
      See https://openrouter.ai/docs/batch-quickstart.
    name: Batch
  - description: Benchmarks endpoints
    name: Benchmarks
  - description: Chat completion endpoints
    name: Chat
  - description: Task classification market-share endpoints
    name: Classifications
  - description: Containers endpoints
    name: Containers
  - description: Credit management endpoints
    name: Credits
  - description: >-
      Public OpenRouter usage datasets. Data returned by these endpoints is
      licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/):
      reuse and republish it, including commercially, with attribution to
      OpenRouter.
    name: Datasets
  - description: Text embedding endpoints
    name: Embeddings
  - description: Endpoint information
    name: Endpoints
  - description: External Users endpoints
    name: External Users
  - description: Files endpoints
    name: Files
  - description: Generation history endpoints
    name: Generations
  - description: Guardrails endpoints
    name: Guardrails
  - description: Images endpoints
    name: Images
  - description: Model information endpoints
    name: Models
  - description: OAuth authentication endpoints
    name: OAuth
  - description: Observability endpoints
    name: Observability
  - description: Organization endpoints
    name: Organization
  - description: Presets endpoints
    name: Presets
  - description: Private Endpoints endpoints
    name: Private Endpoints
  - description: Private Providers endpoints
    name: Private Providers
  - description: Provider information endpoints
    name: Providers
  - description: Rerank endpoints
    name: Rerank
  - description: OpenAI-compatible Responses API endpoints
    name: Responses
  - description: >-
      Management endpoints for SCIM group-to-workspace mappings, authenticated
      with a management key. These are not the SCIM 2.0 connector endpoints for
      your identity provider. In your identity provider, enter the SCIM endpoint
      URL shown when you enable provisioning under Settings > Members > SCIM
      Mappings. See
      https://openrouter.ai/docs/guides/features/scim-mappings#set-up-provisioning.
    name: SCIM
  - description: Speech-to-text endpoints
    name: STT
    x-displayName: Transcriptions
  - description: >-
      System One endpoints for models such as Jev, compatible with the TypeSafe
      SDKs. See https://openrouter.ai/docs/guides/community/typesafe-sdk.
    name: SystemOne
    x-displayName: System One
  - description: Text-to-speech endpoints
    name: TTS
    x-displayName: Speech
  - description: >-
      The catalog of server tools OpenRouter runs on behalf of a model: accepted
      `tools[].type` spellings per API format, engines and pricing, and which
      endpoints run each tool natively. See
      https://openrouter.ai/docs/guides/features/server-tools.
    name: Tools
  - description: >-
      Store host-bound secrets for a workspace or for one intern. Scope is
      selected by the API key. Responses return metadata only, never secret
      values. See https://openrouter.ai/docs/guides/ori/vault.
    name: Vault
  - description: Video Generation endpoints
    name: Video Generation
  - description: Workspaces endpoints
    name: Workspaces
  - description: Alpha feature endpoints for Decisions requests
    name: alpha.decisions
externalDocs:
  description: OpenRouter Documentation
  url: https://openrouter.ai/docs
paths:
  /private-endpoints/{id}:
    get:
      tags:
        - Private Endpoints
      summary: Get a private endpoint
      description: >-
        Get one private endpoint with its upstream configuration and current
        pricing. [Management
        key](/docs/guides/overview/auth/management-api-keys) required.
      operationId: getPrivateEndpoint
      parameters:
        - description: Stable identifier of the private endpoint.
          in: path
          name: id
          required: true
          schema:
            description: Stable identifier of the private endpoint.
            example: 5b1c4c4e-7d0a-4a8e-9f3a-2d6c1b0e8a11
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrivateEndpointResponse'
          description: The private endpoint
        '401':
          content:
            application/json:
              example:
                error:
                  code: 401
                  message: Missing Authentication header
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized - Authentication required or invalid credentials
        '403':
          content:
            application/json:
              example:
                error:
                  code: 403
                  message: Only management keys can perform this operation
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden - Authentication successful but insufficient permissions
        '404':
          content:
            application/json:
              example:
                error:
                  code: 404
                  message: Resource not found
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found - Resource does not exist
        '408':
          content:
            application/json:
              example:
                error:
                  code: 408
                  message: Operation timed out. Please try again later.
              schema:
                $ref: '#/components/schemas/RequestTimeoutResponse'
          description: Request Timeout - Operation exceeded time limit
        '500':
          content:
            application/json:
              example:
                error:
                  code: 500
                  message: Internal Server Error
              schema:
                $ref: '#/components/schemas/InternalServerResponse'
          description: Internal Server Error - Unexpected server error
components:
  schemas:
    PrivateEndpointResponse:
      properties:
        data:
          $ref: '#/components/schemas/PrivateEndpoint'
      required:
        - data
      type: object
    UnauthorizedResponse:
      description: Unauthorized - Authentication required or invalid credentials
      example:
        error:
          code: 401
          message: Missing Authentication header
      properties:
        error:
          $ref: '#/components/schemas/UnauthorizedResponseErrorData'
        openrouter_metadata:
          additionalProperties: {}
          type:
            - object
            - 'null'
        user_id:
          type:
            - string
            - 'null'
      required:
        - error
      type: object
    ForbiddenResponse:
      description: Forbidden - Authentication successful but insufficient permissions
      example:
        error:
          code: 403
          message: Only management keys can perform this operation
      properties:
        error:
          $ref: '#/components/schemas/ForbiddenResponseErrorData'
        openrouter_metadata:
          additionalProperties: {}
          type:
            - object
            - 'null'
        user_id:
          type:
            - string
            - 'null'
      required:
        - error
      type: object
    NotFoundResponse:
      description: Not Found - Resource does not exist
      example:
        error:
          code: 404
          message: Resource not found
      properties:
        error:
          $ref: '#/components/schemas/NotFoundResponseErrorData'
        openrouter_metadata:
          additionalProperties: {}
          type:
            - object
            - 'null'
        user_id:
          type:
            - string
            - 'null'
      required:
        - error
      type: object
    RequestTimeoutResponse:
      description: Request Timeout - Operation exceeded time limit
      example:
        error:
          code: 408
          message: Operation timed out. Please try again later.
      properties:
        error:
          $ref: '#/components/schemas/RequestTimeoutResponseErrorData'
        openrouter_metadata:
          additionalProperties: {}
          type:
            - object
            - 'null'
        user_id:
          type:
            - string
            - 'null'
      required:
        - error
      type: object
    InternalServerResponse:
      description: Internal Server Error - Unexpected server error
      example:
        error:
          code: 500
          message: Internal Server Error
      properties:
        error:
          $ref: '#/components/schemas/InternalServerResponseErrorData'
        openrouter_metadata:
          additionalProperties: {}
          type:
            - object
            - 'null'
        user_id:
          type:
            - string
            - 'null'
      required:
        - error
      type: object
    PrivateEndpoint:
      example:
        base_url: https://contoso.openai.azure.com
        declared_parameters:
          - temperature
          - seed
        declared_region: us
        declared_zdr: true
        id: 5b1c4c4e-7d0a-4a8e-9f3a-2d6c1b0e8a11
        max_completion_tokens: 131072
        model_name: 'OpenAI: GPT-4o'
        model_permaslug: openai/gpt-4o-2024-08-06
        model_slug: openai/gpt-4o
        pricing:
          cache_read: '0.00000025'
          cache_write: '0.000003125'
          completion: '0.00001'
          prompt: '0.0000025'
        provider_name: Azure
        provider_slug: azure
        settings:
          completions:
            chat: true
            text: false
          context_length: 128000
          excluded_parameters:
            - logit_bias
          inputs:
            audio: false
            base64_files: null
            base64_images: true
            file_urls: null
            image_urls: true
          max_completion_tokens: 16384
          max_prompt_tokens: null
          quantization: bf16
          reasoning:
            return_mechanism: reasoning
            supported: true
          tool_choice:
            auto: true
            function: false
            none: true
            required: true
        status: active
        tested_parameters:
          - tools
          - tool_choice
          - response_format
        upstream_model_id: gpt-4o-prod
      properties:
        base_url:
          description: >-
            HTTPS base URL of your deployment, or `null` for providers whose URL
            is derived from the BYOK credential (Azure, Amazon Bedrock, Google
            Vertex).
          example: https://contoso.openai.azure.com
          type:
            - string
            - 'null'
        declared_parameters:
          description: >-
            Parameters you declared the upstream supports. Requests that use a
            parameter only route to this endpoint when it is tested or declared.
          example:
            - temperature
            - seed
          items:
            type: string
          type: array
        declared_region:
          $ref: '#/components/schemas/PrivateEndpointDeclaredRegion'
        declared_zdr:
          description: >-
            Whether you attest this deployment retains no prompt or completion
            data. `null` means undeclared.
          example: true
          type:
            - boolean
            - 'null'
        id:
          description: Stable identifier of the private endpoint.
          example: 5b1c4c4e-7d0a-4a8e-9f3a-2d6c1b0e8a11
          format: uuid
          type: string
        max_completion_tokens:
          description: >-
            Most completion tokens a request routed to this endpoint can
            produce, or `null` when the endpoint sets no cap beyond the model
            context length.
          example: 131072
          type:
            - integer
            - 'null'
        model_name:
          description: >-
            Display name of the model, or `null` when the model is no longer
            listed.
          example: 'OpenAI: GPT-4o'
          type:
            - string
            - 'null'
        model_permaslug:
          description: Permanent slug of the model this endpoint serves.
          example: openai/gpt-4o-2024-08-06
          type: string
        model_slug:
          description: Public model slug, or `null` when the model is no longer listed.
          example: openai/gpt-4o
          type:
            - string
            - 'null'
        pricing:
          $ref: '#/components/schemas/PrivateEndpointPricing'
        provider_name:
          description: Display name of the upstream provider.
          example: Azure
          type: string
        provider_slug:
          description: >-
            Slug of the upstream provider, or `null` when the provider is no
            longer listed.
          example: azure
          type:
            - string
            - 'null'
        settings:
          $ref: '#/components/schemas/PrivateEndpointSettings'
        status:
          $ref: '#/components/schemas/PrivateEndpointStatus'
        tested_parameters:
          description: >-
            Parameters a validation run proved the upstream honors (`tools`,
            `tool_choice`, `response_format`, `structured_outputs`, `stop`).
            Read-only; cleared when the upstream configuration changes.
          example:
            - tools
            - tool_choice
            - response_format
          items:
            type: string
          type: array
        upstream_model_id:
          description: Model or deployment identifier sent to the upstream provider.
          example: gpt-4o-prod
          type: string
      required:
        - id
        - status
        - model_permaslug
        - model_slug
        - model_name
        - provider_name
        - provider_slug
        - base_url
        - upstream_model_id
        - declared_zdr
        - declared_region
        - pricing
        - tested_parameters
        - declared_parameters
        - settings
      type: object
    UnauthorizedResponseErrorData:
      description: Error data for UnauthorizedResponse
      example:
        code: 401
        message: Missing Authentication header
      properties:
        code:
          type: integer
        message:
          type: string
        metadata:
          additionalProperties: {}
          type:
            - object
            - 'null'
      required:
        - code
        - message
      type: object
    ForbiddenResponseErrorData:
      description: Error data for ForbiddenResponse
      example:
        code: 403
        message: Only management keys can perform this operation
      properties:
        code:
          type: integer
        message:
          type: string
        metadata:
          additionalProperties: {}
          type:
            - object
            - 'null'
      required:
        - code
        - message
      type: object
    NotFoundResponseErrorData:
      description: Error data for NotFoundResponse
      example:
        code: 404
        message: Resource not found
      properties:
        code:
          type: integer
        message:
          type: string
        metadata:
          additionalProperties: {}
          type:
            - object
            - 'null'
      required:
        - code
        - message
      type: object
    RequestTimeoutResponseErrorData:
      description: Error data for RequestTimeoutResponse
      example:
        code: 408
        message: Operation timed out. Please try again later.
      properties:
        code:
          type: integer
        message:
          type: string
        metadata:
          additionalProperties: {}
          type:
            - object
            - 'null'
      required:
        - code
        - message
      type: object
    InternalServerResponseErrorData:
      description: Error data for InternalServerResponse
      example:
        code: 500
        message: Internal Server Error
      properties:
        code:
          type: integer
        message:
          type: string
        metadata:
          additionalProperties: {}
          type:
            - object
            - 'null'
      required:
        - code
        - message
      type: object
    PrivateEndpointDeclaredRegion:
      description: >-
        Where you attest this deployment processes data. `global` means not
        regional; `null` means undeclared.
      enum:
        - global
        - europe
        - us
        - null
      example: us
      type:
        - string
        - 'null'
    PrivateEndpointPricing:
      description: >-
        Negotiated per-token rates reported for requests routed to this
        endpoint.
      example:
        cache_read: '0.00000025'
        cache_write: '0.000003125'
        completion: '0.00001'
        prompt: '0.0000025'
      properties:
        cache_read:
          description: >-
            USD per cache-read prompt token, as a decimal string. When omitted,
            inherited from the public endpoint of the same model and provider:
            scaled by its cache-read to prompt ratio, or left at the pricing
            strategy default when it publishes no cache-read rate. Required when
            there is no such endpoint and the provider bills cache reads.
          example: '0.00000025'
          pattern: ^\d+(\.\d+)?$
          type: string
        cache_write:
          description: >-
            USD per cache-write prompt token, as a decimal string. When omitted,
            inherited from the public endpoint of the same model and provider:
            scaled by its cache-write to prompt ratio, or left at the pricing
            strategy default when it publishes no cache-write rate. Required
            when there is no such endpoint and the provider bills cache writes.
          example: '0.000003125'
          pattern: ^\d+(\.\d+)?$
          type: string
        completion:
          description: USD per completion token, as a decimal string.
          example: '0.00001'
          pattern: ^\d+(\.\d+)?$
          type: string
        prompt:
          description: USD per prompt token, as a decimal string.
          example: '0.0000025'
          pattern: ^\d+(\.\d+)?$
          type: string
      required:
        - prompt
        - completion
      type: object
    PrivateEndpointSettings:
      description: >-
        Capabilities and limits routing uses for this endpoint. A new endpoint
        copies them from the public endpoint for the same model and provider, or
        from the model, and the owner can change them. Rate limits are not part
        of this object: a private endpoint is billed to its own upstream key, so
        request limits stay with the provider.
      example:
        completions:
          chat: true
          text: false
        context_length: 128000
        excluded_parameters:
          - logit_bias
        inputs:
          audio: false
          base64_files: null
          base64_images: true
          file_urls: null
          image_urls: true
        max_completion_tokens: 16384
        max_prompt_tokens: null
        quantization: bf16
        reasoning:
          return_mechanism: reasoning
          supported: true
        tool_choice:
          auto: true
          function: false
          none: true
          required: true
      properties:
        completions:
          properties:
            chat:
              description: Serves `/chat/completions`; `null` uses the provider default.
              type:
                - boolean
                - 'null'
            text:
              description: Serves `/completions`; `null` uses the provider default.
              type:
                - boolean
                - 'null'
          required:
            - chat
            - text
          type: object
        context_length:
          description: >-
            Longest prompt plus completion, in tokens, or `null` to keep the
            model default.
          example: 128000
          minimum: 1
          type:
            - integer
            - 'null'
        excluded_parameters:
          description: >-
            Request parameters the upstream rejects even though the model
            supports them; requests using one do not route here. Cannot name a
            tested parameter.
          example:
            - logit_bias
          items:
            enum:
              - temperature
              - top_p
              - top_k
              - min_p
              - top_a
              - frequency_penalty
              - presence_penalty
              - repetition_penalty
              - max_tokens
              - max_completion_tokens
              - logit_bias
              - logprobs
              - top_logprobs
              - prediction
              - seed
              - response_format
              - structured_outputs
              - stop
              - tools
              - tool_choice
              - parallel_tool_calls
              - include_reasoning
              - reasoning
              - reasoning_effort
              - web_search_options
              - verbosity
            type: string
          type: array
        inputs:
          properties:
            audio:
              description: Accepts audio input. `null` keeps the provider default.
              type:
                - boolean
                - 'null'
            base64_files:
              description: Accepts base64 file data. `null` keeps the provider default.
              type:
                - boolean
                - 'null'
            base64_images:
              description: Accepts base64 image data. `null` keeps the provider default.
              type:
                - boolean
                - 'null'
            file_urls:
              description: Accepts file URLs. `null` keeps the provider default.
              type:
                - boolean
                - 'null'
            image_urls:
              description: Accepts image URLs. `null` keeps the provider default.
              type:
                - boolean
                - 'null'
          required:
            - image_urls
            - base64_images
            - file_urls
            - base64_files
            - audio
          type: object
        max_completion_tokens:
          description: >-
            Longest completion the upstream returns, in tokens, or `null` to
            keep the model default.
          example: 16384
          minimum: 1
          type:
            - integer
            - 'null'
        max_prompt_tokens:
          description: >-
            Longest prompt, in tokens, or `null` for no cap below the context
            length. Cannot exceed `context_length`, or the model context length
            while `context_length` is `null`.
          example: null
          minimum: 1
          type:
            - integer
            - 'null'
        quantization:
          $ref: '#/components/schemas/PrivateEndpointQuantization'
        reasoning:
          properties:
            return_mechanism:
              $ref: '#/components/schemas/PrivateEndpointReasoningReturnMechanism'
            supported:
              description: Whether requests with `reasoning` route to this endpoint.
              example: true
              type: boolean
          required:
            - supported
            - return_mechanism
          type: object
        tool_choice:
          properties:
            auto:
              description: 'Accepts `tool_choice: "auto"`.'
              type: boolean
            function:
              description: Accepts a named function in `tool_choice`.
              type: boolean
            none:
              description: 'Accepts `tool_choice: "none"`.'
              type: boolean
            required:
              description: 'Accepts `tool_choice: "required"`.'
              type: boolean
          required:
            - none
            - auto
            - required
            - function
          type: object
      required:
        - context_length
        - max_prompt_tokens
        - max_completion_tokens
        - quantization
        - reasoning
        - inputs
        - tool_choice
        - excluded_parameters
        - completions
      type: object
    PrivateEndpointStatus:
      description: >-
        Lifecycle state. `draft` endpoints are not routable until validated and
        activated; `disabled` endpoints are activated but temporarily not
        routable.
      enum:
        - draft
        - active
        - disabled
      example: active
      type: string
    PrivateEndpointQuantization:
      description: Weight precision the deployment runs at; `unknown` when not stated.
      enum:
        - int4
        - int8
        - fp4
        - mxfp4
        - nvfp4
        - fp6
        - fp8
        - mxfp8
        - fp16
        - bf16
        - fp32
        - unknown
      example: bf16
      type: string
    PrivateEndpointReasoningReturnMechanism:
      description: >-
        Where the upstream puts reasoning tokens in its response: `reasoning`
        and `reasoning-content` are response fields, `content-string` is inline
        in the message, `none` returns no reasoning. `null` uses the provider
        default.
      enum:
        - content-string
        - reasoning-content
        - reasoning
        - none
        - null
      example: reasoning
      type:
        - string
        - 'null'
  securitySchemes:
    apiKey:
      description: API key as bearer token in Authorization header
      scheme: bearer
      type: http

````