---
title: "Get custom provider deployment"
method: GET
path: "/custom-provider-deployments/{custom_provider_deployment_id}"
tags: ["Custom Provider Deployments"]
---

# Get custom provider deployment

`GET /custom-provider-deployments/{custom_provider_deployment_id}`

## Request

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

Retrieves a specific deployment.

## Path parameters

- `custom_provider_deployment_id` string, required

## Headers

- `Metorial-Version` string

## Response `200`

Successful response

- CustomProviderDeployment
  - `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

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