CircleCI Pipeline API
Endpoints for triggering, retrieving, and managing pipelines and their configurations.
Endpoints for triggering, retrieving, and managing pipelines and their configurations.
openapi: 3.1.0
info:
title: CircleCI REST API v1 Artifact Pipeline API
description: The CircleCI REST API v1 is the legacy API that provides access to build information, project details, and user data. While still available, CircleCI recommends migrating to the v2 API for newer features and improved functionality. The v1 API supports operations for retrieving build details, triggering builds, managing SSH keys, and accessing test metadata. Authentication is handled through API tokens passed as query parameters or HTTP headers.
version: '1.1'
contact:
name: CircleCI Support
url: https://support.circleci.com
termsOfService: https://circleci.com/terms-of-service/
servers:
- url: https://circleci.com/api/v1.1
description: CircleCI Production API v1.1
security:
- apiToken: []
tags:
- name: Pipeline
description: Endpoints for triggering, retrieving, and managing pipelines and their configurations.
paths:
/pipeline:
get:
operationId: listPipelines
summary: List pipelines
description: Returns all pipelines for the most recently built projects you follow in the organization.
tags:
- Pipeline
parameters:
- name: org-slug
in: query
description: Organization slug in the form vcs-slug/org-name
schema:
type: string
- name: mine
in: query
description: Filter to only pipelines triggered by the current user
schema:
type: boolean
- $ref: '#/components/parameters/PageTokenParam'
responses:
'200':
description: Successfully retrieved pipelines
content:
application/json:
schema:
$ref: '#/components/schemas/PipelineList'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/pipeline/continue:
post:
operationId: continuePipeline
summary: Continue a pipeline
description: Continues a pipeline from a setup workflow by providing configuration and pipeline parameters.
tags:
- Pipeline
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- continuation-key
- configuration
properties:
continuation-key:
type: string
description: A pipeline continuation key
configuration:
type: string
description: A configuration string for the pipeline
parameters:
type: object
description: Pipeline parameters as key-value pairs
additionalProperties: true
responses:
'200':
description: Pipeline continued successfully
content:
application/json:
schema:
$ref: '#/components/schemas/MessageResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/pipeline/{pipeline-id}:
get:
operationId: getPipeline
summary: Get a pipeline by ID
description: Returns a pipeline by its unique identifier.
tags:
- Pipeline
parameters:
- $ref: '#/components/parameters/PipelineIdParam'
responses:
'200':
description: Successfully retrieved pipeline
content:
application/json:
schema:
$ref: '#/components/schemas/Pipeline'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Pipeline not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/pipeline/{pipeline-id}/config:
get:
operationId: getPipelineConfig
summary: Get a pipeline's configuration
description: Returns the configuration source for a given pipeline.
tags:
- Pipeline
parameters:
- $ref: '#/components/parameters/PipelineIdParam'
responses:
'200':
description: Successfully retrieved pipeline configuration
content:
application/json:
schema:
$ref: '#/components/schemas/PipelineConfig'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/pipeline/{pipeline-id}/workflow:
get:
operationId: listPipelineWorkflows
summary: List workflows for a pipeline
description: Returns a paginated list of workflows associated with a given pipeline.
tags:
- Pipeline
parameters:
- $ref: '#/components/parameters/PipelineIdParam'
- $ref: '#/components/parameters/PageTokenParam'
responses:
'200':
description: Successfully retrieved workflows
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowList'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/project/{project-slug}/pipeline:
get:
operationId: listProjectPipelines
summary: List project pipelines
description: Returns a paginated list of pipelines for a given project.
tags:
- Pipeline
parameters:
- $ref: '#/components/parameters/ProjectSlugParam'
- name: branch
in: query
description: Filter pipelines by branch name
schema:
type: string
- $ref: '#/components/parameters/PageTokenParam'
responses:
'200':
description: Successfully retrieved pipelines
content:
application/json:
schema:
$ref: '#/components/schemas/PipelineList'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
post:
operationId: triggerPipeline
summary: Trigger a pipeline
description: Triggers a new pipeline on the specified project. Optionally specify a branch, tag, or revision to build. Pipeline parameters can also be provided.
tags:
- Pipeline
parameters:
- $ref: '#/components/parameters/ProjectSlugParam'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerPipelineRequest'
responses:
'201':
description: Pipeline triggered successfully
content:
application/json:
schema:
$ref: '#/components/schemas/PipelineCreation'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/project/{project-slug}/pipeline/mine:
get:
operationId: listMyProjectPipelines
summary: List my project pipelines
description: Returns a paginated list of pipelines for a project filtered to those triggered by the current user.
tags:
- Pipeline
parameters:
- $ref: '#/components/parameters/ProjectSlugParam'
- $ref: '#/components/parameters/PageTokenParam'
responses:
'200':
description: Successfully retrieved pipelines
content:
application/json:
schema:
$ref: '#/components/schemas/PipelineList'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
PipelineList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Pipeline'
description: List of pipelines
next_page_token:
type: string
description: Token for retrieving the next page
MessageResponse:
type: object
properties:
message:
type: string
description: A message describing the result of the operation
PipelineConfig:
type: object
properties:
source:
type: string
description: The source configuration
compiled:
type: string
description: The compiled configuration
setup-config:
type: string
description: The setup configuration
compiled-setup-config:
type: string
description: The compiled setup configuration
PipelineCreation:
type: object
properties:
id:
type: string
format: uuid
description: The unique identifier of the new pipeline
state:
type: string
description: The state of the new pipeline
number:
type: integer
description: The pipeline number
created_at:
type: string
format: date-time
description: When the pipeline was created
WorkflowList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Workflow'
description: List of workflows
next_page_token:
type: string
description: Token for retrieving the next page
ErrorResponse:
type: object
properties:
message:
type: string
description: A human-readable error message
TriggerPipelineRequest:
type: object
properties:
branch:
type: string
description: The branch to build
tag:
type: string
description: The tag to build
parameters:
type: object
additionalProperties: true
description: Pipeline parameters as key-value pairs
Pipeline:
type: object
properties:
id:
type: string
format: uuid
description: The unique identifier of the pipeline
errors:
type: array
items:
type: object
properties:
type:
type: string
description: The type of error
message:
type: string
description: The error message
description: Errors that occurred during pipeline setup
project_slug:
type: string
description: The project slug
updated_at:
type: string
format: date-time
description: When the pipeline was last updated
number:
type: integer
description: The pipeline number
state:
type: string
enum:
- created
- errored
- setup-pending
- setup
- pending
description: The current state of the pipeline
created_at:
type: string
format: date-time
description: When the pipeline was created
trigger:
type: object
properties:
type:
type: string
description: The type of trigger
received_at:
type: string
format: date-time
description: When the trigger was received
actor:
type: object
properties:
login:
type: string
description: The login of the actor
avatar_url:
type: string
format: uri
description: The avatar URL of the actor
description: The trigger that started this pipeline
vcs:
type: object
properties:
provider_name:
type: string
description: The VCS provider name
origin_repository_url:
type: string
format: uri
description: The origin repository URL
target_repository_url:
type: string
format: uri
description: The target repository URL
revision:
type: string
description: The VCS revision
branch:
type: string
description: The VCS branch
tag:
type: string
description: The VCS tag
description: VCS information for this pipeline
Workflow:
type: object
properties:
pipeline_id:
type: string
format: uuid
description: The ID of the pipeline this workflow belongs to
id:
type: string
format: uuid
description: The unique identifier of the workflow
name:
type: string
description: The name of the workflow
project_slug:
type: string
description: The project slug
status:
type: string
enum:
- success
- running
- not_run
- failed
- error
- failing
- on_hold
- canceled
- unauthorized
description: The current status of the workflow
started_by:
type: string
format: uuid
description: The ID of the user who started the workflow
pipeline_number:
type: integer
description: The pipeline number
created_at:
type: string
format: date-time
description: When the workflow was created
stopped_at:
type: string
format: date-time
description: When the workflow stopped
parameters:
ProjectSlugParam:
name: project-slug
in: path
required: true
description: The project slug in the form vcs-slug/org-name/repo-name (e.g., gh/CircleCI-Public/api-preview-docs)
schema:
type: string
PipelineIdParam:
name: pipeline-id
in: path
required: true
description: The unique identifier of the pipeline
schema:
type: string
format: uuid
PageTokenParam:
name: page-token
in: query
description: Token for retrieving the next page of results
schema:
type: string
securitySchemes:
apiToken:
type: apiKey
in: header
name: Circle-Token
description: Personal API token for authenticating with the CircleCI API. Can also be passed as a query parameter.
externalDocs:
description: CircleCI API v1 Reference
url: https://circleci.com/docs/api/v1/