Skip to content

CI/CD

CircleCI
API integration

Ship CI/CD features without building the integration. Full CircleCI API access via Proxy, normalized data through Unified APIs, and 110+ MCP-ready tools for AI agents — all extensible to your exact use case.

Talk to us
CircleCI

Use Cases

Why integrate with CircleCI

Common scenarios for SaaS companies building CircleCI integrations for their customers.

01

Power DORA metrics dashboards with CircleCI pipeline data

Engineering analytics SaaS companies can pull build and job data from their customers' CircleCI accounts to automatically calculate deployment frequency, lead time, and change failure rate — without requiring manual data entry from engineering teams.

02

Surface CI/CD health in internal developer portals

Developer portal products can display real-time build statuses, job durations, and repo metadata from CircleCI directly in their UI, so developers don't need to context-switch to check pipeline health or debug failures.

03

Automate compliance evidence collection from CI/CD pipelines

Security and compliance SaaS companies can verify that proper CI/CD controls are in place by reading user access, build approval gates, and artifact outputs from CircleCI — critical for SOC 2 and other audit frameworks.

04

Enrich issue tracking with deployment status from CircleCI

Project management and issue tracking tools can correlate CircleCI build and job outcomes with ticket IDs to automatically transition issue statuses when code ships, eliminating manual status updates by developers.

05

Centralize build artifact access for QA and security scanning

Testing and security SaaS products can retrieve build artifacts from CircleCI — such as test reports, coverage files, or container images — to run downstream analysis without requiring customers to configure custom export steps.

What You Can Build

Ship these features with Truto + CircleCI

Concrete product features your team can ship faster by leveraging Truto’s CircleCI integration instead of building from scratch.

01

Unified pipeline status feed

Aggregate builds, jobs, and their statuses from CircleCI alongside other CI/CD providers into a single normalized view for your users.

02

Automated deployment frequency tracker

Calculate and display how often each repo deploys by ingesting build history and job completion data from CircleCI.

03

Build artifact browser

Let your users browse and download CircleCI build artifacts — like test reports, binaries, or coverage files — directly from within your product.

04

User access audit for CI/CD compliance

Pull CircleCI user directory data to generate reports showing who has access to which projects, supporting SOC 2 and internal security reviews.

05

Job failure analytics dashboard

Ingest job-level data including durations, statuses, and failure patterns to help engineering leaders identify flaky tests and bottleneck stages.

06

Cross-provider repo inventory

List all repositories configured in CircleCI alongside repos from other CI/CD tools using Truto's Unified CI/CD API for a complete project catalog.

SuperAI

CircleCI AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

get_single_circle_ci_project_by_id

Get a project. Returns: slug, name, id, organization_name, organization_slug, organization_id, vcs_info. Required: id.

delete_a_circle_ci_project_by_id

Delete a project. Returns: message. Required: id.

list_all_circle_ci_branches

Get all branches for a project. Returns: org_id, project_id, branches. Required: project_slug.

list_all_circle_ci_pipelines

Get a list of pipelines. Returns: id, errors, project_slug, updated_at, number, trigger_parameters, state, created_at, warnings, trigger.

get_single_circle_ci_pipeline_by_id

Get a pipeline by ID. Returns: id, errors, project_slug, updated_at, number, trigger_parameters, state, created_at, warnings, trigger. Required: id.

create_a_circle_ci_pipeline

Trigger a new pipeline. Returns: id, state, number, created_at. Required: project_slug.

get_single_circle_ci_user_by_id

User Information. Returns: avatar_url, id, login, name. Required: id.

list_all_circle_ci_project_pipelines

Get all pipelines. Returns: id, errors, project_slug, updated_at, number, trigger_parameters, state, created_at, warnings, trigger. Required: project_slug.

get_single_circle_ci_project_pipeline_by_id

Get a pipeline by pipeline number. Returns: id, errors, project_slug, updated_at, number, trigger_parameters, state, created_at, warnings, trigger. Required: project_slug, id.

list_all_circle_ci_workflows

Get a pipeline's workflows. Returns: pipeline_id, canceled_by, id, auto_rerun_number, name, project_slug, errored_by, tag, status, started_by. Required: pipeline_id.

get_single_circle_ci_workflow_by_id

Get a workflow. Returns: pipeline_id, canceled_by, id, auto_rerun_number, name, project_slug, errored_by, tag, status, started_by. Required: id.

circle_ci_workflows_cancel

Cancel a workflow. Returns: message. Required: workflow_id.

list_all_circle_ci_jobs

Get a workflow's jobs. Returns: canceled_by, dependencies, job_number, id, started_at, name, approved_by, project_slug, status, type. Required: workflow_id.

get_single_circle_ci_job_by_id

Get details of a single job in a project by job number, including status, timings, executor, parallel runs, and the latest workflow and pipeline. Returns: created_at, duration, executor, messages, queued_at, started_at, status, stopped_at, parallel_runs, contexts. Required: project_slug, id (the job number).

circle_ci_jobs_cancel

Cancel a running job in a project by its job number. Returns: message. Required: project_slug, job_number.

list_all_circle_ci_job_artifacts

List the artifacts produced by a project's job, with each artifact's path, node index, and download URL. Returns: path, node_index, url. Required: project_slug, job_number.

list_all_circle_ci_current_users

User Information. Returns: avatar_url, id, login, name.

list_all_circle_ci_collaborations

Collaborations. Returns: id, vcs-type, name, avatar_url, slug.

create_a_circle_ci_workflow_approval

Approve a job. Returns: message. Required: workflow_id, job_id.

create_a_circle_ci_workflow_rerun

Rerun a workflow. Returns: workflow_id. Required: workflow_id.

create_a_circle_ci_pipeline_continuation

Continue a pipeline. Returns: message.

list_all_circle_ci_insights_project_summaries

Get summary metrics and trends for a project across it's workflows and branches. Returns: org_id, project_id, project_data, project_workflow_data, project_workflow_branch_data, all_branches, all_workflows. Required: project_slug.

list_all_circle_ci_insights_job_timeseries

Job timeseries data. Returns: name, min_started_at, max_ended_at, timestamp, metrics. Required: project_slug, workflow_name.

list_all_circle_ci_insights_org_summaries

Get summary metrics with trends for the entire org, and for each project. Returns: org_data, org_project_data, all_projects. Required: org_slug.

list_all_circle_ci_insights_flaky_tests

Get flaky tests for a project. Returns: flaky-tests, total-flaky-tests. Required: project_slug.

list_all_circle_ci_insights_workflows

Get summary metrics for a project's workflows. Returns: name, metrics, window_start, window_end, project_id. Required: project_slug.

list_all_circle_ci_insights_workflow_runs

Get recent runs of a workflow. Returns: id, branch, duration, created_at, stopped_at, credits_used, status, is_approval. Required: project_slug, workflow_name.

list_all_circle_ci_insights_workflow_jobs

Get summary metrics for a project workflow's jobs. Returns: name, metrics, window_start, window_end. Required: project_slug, workflow_name.

list_all_circle_ci_insights_workflow_summaries

Get metrics and trends for workflows. Returns: metrics, trends, workflow_names. Required: project_slug, workflow_name.

list_all_circle_ci_insights_workflow_test_metrics

Get test metrics for a project's workflows. Returns: average_test_count, most_failed_tests, most_failed_tests_extra, slowest_tests, slowest_tests_extra, total_test_runs, test_runs. Required: project_slug, workflow_name.

circle_ci_job_runs_cancel

Cancel job by job ID. Returns: message. Required: job_id.

get_single_circle_ci_job_run_by_id

Get a job. Returns: id, name, job_number, type, status, project_id, pipeline_id, workflow_id, started_at, stopped_at. Required: id.

create_a_circle_ci_organization

Create a new organization. Returns: id, name, slug, vcs_type, avatar_url.

delete_a_circle_ci_organization_by_id

Delete an organization. Returns: message. Required: id.

get_single_circle_ci_organization_by_id

Get an organization. Returns: id, name, slug, vcs_type, avatar_url. Required: id.

create_a_circle_ci_organization_project

Create a new project. Returns: slug, name, id, organization_name, organization_slug, organization_id, vcs_info. Required: org_slug_or_id.

list_all_circle_ci_url_orb_allow_lists

List the entries in the org's URL Orb allow-list. Returns: id, name, prefix, auth. Required: org_slug_or_id.

create_a_circle_ci_url_orb_allow_list

Create a new URL Orb allow-list entry. Returns: id, message. Required: org_slug_or_id.

delete_a_circle_ci_url_orb_allow_list_by_id

Remove an entry from the org's URL orb allow-list. Returns: id, message. Required: org_slug_or_id, id.

get_single_circle_ci_pipeline_config_by_id

Get a pipeline's configuration. Returns: source, compiled, setup-config, compiled-setup-config. Required: id.

list_all_circle_ci_pipeline_values

Get pipeline values for a pipeline. Required: pipeline_id.

list_all_circle_ci_checkout_keys

Get all checkout keys. Returns: public-key, type, fingerprint, preferred, created-at. Required: project_slug.

create_a_circle_ci_checkout_key

Create a new checkout key. Returns: public-key, type, fingerprint, preferred, created-at. Required: project_slug.

delete_a_circle_ci_checkout_key_by_id

Delete a checkout key. Returns: message. Required: project_slug, id.

get_single_circle_ci_checkout_key_by_id

Get a checkout key. Returns: public-key, type, fingerprint, preferred, created-at. Required: project_slug, id.

create_a_circle_ci_project_env_var

Create an environment variable. Returns: name, value, created-at. Required: project_slug.

list_all_circle_ci_project_env_vars

List all environment variables. Returns: name, value, created-at. Required: project_slug.

get_single_circle_ci_project_env_var_by_id

Get a masked environment variable. Returns: name, value, created-at. Required: project_slug, id.

delete_a_circle_ci_project_env_var_by_id

Delete an environment variable. Returns: message. Required: project_slug, id.

list_all_circle_ci_my_project_pipelines

Get your pipelines. Returns: id, errors, project_slug, updated_at, number, trigger_parameters, state, created_at, warnings, trigger. Required: project_slug.

list_all_circle_ci_schedules

List schedule triggers. Returns: id, timetable, updated-at, name, created-at, project-slug, parameters, actor, description. Required: project_slug.

create_a_circle_ci_schedule

Create a schedule. Returns: id, timetable, updated-at, name, created-at, project-slug, parameters, actor, description. Required: project_slug.

get_single_circle_ci_schedule_by_id

Get a schedule by ID. Returns: id, timetable, updated-at, name, created-at, project-slug, parameters, actor, description. Required: id.

update_a_circle_ci_schedule_by_id

Update a schedule. Returns: id, timetable, updated-at, name, created-at, project-slug, parameters, actor, description. Required: id.

delete_a_circle_ci_schedule_by_id

Delete a schedule. Returns: message. Required: id.

list_all_circle_ci_org_oidc_claims

Get org-level claims. Returns: audience, audience_updated_at, org_id, project_id, ttl, ttl_updated_at. Required: org_id.

circle_ci_org_oidc_claims_bulk_delete

Delete org-level claims. Returns: audience, audience_updated_at, org_id, project_id, ttl, ttl_updated_at. Required: org_id, claims.

circle_ci_org_oidc_claims_bulk_update

Patch org-level claims. Returns: audience, audience_updated_at, org_id, project_id, ttl, ttl_updated_at. Required: org_id.

list_all_circle_ci_project_oidc_claims

Get project-level claims. Returns: audience, audience_updated_at, org_id, project_id, ttl, ttl_updated_at. Required: org_id, project_id.

circle_ci_project_oidc_claims_bulk_delete

Delete project-level claims. Returns: audience, audience_updated_at, org_id, project_id, ttl, ttl_updated_at. Required: org_id, project_id, claims.

circle_ci_project_oidc_claims_bulk_update

Patch project-level claims. Returns: audience, audience_updated_at, org_id, project_id, ttl, ttl_updated_at. Required: org_id, project_id.

list_all_circle_ci_policy_decisions

Retrieves the owner's decision audit logs. Returns: created_at, decision, id, metadata, policies, time_taken_ms. Required: owner_id, context.

create_a_circle_ci_policy_decision

Makes a decision. Returns: enabled_rules, hard_failures, reason, soft_failures, status. Required: owner_id, context.

get_single_circle_ci_policy_decision_by_id

Retrieves the owner's decision audit log by given decisionID. Returns: created_at, decision, id, metadata, policies, time_taken_ms. Required: owner_id, context, id.

list_all_circle_ci_policy_decision_settings

Get the decision settings. Returns: enabled. Required: owner_id, context.

circle_ci_policy_decision_settings_bulk_update

Set the decision settings. Returns: enabled. Required: owner_id, context.

get_single_circle_ci_policy_decision_bundle_by_id

Retrieves Policy Bundle for a given decision log ID. Required: owner_id, context, id.

list_all_circle_ci_policy_bundles

Retrieves Policy Bundle. Required: owner_id, context.

create_a_circle_ci_policy_bundle

Creates policy bundle for the context. Returns: created, deleted, modified. Required: owner_id, context.

get_single_circle_ci_policy_bundle_by_id

Retrieves a policy document. Returns: content, created_at, created_by, name. Required: owner_id, context, id.

create_a_circle_ci_context

Create a new context. Returns: id, name, created_at.

list_all_circle_ci_contexts

List contexts. Returns: id, name, created_at.

get_single_circle_ci_context_by_id

Get a context. Returns: id, name, created_at. Required: id.

delete_a_circle_ci_context_by_id

Delete a context. Returns: message. Required: id.

list_all_circle_ci_context_env_vars

List environment variables. Returns: variable, created_at, updated_at, context_id. Required: context_id.

update_a_circle_ci_context_env_var_by_id

Add or update an environment variable. Returns: variable, created_at, updated_at, context_id, message. Required: context_id, id.

delete_a_circle_ci_context_env_var_by_id

Remove an environment variable. Returns: message. Required: context_id, id.

list_all_circle_ci_context_restrictions

Get context restrictions. Returns: context_id, id, project_id, name, restriction_type, restriction_value. Required: context_id.

create_a_circle_ci_context_restriction

Create context restriction. Returns: id, project_id, name, restriction_type, restriction_value. Required: context_id.

delete_a_circle_ci_context_restriction_by_id

Delete context restriction. Returns: message. Required: context_id, id.

list_all_circle_ci_project_settings

Get project settings. Returns: advanced. Required: provider, organization, project.

circle_ci_project_settings_bulk_update

Update project settings. Returns: advanced. Required: provider, organization, project.

list_all_circle_ci_groups

Groups in an organization. Returns: id, name, description. Required: org_id.

create_a_circle_ci_group

Create Groups. Returns: id, name, description. Required: org_id.

get_single_circle_ci_group_by_id

A group in an organization. Returns: id, name, description. Required: org_id, id.

delete_a_circle_ci_group_by_id

Delete a group. Returns: message. Required: org_id, id.

create_a_circle_ci_usage_export

Create a usage export. Returns: usage_export_job_id, state, start, end, download_urls. Required: org_id.

get_single_circle_ci_usage_export_by_id

Get a usage export. Returns: usage_export_job_id, state, download_urls, error_reason. Required: org_id, id.

create_a_circle_ci_pipeline_run

[Recommended] Trigger a new pipeline. Returns: message. Required: provider, organization, project.

list_all_circle_ci_pipeline_definitions

List pipeline definitions. Returns: id, name, description, created_at, config_source, checkout_source. Required: project_id.

create_a_circle_ci_pipeline_definition

Create pipeline definition. Returns: id, name, description, created_at, config_source, checkout_source. Required: project_id.

get_single_circle_ci_pipeline_definition_by_id

Get pipeline definition. Returns: id, name, description, created_at, config_source, checkout_source. Required: project_id, id.

update_a_circle_ci_pipeline_definition_by_id

Update pipeline definition. Returns: id, name, description, created_at, config_source, checkout_source. Required: project_id, id.

delete_a_circle_ci_pipeline_definition_by_id

Delete pipeline definition. Returns: message. Required: project_id, id.

list_all_circle_ci_triggers

List pipeline definition triggers. Returns: id, event_name, event_source, event_preset, checkout_ref, config_ref, disabled, parameters. Required: project_id, pipeline_definition_id.

create_a_circle_ci_trigger

Create trigger. Returns: id, event_name, event_source, event_preset, checkout_ref, config_ref, disabled, parameters. Required: project_id, pipeline_definition_id.

get_single_circle_ci_trigger_by_id

Get trigger. Returns: id, event_name, event_source, event_preset, checkout_ref, config_ref, disabled, parameters. Required: project_id, id.

update_a_circle_ci_trigger_by_id

Update trigger. Returns: id, event_name, event_source, event_preset, checkout_ref, config_ref, disabled, parameters. Required: project_id, id.

delete_a_circle_ci_trigger_by_id

Delete trigger. Returns: message. Required: project_id, id.

create_a_circle_ci_rollback

Rollback a project. Returns: id, rollback_type. Required: project_id.

list_all_circle_ci_deploy_environments

List Environments. Returns: created_at, description, id, labels, name, updated_at. Required: org-id, page-size.

get_single_circle_ci_deploy_environment_by_id

Get Environment. Returns: created_at, description, id, labels, name, updated_at. Required: id.

list_all_circle_ci_deploy_components

List Components. Returns: id, name, project_id, labels, release_count, created_at, updated_at. Required: org-id, page-size.

get_single_circle_ci_deploy_component_by_id

Get Component. Returns: id, name, project_id, labels, release_count, created_at, updated_at. Required: id.

list_all_circle_ci_deploy_component_versions

List Component Versions. Returns: name, environment_id, namespace, is_live, pipeline_id, workflow_id, job_id, job_number, last_deployed_at. Required: component_id.

list_all_circle_ci_webhooks

List webhooks. Returns: id, name, url, verify_tls, signing_secret, events, scope, is_enabled, auto_disabled_at, created_at. Required: scope-id, scope-type.

create_a_circle_ci_webhook

Create an outbound webhook. Returns: id, name, url, verify_tls, signing_secret, events, scope, is_enabled, auto_disabled_at, created_at.

get_single_circle_ci_webhook_by_id

Get a webhook. Returns: id, name, url, verify_tls, signing_secret, events, scope, is_enabled, auto_disabled_at, created_at. Required: id.

update_a_circle_ci_webhook_by_id

Update an outbound webhook. Returns: id, name, url, verify_tls, signing_secret, events, scope, is_enabled, auto_disabled_at, created_at. Required: id.

delete_a_circle_ci_webhook_by_id

Delete an outbound webhook. Returns: message. Required: id.

list_all_circle_ci_otel_exporters

🧪 List OTLP exporters. Returns: id, org_id, endpoint, protocol, insecure, headers, issues. Required: org-id.

create_a_circle_ci_otel_exporter

🧪 Create an OTLP exporter. Returns: id, org_id, endpoint, protocol, insecure, headers, issues.

delete_a_circle_ci_otel_exporter_by_id

🧪 Delete an OTLP exporter. Required: id.

Why Truto

Why use Truto’s MCP server for CircleCI

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 1000+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for CircleCI

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified CI/CD API

Artifacts

The artifact represent an artifact in the CI/CD.

View Docs

Builds

The build represent a build in the CI/CD.

View Docs

Jobs

The job represent a job in the CI/CD.

View Docs

Repos

The repo represent a repository in the CI/CD.

View Docs

Unified User Directory API

Users

The User object represents a User.

View Docs

How It Works

From zero to integrated

Start with CircleCI in a free sandbox, usually ready within one business day. No boilerplate, no maintenance burden.

01

Link your customer’s CircleCI account

Use Truto’s frontend SDK to connect your customer’s CircleCI account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call CircleCI

Truto’s Proxy API is a 1-to-1 mapping of the CircleCI API. You call us, we call CircleCI, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate CircleCI’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about CircleCI on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

What authentication method does CircleCI use?

CircleCI supports personal API tokens and project-level API tokens for API access. Truto handles token management and secure credential storage so your end users can connect their CircleCI accounts without friction.

Which Unified APIs does Truto offer for CircleCI?

CircleCI maps to Truto's Unified CI/CD API (covering Artifacts, Builds, Jobs, and Repos) and the Unified User Directory API (covering Users). Specific tools are built on request based on your use case.

Does Truto handle CircleCI API pagination automatically?

Yes. Truto abstracts away CircleCI's pagination mechanics so you can request data through the Unified API without managing page tokens or cursor logic yourself.

Are there rate limits on CircleCI's API that could affect data freshness?

CircleCI enforces rate limits on its API. Truto manages rate limiting and retry logic on your behalf, ensuring reliable data fetching without you having to implement backoff strategies.

Can I trigger pipelines or approve jobs through Truto's integration?

Write operations like triggering pipelines or approving jobs are not part of the current Unified CI/CD API resource model. However, Truto builds custom tools on request — reach out if your use case requires write access to CircleCI.

What data can I access through the Unified User Directory API for CircleCI?

You can retrieve CircleCI user identity and role information through Truto's Unified User Directory API, which is especially useful for compliance audits and access reviews across your customers' CI/CD environments.

CircleCI

Get CircleCI integrated into your app

Our team understands what it takes to make a CircleCI integration successful. A short, crisp 30 minute call with folks who understand the problem.