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

# List custom provider deployments

`GET /custom-provider-deployments`

## Request

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

Returns a paginated list of deployments for a custom provider.

## Query parameters

- `limit` number
- `after` string
- `before` string
- `cursor` string
- `order` 'asc' | 'desc'
- `status` union
  - 'queued' | 'deploying' | 'succeeded' | 'failed'
  - string[]
- `id` union
  - string
  - string[]
- `custom_provider_version_id` union
  - string
  - string[]
- `custom_provider_id` union
  - string
  - string[]
- `created_at` object
  - `gt` string, date-time: Only include records after this timestamp for custom provider deployment creation time
  - `lt` string, date-time: Only include records before this timestamp for custom provider deployment creation time
- `updated_at` object
  - `gt` string, date-time: Only include records after this timestamp for custom provider deployment last update time
  - `lt` string, date-time: Only include records before this timestamp for custom provider deployment last update time

## Headers

- `Metorial-Version` string

## Response `200`

Successful response

- CustomProviderDeploymentList
  - `items` 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
  - `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)
