{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/circleci/main/json-schema/circleci-build-detail-schema.json", "title": "BuildDetail", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/circleci-build-api-openapi.yml#/components/schemas/BuildDetail", "allOf": [ { "$ref": "#/$defs/Build" }, { "type": "object", "properties": { "steps": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The step name" }, "actions": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The action name" }, "type": { "type": "string", "description": "The action type" }, "status": { "type": "string", "description": "The action status" }, "start_time": { "type": "string", "format": "date-time", "description": "When the action started" }, "end_time": { "type": "string", "format": "date-time", "description": "When the action ended" }, "run_time_millis": { "type": "integer", "description": "Action run time in milliseconds" }, "output_url": { "type": "string", "format": "uri", "description": "URL to the action output" } } }, "description": "Actions within the step" } } }, "description": "Build steps" }, "circle_yml": { "type": "object", "description": "The parsed CircleCI configuration" }, "messages": { "type": "array", "items": { "type": "string" }, "description": "Build messages" }, "node": { "type": "array", "items": { "type": "object", "properties": { "image_id": { "type": "string", "description": "The image ID used" }, "port": { "type": "integer", "description": "The SSH port" }, "public_ip_addr": { "type": "string", "description": "The public IP address" }, "username": { "type": "string", "description": "The SSH username" } } }, "description": "Node information for SSH access" } } } ], "$defs": { "Build": { "type": "object", "properties": { "vcs_url": { "type": "string", "format": "uri", "description": "The VCS URL" }, "build_url": { "type": "string", "format": "uri", "description": "URL to view the build in CircleCI" }, "build_num": { "type": "integer", "description": "The build number" }, "branch": { "type": "string", "description": "The branch that was built" }, "vcs_revision": { "type": "string", "description": "The VCS revision (commit SHA)" }, "committer_name": { "type": "string", "description": "Name of the committer" }, "committer_email": { "type": "string", "format": "email", "description": "Email of the committer" }, "subject": { "type": "string", "description": "The commit message subject" }, "body": { "type": "string", "description": "The commit message body" }, "why": { "type": "string", "description": "Why the build was triggered" }, "status": { "type": "string", "enum": [ "retried", "canceled", "infrastructure_fail", "timedout", "not_run", "running", "failed", "queued", "scheduled", "not_running", "no_tests", "fixed", "success" ], "description": "The build status" }, "outcome": { "type": "string", "enum": [ "canceled", "infrastructure_fail", "timedout", "failed", "no_tests", "success" ], "description": "The build outcome" }, "start_time": { "type": "string", "format": "date-time", "description": "When the build started" }, "stop_time": { "type": "string", "format": "date-time", "description": "When the build stopped" }, "build_time_millis": { "type": "integer", "description": "Total build time in milliseconds" }, "queued_at": { "type": "string", "format": "date-time", "description": "When the build was queued" }, "lifecycle": { "type": "string", "enum": [ "queued", "scheduled", "not_run", "not_running", "running", "finished" ], "description": "The build lifecycle phase" }, "username": { "type": "string", "description": "The organization or username" }, "reponame": { "type": "string", "description": "The repository name" } } } } }