> ## Documentation Index
> Fetch the complete documentation index at: https://portkey-docs-add-third-party-integration-issues-fixes.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve Integration



## OpenAPI

````yaml get /integrations/{slug}
openapi: 3.0.0
info:
  title: Portkey API
  description: >-
    The Portkey REST API. Please see https://portkey.ai/docs/api-reference for
    more details.
  version: 2.0.0
  termsOfService: https://portkey.ai/terms
  contact:
    name: Portkey Developer Forum
    url: https://portkey.wiki/community
  license:
    name: MIT
    url: https://github.com/Portkey-AI/portkey-openapi/blob/master/LICENSE
servers:
  - url: https://api.portkey.ai/v1
    description: Portkey API Public Endpoint
security:
  - Portkey-Key: []
tags:
  - name: Assistants
    description: Build Assistants that can call models and use tools.
  - name: Audio
    description: Turn audio into text or text into audio.
  - name: Chat
    description: >-
      Given a list of messages comprising a conversation, the model will return
      a response.
  - name: Realtime
    description: WebSocket proxy for provider Realtime APIs
  - name: Collections
    description: Create, List, Retrieve, Update, and Delete collections of prompts.
  - name: Labels
    description: Create, List, Retrieve, Update, and Delete labels.
  - name: Prompt Collections
    description: Create, List, Retrieve, Update, and Delete prompt collections.
  - name: PromptPartials
    description: Create, List, Retrieve, Update, and Delete prompt partials.
  - name: Prompts
    description: >-
      Given a prompt template ID and variables, will run the saved prompt
      template and return a response.
  - name: Guardrails
    description: Create, List, Retrieve, Update, and Delete prompt Guardrails.
  - name: Completions
    description: >-
      Given a prompt, the model will return one or more predicted completions,
      and can also return the probabilities of alternative tokens at each
      position.
  - name: Embeddings
    description: >-
      Get a vector representation of a given input that can be easily consumed
      by machine learning models and algorithms.
  - name: Rerank
    description: >-
      Rerank a list of documents based on their relevance to a query. Supported
      providers include Cohere, Voyage, Jina, Pinecone, Bedrock, and Azure AI.
  - name: Fine-tuning
    description: Manage fine-tuning jobs to tailor a model to your specific training data.
  - name: Batch
    description: Create large batches of API requests to run asynchronously.
  - name: Files
    description: >-
      Files are used to upload documents that can be used with features like
      Assistants and Fine-tuning.
  - name: Images
    description: Given a prompt and/or an input image, the model will generate a new image.
  - name: Models
    description: List and describe the various models available in the API.
  - name: Moderations
    description: >-
      Given a input text, outputs if the model classifies it as potentially
      harmful.
  - name: Configs
    description: Create, List, Retrieve, and Update your Portkey Configs.
  - name: Feedback
    description: Send and Update any feedback.
  - name: Logs
    description: Custom Logger to add external logs to Portkey.
  - name: Integrations
    description: Create, List, Retrieve, Update, and Delete your Portkey Integrations.
  - name: Integrations > Workspaces
    description: Manage workspace access for your Portkey Integrations.
  - name: Integrations > Models
    description: Manage model access for your Portkey Integrations.
  - name: Providers
    description: Create, List, Retrieve, Update, and Delete your Portkey Providers.
  - name: Virtual-keys
    description: Create, List, Retrieve, Update, and Delete your Portkey Virtual keys.
  - name: Users
    description: Create and manage users.
  - name: User-invites
    description: Create and manage user invites.
  - name: Workspaces
    description: Create and manage workspaces.
  - name: Workspaces > Members
    description: Create and manage workspace members.
  - name: MCP Integrations
    description: Create, List, Retrieve, Update, and Delete MCP Integrations.
  - name: MCP Integrations > Workspaces
    description: Manage workspace access for MCP Integrations.
  - name: MCP Integrations > Capabilities
    description: List and manage capabilities for MCP Integrations.
  - name: MCP Integrations > Metadata
    description: Get MCP Integration metadata and sync info.
  - name: MCP Servers
    description: >-
      Create, List, Retrieve, Update, and Delete MCP Servers (workspace
      instances of MCP Integrations).
  - name: MCP Servers > Capabilities
    description: List and manage capabilities for MCP Servers.
  - name: MCP Servers > User Access
    description: List and manage user access for MCP Servers.
  - name: MCP Servers > Connections
    description: List and manage user connections for MCP Servers.
  - name: Api-Keys
    description: Create, List, Retrieve, Update, and Delete your Portkey API keys.
  - name: Logs Export
    description: Exports logs service.
  - name: Audit Logs
    description: Get audit logs for your Portkey account.
  - name: Analytics
    description: >-
      Get analytics over different data points like requests, costs, tokens,
      etc.
  - name: Analytics > Graphs
    description: Get data points for graphical representation.
  - name: Analytics > Summary
    description: Get overall summary for the selected time bucket.
  - name: Analytics > Groups
    description: Get grouped metrics for the selected time bucket.
  - name: Usage Limits Policies
    description: Manage usage limits policies to control total usage over time
  - name: Rate Limits Policies
    description: Manage rate limits policies to control request or token rates
  - name: Model Pricing
    description: Model pricing configurations for 2300+ LLMs across 40+ providers
  - name: Secret-References
    description: >-
      Create, List, Retrieve, Update, and Delete secret references to external
      secret managers.
paths:
  /integrations/{slug}:
    servers:
      - url: https://api.portkey.ai/v1
        description: Portkey API Public Endpoint
      - url: SELF_HOSTED_CONTROL_PLANE_URL
        description: Self-Hosted Control Plane URL
    get:
      tags:
        - Integrations
      summary: Get a Integration
      parameters:
        - name: slug
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationDetailResponse'
      x-code-samples:
        - lang: python
          label: Default
          source: |
            from portkey_ai import Portkey

            # Initialize the Portkey client
            portkey = Portkey(
                api_key="PORTKEY_API_KEY",
            )

            # Get a specific virtual key
            virtual_key = portkey.virtual_keys.retrieve(
                slug='VIRTUAL_KEY_SLUG'
            )

            print(virtual_key)
        - lang: javascript
          label: Default
          source: |
            import { Portkey } from "portkey-ai";

            const portkey = new Portkey({
                apiKey: "PORTKEY_API_KEY",
            })

            const vKey=await portkey.virtualKeys.retrieve({
                slug:'VIRTUAL_KEY_SLUG'
            })
            console.log(vKey);
        - lang: curl
          label: Default
          source: >
            curl -X GET https://api.portkey.ai/v1/virtual-keys/VIRTUAL_KEY_SLUG
            \

            -H "x-portkey-api-key: PORTKEY_API_KEY"
        - lang: curl
          label: Self-Hosted
          source: >
            curl -X GET
            SELF_HOSTED_CONTROL_PLANE_URL/virtual-keys/VIRTUAL_KEY_SLUG \

            -H "x-portkey-api-key: PORTKEY_API_KEY"
        - lang: python
          label: Self-Hosted
          source: |
            from portkey_ai import Portkey

            # Initialize the Portkey client
            portkey = Portkey(
                api_key="PORTKEY_API_KEY",
                base_url="SELF_HOSTED_CONTROL_PLANE_URL"
            )

            # Get a specific virtual key
            virtual_key = portkey.virtual_keys.retrieve(
                slug='VIRTUAL_KEY_SLUG'
            )

            print(virtual_key)
        - lang: javascript
          label: Self-Hosted
          source: |
            import { Portkey } from "portkey-ai";

            const portkey = new Portkey({
                apiKey: "PORTKEY_API_KEY",
                baseUrl: "SELF_HOSTED_CONTROL_PLANE_URL"
            })

            const vKey=await portkey.virtualKeys.retrieve({
                slug:'VIRTUAL_KEY_SLUG'
            })
            console.log(vKey);
components:
  schemas:
    IntegrationDetailResponse:
      allOf:
        - $ref: '#/components/schemas/IntegrationList'
        - type: object
          properties:
            masked_key:
              type: string
              description: Masked API key
            configurations:
              type: object
              description: >
                Provider-specific configuration object


                **⚠️ Security Note - Response Masking:**

                When retrieving integration details, sensitive fields are
                automatically masked:

                - Sensitive fields get a `masked_` prefix (e.g., `client_secret`
                → `masked_client_secret`)

                - Non-sensitive fields (IDs, URLs, regions, etc.) remain
                unchanged
              oneOf:
                - $ref: '#/components/schemas/OpenAIConfiguration'
                  title: OpenAI
                - $ref: '#/components/schemas/AzureOpenAIConfiguration'
                  title: Azure OpenAI
                - $ref: '#/components/schemas/BedrockConfiguration'
                  title: AWS Bedrock
                - $ref: '#/components/schemas/VertexAIConfiguration'
                  title: Vertex AI
                - $ref: '#/components/schemas/AzureAIConfiguration'
                  title: Azure AI
                - $ref: '#/components/schemas/WorkersAIConfiguration'
                  title: Workers AI
                - $ref: '#/components/schemas/SageMakerConfiguration'
                  title: AWS Sagemaker
                - $ref: '#/components/schemas/HuggingFaceConfiguration'
                  title: Hugginface
                - $ref: '#/components/schemas/CortexConfiguration'
                  title: Cortex
                - $ref: '#/components/schemas/CustomHostConfiguration'
                  title: Custom Base URL
            global_workspace_access_settings:
              $ref: '#/components/schemas/GlobalWorkspaceAccess'
              type: object
              nullable: true
              description: Global workspace access configuration
            allow_all_models:
              type: boolean
              description: Whether new models will be enabled by default
            workspace_count:
              type: integer
              description: Number of workspaces with access to this integration
            secret_mappings:
              type: array
              items:
                $ref: '#/components/schemas/SecretMapping'
              description: >-
                Secret reference mappings for this integration. Valid
                target_field values are "key" or "configurations.<field>".
            pricing_adjustments:
              $ref: '#/components/schemas/PricingAdjustments'
    IntegrationList:
      type: object
      properties:
        id:
          type: string
          format: UUID
        organisation_id:
          type: string
          format: UUID
        ai_provider_id:
          type: string
        name:
          type: string
        status:
          type: string
          enum:
            - active
            - archived
        created_at:
          type: string
          format: date-time
        last_updated_at:
          type: string
          format: date-time
          nullable: true
        slug:
          type: string
        description:
          type: string
        object:
          type: string
          enum:
            - integration
    OpenAIConfiguration:
      type: object
      properties:
        openai_organization:
          type: string
          description: OpenAI organization ID
        openai_project:
          type: string
          description: OpenAI project ID
    AzureOpenAIConfiguration:
      type: object
      required:
        - azure_resource_name
        - azure_deployment_config
        - azure_auth_mode
      properties:
        azure_auth_mode:
          type: string
          enum:
            - default
            - entra
            - managed
          description: Authentication mode for Azure
        azure_resource_name:
          type: string
          description: Azure OpenAI resource name
        azure_deployment_config:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/AzureDeploymentConfig'
        azure_entra_tenant_id:
          type: string
          description: Azure AD tenant ID (required for entra auth)
        azure_entra_client_id:
          type: string
          description: Azure AD client ID (required for entra auth)
        azure_entra_client_secret:
          type: string
          description: Azure AD client secret (required for entra auth)
        azure_managed_client_id:
          type: string
          description: Managed identity client ID (optional for managed auth)
    BedrockConfiguration:
      type: object
      required:
        - aws_auth_type
        - aws_region
      properties:
        aws_auth_type:
          type: string
          enum:
            - accessKey
            - assumedRole
          description: AWS authentication type
        aws_region:
          type: string
          description: AWS region
        aws_access_key_id:
          type: string
          description: AWS access key ID (required for accessKey auth)
        aws_secret_access_key:
          type: string
          description: AWS secret access key (required for accessKey auth)
        aws_role_arn:
          type: string
          description: AWS role ARN (required for assumedRole auth)
        aws_external_id:
          type: string
          nullable: true
          description: AWS external ID (optional for assumedRole auth)
    VertexAIConfiguration:
      type: object
      required:
        - vertex_auth_type
        - vertex_region
      properties:
        vertex_auth_type:
          type: string
          enum:
            - basic
            - serviceAccount
          description: Vertex AI authentication type
        vertex_region:
          type: string
          description: GCP region
        vertex_project_id:
          type: string
          description: GCP project ID (required for basic auth)
        vertex_service_account_json:
          type: object
          description: Service account JSON (required for serviceAccount auth)
    AzureAIConfiguration:
      type: object
      required:
        - azure_foundry_url
        - azure_auth_mode
      properties:
        azure_auth_mode:
          type: string
          enum:
            - default
            - entra
            - managed
          description: Authentication mode for Azure AI
        azure_foundry_url:
          type: string
          description: Azure AI Foundry URL
        azure_api_version:
          type: string
          maxLength: 30
          description: Azure API version
        azure_deployment_name:
          type: string
          description: Azure deployment name
        azure_entra_tenant_id:
          type: string
          description: Azure AD tenant ID (required for entra auth)
        azure_entra_client_id:
          type: string
          description: Azure AD client ID (required for entra auth)
        azure_entra_client_secret:
          type: string
          description: Azure AD client secret (required for entra auth)
        azure_managed_client_id:
          type: string
          description: Managed identity client ID (optional for managed auth)
    WorkersAIConfiguration:
      type: object
      required:
        - workers_ai_account_id
      properties:
        workers_ai_account_id:
          type: string
          description: Cloudflare Workers AI account ID
    SageMakerConfiguration:
      allOf:
        - $ref: '#/components/schemas/BedrockConfiguration'
        - type: object
          properties:
            amzn_sagemaker_custom_attributes:
              type: string
              description: Custom attributes for SageMaker
            amzn_sagemaker_target_model:
              type: string
              description: Target model for SageMaker
            amzn_sagemaker_target_variant:
              type: string
              description: Target variant for SageMaker
            amzn_sagemaker_target_container_hostname:
              type: string
              description: Target container hostname
            amzn_sagemaker_inference_id:
              type: string
              description: Inference ID
            amzn_sagemaker_enable_explanations:
              type: string
              description: Enable explanations
            amzn_sagemaker_inference_component:
              type: string
              description: Inference component
            amzn_sagemaker_session_id:
              type: string
              description: Session ID
            amzn_sagemaker_model_name:
              type: string
              description: Model name
    HuggingFaceConfiguration:
      type: object
      properties:
        huggingface_base_url:
          type: string
          description: Custom Hugging Face base URL
    CortexConfiguration:
      type: object
      required:
        - snowflake_account
      properties:
        snowflake_account:
          type: string
          description: Snowflake account identifier
    CustomHostConfiguration:
      type: object
      properties:
        custom_host:
          type: string
          description: >-
            Custom host URL (can be used along with other provider specific
            configuration fields)
        custom_headers:
          type: object
          additionalProperties:
            type: string
          description: >-
            Custom headers to send with requests (can be used along with other
            provider specific configuration fields)
    GlobalWorkspaceAccess:
      type: object
      required:
        - enabled
      properties:
        enabled:
          type: boolean
          description: >-
            Whether global workspace access is enabled. When enabled, the
            integration will be enabled for all workspaces that are created in
            future.
        usage_limits:
          type: array
          nullable: true
          maxItems: 1
          items:
            $ref: '#/components/schemas/UsageLimits'
        rate_limits:
          type: array
          nullable: true
          maxItems: 1
          items:
            $ref: '#/components/schemas/RateLimits'
    SecretMapping:
      type: object
      required:
        - target_field
        - secret_reference_id
      properties:
        target_field:
          type: string
          description: >
            The field on the entity to populate from the secret reference. Must
            be unique within the array.

            - **Integrations**: `key` or `configurations.<field>` (e.g.
            `configurations.aws_secret_access_key`)

            - **Virtual Keys**: `key` or `model_config.<field>` (e.g.
            `model_config.awsSecretAccessKey`)

            - **MCP Integrations**: `configurations.<field>` (e.g.
            `configurations.oauth_metadata`)
          example: key
        secret_reference_id:
          type: string
          description: >-
            UUID or slug of the secret reference. Must belong to the same
            organisation and be accessible by the workspace.
          example: my-aws-secret
        secret_key:
          type: string
          nullable: true
          description: >-
            Override the secret_key defined on the secret reference. Use to pick
            a specific key from a multi-value secret.
        value_format:
          type: string
          nullable: true
          enum:
            - json
            - string
          description: >
            Format of the secret value.

            - `string`: The secret value is treated as a plain string.

            - `json`: The secret value is parsed as JSON before being applied to
            the target field. Use this when the target field expects a
            structured object (e.g. `configurations.oauth_metadata`).
          example: json
    PricingAdjustments:
      type: object
      nullable: true
      additionalProperties: false
      description: >
        Per-Integration pricing adjustments applied on top of Portkey's base
        model pricing

        for cost tracking, analytics, and budget limits. Use to reflect
        negotiated discounts,

        committed-use rates, or internal markups for cost showback.
      properties:
        multiplier:
          $ref: '#/components/schemas/PricingMultiplier'
      example:
        multiplier:
          default: 0.8
          cache_read_input_token: 0.9
          cache_write_input_token: 0.9
    AzureDeploymentConfig:
      type: object
      required:
        - azure_api_version
        - azure_deployment_name
        - azure_model_slug
      properties:
        alias:
          type: string
          description: Alias for the deployment
        azure_api_version:
          type: string
          maxLength: 30
          description: Azure API version
        azure_deployment_name:
          type: string
          description: Azure deployment name
        is_default:
          type: boolean
          default: false
          description: Whether this is the default deployment
        azure_model_slug:
          type: string
          description: Azure model slug
    UsageLimits:
      type: object
      properties:
        credit_limit:
          type: integer
          description: Credit Limit. Used for tracking usage
          minimum: 1
          default: null
        type:
          type: string
          description: Type of credit limit
          enum:
            - cost
            - tokens
        alert_threshold:
          type: integer
          description: Alert Threshold. Used for alerting when usage reaches more than this
          minimum: 1
          default: null
        periodic_reset:
          type: string
          description: Reset the usage periodically.
          enum:
            - monthly
            - weekly
          nullable: true
          example: monthly
        periodic_reset_days:
          type: integer
          description: >-
            Reset the usage counter every N days (1-365). Mutually exclusive
            with periodic_reset.
          minimum: 1
          maximum: 365
          nullable: true
          example: 30
        next_usage_reset_at:
          type: string
          format: date-time
          description: >-
            ISO 8601 datetime for the next scheduled usage reset. Auto-computed
            from periodic_reset or periodic_reset_days if not provided.
          nullable: true
          example: '2026-05-01T00:00:00Z'
      example:
        credit_limit: 10
        periodic_reset: monthly
        alert_threshold: 8
    RateLimits:
      type: object
      properties:
        type:
          type: string
          enum:
            - requests
            - tokens
        unit:
          type: string
          enum:
            - rpd
            - rph
            - rpm
        value:
          type: integer
    PricingMultiplier:
      type: object
      additionalProperties: false
      description: >
        Multipliers applied to the corresponding pricing keys from

        [Portkey Models](https://portkey.ai/models). A multiplier of `1` leaves
        pricing

        unchanged, `0.8` applies a 20% discount, `1.2` applies a 20% markup.
        Missing or

        `null` fields inherit from `default`; if `default` is also unset, no
        change is applied.

        All values must be non-negative numbers.
      properties:
        default:
          type: number
          nullable: true
          minimum: 0
          description: >-
            Multiplier applied to every token type unless a more specific
            multiplier is set.
        request_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for input/request token cost.
        response_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for output/response token cost.
        cache_read_input_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for cache-read input token cost.
        cache_write_input_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for cache-write input token cost.
        cache_read_audio_input_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for cache-read audio input token cost.
        request_audio_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for audio input token cost.
        response_audio_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for audio output token cost.
        reasoning_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for reasoning/thinking token cost.
        prediction_accepted_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for accepted predicted-output token cost.
        prediction_rejected_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for rejected predicted-output token cost.
        request_image_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for image-modality input token cost.
        response_image_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for image-modality output token cost.
        request_text_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for text-modality input token cost.
        response_text_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for text-modality output token cost.
        cache_read_image_input_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for cache-read image-input token cost.
        cache_read_text_input_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for cache-read text-input token cost.
        cache_write_text_input_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for cache-write text-input token cost.
        cache_write_image_input_token:
          type: number
          nullable: true
          minimum: 0
          description: Multiplier for cache-write image-input token cost.
        image:
          type: object
          nullable: true
          additionalProperties: false
          description: Image generation pricing multipliers.
          properties:
            default:
              type: number
              nullable: true
              minimum: 0
              description: >-
                Multiplier applied to image generation pricing across all
                qualities and sizes.
        additional_units:
          type: object
          nullable: true
          description: >
            Multipliers for per-unit charges such as `web_search`,
            `file_search`, `input_image`,

            `input_video_standard`. Keys must match those returned by Portkey
            Models for the provider.
          additionalProperties:
            type: number
            nullable: true
            minimum: 0
  securitySchemes:
    Portkey-Key:
      type: apiKey
      in: header
      name: x-portkey-api-key

````