CircleCI · JSON Structure

Circleci Structure

Structural overview of the CircleCI API surface; extracted from openapi/.

Type: Properties: 0
CI/CDContinuous IntegrationContinuous DeploymentDevOpsPipelinesWorkflows

Circleci Structure is a JSON Structure definition published by CircleCI.

Meta-schema:

JSON Structure

Raw ↑
{
  "provider": "CircleCI",
  "providerId": "circleci",
  "kind": "json-structure",
  "description": "Structural overview of the CircleCI API surface; extracted from openapi/.",
  "schemaCount": 42,
  "operationCount": 49,
  "schemas": [
    {
      "name": "User",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "Collaboration",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "Context",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "ContextList",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "CreateContextRequest",
      "type": "object",
      "propertyCount": 2,
      "required": [
        "name",
        "owner"
      ]
    },
    {
      "name": "EnvironmentVariable",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "EnvironmentVariableList",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "Pipeline",
      "type": "object",
      "propertyCount": 9,
      "required": []
    },
    {
      "name": "PipelineList",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "PipelineConfig",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "PipelineCreation",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "TriggerPipelineRequest",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "Project",
      "type": "object",
      "propertyCount": 7,
      "required": []
    },
    {
      "name": "CheckoutKey",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "CheckoutKeyList",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "ProjectEnvVar",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "ProjectEnvVarList",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "Workflow",
      "type": "object",
      "propertyCount": 9,
      "required": []
    },
    {
      "name": "WorkflowList",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "WorkflowJobList",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "WorkflowJob",
      "type": "object",
      "propertyCount": 8,
      "required": []
    },
    {
      "name": "Job",
      "type": "object",
      "propertyCount": 14,
      "required": []
    },
    {
      "name": "RerunWorkflowResponse",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "ArtifactList",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "Artifact",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "TestList",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "TestMetadata",
      "type": "object",
      "propertyCount": 7,
      "required": []
    },
    {
      "name": "Schedule",
      "type": "object",
      "propertyCount": 9,
      "required": []
    },
    {
      "name": "ScheduleList",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "Timetable",
      "type": "object",
      "propertyCount": 5,
      "required": [
        "per-hour",
        "hours-of-day",
        "days-of-week"
      ]
    },
    {
      "name": "CreateScheduleRequest",
      "type": "object",
      "propertyCount": 5,
      "required": [
        "name",
        "timetable",
        "attribution-actor",
        "parameters"
      ]
    },
    {
      "name": "UpdateScheduleRequest",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "WebhookInfo",
      "type": "object",
      "propertyCount": 9,
      "required": []
    },
    {
      "name": "WebhookList",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "CreateWebhookRequest",
      "type": "object",
      "propertyCount": 6,
      "required": [
        "name",
        "url",
        "events",
        "scope",
        "signing-secret"
      ]
    },
    {
      "name": "UpdateWebhookRequest",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "InsightsWorkflowMetrics",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "InsightsWorkflowRuns",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "InsightsJobMetrics",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "InsightsTestMetrics",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "MessageResponse",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "ErrorResponse",
      "type": "object",
      "propertyCount": 1,
      "required": []
    }
  ],
  "operations": [
    {
      "method": "GET",
      "path": "/me",
      "operationId": "getCurrentUser",
      "summary": "Get current user",
      "tags": [
        "User"
      ]
    },
    {
      "method": "GET",
      "path": "/me/collaborations",
      "operationId": "getCollaborations",
      "summary": "List collaborations",
      "tags": [
        "User"
      ]
    },
    {
      "method": "GET",
      "path": "/context",
      "operationId": "listContexts",
      "summary": "List contexts",
      "tags": [
        "Context"
      ]
    },
    {
      "method": "POST",
      "path": "/context",
      "operationId": "createContext",
      "summary": "Create a context",
      "tags": [
        "Context"
      ]
    },
    {
      "method": "GET",
      "path": "/context/{context-id}",
      "operationId": "getContext",
      "summary": "Get a context",
      "tags": [
        "Context"
      ]
    },
    {
      "method": "DELETE",
      "path": "/context/{context-id}",
      "operationId": "deleteContext",
      "summary": "Delete a context",
      "tags": [
        "Context"
      ]
    },
    {
      "method": "GET",
      "path": "/context/{context-id}/environment-variable",
      "operationId": "listContextEnvironmentVariables",
      "summary": "List environment variables in a context",
      "tags": [
        "Context"
      ]
    },
    {
      "method": "PUT",
      "path": "/context/{context-id}/environment-variable/{env-var-name}",
      "operationId": "addOrUpdateContextEnvironmentVariable",
      "summary": "Add or update an environment variable",
      "tags": [
        "Context"
      ]
    },
    {
      "method": "DELETE",
      "path": "/context/{context-id}/environment-variable/{env-var-name}",
      "operationId": "deleteContextEnvironmentVariable",
      "summary": "Remove an environment variable",
      "tags": [
        "Context"
      ]
    },
    {
      "method": "GET",
      "path": "/pipeline",
      "operationId": "listPipelines",
      "summary": "List pipelines",
      "tags": [
        "Pipeline"
      ]
    },
    {
      "method": "POST",
      "path": "/pipeline/continue",
      "operationId": "continuePipeline",
      "summary": "Continue a pipeline",
      "tags": [
        "Pipeline"
      ]
    },
    {
      "method": "GET",
      "path": "/pipeline/{pipeline-id}",
      "operationId": "getPipeline",
      "summary": "Get a pipeline by ID",
      "tags": [
        "Pipeline"
      ]
    },
    {
      "method": "GET",
      "path": "/pipeline/{pipeline-id}/config",
      "operationId": "getPipelineConfig",
      "summary": "Get a pipeline's configuration",
      "tags": [
        "Pipeline"
      ]
    },
    {
      "method": "GET",
      "path": "/pipeline/{pipeline-id}/workflow",
      "operationId": "listPipelineWorkflows",
      "summary": "List workflows for a pipeline",
      "tags": [
        "Pipeline"
      ]
    },
    {
      "method": "GET",
      "path": "/project/{project-slug}",
      "operationId": "getProject",
      "summary": "Get a project",
      "tags": [
        "Project"
      ]
    },
    {
      "method": "GET",
      "path": "/project/{project-slug}/pipeline",
      "operationId": "listProjectPipelines",
      "summary": "List project pipelines",
      "tags": [
        "Pipeline"
      ]
    },
    {
      "method": "POST",
      "path": "/project/{project-slug}/pipeline",
      "operationId": "triggerPipeline",
      "summary": "Trigger a pipeline",
      "tags": [
        "Pipeline"
      ]
    },
    {
      "method": "GET",
      "path": "/project/{project-slug}/pipeline/mine",
      "operationId": "listMyProjectPipelines",
      "summary": "List my project pipelines",
      "tags": [
        "Pipeline"
      ]
    },
    {
      "method": "GET",
      "path": "/project/{project-slug}/checkout-key",
      "operationId": "listCheckoutKeys",
      "summary": "List checkout keys",
      "tags": [
        "Project"
      ]
    },
    {
      "method": "POST",
      "path": "/project/{project-slug}/checkout-key",
      "operationId": "createCheckoutKey",
      "summary": "Create a checkout key",
      "tags": [
        "Project"
      ]
    },
    {
      "method": "GET",
      "path": "/project/{project-slug}/checkout-key/{fingerprint}",
      "operationId": "getCheckoutKey",
      "summary": "Get a checkout key",
      "tags": [
        "Project"
      ]
    },
    {
      "method": "DELETE",
      "path": "/project/{project-slug}/checkout-key/{fingerprint}",
      "operationId": "deleteCheckoutKey",
      "summary": "Delete a checkout key",
      "tags": [
        "Project"
      ]
    },
    {
      "method": "GET",
      "path": "/project/{project-slug}/envvar",
      "operationId": "listProjectEnvironmentVariables",
      "summary": "List project environment variables",
      "tags": [
        "Project"
      ]
    },
    {
      "method": "POST",
      "path": "/project/{project-slug}/envvar",
      "operationId": "createProjectEnvironmentVariable",
      "summary": "Create a project environment variable",
      "tags": [
        "Project"
      ]
    },
    {
      "method": "GET",
      "path": "/project/{project-slug}/envvar/{name}",
      "operationId": "getProjectEnvironmentVariable",
      "summary": "Get a masked environment variable",
      "tags": [
        "Project"
      ]
    },
    {
      "method": "DELETE",
      "path": "/project/{project-slug}/envvar/{name}",
      "operationId": "deleteProjectEnvironmentVariable",
      "summary": "Delete a project environment variable",
      "tags": [
        "Project"
      ]
    },
    {
      "method": "GET",
      "path": "/project/{project-slug}/job/{job-number}",
      "operationId": "getJob",
      "summary": "Get job details",
      "tags": [
        "Job"
      ]
    },
    {
      "method": "POST",
      "path": "/project/{project-slug}/job/{job-number}/cancel",
      "operationId": "cancelJob",
      "summary": "Cancel a job",
      "tags": [
        "Job"
      ]
    },
    {
      "method": "GET",
      "path": "/project/{project-slug}/{job-number}/artifacts",
      "operationId": "listJobArtifacts",
      "summary": "List artifacts for a job",
      "tags": [
        "Job"
      ]
    },
    {
      "method": "GET",
      "path": "/project/{project-slug}/{job-number}/tests",
      "operationId": "listJobTests",
      "summary": "List test metadata for a job",
      "tags": [
        "Job"
      ]
    },
    {
      "method": "GET",
      "path": "/workflow/{id}",
      "operationId": "getWorkflow",
      "summary": "Get a workflow by ID",
      "tags": [
        "Workflow"
      ]
    },
    {
      "method": "POST",
      "path": "/workflow/{id}/approve/{approval_request_id}",
      "operationId": "approveWorkflowJob",
      "summary": "Approve a workflow job",
      "tags": [
        "Workflow"
      ]
    },
    {
      "method": "POST",
      "path": "/workflow/{id}/cancel",
      "operationId": "cancelWorkflow",
      "summary": "Cancel a workflow",
      "tags": [
        "Workflow"
      ]
    },
    {
      "method": "POST",
      "path": "/workflow/{id}/rerun",
      "operationId": "rerunWorkflow",
      "summary": "Rerun a workflow",
      "tags": [
        "Workflow"
      ]
    },
    {
      "method": "GET",
      "path": "/workflow/{id}/job",
      "operationId": "listWorkflowJobs",
      "summary": "List jobs for a workflow",
      "tags": [
        "Workflow"
      ]
    },
    {
      "method": "GET",
      "path": "/insights/{project-slug}/workflows",
      "operationId": "getProjectWorkflowMetrics",
      "summary": "Get project workflow metrics",
      "tags": [
        "Insights"
      ]
    },
    {
      "method": "GET",
      "path": "/insights/{project-slug}/workflows/{workflow-name}",
      "operationId": "getWorkflowRuns",
      "summary": "Get recent runs of a workflow",
      "tags": [
        "Insights"
      ]
    },
    {
      "method": "GET",
      "path": "/insights/{project-slug}/workflows/{workflow-name}/jobs",
      "operationId": "getWorkflowJobMetrics",
      "summary": "Get workflow job metrics",
      "tags": [
        "Insights"
      ]
    },
    {
      "method": "GET",
      "path": "/insights/{project-slug}/workflows/{workflow-name}/test-metrics",
      "operationId": "getWorkflowTestMetrics",
      "summary": "Get test metrics for a workflow",
      "tags": [
        "Insights"
      ]
    },
    {
      "method": "GET",
      "path": "/project/{project-slug}/schedule",
      "operationId": "listSchedules",
      "summary": "List schedules for a project",
      "tags": [
        "Schedule"
      ]
    },
    {
      "method": "POST",
      "path": "/project/{project-slug}/schedule",
      "operationId": "createSchedule",
      "summary": "Create a schedule",
      "tags": [
        "Schedule"
      ]
    },
    {
      "method": "GET",
      "path": "/schedule/{schedule-id}",
      "operationId": "getSchedule",
      "summary": "Get a schedule by ID",
      "tags": [
        "Schedule"
      ]
    },
    {
      "method": "DELETE",
      "path": "/schedule/{schedule-id}",
      "operationId": "deleteSchedule",
      "summary": "Delete a schedule",
      "tags": [
        "Schedule"
      ]
    },
    {
      "method": "PATCH",
      "path": "/schedule/{schedule-id}",
      "operationId": "updateSchedule",
      "summary": "Update a schedule",
      "tags": [
        "Schedule"
      ]
    },
    {
      "method": "GET",
      "path": "/webhook",
      "operationId": "listWebhooks",
      "summary": "List webhooks",
      "tags": [
        "Webhook"
      ]
    },
    {
      "method": "POST",
      "path": "/webhook",
      "operationId": "createWebhook",
      "summary": "Create a webhook",
      "tags": [
        "Webhook"
      ]
    },
    {
      "method": "GET",
      "path": "/webhook/{webhook-id}",
      "operationId": "getWebhook",
      "summary": "Get a webhook by ID",
      "tags": [
        "Webhook"
      ]
    },
    {
      "method": "PUT",
      "path": "/webhook/{webhook-id}",
      "operationId": "updateWebhook",
      "summary": "Update a webhook",
      "tags": [
        "Webhook"
      ]
    },
    {
      "method": "DELETE",
      "path": "/webhook/{webhook-id}",
      "operationId": "deleteWebhook",
      "summary": "Delete a webhook",
      "tags": [
        "Webhook"
      ]
    }
  ]
}

Work with this as data

Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure in the catalog.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This JSON Structure
curl "https://apis.io/api/v1/json-structures/circleci-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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.