CircleCI Schedule API
Endpoints for creating, updating, and managing scheduled pipeline triggers.
Endpoints for creating, updating, and managing scheduled pipeline triggers.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/circleci-schedule-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: CircleCI REST API v2 Schedule API
description: The CircleCI REST API v2 provides programmatic access to CircleCI services for managing pipelines, projects, workflows, jobs, and users. Developers can trigger pipelines, retrieve build status, manage contexts and environment variables, and access usage reports. The API uses token-based authentication via a Circle-Token header and returns JSON responses. It supports operations for project configuration, workflow management, artifact retrieval, and insights into build performance.
version: '2.0'
contact:
name: CircleCI Support
url: https://support.circleci.com
termsOfService: https://circleci.com/terms-of-service/
license:
name: MIT
url: https://opensource.org/licenses/MIT
servers:
- url: https://circleci.com/api/v2
description: CircleCI Production API
security:
- apiToken: []
tags:
- name: Schedule
description: Endpoints for creating, updating, and managing scheduled pipeline triggers.
paths:
/project/{project-slug}/schedule:
get:
operationId: listSchedules
summary: List schedules for a project
description: Returns a list of scheduled pipeline triggers for a given project.
tags:
- Schedule
parameters:
- $ref: '#/components/parameters/ProjectSlugParam'
- $ref: '#/components/parameters/PageTokenParam'
responses:
'200':
description: Successfully retrieved schedules
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduleList'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
post:
operationId: createSchedule
summary: Create a schedule
description: Creates a scheduled pipeline trigger for the specified project.
tags:
- Schedule
parameters:
- $ref: '#/components/parameters/ProjectSlugParam'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateScheduleRequest'
responses:
'201':
description: Schedule created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Schedule'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/schedule/{schedule-id}:
get:
operationId: getSchedule
summary: Get a schedule by ID
description: Returns a schedule by its unique identifier.
tags:
- Schedule
parameters:
- $ref: '#/components/parameters/ScheduleIdParam'
responses:
'200':
description: Successfully retrieved schedule
content:
application/json:
schema:
$ref: '#/components/schemas/Schedule'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Schedule not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
patch:
operationId: updateSchedule
summary: Update a schedule
description: Updates an existing schedule with the provided parameters.
tags:
- Schedule
parameters:
- $ref: '#/components/parameters/ScheduleIdParam'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateScheduleRequest'
responses:
'200':
description: Schedule updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Schedule'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
delete:
operationId: deleteSchedule
summary: Delete a schedule
description: Deletes a schedule by its unique identifier.
tags:
- Schedule
parameters:
- $ref: '#/components/parameters/ScheduleIdParam'
responses:
'200':
description: Schedule deleted successfully
content:
application/json:
schema:
$ref: '#/components/schemas/MessageResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
parameters:
ScheduleIdParam:
name: schedule-id
in: path
required: true
description: The unique identifier of the schedule
schema:
type: string
format: uuid
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
PageTokenParam:
name: page-token
in: query
description: Token for retrieving the next page of results
schema:
type: string
schemas:
CreateScheduleRequest:
type: object
required:
- name
- timetable
- attribution-actor
- parameters
properties:
name:
type: string
description: The name of the schedule
description:
type: string
description: The description of the schedule
timetable:
$ref: '#/components/schemas/Timetable'
attribution-actor:
type: string
enum:
- current
- system
description: Who to attribute pipeline triggers to
parameters:
type: object
additionalProperties: true
description: Pipeline parameters for the schedule
MessageResponse:
type: object
properties:
message:
type: string
description: A message describing the result of the operation
ErrorResponse:
type: object
properties:
message:
type: string
description: A human-readable error message
Timetable:
type: object
required:
- per-hour
- hours-of-day
- days-of-week
properties:
per-hour:
type: integer
minimum: 1
maximum: 60
description: Number of times per hour to trigger
hours-of-day:
type: array
items:
type: integer
minimum: 0
maximum: 23
description: Hours of the day to trigger (UTC)
days-of-week:
type: array
items:
type: string
enum:
- MON
- TUE
- WED
- THU
- FRI
- SAT
- SUN
description: Days of the week to trigger
days-of-month:
type: array
items:
type: integer
minimum: 1
maximum: 31
description: Days of the month to trigger
months:
type: array
items:
type: string
enum:
- JAN
- FEB
- MAR
- APR
- MAY
- JUN
- JUL
- AUG
- SEP
- OCT
- NOV
- DEC
description: Months to trigger
UpdateScheduleRequest:
type: object
properties:
name:
type: string
description: The name of the schedule
description:
type: string
description: The description of the schedule
timetable:
$ref: '#/components/schemas/Timetable'
attribution-actor:
type: string
enum:
- current
- system
description: Who to attribute pipeline triggers to
parameters:
type: object
additionalProperties: true
description: Pipeline parameters for the schedule
Schedule:
type: object
properties:
id:
type: string
format: uuid
description: The unique identifier of the schedule
name:
type: string
description: The name of the schedule
description:
type: string
description: The description of the schedule
timetable:
$ref: '#/components/schemas/Timetable'
parameters:
type: object
additionalProperties: true
description: Pipeline parameters for the schedule
project_slug:
type: string
description: The project slug
actor:
type: object
properties:
id:
type: string
format: uuid
description: The actor ID
login:
type: string
description: The actor login
name:
type: string
description: The actor name
description: The user who created the schedule
created_at:
type: string
format: date-time
description: When the schedule was created
updated_at:
type: string
format: date-time
description: When the schedule was last updated
ScheduleList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Schedule'
description: List of schedules
next_page_token:
type: string
description: Token for retrieving the next page
securitySchemes:
apiToken:
type: apiKey
in: header
name: Circle-Token
description: Personal API token for authenticating with the CircleCI API. Generate tokens in your CircleCI account settings.
basicAuth:
type: http
scheme: basic
description: HTTP basic authentication using a personal API token as the username with an empty password.
externalDocs:
description: CircleCI API v2 Documentation
url: https://circleci.com/docs/api/v2/