# CircleCI REST API API

> CircleCI REST API API on Apizie: 22 endpoints (Provides information about the signed in user., Build summary for each of the last 30 builds for a single git repo., Triggers a new build, returns a summary of the build., Clears the cache for a project., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/dev-tools:circleci/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `dev-tools:circleci`
- Category: Dev Tools
- Status: byok
- Source: https://circleci.com
- Page: https://zieapi.vercel.app/api/dev-tools/circleci
- OpenAPI: https://zieapi.vercel.app/api/dev-tools/circleci/openapi.json

The CircleCI API is a RESTful, fully-featured API that allows you to do almost anything in CircleCI. You can access all information and trigger all actions. The only thing we don’t provide access to is billing…

## Endpoints

### Provides information about the signed in user.
`GET https://zieapi.vercel.app/v1/dev-tools:circleci/get-me` (byok)

### Build summary for each of the last 30 builds for a single git repo.
`GET https://zieapi.vercel.app/v1/dev-tools:circleci/get-project-username-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| limit | integer | no | The number of builds to return. Maximum 100, defaults to 30. |
| offset | integer | no | The API returns builds starting from this offset, defaults to 0. |
| filter | string | no | Restricts which builds are returned. Set to "completed", "successful", "failed", "running", or defaults to no filter. |

### Triggers a new build, returns a summary of the build.
`POST https://zieapi.vercel.app/v1/dev-tools:circleci/post-project-username-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| body | object | no | JSON request body |

### Clears the cache for a project.
`POST https://zieapi.vercel.app/v1/dev-tools:circleci/delete-project-username-project-build-cache` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |

### Lists checkout keys.
`GET https://zieapi.vercel.app/v1/dev-tools:circleci/get-project-username-project-checkout-key` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |

### Creates a new checkout key. Only usable with a user API token.
`POST https://zieapi.vercel.app/v1/dev-tools:circleci/post-project-username-project-checkout-key` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| body | object | no | JSON request body |

### Get a checkout key.
`GET https://zieapi.vercel.app/v1/dev-tools:circleci/get-project-username-project-checkout-key-fingerprint` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| fingerprint | string | yes | XXXXXXXXXX |

### Delete a checkout key.
`POST https://zieapi.vercel.app/v1/dev-tools:circleci/delete-project-username-project-checkout-key-fingerprint` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| fingerprint | string | yes | XXXXXXXXXX |

### Lists the environment variables for :project
`GET https://zieapi.vercel.app/v1/dev-tools:circleci/get-project-username-project-envvar` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |

### Creates a new environment variable
`POST https://zieapi.vercel.app/v1/dev-tools:circleci/post-project-username-project-envvar` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |

### Gets the hidden value of environment variable :name
`GET https://zieapi.vercel.app/v1/dev-tools:circleci/get-project-username-project-envvar-name` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| name | string | yes | XXXXXXXXXX |

### Deletes the environment variable named ':name'
`POST https://zieapi.vercel.app/v1/dev-tools:circleci/delete-project-username-project-envvar-name` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| name | string | yes | XXXXXXXXXX |

### Create an ssh key used to access external systems that require SSH key-based authentication
`POST https://zieapi.vercel.app/v1/dev-tools:circleci/post-project-username-project-ssh-key` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| body | object | yes | JSON request body |

### Triggers a new build, returns a summary of the build. Optional build parameters can be set using an…
`POST https://zieapi.vercel.app/v1/dev-tools:circleci/post-project-username-project-tree-branch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| branch | string | yes | The branch name should be url-encoded. |
| body | object | no | JSON request body |

### Full details for a single build. The response includes all of the fields from the build summary. This is…
`GET https://zieapi.vercel.app/v1/dev-tools:circleci/get-project-username-project-build-num` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| build_num | integer | yes | XXXXXXXXXX |

### List the artifacts produced by a given build.
`GET https://zieapi.vercel.app/v1/dev-tools:circleci/get-project-username-project-build-num-artifacts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| build_num | integer | yes | XXXXXXXXXX |

### Cancels the build, returns a summary of the build.
`POST https://zieapi.vercel.app/v1/dev-tools:circleci/post-project-username-project-build-num-cancel` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| build_num | integer | yes | XXXXXXXXXX |

### Retries the build, returns a summary of the new build.
`POST https://zieapi.vercel.app/v1/dev-tools:circleci/post-project-username-project-build-num-retry` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| build_num | integer | yes | XXXXXXXXXX |

### Provides test metadata for a build Note: [Learn how to set up your builds to collect test…
`GET https://zieapi.vercel.app/v1/dev-tools:circleci/get-project-username-project-build-num-tests` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| username | string | yes | XXXXXXXXX |
| project | string | yes | XXXXXXXXX |
| build_num | integer | yes | XXXXXXXXXX |

### List of all the projects you're following on CircleCI, with build information organized by branch.
`GET https://zieapi.vercel.app/v1/dev-tools:circleci/get-projects` (byok)

### Build summary for each of the last 30 recent builds, ordered by build_num.
`GET https://zieapi.vercel.app/v1/dev-tools:circleci/get-recent-builds` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | The number of builds to return. Maximum 100, defaults to 30. |
| offset | integer | no | The API returns builds starting from this offset, defaults to 0. |

### Adds your Heroku API key to CircleCI, takes apikey as form param name.
`POST https://zieapi.vercel.app/v1/dev-tools:circleci/post-user-heroku-key` (byok)

## Example
```
curl "https://zieapi.vercel.app/v1/dev-tools:circleci/get-me" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the CircleCI REST API API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/dev-tools:circleci/get-me with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the CircleCI REST API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. CircleCI REST API itself also needs your own key from circleci.com.

### Can AI agents use the CircleCI REST API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key dev-tools:circleci.

### What is the status of the CircleCI REST API API?
Needs your own provider key (bring your own key)
