CodePipelineStepExecution
How one step of a code pipeline run is going: its status, output, token usage, questions and the agent’s transcript.
Kind: an object, used in responses.
Fields
Section titled “Fields”Every field is present in a response; empty ones are null.
| Field | Type | Description |
|---|---|---|
id | uuid | The step’s id within the run. Tool calls and transcript entries refer to it as stepExecutionId, and you use it to fetch them. |
stepName | string | The step’s name. |
agentName | string | The agent running the step. |
status | CodePipelineStepExecutionStatus | Where the step is. |
output | string | null | What the agent has written so far, taken from the coding tool’s output. |
finalResult | string | null | The step’s result. For a step with outputJsonSchema, the JSON that matches the schema. |
outputStructured | CodePipelineStructuredOutput| null | The agent’s structured summary of the step, for a step with isStructuredOutput. |
failureDetails | string | null | Why the step failed. Null unless it did. |
dateStart | datetime | null | When the step started, in UTC. Null until it starts. |
dateEnd | datetime | null | When the step ended, in UTC. Null until it ends. |
didCommit | boolean | Whether the step made a git commit. |
tokenUsage | CodePipelineTokenUsageEntry[] | null | The tokens the step used, by token type and model. |
humanInteractionRequests | CodePipelineHumanInteractionRequest[] | null | The questions the agent asked a person during the step, with their answers. |
engineSessionId | string | null | The coding tool’s session id when the step last ran, so a resumed step continues the same conversation. Null for coding tools without resumable sessions. |
outputs | CodePipelineEngineOutput[] | null | Every call the step made to its coding tool, with the exit code and output streams, whether it succeeded or failed, across retries and resumes. The list is capped, keeping the first and latest calls. |
challengeLoopTurns | CodePipelineChallengeTurn[] | null | The rounds of the step’s “is it really done?” check, for a step with runChallengeLoop. Null or empty for other steps. |
toolUseRefs | CodePipelineChildRef[] | null | References to the step’s tool calls, which you fetch separately. An empty array means the step made no tool calls. |
contextEntryRefs | CodePipelineChildRef[] | null | References to the step’s transcript entries (the agent’s text and thinking), which you fetch separately. An empty array means there are none. |
Example
Section titled “Example”{ "id": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f", "stepName": "...", "agentName": "...", "status": "NotStarted", "output": "...", "finalResult": "...", "outputStructured": { "summary": "...", "wasSuccessful": false, "isBlocked": false, "blockedReason": "...", "isAdditionalWorkRequired": false }, "failureDetails": "...", "dateStart": "2026-10-26T12:00:00.0000000Z", "dateEnd": "2026-10-26T12:00:00.0000000Z", "didCommit": false, "tokenUsage": [ { "type": "...", "amount": 0, "model": "...", "wireModel": "...", "requestedModel": "...", "resolvedModel": "...", "credentialId": "...", "tier": "..." } ], "humanInteractionRequests": [ { "id": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f", "question": "...", "context": "...", "dateRequested": "2026-10-26T12:00:00.0000000Z", "suggestedAnswers": [], "answer": "...", "dateAnswered": "2026-10-26T12:00:00.0000000Z", "answerAuthor": {} } ], "engineSessionId": "...", "outputs": [ { "sequence": 0, "dateUtc": "2026-10-26T12:00:00.0000000Z", "purpose": "...", "returnCode": 0, "stdOut": "...", "stdErr": "...", "internalError": "...", "terminationReason": "...", "isTruncated": false } ], "challengeLoopTurns": [ { "turn": 0, "reworkNeeded": false, "remainingRiskPercent": 0, "parsed": false, "outstandingConcerns": "..." } ], "toolUseRefs": [ { "id": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f", "rev": 0 } ], "contextEntryRefs": [ { "id": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f", "rev": 0 } ]}Where it’s used
Section titled “Where it’s used”- Inside
CodePipelinePhaseExecution