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 usUse Cases
Why integrate with CircleCI
Common scenarios for SaaS companies building CircleCI integrations for their customers.
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.
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.
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.
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.
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.
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.
Automated deployment frequency tracker
Calculate and display how often each repo deploys by ingesting build history and job completion data from CircleCI.
Build artifact browser
Let your users browse and download CircleCI build artifacts — like test reports, binaries, or coverage files — directly from within your product.
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.
Job failure analytics dashboard
Ingest job-level data including durations, statuses, and failure patterns to help engineering leaders identify flaky tests and bottleneck stages.
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.
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.
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.
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.
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.
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.
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
Unified User Directory API
Users
The User object represents a User.
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.
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.
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.
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.
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.
From the Blog
CircleCI integration guides
Deep dives, architecture guides, and practical tutorials for building CircleCI integrations.
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.