---
title: "Get custom provider version"
method: GET
path: "/custom-provider-versions/{custom_provider_version_id}"
tags: ["Custom Provider Versions"]
---

# Get custom provider version

`GET /custom-provider-versions/{custom_provider_version_id}`

## Request

- Base URL: `https://api.metorial.com`
- URL: `https://api.metorial.com/custom-provider-versions/{custom_provider_version_id}`
- Auth: HTTP bearer

Retrieves a specific version of a custom provider.

## Path parameters

- `custom_provider_version_id` string, required

## Headers

- `Metorial-Version` string

## Response `200`

Successful response

- CustomProviderVersion
  - `object` 'custom_provider.version', required: String representing the object's type
  - `id` string, required: Unique custom provider version identifier
  - `status` 'queued' | 'deploying' | 'deployment_succeeded' | 'deployment_failed', required: Current version status
  - `config` object, nullable, required
    - `object` 'custom_provider.version.config', required: String representing the object's type
    - `schema` object, required
      - `type` 'json_schema', required
      - `schema` object, required: JSON Schema defining the configuration fields for the custom provider
    - `transformer` string, required: Optional jsonata transformer function for the configuration.
  - `index` number, required: Version index number
  - `identifier` string, required: Version identifier
  - `deployment` Item2, required
    - `object` 'custom_provider.deployment', required: String representing the object's type
    - `id` string, required: Unique custom provider deployment identifier
    - `status` 'failed' | 'queued' | 'deploying' | 'succeeded', required: Current deployment status
    - `trigger` 'manual' | 'system' | 'scm', required: What triggered this deployment
    - `custom_provider_id` string, required: ID of the parent custom provider
    - `provider_id` string, nullable, required: ID of the associated provider
    - `custom_provider_version_id` string, nullable, required: ID of the custom provider version being deployed
    - `commit` object, nullable, required
      - `object` 'custom_provider.deployment.commit', required
      - `id` string, required: Commit identifier
      - `type` 'create_version' | 'merge_version_into_environment' | 'rollback_to_version', required: Commit type
      - `message` string, nullable, required: Commit message
      - `created_at` string, date-time, required: Timestamp when commit was created
    - `immutable_bucket` object, nullable, required
      - `object` 'bucket', required: String representing the object's type
      - `id` string, required: Unique bucket identifier
      - `is_immutable` boolean, required: Whether the bucket is immutable
      - `is_read_only` boolean, required: Whether the bucket is read-only
      - `scm_repo_link` object, nullable, required
        - `object` 'bucket.scm_repo', required
        - `is_linked` true, required
        - `path` string, nullable, required: Path within the SCM repository
        - `repository` Repository, required
          - `object` 'scm.repository', required
          - `id` string, required: Unique repository identifier
          - `provider` Provider3, required
            - `object` 'scm.provider', required
            - `type` 'github' | 'gitlab' | 'bitbucket', required: SCM provider type
            - `id` string, required: External provider identifier
            - `name` string, required: Repository name on the provider
            - `owner` string, required: Repository owner on the provider
          - `url` string, required: Repository URL
          - `is_private` boolean, required: Whether the repository is private
          - `default_branch` string, required: Default branch name
          - `created_at` string, date-time, required: Timestamp when created
      - `created_at` string, date-time, required: Timestamp when created
    - `actor` Actor, required
      - `object` 'custom_provider.actor#preview', required: String representing the object's type
      - `id` string, required: Actor identifier
      - `type` 'external' | 'system', required: Actor type
      - `identifier` string, required: Actor unique identifier
      - `name` string, required: Actor display name
      - `organization_actor_id` string, nullable, required: Organization actor ID if linked
      - `created_at` string, date-time, required: Timestamp when created
    - `scm_push` object, nullable, required
      - `object` 'scm.push', required: String representing the object's type
      - `id` string, required: Unique SCM push identifier
      - `actor` Actor2, required
        - `object` 'scm.actor', required
        - `id` string, required: Actor identifier
        - `external_id` string, nullable, required: External actor identifier
        - `name` string, nullable, required: Actor name
        - `email` string, nullable, required: Actor email
      - `commit` Commit, required
        - `object` 'scm.commit', required
        - `id` string, required: Commit identifier
        - `sha` string, required: Commit SHA
        - `branch` string, required: Branch name
        - `message` string, nullable, required: Commit message
        - `created_at` string, date-time, required: Timestamp when commit was created
      - `repository` Repository, required
        - `object` 'scm.repository', required
        - `id` string, required: Unique repository identifier
        - `provider` Provider3, required
          - `object` 'scm.provider', required
          - `type` 'github' | 'gitlab' | 'bitbucket', required: SCM provider type
          - `id` string, required: External provider identifier
          - `name` string, required: Repository name on the provider
          - `owner` string, required: Repository owner on the provider
        - `url` string, required: Repository URL
        - `is_private` boolean, required: Whether the repository is private
        - `default_branch` string, required: Default branch name
        - `created_at` string, date-time, required: Timestamp when created
      - `created_at` string, date-time, required: Timestamp when created
    - `created_at` string, date-time, required: Timestamp when created
    - `updated_at` string, date-time, required: Timestamp when last updated
  - `environments` Environment2[], required: Environments this version is deployed to
    - `object` 'custom_provider.environment', required: String representing the object's type
    - `id` string, required: Environment version reference identifier
    - `is_current_version_for_environment` boolean, required: Whether this version is the current one for the environment
    - `environment` Environment, required
      - `object` 'custom_provider.environment', required: String representing the object's type
      - `id` string, required: Unique custom provider environment identifier
      - `custom_provider_id` string, required: ID of the parent custom provider
      - `provider_id` string, nullable, required: ID of the associated provider
      - `current_provider_version_id` string, nullable, required: ID of the current provider version in this environment
      - `instance_id` string, required: ID of the instance this environment is associated with
      - `created_at` string, date-time, required: Timestamp when created
      - `updated_at` string, date-time, required: Timestamp when last updated
  - `custom_provider_id` string, required: ID of the parent custom provider
  - `provider_id` string, nullable, required: ID of the associated provider
  - `actor` Actor, required
    - `object` 'custom_provider.actor#preview', required: String representing the object's type
    - `id` string, required: Actor identifier
    - `type` 'external' | 'system', required: Actor type
    - `identifier` string, required: Actor unique identifier
    - `name` string, required: Actor display name
    - `organization_actor_id` string, nullable, required: Organization actor ID if linked
    - `created_at` string, date-time, required: Timestamp when created
  - `container_image` ContainerImage
    - `container_registry` string, required: URL of the container registry
    - `container_image_tag` string, required: Tag of the container image
    - `container_image` string, required: Name of the container image
  - `remote_mcp_server` object
    - `url` string, required: URL of the remote MCP server
    - `transport` string, required: Transport protocol for the remote MCP server
  - `created_at` string, date-time, required: Timestamp when created
  - `updated_at` string, date-time, required: Timestamp when last updated

## Other responses

- `400`: Invalid parameters or action
- `401`: Missing or invalid API key
- `403`: The key lacks permission for this resource
- `404`: No such resource
- `422`: Validation failed
- `429`: Rate limit exceeded
- `500`: Unexpected server error

---

[API](https://skmtc.dev/metorial/apis/metorial-api.md) - [All operations](https://skmtc.dev/metorial/apis/metorial-api/llms.txt) - [OpenAPI document](https://skmtc.dev/metorial/apis/metorial-api/revisions/10ccc89f3eac?raw)
