---
title: "List custom provider versions"
method: GET
path: "/custom-provider-versions"
tags: ["Custom Provider Versions"]
---

# List custom provider versions

`GET /custom-provider-versions`

## Request

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

Returns a paginated list of versions for a custom provider.

## Query parameters

- `limit` number
- `after` string
- `before` string
- `cursor` string
- `order` 'asc' | 'desc'
- `status` union
  - 'queued' | 'deploying' | 'deployment_succeeded' | 'deployment_failed'
  - string[]
- `id` union
  - string
  - string[]
- `provider_id` union
  - string
  - string[]
- `provider_version_id` union
  - string
  - string[]
- `custom_provider_id` union
  - string
  - string[]
- `custom_provider_deployment_id` union
  - string
  - string[]
- `custom_provider_environment_id` union
  - string
  - string[]
- `created_at` object
  - `gt` string, date-time: Only include records after this timestamp for custom provider version creation time
  - `lt` string, date-time: Only include records before this timestamp for custom provider version creation time
- `updated_at` object
  - `gt` string, date-time: Only include records after this timestamp for custom provider version last update time
  - `lt` string, date-time: Only include records before this timestamp for custom provider version last update time

## Headers

- `Metorial-Version` string

## Response `200`

Successful response

- CustomProviderVersionList
  - `items` Item3[], required
    - `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
              - …
            - `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
  - `pagination` object, required
    - `has_more_before` boolean, required
    - `has_more_after` boolean, required

## 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)
