---
title: "Update pipeline definition"
method: PATCH
path: "/projects/{project_id}/pipeline-definitions/{pipeline_definition_id}"
tags: ["Pipeline Definition"]
---

# Update pipeline definition

`PATCH /projects/{project_id}/pipeline-definitions/{pipeline_definition_id}`

Update pipeline definition. Currently only supported for pipeline definitions where `config_source.provider` is `github_app`, `github_server`, or `bitbucket_dc`. [Share feedback](https://circleci.canny.io/cloud-feature-requests/p/project-administration-apis) about our Project Administration APIs.

## Path parameters

- `project_id` string, required
- `pipeline_definition_id` string, required

## Request body

- UpdatePipelineDefinitionRequest
  - `name` string — The name of the pipeline definition.
  - `description` string — The description of the pipeline definition.
  - `config_source` object — The resource that stores the CircleCI config YAML used for this pipeline definition.
    - `file_path` string — Path to CircleCI config YAML file to use for this pipeline definition.
  - `checkout_source` object — The resource to be used when running the `checkout` command.
    - `provider` string — The integration provider for this resource. Supported values include `github_app` and `github_server`.
    - `repo` object
      - `external_id` string — External identifier for the repository, as defined by the respective version control provider.

## Response `200`

Successful response.

- PipelineDefinition
  - `id` string, uuid — The unique ID of the pipeline definition.
  - `name` string — The name of the pipeline definition.
  - `description` string — The description of the pipeline definition.
  - `created_at` string, date-time — The date and time the pipeline definition was created.
  - `config_source` object — The resource that stores the CircleCI config YAML used for this pipeline definition.
    - `provider` string — The integration provider for this resource.
    - `repo` PipelineDefinitionRepo
      - `full_name` string — The fully-qualified name of the repository.
      - `external_id` string — External identifier for the repository, as defined by the respective version control provider.
    - `file_path` string — Path to CircleCI config YAML file to use for this pipeline definition.
  - `checkout_source` object — The resource to be used when running the `checkout` command.
    - `provider` string — The integration provider for this resource.
    - `repo` PipelineDefinitionRepo
      - `full_name` string — The fully-qualified name of the repository.
      - `external_id` string — External identifier for the repository, as defined by the respective version control provider.

## Other responses

- `400` — Unexpected request body provided.
- `401` — Credentials provided are invalid.
- `404` — Entity not found.
- `500` — Internal server error.

---

[API](https://skmtc.net/circleci/apis/api-v2.md) · [All operations](https://skmtc.net/circleci/apis/api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/circleci/api-v2/revisions/b9c0e0c24058/schema)
