Nx Cloud Public API
This is an API reference of the Nx Cloud Public API. View OpenAPI specification
Read-only access to Nx Cloud CI data: CI pipeline executions (CIPEs), run groups, runs, tasks, workflows, steps, instances, agents, daily task statistics, flaky-task metrics, and Self-Healing CI fixes.
Navigation: each response has a links map. Follow the links to reach the entity’s
parents and children. A child link is a pre-filled filter URL (a run group’s runs
link is /runs?runGroup={id}). Start from /cipes, or from any entity URL you
have. Use the top-level collections to search the workspace. Use the parent-id
filters (cipeId, runGroup, stepId, agentName) to list one parent’s
children. A parent-id filter is an address: an unknown parent gives 404, never an
empty page.
In-progress entities: CIPEs and run groups are listed while they run, with fields
that are not final yet absent. Their children are reached one level down: a
running CIPE’s run groups at its links.runGroups, a running run group’s finished
runs at its links.runs. Fetching a running CIPE or run group by id gives 409
not_terminal with the same links. Runs and tasks are never listed in progress: a
run appears in the run lists once its Nx command finishes. Fetching a live run, or
a task of one, by id gives 409 not_terminal with no links. Steps, instances and
agents are served once their run group and its workflow finish.
Requests: every endpoint is a GET. Each entity has its own path version
(/nx-cloud/data/{version}/{entity}). Repeat a key for list filters
(statuses=FAILED&statuses=CANCELED). Enum values are not case-sensitive. An
unknown query param gives 400 invalid_parameter. Ids are raw: URL-encode them in
a path. Terminal timestamps are completedAt.
Authentication: choose one credential set. Send a CI access token in
Authorization: Bearer <token>. Or send a personal access token (PAT) in
Nx-Cloud-Personal-Access-Token: <token> together with Nx-Cloud-Id: <id>.
The Nx Cloud Id identifies the workspace. Only the PAT option requires both headers.
The nx-cloud api command authenticates for you with the login nx login stores.
OAuth login is the default CLI credential when it is enabled on the instance;
otherwise nx login uses a PAT. PATs remain supported.
Pagination: limit (1..500, default 100), sort
(ASC or DESC, default DESC), and cursor. A cursor is opaque and stays valid
only for the list that minted it. Filters do not change that scope. sort applies
to the first request only: a cursor carries its own direction. nextCursor: null
marks the last page. prevCursor pages backward.
Get started with the API
Section titled “Get started with the API”Use cases
Section titled “Use cases”Endpoint reference
Section titled “Endpoint reference”List CI pipeline executions
Section titled “List CI pipeline executions”GET /nx-cloud/data/v1/cipes
List the workspace’s CI pipeline executions (CIPEs), newest first by default.
In-progress CIPEs are included (status NOT_STARTED or IN_PROGRESS): fields that
are not final yet, such as completedAt, are absent, the runGroups summary
(total, statusCounts) counts the run groups the CIPE has so far, and
links.runGroups lists them. Filter by branch, statuses, a createdAt window,
or run-group ciExecutionEnvs.
cancellationRequest is optional. To investigate a CANCELED status, follow
links.runGroups, open the canceled run groups, and inspect their workflow and run links.
A CIPE whose self-healing work was skipped carries selfHealingSkip (reason,
message, recordedAt). links.selfHealingFixes lists the fixes it has.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| query |
| Match the CIPE branch, its VCS context branch, or its VCS context ref. A pull request’s CIPE is found both by the git branch name and by the branch its CI reported, often the pull request number. |
|
| query |
| Select statuses. Omit to include every CIPE, in-progress ones included. Values are case-insensitive. Repeat the key to select multiple values. Example: |
|
| query |
| Inclusive lower bound on the CI pipeline execution’s createdAt. Supply an ISO-8601 timestamp with a timezone. Example: |
|
| query |
| Inclusive upper bound on the CI pipeline execution’s createdAt. Supply an ISO-8601 timestamp with a timezone. Must not precede createdAfter. Example: |
|
| query |
| Match CIPEs with at least one run group in a selected CI execution environment. Repeat the key to select multiple values. Exploded values. |
|
| query |
| Rows per page, 1..500 (default 100). Default: |
|
| query |
| Opaque cursor from a previous page’s |
|
| query |
|
|
Response body 200 OK
A page of CIPEs ordered by createdAt per the request’s sort.
Content type: application/json.
Schema: PageResponse_CipeResponse.
Example response
{ "items": [ { "id": "686280000000000000000001", "status": "SUCCEEDED", "createdAt": "2026-06-30T12:00:00Z", "completedAt": "2026-06-30T12:01:00Z", "workspaceId": "686280000000000000000002", "ciExecutionId": "build-42", "branch": "main", "runGroups": { "total": 1, "statusCounts": { "SUCCEEDED": 1 } }, "links": { "self": "/nx-cloud/data/v1/cipes/686280000000000000000001", "runGroups": "/nx-cloud/data/v1/run-groups?cipeId=686280000000000000000001", "selfHealingFixes": "/nx-cloud/data/v1/self-healing-fixes?cipeId=686280000000000000000001" } } ], "nextCursor": null, "prevCursor": null}Response headers: RateLimit-Policy, RateLimit.
Get a CI pipeline execution
Section titled “Get a CI pipeline execution”GET /nx-cloud/data/v1/cipes/{cipeId}
Fetch one terminal CIPE by id. Same shape as a list item, including the runGroups
summary and the links map. An in-progress CIPE returns 409 with
links.runGroups; it appears in the CIPE list while it runs.
cancellationRequest is optional. To investigate a CANCELED
status, follow links.runGroups, open the canceled run groups, and inspect their
workflow and run links.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The CI pipeline execution’s id: 24 hexadecimal characters, not ciExecutionId. |
Response body 200 OK
The CIPE.
Content type: application/json.
Schema: CipeResponse.
Example response
{ "id": "686280000000000000000001", "status": "SUCCEEDED", "createdAt": "2026-06-30T12:00:00Z", "completedAt": "2026-06-30T12:01:00Z", "workspaceId": "686280000000000000000002", "ciExecutionId": "build-42", "branch": "main", "runGroups": { "total": 1, "statusCounts": { "SUCCEEDED": 1 } }, "links": { "self": "/nx-cloud/data/v1/cipes/686280000000000000000001", "runGroups": "/nx-cloud/data/v1/run-groups?cipeId=686280000000000000000001", "selfHealingFixes": "/nx-cloud/data/v1/self-healing-fixes?cipeId=686280000000000000000001" }}Response headers: RateLimit-Policy, RateLimit.
List run groups
Section titled “List run groups”GET /nx-cloud/data/v1/run-groups
List run groups for the workspace. The list uses the parent CIPE’s createdAt. The
newest CIPE is first by default. Run groups from one CIPE stay together. Filter by
branch, ciExecutionEnv, cipeId, statuses, or a
createdAfter/createdBefore window. A cipeId page for an in-progress CIPE holds the
run groups it has so far; the list is complete once the CIPE’s status is terminal.
In-progress run groups are included (status NOT_STARTED or IN_PROGRESS): fields
that are not final yet are absent, and links.runs lists the runs that have
finished. List items contain run-group data. For a terminal run group, follow
links.self for run and workflow information.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| query |
| Match the parent CIPE’s branch, VCS context branch, or VCS context ref. A pull request’s run groups are found both by the git branch name and by the branch its CI reported, often the pull request number. |
|
| query |
| Match the CI execution environment name. |
|
| query |
| Select a parent CI pipeline execution by its id: 24 hexadecimal characters, not ciExecutionId. An unknown parent returns 404. An in-progress CIPE lists the run groups it has so far, and more can follow: the list is complete once the CIPE’s status is terminal. |
|
| query |
| Select run-group statuses. Omit to include every status, in-progress run groups included. Values are case-insensitive. Repeat the key to select multiple values. Example: |
|
| query |
| Inclusive lower bound on the parent CIPE’s createdAt, not the run group’s. Supply an ISO-8601 timestamp with a timezone. Example: |
|
| query |
| Inclusive upper bound on the parent CIPE’s createdAt, not the run group’s. Supply an ISO-8601 timestamp with a timezone. Must not precede createdAfter. Example: |
|
| query |
| Rows per page, 1..500 (default 100). Default: |
|
| query |
| Opaque cursor from a previous page’s |
|
| query |
|
|
Response body 200 OK
A page of run groups ordered by the parent CIPE’s createdAt.
Content type: application/json.
Schema: PageResponse_RunGroupListResponse.
Example response
{ "items": [ { "id": "ci-build-42", "status": "SUCCEEDED", "createdAt": "2026-06-30T12:00:00Z", "completedAt": "2026-06-30T12:01:00Z", "cipeId": "686280000000000000000001", "ciExecutionEnv": "linux", "links": { "self": "/nx-cloud/data/v1/run-groups/ci-build-42", "cipe": "/nx-cloud/data/v1/cipes/686280000000000000000001", "runs": "/nx-cloud/data/v1/runs?runGroup=ci-build-42", "agents": "/nx-cloud/data/v1/run-groups/ci-build-42/agents", "selfHealingFixes": "/nx-cloud/data/v1/self-healing-fixes?runGroup=ci-build-42" } } ], "nextCursor": null, "prevCursor": null}Response headers: RateLimit-Policy, RateLimit.
Get a run group
Section titled “Get a run group”GET /nx-cloud/data/v1/run-groups/{runGroupId}
Fetch one terminal run group by its id. URL-encode the id in the path. The response
includes run information and optional workflow information. An in-progress run
group returns 409 with links.runs; it appears in the run-group list while it runs.
workflow describes the Nx managed agent workflow for the run group. It includes its type,
status, estimated credits, and summaries for steps, agents, and workflow instances. Follow its
links to list these resources. workflow is null when the run group has no Nx managed agent workflow.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The run group’s id, not cipeId. URL-encode the returned value as one path segment. |
Response body 200 OK
The run group with its run summary and optional Nx managed agent workflow.
Content type: application/json.
Schema: RunGroupResponse.
Example response
{ "id": "ci-build-42", "status": "SUCCEEDED", "createdAt": "2026-06-30T12:00:00Z", "completedAt": "2026-06-30T12:01:00Z", "cipeId": "686280000000000000000001", "ciExecutionEnv": "linux", "runs": { "total": 1, "statusCounts": { "SUCCEEDED": 1 } }, "links": { "self": "/nx-cloud/data/v1/run-groups/ci-build-42", "cipe": "/nx-cloud/data/v1/cipes/686280000000000000000001", "runs": "/nx-cloud/data/v1/runs?runGroup=ci-build-42", "agents": "/nx-cloud/data/v1/run-groups/ci-build-42/agents", "selfHealingFixes": "/nx-cloud/data/v1/self-healing-fixes?runGroup=ci-build-42" }}Response headers: RateLimit-Policy, RateLimit.
List a run group's workflow steps
Section titled “List a run group's workflow steps”GET /nx-cloud/data/v1/run-groups/{runGroupId}/steps
List the steps of the run group’s Nx managed agent workflow. A step runs across the
workflow’s agents. Follow links.instances to list the workflow instances for that
step. The link selects related rows from the run-group instance collection. Steps
are in position order, with the last step first by default. Filter by execution
statuses, launchTemplate, groupName, or parallel.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The run group’s id, as returned by the run-groups API. URL-encode it as one path segment. |
|
| query |
| Select workflow execution statuses. Values are case-insensitive. Repeat the key to select multiple values. Example: |
|
| query |
| Match the launch-template name. |
|
| query |
| Match the recorded workflow step group. |
|
| query |
| True selects parallel steps; false selects sequential steps. Omit to include both. Example: |
|
| query |
| Rows per page, 1..500 (default 100). Default: |
|
| query |
| Opaque cursor from a previous page’s |
|
| query |
|
|
Response body 200 OK
A page of workflow steps ordered by position.
Content type: application/json.
Schema: PageResponse_StepResponse.
Example response
{ "items": [ { "id": "agent:nx-tasks", "status": "SUCCEEDED", "name": "Agent Nx Tasks", "parallel": true, "position": 0, "startedAt": "2026-06-30T12:00:00Z", "completedAt": "2026-06-30T12:01:00Z", "instances": { "total": 0, "statusCounts": {}, "restarted": 0, "restartAttempts": 0 }, "links": { "self": "/nx-cloud/data/v1/run-groups/ci-build-42/steps/agent%3Anx-tasks", "runGroup": "/nx-cloud/data/v1/run-groups/ci-build-42", "instances": "/nx-cloud/data/v1/run-groups/ci-build-42/instances?stepId=agent%3Anx-tasks", "agents": "/nx-cloud/data/v1/run-groups/ci-build-42/agents" } } ], "nextCursor": null, "prevCursor": null}Response headers: RateLimit-Policy, RateLimit.
Get a run-group workflow step
Section titled “Get a run-group workflow step”GET /nx-cloud/data/v1/run-groups/{runGroupId}/steps/{stepId}
Fetch one workflow step by its URL-encoded step ID. Follow links.instances to list
the workflow instances for that step.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The run group’s id, as returned by the run-groups API. URL-encode it as one path segment. |
|
| path |
| The step response’s id, not its display name. It can contain colons; URL-encode it as one path segment. |
Response body 200 OK
The workflow step.
Content type: application/json.
Schema: StepResponse.
Example response
{ "id": "agent:nx-tasks", "status": "SUCCEEDED", "name": "Agent Nx Tasks", "parallel": true, "position": 0, "startedAt": "2026-06-30T12:00:00Z", "completedAt": "2026-06-30T12:01:00Z", "instances": { "total": 0, "statusCounts": {}, "restarted": 0, "restartAttempts": 0 }, "links": { "self": "/nx-cloud/data/v1/run-groups/ci-build-42/steps/agent%3Anx-tasks", "runGroup": "/nx-cloud/data/v1/run-groups/ci-build-42", "instances": "/nx-cloud/data/v1/run-groups/ci-build-42/instances?stepId=agent%3Anx-tasks", "agents": "/nx-cloud/data/v1/run-groups/ci-build-42/agents" }}Response headers: RateLimit-Policy, RateLimit.
List a run group's workflow instances
Section titled “List a run group's workflow instances”GET /nx-cloud/data/v1/run-groups/{runGroupId}/instances
List the workflow instances for a run group. Each instance is one step run on one
Nx managed agent. BYOC agents do not have workflow instances. Use stepId to select
one step across agents. Use agentName to select one agent across steps. Use both
parameters to select one workflow instance.
These collection views use one pagination and filter model. Path parameters identify one resource. Query parameters select a related subset of this collection. Follow response links. Do not construct URLs from IDs.
Narrow the result by statuses, a startedAfter/startedBefore window, or
restarted.
Each row represents one workflow step on one agent, not one agent boot. Agent restarts share a
row; restartAttempts counts superseded executions. Each row includes the selected
execution’s step, agent, status, times, and an available logs asset.
Follow links.self for resourceUsage, terminationStatuses, timeoutInfo, and priorRuns.
When links.agent exists, it identifies the Nx managed agent that ran the step. Older executions
can lack agentName; their links.self still provides the instance address.
Missing start times remain absent in responses, but use 1970-01-01T00:00:00Z for date
filtering and sorting.
The selected execution has the latest start time, unless a restart boot selected in an earlier
workflow step remains available for this step. Start-time ties use the last recorded execution.
The other executions appear in priorRuns, sorted by start time then name in ascending order;
they can start after the selected execution. Selection does not depend on the list’s sort direction.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The run group’s id, as returned by the run-groups API. URL-encode it as one path segment. |
|
| query |
| Select workflow instances for one step by the step response’s id. URL-encode it as a query value. An unknown step returns 404. |
|
| query |
| Select workflow instances for one agent by the agent response’s name. URL-encode it as a query value. An unknown agent returns 404. |
|
| query |
| Select workflow execution statuses. Values are case-insensitive. Repeat the key to select multiple values. Example: |
|
| query |
| Inclusive lower bound on startedAt. Missing start times use 1970-01-01T00:00:00Z for date filtering. Supply an ISO-8601 timestamp with a timezone. Example: |
|
| query |
| Inclusive upper bound on startedAt. Missing start times use 1970-01-01T00:00:00Z for date filtering. Supply an ISO-8601 timestamp with a timezone. Must not precede startedAfter. Example: |
|
| query |
| True selects workflow instances with superseded executions after an agent restart; false selects instances without them. Omit to include both. Example: |
|
| query |
| Rows per page, 1..500 (default 100). Default: |
|
| query |
| Opaque cursor from a previous page’s |
|
| query |
|
|
Response body 200 OK
A page of workflow instances ordered by startedAt.
Content type: application/json.
Schema: PageResponse_InstanceRowResponse.
Example response
{ "items": [ { "stepId": "agent:nx-tasks", "stepName": "Agent Nx Tasks", "agentName": "agent-1", "name": "agent-1-boot-1", "status": "SUCCEEDED", "startedAt": "2026-06-30T12:00:00Z", "completedAt": "2026-06-30T12:01:00Z", "assets": [], "links": { "self": "/nx-cloud/data/v1/run-groups/ci-build-42/steps/agent%3Anx-tasks/instances/agent-1", "runGroup": "/nx-cloud/data/v1/run-groups/ci-build-42", "step": "/nx-cloud/data/v1/run-groups/ci-build-42/steps/agent%3Anx-tasks", "agent": "/nx-cloud/data/v1/run-groups/ci-build-42/agents/agent-1" } } ], "nextCursor": null, "prevCursor": null}Response headers: RateLimit-Policy, RateLimit.
Get a run-group workflow instance
Section titled “Get a run-group workflow instance”GET /nx-cloud/data/v1/run-groups/{runGroupId}/steps/{stepId}/instances/{agentName}
Fetch one workflow instance by its step id and agent name. This response includes
resourceUsage, terminationStatuses, timeoutInfo, and priorRuns.
The selected execution has the latest start time, unless a restart boot selected in an earlier
workflow step remains available for this step. Start-time ties use the last recorded execution.
The other executions appear in priorRuns, sorted by start time then name in ascending order;
they can start after the selected execution. Selection does not depend on the list’s sort direction.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The run group’s id, as returned by the run-groups API. URL-encode it as one path segment. |
|
| path |
| The step’s id, which can contain colons. URL-encode it as one path segment. |
|
| path |
| The instance’s agent address. URL-encode agentName as one path segment, or follow links.self when agentName is absent. |
Response body 200 OK
The workflow instance.
Content type: application/json.
Schema: InstanceResponse.
Example response
{ "stepId": "agent:nx-tasks", "stepName": "Agent Nx Tasks", "agentName": "agent-1", "name": "agent-1-boot-1", "status": "SUCCEEDED", "startedAt": "2026-06-30T12:00:00Z", "completedAt": "2026-06-30T12:01:00Z", "assets": [], "links": { "self": "/nx-cloud/data/v1/run-groups/ci-build-42/steps/agent%3Anx-tasks/instances/agent-1", "runGroup": "/nx-cloud/data/v1/run-groups/ci-build-42", "step": "/nx-cloud/data/v1/run-groups/ci-build-42/steps/agent%3Anx-tasks", "agent": "/nx-cloud/data/v1/run-groups/ci-build-42/agents/agent-1" }}Response headers: RateLimit-Policy, RateLimit.
Download a run-group workflow instance's logs
Section titled “Download a run-group workflow instance's logs”GET /nx-cloud/data/v1/run-groups/{runGroupId}/steps/{stepId}/instances/{agentName}/assets/{type}
Download one step’s output on one agent. Omit run for the selected execution’s logs.
Pass ?run= for a superseded execution’s logs; the zero-based value indexes priorRuns,
oldest first.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The run group’s id, as returned by the run-groups API. URL-encode it as one path segment. |
|
| path |
| The step’s id, which can contain colons. URL-encode it as one path segment. |
|
| path |
| The instance’s agent address. URL-encode agentName as one path segment, or follow an assets URL when agentName is absent. |
|
| path |
| The asset type: |
|
| query |
| Optional: zero-based index into priorRuns, oldest first. Omit to download the selected execution’s logs. |
A redirect to the asset’s download URL.
Response headers: RateLimit-Policy, RateLimit.
List a run group's agents
Section titled “List a run group's agents”GET /nx-cloud/data/v1/run-groups/{runGroupId}/agents
List the agents for a run group. Filter by statuses or launchTemplate. An agent
is ONLINE when its selected boot has no recorded offline time. This is not a live
health check. Each agent includes its selected boot’s CPU, memory, and utilization summary.
An Nx managed agent also includes workflow instance totals and workflow links.
Follow links.instances to list the workflow instances for that agent. Bring your
own compute (BYOC) agents have an empty instance summary and no workflow links. A
resource-utilization asset is present when a report exists.
The response uses the last boot in ascending online-time order. For Nx managed agents,
boots without online times come first, and ties use recorded boot order. For BYOC agents,
missing online times use 1970-01-01T00:00:00Z, and ties use instanceName order.
That boot supplies the status, metrics, and default resource-utilization asset.
priorBoots contains the other boots in the same ascending order. This boot selection
does not depend on the agent list’s requested sort direction.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The run group’s id, as returned by the run-groups API. URL-encode it as one path segment. |
|
| query |
| Select ONLINE or OFFLINE agents from the selected boot’s recorded times, not a live probe. ONLINE means no offline time was recorded. Values are case-insensitive. Repeat the key to select multiple values. Example: |
|
| query |
| Match the launch-template name. |
|
| query |
| Rows per page, 1..500 (default 100). Default: |
|
| query |
| Opaque cursor from a previous page’s |
|
| query |
|
|
Response body 200 OK
A page of the run group’s agents ordered by onlineAt.
Content type: application/json.
Schema: PageResponse_AgentResponse.
Example response
{ "items": [ { "name": "agent-1", "status": "OFFLINE", "instanceName": "agent-1-boot-1", "cpuCores": 4, "totalMemory": 8589934592, "onlineAt": "2026-06-30T12:00:00Z", "offlineAt": "2026-06-30T12:01:00Z", "instances": { "total": 0, "statusCounts": {}, "restarted": 0, "restartAttempts": 0 }, "assets": [], "links": { "self": "/nx-cloud/data/v1/run-groups/ci-build-42/agents/agent-1", "runGroup": "/nx-cloud/data/v1/run-groups/ci-build-42" } } ], "nextCursor": null, "prevCursor": null}Response headers: RateLimit-Policy, RateLimit.
Get an agent
Section titled “Get an agent”GET /nx-cloud/data/v1/run-groups/{runGroupId}/agents/{agentName}
Fetch one BYOC or Nx managed agent by its name. URL-encode the list item’s raw name
in the path. The response includes other boots in priorBoots, when present.
The response uses the last boot in ascending online-time order. For Nx managed agents,
boots without online times come first, and ties use recorded boot order. For BYOC agents,
missing online times use 1970-01-01T00:00:00Z, and ties use instanceName order.
That boot supplies the status, metrics, and default resource-utilization asset.
priorBoots contains the other boots in the same ascending order. This boot selection
does not depend on the agent list’s requested sort direction.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The run group’s id, as returned by the run-groups API. URL-encode it as one path segment. |
|
| path |
| The agent response’s name, not instanceName. URL-encode it as one path segment. |
Response body 200 OK
The agent.
Content type: application/json.
Schema: AgentResponse.
Example response
{ "name": "agent-1", "status": "OFFLINE", "instanceName": "agent-1-boot-1", "cpuCores": 4, "totalMemory": 8589934592, "onlineAt": "2026-06-30T12:00:00Z", "offlineAt": "2026-06-30T12:01:00Z", "instances": { "total": 0, "statusCounts": {}, "restarted": 0, "restartAttempts": 0 }, "assets": [], "links": { "self": "/nx-cloud/data/v1/run-groups/ci-build-42/agents/agent-1", "runGroup": "/nx-cloud/data/v1/run-groups/ci-build-42" }}Response headers: RateLimit-Policy, RateLimit.
Download an agent's resource-utilization report
Section titled “Download an agent's resource-utilization report”GET /nx-cloud/data/v1/run-groups/{runGroupId}/agents/{agentName}/assets/{type}
Get the agent’s full per-sample resource-utilization report (CPU, memory, and I/O).
Pass ?boot= for a prior record. The value is zero-based, oldest-first, and indexes
priorBoots.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The run group’s id, as returned by the run-groups API. URL-encode it as one path segment. |
|
| path |
| The agent response’s name, not instanceName. URL-encode it as one path segment. |
|
| path |
| The asset type: |
|
| query |
| Optional: zero-based index into priorBoots, oldest first. Omit to download the selected boot’s report. |
A redirect to the asset’s download URL.
Response headers: RateLimit-Policy, RateLimit.
List runs
Section titled “List runs”GET /nx-cloud/data/v1/runs
List the workspace’s runs (one Nx invocation on an agent or machine), newest first
by default. A run is listed once its Nx command finishes; runs are never listed in
progress in this API. Filter by runGroup, ciExecutionEnv, branch, statuses,
hasRetriedTasks (true = at least one retried task, false = no retried tasks), or a createdAt
window. The runGroup filter is an address: an unknown run group gives 404, never
an empty page. An in-progress run group lists the runs that have finished so far;
the list is complete once the run group’s status is terminal.
List items contain run metadata only. Follow links.self for the task summary or
links.tasks for the paginated task collection.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| query |
| Select a parent by the run group’s id, not the CIPE id. URL-encode it as a query value. An unknown parent returns 404. An in-progress run group lists the runs that have finished so far, and more can follow: the list is complete once the run group’s status is terminal. |
|
| query |
| Match the CI execution environment name. |
|
| query |
| Match the recorded branch name. |
|
| query |
| Select run statuses derived from the exit code, not a live progress state. Values are case-insensitive. Repeat the key to select multiple values. Example: |
|
| query |
| True selects runs with retried tasks; false selects runs without retried tasks. Omit to include both. Example: |
|
| query |
| Inclusive lower bound on createdAt. Supply an ISO-8601 timestamp with a timezone. Example: |
|
| query |
| Inclusive upper bound on createdAt. Supply an ISO-8601 timestamp with a timezone. Must not precede createdAfter. Example: |
|
| query |
| Rows per page, 1..500 (default 100). Default: |
|
| query |
| Opaque cursor from a previous page’s |
|
| query |
|
|
Response body 200 OK
A page of runs ordered by createdAt per the request’s sort.
Content type: application/json.
Schema: PageResponse_RunListResponse.
Example response
{ "items": [ { "id": "run-build-42", "status": "SUCCEEDED", "createdAt": "2026-06-30T12:00:00Z", "startedAt": "2026-06-30T12:00:00Z", "completedAt": "2026-06-30T12:01:00Z", "command": "nx build myapp", "branch": "main", "runGroup": "ci-build-42", "cacheEnabled": true, "isDTE": false, "isCI": true, "links": { "self": "/nx-cloud/data/v1/runs/run-build-42", "runGroup": "/nx-cloud/data/v1/run-groups/ci-build-42", "tasks": "/nx-cloud/data/v1/runs/run-build-42/tasks" } } ], "nextCursor": null, "prevCursor": null}Response headers: RateLimit-Policy, RateLimit.
Get a run
Section titled “Get a run”GET /nx-cloud/data/v1/runs/{runId}
Fetch one run by its id, the identifier used in Nx Cloud run URLs. Unlike a list
item, this response includes the tasks summary. links.tasks lists the tasks (GET /runs/{id}/tasks).
The run includes a tasks summary: total, per-status statusCounts, retried
(tasks with at least one prior attempt), retryAttempts (the prior attempts), and
retriedStatusCounts (the retried tasks’ final statuses). The links map gives the run, its
run group when recorded, and the paginated tasks collection.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The run’s id, as returned by the runs API. URL-encode it as one path segment. |
Response body 200 OK
The run.
Content type: application/json.
Schema: RunResponse.
Example response
{ "id": "run-build-42", "status": "SUCCEEDED", "createdAt": "2026-06-30T12:00:00Z", "startedAt": "2026-06-30T12:00:00Z", "completedAt": "2026-06-30T12:01:00Z", "command": "nx build myapp", "branch": "main", "runGroup": "ci-build-42", "cacheEnabled": true, "isDTE": false, "isCI": true, "tasks": { "total": 1, "statusCounts": { "SUCCEEDED": 1 }, "retried": 0, "retryAttempts": 0, "retriedStatusCounts": {} }, "links": { "self": "/nx-cloud/data/v1/runs/run-build-42", "runGroup": "/nx-cloud/data/v1/run-groups/ci-build-42", "tasks": "/nx-cloud/data/v1/runs/run-build-42/tasks" }}Response headers: RateLimit-Policy, RateLimit.
List a run's tasks
Section titled “List a run's tasks”GET /nx-cloud/data/v1/runs/{runId}/tasks
List the tasks of one run (one project-target execution each), the run given by the
{runId} path segment. Narrow by taskId, statuses, projectName, target,
cacheStatus, agentName (DTE runs only), retried (true = only tasks with a
prior attempt, false = only tasks that never retried), or a startedAt window.
Task statuses are UNKNOWN, SUCCEEDED, FAILED, CANCELED, NOT_STARTED,
DEPENDENCIES_FAILED, NOT_EXECUTABLE, TIMED_OUT, and SCHEDULED_IMPLICITLY.
Each task can expose terminal output, a cache artifact, and an Ultracache report
(asset type sandbox-report) in assets. A cache artifact is present only after
upload or cache replay. Failed earlier executions appear as priorAttempts. The assets and priorAttempts
collections can be empty. A task that stopped before completion can have null
startedAt, completedAt, cacheStatus, or hash fields. The params field can
be an empty string. The links map gives the task and its parent run.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The run’s id, as returned by the runs API. URL-encode it as one path segment. |
|
| query |
| Match an Nx task id in project:target[:configuration] form, such as myapp:build. URL-encode it as a query value. Batch variants can share an id. |
|
| query |
| Select task statuses. Values are case-insensitive. Repeat the key to select multiple values. Example: |
|
| query |
| Match the Nx project name. |
|
| query |
| Match the Nx target name. |
|
| query |
| Match the recorded cache status. |
|
| query |
| Match the last non-skipped agent assignment in a distributed run (DTE). Tasks without an agent assignment and non-DTE runs do not match. Cache hits can match if an assignment exists. |
|
| query |
| Inclusive lower bound on startedAt. Missing start times use 1970-01-01T00:00:00Z for date filtering. Supply an ISO-8601 timestamp with a timezone. Example: |
|
| query |
| Inclusive upper bound on startedAt. Missing start times use 1970-01-01T00:00:00Z for date filtering. Supply an ISO-8601 timestamp with a timezone. Must not precede startedAfter. Example: |
|
| query |
| True selects tasks with prior attempts; false selects tasks without prior attempts. Omit to include both. Example: |
|
| query |
| Rows per page, 1..500 (default 100). Default: |
|
| query |
| Opaque cursor from a previous page’s |
|
| query |
|
|
Response body 200 OK
A page of the run’s tasks ordered by startedAt per the request’s sort.
Content type: application/json.
Schema: PageResponse_TaskResponse.
Example response
{ "items": [ { "id": "myapp:build", "status": "SUCCEEDED", "startedAt": "2026-06-30T12:00:00Z", "completedAt": "2026-06-30T12:01:00Z", "projectName": "myapp", "target": "build", "params": "", "cacheStatus": "cache-miss", "hash": "abc123", "continuous": false, "cacheable": true, "assets": [ { "type": "logs", "url": "/nx-cloud/data/v1/runs/run-build-42/tasks/myapp%3Abuild/assets/logs" } ], "links": { "self": "/nx-cloud/data/v1/runs/run-build-42/tasks/myapp%3Abuild", "run": "/nx-cloud/data/v1/runs/run-build-42" } } ], "nextCursor": null, "prevCursor": null}Response headers: RateLimit-Policy, RateLimit.
Get a task
Section titled “Get a task”GET /nx-cloud/data/v1/runs/{runId}/tasks/{taskId}
Fetch one task of a run by its task id (a list item’s id, e.g. myapp:build),
URL-encoded as one path segment. The id is not unique within a run (batched or
continuous tasks can repeat it). Pass ?batchId= to select one entry; otherwise
the first match returns. Pass ?include=cacheOrigin to add a source-run link filtered
by task id in links.cacheOrigin. The response has the task’s assets and failed
priorAttempts.
These collections can be empty. A task that stopped before completion can have null
timestamps, cacheStatus, or hash. The params field can
be an empty string.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The run’s id, as returned by the runs API. URL-encode it as one path segment. |
|
| path |
| The task response’s id, such as myapp:build. URL-encode it as one path segment; use batchId to distinguish variants. |
|
| query |
| Optional: the task response’s batchId, URL-encoded as a query value, to distinguish tasks with the same id. |
|
| query | Optional expansion. The supported value is |
Response body 200 OK
The task.
Content type: application/json.
Schema: TaskResponse.
Example response
{ "id": "myapp:build", "status": "SUCCEEDED", "startedAt": "2026-06-30T12:00:00Z", "completedAt": "2026-06-30T12:01:00Z", "projectName": "myapp", "target": "build", "params": "", "cacheStatus": "cache-miss", "hash": "abc123", "continuous": false, "cacheable": true, "assets": [ { "type": "logs", "url": "/nx-cloud/data/v1/runs/run-build-42/tasks/myapp%3Abuild/assets/logs" } ], "links": { "self": "/nx-cloud/data/v1/runs/run-build-42/tasks/myapp%3Abuild", "run": "/nx-cloud/data/v1/runs/run-build-42" }}Response headers: RateLimit-Policy, RateLimit.
Download a task asset
Section titled “Download a task asset”GET /nx-cloud/data/v1/runs/{runId}/tasks/{taskId}/assets/{type}
Get one task asset: logs, artifact, or sandbox-report (the Ultracache
report). Pass ?batchId= to
disambiguate batched or continuous tasks that share a taskId. Pass ?attempt=
(0-based, oldest-first) for a prior failed attempt’s logs.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The run’s id, as returned by the runs API. URL-encode it as one path segment. |
|
| path |
| The task response’s id, such as myapp:build. URL-encode it as one path segment; use batchId to distinguish variants. |
|
| path |
| The asset type: |
|
| query |
| Optional: the task response’s batchId, URL-encoded as a query value, to distinguish tasks with the same id. |
|
| query |
| Optional for logs only: zero-based index into priorAttempts, oldest first. Omit to download the final attempt’s asset. |
A redirect to the asset’s download URL.
Response headers: RateLimit-Policy, RateLimit.
List daily task statistics
Section titled “List daily task statistics”GET /nx-cloud/data/v1/task-stats
List daily task statistics for the workspace. Each row groups tasks by Nx project,
target, target group, and CI or local execution for one UTC day based on run creation
time. Only cache-enabled runs contribute; continuous tasks and nx-cloud start-agent
runs are excluded. Cache and exit-code ratios use totalCount as their denominator
and are fractions from 0 to 1. A target filter requires projectName.
dateAfter and dateBefore accept an ISO-8601 date (2026-06-30) or timestamp and
bound inclusive whole UTC days: a timestamp bounds the UTC day that contains it.
Repeat percentiles with up to five unique integers from 0 to 100. For example,
use percentiles=50&percentiles=95 to request P50 and P95. Each percentile is an
approximate successful cache-miss duration in milliseconds; negative durations are
excluded. Do not average row percentiles to calculate an overall percentile.
The response omits durationPercentiles when no percentiles are requested.
A percentile’s cacheMissMs is null when available duration data is insufficient;
null is not zero and does not prove that no cache misses occurred.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| query |
| Match the Nx project name. |
|
| query |
| Match the Nx target name. Requires projectName. |
|
| query |
| Select CI statistics with true or local statistics with false. Runs with a branch value count as CI. Omit to include both. Example: |
|
| query |
| Inclusive first UTC day. Accepts an ISO-8601 date or timestamp; timestamps select their containing UTC day. Example: |
|
| query |
| Inclusive last UTC day. Accepts an ISO-8601 date or timestamp. Must not precede dateAfter. Example: |
|
| query |
| Request up to five unique percentiles from 0 to 100, such as percentiles=50&percentiles=95. Omit to exclude durationPercentiles. Repeat the key to select multiple values. minItems: |
|
| query |
| Rows per page, 1..500 (default 100). Default: |
|
| query |
| Opaque cursor from a previous page’s |
|
| query |
|
|
Parameter: dateAfter
Schema: string (date) or string (date-time). Example: "2026-06-30".
Schema definition
{ "anyOf": [ { "type": "string", "format": "date" }, { "type": "string", "format": "date-time" } ], "example": "2026-06-30"}Parameter: dateBefore
Schema: string (date) or string (date-time). Example: "2026-06-30".
Schema definition
{ "anyOf": [ { "type": "string", "format": "date" }, { "type": "string", "format": "date-time" } ], "example": "2026-06-30"}Response body 200 OK
A page of daily task statistics ordered by date per the request’s sort.
Content type: application/json.
Schema: PageResponse_TaskStatResponse.
Example response
{ "items": [ { "date": "2026-06-30T00:00:00Z", "projectName": "myapp", "target": "build", "isCI": true, "totalCount": 100, "cacheStatusRatio": { "localCacheHit": 0.1, "remoteCacheHit": 0.7, "cacheMiss": 0.2 }, "averageDuration": { "localCacheHitMs": 5, "remoteCacheHitMs": 120, "cacheMissMs": 60000 }, "statusCodeRatio": { "zero": 0.98, "nonZero": 0.02 }, "durationPercentiles": [ { "percentile": 50, "cacheMissMs": 55000 }, { "percentile": 95, "cacheMissMs": 90000 } ] } ], "nextCursor": null, "prevCursor": null}Response headers: RateLimit-Policy, RateLimit.
List flaky-task metrics
Section titled “List flaky-task metrics”GET /nx-cloud/data/v1/flaky-tasks
List daily flaky-task metric windows for the workspace. Each window groups CI
cache-miss observations by Nx project, target, configuration, and cacheability.
CI runs can contribute with or without distributed execution; local runs do not.
Here, success means exit code 0, and failure means any nonzero exit code.
flakinessRate is the fraction of successful observations whose task input hash
also has failures within the same window. sampleSizeFlakinessRate counts all
successful cache-miss observations and is the denominator, not the number of runs.
Windows without successful observations are excluded. Zero-rate windows can appear
unless minFlakinessRate excludes them. deflakedAutomatically counts each task
input hash once per Nx execution with both successful and failed cache-miss attempts;
it does not establish attempt order or a successful final attempt. Attempts without
an execution identifier can also contribute and do not confirm a shared execution.
A target filter requires project. A configuration filter requires project
and target. windowStartAfter and windowEndBefore accept an ISO-8601 date
(2026-06-30) or timestamp and bound inclusive whole UTC days. The current UTC day’s
values can change until the day ends; set windowEndBefore to the previous UTC day
to exclude today’s window. Use links.executions to access the paginated
contributing distributed executions for each metric, not only those with mixed results.
Observations without an execution identifier can affect metrics, but do not appear
in the executions list.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| query |
| Match the Nx project name. |
|
| query |
| Match the Nx target name. Requires project. |
|
| query |
| Match the Nx target configuration. Requires both project and target. |
|
| query |
| Select metric windows for tasks marked cacheable (true) or non-cacheable (false). Omit to include both and windows with unknown cacheability. Example: |
|
| query |
| Inclusive first UTC day. Accepts an ISO-8601 date or timestamp; timestamps select their containing UTC day. Example: |
|
| query |
| Inclusive last UTC day. Accepts an ISO-8601 date or timestamp. Use the previous UTC day to exclude today’s mutable window. Example: |
|
| query |
| Inclusive minimum flakinessRate, as a fraction from 0 to 1. Omit or use 0 to include zero-rate windows with successful cache-miss observations. minimum: |
|
| query |
| Rows per page, 1..500 (default 100). Default: |
|
| query |
| Opaque cursor from a previous page’s |
|
| query |
|
|
Parameter: windowStartAfter
Schema: string (date) or string (date-time). Example: "2026-06-30".
Schema definition
{ "anyOf": [ { "type": "string", "format": "date" }, { "type": "string", "format": "date-time" } ], "example": "2026-06-30"}Parameter: windowEndBefore
Schema: string (date) or string (date-time). Example: "2026-06-30".
Schema definition
{ "anyOf": [ { "type": "string", "format": "date" }, { "type": "string", "format": "date-time" } ], "example": "2026-06-30"}Response body 200 OK
A page of flaky-task metric windows ordered by windowStart per the request’s sort.
Content type: application/json.
Schema: PageResponse_FlakyTaskResponse.
Example response
{ "items": [ { "id": "686280000000000000000003", "project": "myapp", "target": "test", "windowStart": "2026-06-30T00:00:00Z", "windowEnd": "2026-07-01T00:00:00Z", "flakinessRate": 0.1, "sampleSizeFlakinessRate": 20, "totalReruns": 2, "deflakedAutomatically": 1, "isCacheable": true, "links": { "executions": "/nx-cloud/data/v1/flaky-tasks/686280000000000000000003/executions" } } ], "nextCursor": null, "prevCursor": null}Response headers: RateLimit-Policy, RateLimit.
List a flaky-task metric's executions
Section titled “List a flaky-task metric's executions”GET /nx-cloud/data/v1/flaky-tasks/{metricId}/executions
List the distinct distributed Nx executions that contributed CI cache-miss
observations to one flaky-task metric window, including executions without mixed
results. Observations without an execution identifier, including non-distributed
CI runs, can affect the metric but do not appear in this list. Follow links.run
for a run or links.tasks for its matching task rows.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The flaky-task metric’s 24-character hexadecimal public identifier, returned as id by listFlakyTasks. |
|
| query |
| Rows per page, 1..500 (default 100). Default: |
|
| query |
| Opaque cursor from a previous page’s |
|
| query |
|
|
Response body 200 OK
A page of contributing executions ordered by their latest observation time per the request’s sort.
Content type: application/json.
Schema: PageResponse_FlakyTaskExecutionResponse.
Example response
{ "items": [ { "id": "run-build-42", "createdAt": "2026-06-30T12:00:00Z", "links": { "run": "/nx-cloud/data/v1/runs/run-build-42", "tasks": "/nx-cloud/data/v1/runs/run-build-42/tasks?taskId=myapp%3Atest" } } ], "nextCursor": null, "prevCursor": null}Response headers: RateLimit-Policy, RateLimit.
List Self-Healing fixes
Section titled “List Self-Healing fixes”GET /nx-cloud/data/v1/self-healing-fixes
List the Self-Healing CI fix records of one CI pipeline execution (cipeId) or one
run group (runGroup). One of the two filters is required. A pipeline normally has
at most one fix, created for one of its run groups.
A fix is listed as soon as it is created, while its pipeline may still be running,
and it keeps changing after the pipeline finishes: suggestedFixStatus follows the
generation of the change, verificationStatus the re-run of tasks with the change
applied, and userAction what was done with it. An empty page means no fix was
created; the CIPE’s selfHealingSkip says why when that was recorded.
List items never carry the patch (suggestedFix); fetch a fix by id for it.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| query |
| Select the fixes of one CI pipeline execution by its id: 24 hexadecimal characters, not ciExecutionId. An unknown CIPE returns 404. Fixes recorded without a CIPE id are not matched; select those with runGroup. |
|
| query |
| Select the fixes of one run group by its id. An unknown run group returns 404. |
|
| query |
| Rows per page, 1..500 (default 100). Default: |
|
| query |
| Opaque cursor from a previous page’s |
|
| query |
|
|
Response body 200 OK
A page of fixes ordered by createdAt per the request’s sort.
Content type: application/json.
Schema: PageResponse_SelfHealingFixResponse.
Example response
{ "items": [ { "id": "686280000000000000000004", "createdAt": "2026-06-30T12:00:00Z", "updatedAt": "2026-06-30T12:01:00Z", "cipeId": "686280000000000000000001", "ciExecutionId": "build-42", "runGroup": "ci-build-42", "suggestedFixStatus": "COMPLETED", "verificationStatus": "COMPLETED", "failureClassification": "code_change", "suggestedFixDescription": "Update the expected title in the app spec", "suggestedFixReasoning": "The spec still asserts the old page title.", "suggestedAt": "2026-06-30T12:01:00Z", "verifiedAt": "2026-06-30T12:01:00Z", "userAction": "NONE", "branchIsOutdated": false, "fixTasks": [ { "taskId": "myapp:test", "runId": "run-build-42", "links": { "task": "/nx-cloud/data/v1/runs/run-build-42/tasks/myapp%3Atest", "run": "/nx-cloud/data/v1/runs/run-build-42" } } ], "fixedTasks": [ "myapp:test" ], "verificationTasksExecuted": [ "myapp:test" ], "shortLink": "aB3x-Qz9k", "links": { "self": "/nx-cloud/data/v1/self-healing-fixes/686280000000000000000004", "runGroup": "/nx-cloud/data/v1/run-groups/ci-build-42", "cipe": "/nx-cloud/data/v1/cipes/686280000000000000000001" } } ], "nextCursor": null, "prevCursor": null}Response headers: RateLimit-Policy, RateLimit.
Get a Self-Healing fix
Section titled “Get a Self-Healing fix”GET /nx-cloud/data/v1/self-healing-fixes/{fixId}
Fetch one Self-Healing CI fix by id, in any state. Same shape as a list item, plus
the patch in suggestedFix once a change has been suggested.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
|
| path |
| The fix’s id: 24 hexadecimal characters, returned as id by listSelfHealingFixes. |
Response body 200 OK
The fix.
Content type: application/json.
Schema: SelfHealingFixResponse.
Example response
{ "id": "686280000000000000000004", "createdAt": "2026-06-30T12:00:00Z", "updatedAt": "2026-06-30T12:01:00Z", "cipeId": "686280000000000000000001", "ciExecutionId": "build-42", "runGroup": "ci-build-42", "suggestedFixStatus": "COMPLETED", "verificationStatus": "COMPLETED", "failureClassification": "code_change", "suggestedFixDescription": "Update the expected title in the app spec", "suggestedFixReasoning": "The spec still asserts the old page title.", "suggestedAt": "2026-06-30T12:01:00Z", "verifiedAt": "2026-06-30T12:01:00Z", "userAction": "NONE", "branchIsOutdated": false, "fixTasks": [ { "taskId": "myapp:test", "runId": "run-build-42", "links": { "task": "/nx-cloud/data/v1/runs/run-build-42/tasks/myapp%3Atest", "run": "/nx-cloud/data/v1/runs/run-build-42" } } ], "fixedTasks": [ "myapp:test" ], "verificationTasksExecuted": [ "myapp:test" ], "shortLink": "aB3x-Qz9k", "links": { "self": "/nx-cloud/data/v1/self-healing-fixes/686280000000000000000004", "runGroup": "/nx-cloud/data/v1/run-groups/ci-build-42", "cipe": "/nx-cloud/data/v1/cipes/686280000000000000000001" }}Response headers: RateLimit-Policy, RateLimit.
HTTP response codes
Section titled “HTTP response codes”400 Bad Request
Section titled “400 Bad Request”-
Invalid limit, cursor, timestamp, date range, or status.
-
A path parameter was malformed or invalid for this entity’s id format.
-
Invalid limit, cursor, cipeId, status, or createdAt window.
-
Invalid limit, cursor, or filter.
-
An unknown asset type, or a malformed path/query parameter.
-
Invalid limit, cursor, status, filter, or createdAt window.
-
Invalid limit, cursor, status, or startedAt window.
-
Invalid limit, cursor, filter combination, or date window.
-
Invalid limit, cursor, filter combination, rate, or window.
-
Invalid metric id, limit, or cursor.
-
Neither cipeId nor runGroup was given, or an invalid id, limit or cursor.
401 Unauthorized
Section titled “401 Unauthorized”-
The credentials are missing or invalid, or the request uses an unsupported access method. Authentication failures return plain text. Authorization failures return a JSON error body.
404 Not Found
Section titled “404 Not Found”-
No CIPE with that id in this workspace.
-
No CIPE with the filtered
cipeIdin this workspace. -
No run group with that id in this workspace.
-
No such run group or Nx managed agent workflow.
-
No such run group, workflow, or step.
-
No such run group, workflow, step, or Nx managed agent.
-
No such run group, workflow, or instance.
-
No such run group, workflow, instance, prior run, or log location.
-
No such run group in this workspace.
-
No such run group or agent.
-
No such run group or agent, no prior boot at that
bootindex, or the selected record has no report. -
No run group with the filtered
runGroupid in this workspace. -
No run with that id in this workspace.
-
No such run, or no task with that id (and batchId, if given) in the run.
-
No such run or task, or the task has no asset of that type.
-
No such flaky-task metric in the workspace.
-
No CIPE or run group with that id in this workspace.
-
No fix with that id in this workspace.
409 Conflict
Section titled “409 Conflict”-
The CIPE is still running (
entityStatusNOT_STARTED or IN_PROGRESS).links.runGroupslists its run groups so far, running ones included. -
The run group or its linked workflow is still running.
links.runslists the run group’s finished runs. -
The run group or its Nx managed agent workflow is still running; steps, instances and agents are served once both finish.
links.runslists the run group’s finished runs. -
The run is in a non-terminal state (in-progress); only terminal runs are queryable. Retry once it finishes.
-
The run or task is in a non-terminal state (in-progress); only terminal entities are queryable. Retry once it finishes.
429 Too Many Requests
Section titled “429 Too Many Requests”-
The organization’s Nx Cloud Public API quota is exhausted (
rate_limit_exceeded). Every workspace and access token in the organization shares one quota, and each request costs one unit. By default, Free organizations get 30 requests/minute with bursts of up to 10. Team, Pro, and OSS organizations get 60 requests/minute with bursts of up to 10. Enterprise organizations get 2500 requests/minute with bursts of up to 500. The global API rate limit can also return 429, with an empty body. WaitRetry-Afterseconds before retrying.
Response headers: Retry-After, RateLimit-Policy, RateLimit.
503 Service Unavailable
Section titled “503 Service Unavailable”-
The Nx Cloud Public API is temporarily at capacity (
data_api_at_capacity), could not complete the request in time (query_deadline_exceeded), could not persist its required audit record (audit_log_unavailable), or could not check the organization’s quota (rate_limit_unavailable). No data is returned. Retry per theRetry-Afterheader.
Response headers: Retry-After.
Response headers
Section titled “Response headers”RateLimit-Policy
Section titled “RateLimit-Policy”Type: string.
Documented with HTTP 200, 302, 429.
The organization’s quota: q requests per w seconds, for example "organization";q=10;w=10.
RateLimit
Section titled “RateLimit”Type: string.
Documented with HTTP 200, 302, 429.
r requests remain now, and the quota is full again in t seconds, for example "organization";r=7;t=3.
Retry-After
Section titled “Retry-After”Type: string.
Documented with HTTP 429.
Seconds until the next request is allowed.
Documented with HTTP 503.
Minimum seconds to wait before retrying (server-randomized). Treat it as a floor and apply exponential backoff on repeated 503s.
Schema and field definitions
Section titled “Schema and field definitions”CipeResponse
Section titled “CipeResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The CI pipeline execution identifier: 24 hexadecimal characters. Use this id in CIPE paths and cipeId filters, not ciExecutionId. |
|
|
| The pipeline status: NOT_STARTED, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED or TIMED_OUT. |
|
|
| The pipeline creation time, in UTC. |
|
|
| The last recorded update time, in UTC; absent when unavailable. |
|
|
| The recorded completion time, in UTC; absent when unavailable, even for a terminal pipeline. |
|
|
| The workspace identifier: 24 hexadecimal characters. It identifies the workspace that owns this CI pipeline execution. |
|
|
| The execution identifier supplied by the CI integration. Use id, not this value, in CIPE paths and cipeId filters. |
|
|
| The recorded branch name; absent when not supplied. |
|
|
| Recorded version-control metadata; absent when not supplied. |
|
|
| The recognized cancellation request, if recorded. Its absence does not prove that no cancellation occurred. |
|
|
| Why self-healing work was skipped, if recorded. |
|
| Counts for all related run groups without optional filters. While the CIPE runs, the counts are the run groups it has so far and can still change. Follow links.runGroups for their records. | |
|
| Dictionary of | Relative GET URLs: self addresses this CIPE; runGroups lists its run groups; selfHealingFixes lists its Self-Healing fixes, which is an empty page when it has none. While the CIPE runs, self returns 409 and runGroups lists the run groups it has so far, running ones included. |
Schema definition
{ "type": "object", "properties": { "id": { "type": "string", "description": "The CI pipeline execution identifier: 24 hexadecimal characters. Use this id in CIPE paths and cipeId filters, not ciExecutionId.", "title": "String" }, "status": { "type": "string", "description": "The pipeline status: NOT_STARTED, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED or TIMED_OUT.", "title": "String" }, "createdAt": { "type": "string", "format": "date-time", "description": "The pipeline creation time, in UTC.", "title": "String" }, "updatedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The last recorded update time, in UTC; absent when unavailable.", "title": "String" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded completion time, in UTC; absent when unavailable, even for a terminal pipeline.", "title": "String" }, "workspaceId": { "type": "string", "description": "The workspace identifier: 24 hexadecimal characters. It identifies the workspace that owns this CI pipeline execution.", "title": "String" }, "ciExecutionId": { "type": "string", "description": "The execution identifier supplied by the CI integration. Use id, not this value, in CIPE paths and cipeId filters.", "title": "String" }, "branch": { "type": [ "null", "string" ], "description": "The recorded branch name; absent when not supplied.", "title": "String" }, "vcsContext": { "description": "Recorded version-control metadata; absent when not supplied.", "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/VcsContextResponse" } ] }, "cancellationRequest": { "description": "The recognized cancellation request, if recorded. Its absence does not prove that no cancellation occurred.", "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/CipeCancellationRequestResponse" } ] }, "selfHealingSkip": { "description": "Why self-healing work was skipped, if recorded.", "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/SelfHealingSkipResponse" } ] }, "runGroups": { "$ref": "#/components/schemas/ChildCollectionSummary", "description": "Counts for all related run groups without optional filters. While the CIPE runs, the counts are the run groups it has so far and can still change. Follow links.runGroups for their records." }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs: self addresses this CIPE; runGroups lists its run groups; selfHealingFixes lists its Self-Healing fixes, which is an empty page when it has none. While the CIPE runs, self returns 409 and runGroups lists the run groups it has so far, running ones included.", "title": "LinkedHashMap_String-String" } }, "required": [ "ciExecutionId", "createdAt", "id", "links", "runGroups", "status", "workspaceId" ], "title": "CipeResponse"}VcsContextResponse
Section titled “VcsContextResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The branch reported by the version-control integration. |
|
|
| The recorded version-control ref; absent when unavailable. |
|
|
| The first line of the commit or pull request title; absent when unavailable. |
|
|
| The recorded head commit SHA; absent when unavailable. |
|
|
| The recorded base commit SHA; absent when unavailable. |
|
|
| The author reported by the integration; absent when unavailable. |
|
|
| The version-control platform name; absent when unavailable. |
|
|
| The recorded CI runner provider; absent when unavailable. |
|
|
| Whether the integration identified a fork. Absence means unknown, not false. |
|
|
| Whether the integration identified a draft pull request. Absence means unknown, not false. |
Schema definition
{ "type": "object", "properties": { "branch": { "type": "string", "description": "The branch reported by the version-control integration.", "title": "String" }, "ref": { "type": [ "null", "string" ], "description": "The recorded version-control ref; absent when unavailable.", "title": "String" }, "title": { "type": [ "null", "string" ], "description": "The first line of the commit or pull request title; absent when unavailable.", "title": "String" }, "headSha": { "type": [ "null", "string" ], "description": "The recorded head commit SHA; absent when unavailable.", "title": "String" }, "baseSha": { "type": [ "null", "string" ], "description": "The recorded base commit SHA; absent when unavailable.", "title": "String" }, "author": { "type": [ "null", "string" ], "description": "The author reported by the integration; absent when unavailable.", "title": "String" }, "platformName": { "type": [ "null", "string" ], "description": "The version-control platform name; absent when unavailable.", "title": "String" }, "runnerProvider": { "description": "The recorded CI runner provider; absent when unavailable.", "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/RunnerProvider" } ] }, "isFork": { "type": [ "null", "boolean" ], "description": "Whether the integration identified a fork. Absence means unknown, not false.", "title": "Boolean" }, "isDraft": { "type": [ "null", "boolean" ], "description": "Whether the integration identified a draft pull request. Absence means unknown, not false.", "title": "Boolean" } }, "required": [ "branch" ], "title": "VcsContextResponse"}RunnerProvider
Section titled “RunnerProvider”Type: string. Allowed: GITHUB, SELF_HOSTED, DEPOT, BLACKSMITH, WARPBUILD, RUNS_ON, NAMESPACE.
Schema definition
{ "type": "string", "enum": [ "GITHUB", "SELF_HOSTED", "DEPOT", "BLACKSMITH", "WARPBUILD", "RUNS_ON", "NAMESPACE" ], "title": "RunnerProvider"}CipeCancellationRequestResponse
Section titled “CipeCancellationRequestResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The cancellation source: CANCELLED_BY_USER or NEW_CIPE_PUSHED. |
|
|
| The actor category: user for a user request, or system for a newer CIPE. Not a user identifier. |
|
|
| When the cancellation was requested, in UTC. |
Schema definition
{ "type": "object", "properties": { "source": { "type": "string", "description": "The cancellation source: CANCELLED_BY_USER or NEW_CIPE_PUSHED.", "title": "String" }, "actor": { "type": "string", "description": "The actor category: user for a user request, or system for a newer CIPE. Not a user identifier.", "title": "String" }, "requestedAt": { "type": "string", "format": "date-time", "description": "When the cancellation was requested, in UTC.", "title": "String" } }, "required": [ "actor", "requestedAt", "source" ], "title": "CipeCancellationRequestResponse"}SelfHealingSkipResponse
Section titled “SelfHealingSkipResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The recorded reason code for skipping self-healing. |
|
|
| A human-readable explanation of the skip reason. |
|
|
| When the skip decision was recorded, in UTC. |
Schema definition
{ "type": "object", "properties": { "reason": { "type": "string", "description": "The recorded reason code for skipping self-healing.", "title": "String" }, "message": { "type": "string", "description": "A human-readable explanation of the skip reason.", "title": "String" }, "recordedAt": { "type": "string", "format": "date-time", "description": "When the skip decision was recorded, in UTC.", "title": "String" } }, "required": [ "message", "reason", "recordedAt" ], "title": "SelfHealingSkipResponse"}ChildCollectionSummary
Section titled “ChildCollectionSummary”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The number of records in the related collection before optional filters. |
|
| Dictionary of | Counts keyed by public statuses present in the collection. Statuses with no records are absent. Counts sum to total. |
Schema definition
{ "type": "object", "properties": { "total": { "type": "integer", "format": "int32", "description": "The number of records in the related collection before optional filters.", "title": "Int" }, "statusCounts": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32", "title": "Int" }, "description": "Counts keyed by public statuses present in the collection. Statuses with no records are absent. Counts sum to total.", "title": "LinkedHashMap_String-Int" } }, "required": [ "statusCounts", "total" ], "title": "ChildCollectionSummary"}PageResponse_CipeResponse
Section titled “PageResponse_CipeResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
| The records in this page, in the requested sort order. | |
|
|
| An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists. |
|
|
| An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists. |
Schema definition
{ "type": "object", "properties": { "items": { "type": "array", "description": "The records in this page, in the requested sort order.", "items": { "$ref": "#/components/schemas/CipeResponse" }, "title": "ArrayList_CipeResponse" }, "nextCursor": { "type": [ "null", "string" ], "description": "An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists.", "title": "String" }, "prevCursor": { "type": [ "null", "string" ], "description": "An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists.", "title": "String" } }, "required": [ "items" ], "title": "PageResponse_CipeResponse"}ErrorResponse
Section titled “ErrorResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The HTTP status description, such as Not Found. Clients should use the HTTP status and code, not this text, to identify a failure. |
|
|
| A human-readable explanation. Do not use this text as a stable error identifier. |
|
|
| The request trace identifier, when available, for support and diagnostics. |
|
|
| The machine-readable error code, when available. Use it to distinguish failures within an HTTP status. |
Schema definition
{ "type": "object", "properties": { "error": { "type": "string", "description": "The HTTP status description, such as Not Found. Clients should use the HTTP status and code, not this text, to identify a failure.", "title": "String" }, "message": { "type": "string", "description": "A human-readable explanation. Do not use this text as a stable error identifier.", "title": "String" }, "traceId": { "type": [ "null", "string" ], "description": "The request trace identifier, when available, for support and diagnostics.", "title": "String" }, "code": { "type": [ "null", "string" ], "description": "The machine-readable error code, when available. Use it to distinguish failures within an HTTP status.", "title": "String" } }, "required": [ "error", "message" ], "title": "ErrorResponse"}NotTerminalErrorResponse
Section titled “NotTerminalErrorResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The HTTP status description, Conflict. |
|
|
| A human-readable explanation. Do not use this text as a stable error identifier. |
|
|
| The request trace identifier, when available, for support and diagnostics. |
|
|
| The machine-readable error code: not_terminal. |
|
|
| The entity’s current, non-terminal status, such as IN_PROGRESS or NOT_STARTED. Not the HTTP status. |
|
| Dictionary of | Relative GET URLs one level down: runGroups for a CIPE, runs for a run group. Those lists serve the children that exist now. Empty for a run or task. |
Schema definition
{ "type": "object", "properties": { "error": { "type": "string", "description": "The HTTP status description, Conflict.", "title": "String" }, "message": { "type": "string", "description": "A human-readable explanation. Do not use this text as a stable error identifier.", "title": "String" }, "traceId": { "type": [ "null", "string" ], "description": "The request trace identifier, when available, for support and diagnostics.", "title": "String" }, "code": { "type": "string", "description": "The machine-readable error code: not_terminal.", "title": "String" }, "entityStatus": { "type": "string", "description": "The entity's current, non-terminal status, such as IN_PROGRESS or NOT_STARTED. Not the HTTP status.", "title": "String" }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs one level down: runGroups for a CIPE, runs for a run group. Those lists serve the children that exist now. Empty for a run or task.", "title": "LinkedHashMap_String-String" } }, "required": [ "code", "entityStatus", "error", "message" ], "title": "NotTerminalErrorResponse"}RunGroupListResponse
Section titled “RunGroupListResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The run-group identifier. Treat it as an opaque string, distinct from cipeId. URL-encode the returned value as one path segment. |
|
|
| The run-group status: NOT_STARTED, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED or TIMED_OUT. |
|
|
| The run-group creation time, in UTC. List ordering uses the parent CIPE creation time instead. |
|
|
| The last recorded update time, in UTC; absent when unavailable. |
|
|
| The recorded completion time, in UTC; absent when unavailable. |
|
|
| The parent CI pipeline execution identifier: 24 hexadecimal characters. Use it in CIPE paths and cipeId filters. |
|
|
| The recorded branch; absent when unavailable. |
|
|
| The CI execution environment name. |
|
|
| The recorded completion source; absent when unavailable. |
|
|
| The recorded critical error explanation; absent when none was recorded. |
|
|
| The recorded agent count; absent while the run group runs or when unavailable, not necessarily zero. |
|
|
| The recorded command count; absent while the run group runs or when unavailable, not necessarily zero. |
|
| Dictionary of | Relative GET URLs: self, cipe, runs, agents, and selfHealingFixes. While the run group runs, agents is absent and self returns 409; runs lists the runs that have finished. selfHealingFixes is an empty page when the run group has no fix. |
Schema definition
{ "type": "object", "properties": { "id": { "type": "string", "description": "The run-group identifier. Treat it as an opaque string, distinct from cipeId. URL-encode the returned value as one path segment.", "title": "String" }, "status": { "type": "string", "description": "The run-group status: NOT_STARTED, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED or TIMED_OUT.", "title": "String" }, "createdAt": { "type": "string", "format": "date-time", "description": "The run-group creation time, in UTC. List ordering uses the parent CIPE creation time instead.", "title": "String" }, "updatedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The last recorded update time, in UTC; absent when unavailable.", "title": "String" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded completion time, in UTC; absent when unavailable.", "title": "String" }, "cipeId": { "type": "string", "description": "The parent CI pipeline execution identifier: 24 hexadecimal characters. Use it in CIPE paths and cipeId filters.", "title": "String" }, "branch": { "type": [ "null", "string" ], "description": "The recorded branch; absent when unavailable.", "title": "String" }, "ciExecutionEnv": { "type": "string", "description": "The CI execution environment name.", "title": "String" }, "completedBy": { "type": [ "null", "string" ], "description": "The recorded completion source; absent when unavailable.", "title": "String" }, "criticalErrorMessage": { "type": [ "null", "string" ], "description": "The recorded critical error explanation; absent when none was recorded.", "title": "String" }, "agentCount": { "type": [ "null", "integer" ], "format": "int32", "description": "The recorded agent count; absent while the run group runs or when unavailable, not necessarily zero.", "title": "Int" }, "commandCount": { "type": [ "null", "integer" ], "format": "int32", "description": "The recorded command count; absent while the run group runs or when unavailable, not necessarily zero.", "title": "Int" }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs: self, cipe, runs, agents, and selfHealingFixes. While the run group runs, agents is absent and self returns 409; runs lists the runs that have finished. selfHealingFixes is an empty page when the run group has no fix.", "title": "LinkedHashMap_String-String" } }, "required": [ "ciExecutionEnv", "cipeId", "createdAt", "id", "links", "status" ], "title": "RunGroupListResponse"}PageResponse_RunGroupListResponse
Section titled “PageResponse_RunGroupListResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
| The records in this page, in the requested sort order. | |
|
|
| An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists. |
|
|
| An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists. |
Schema definition
{ "type": "object", "properties": { "items": { "type": "array", "description": "The records in this page, in the requested sort order.", "items": { "$ref": "#/components/schemas/RunGroupListResponse" }, "title": "ArrayList_RunGroupListResponse" }, "nextCursor": { "type": [ "null", "string" ], "description": "An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists.", "title": "String" }, "prevCursor": { "type": [ "null", "string" ], "description": "An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists.", "title": "String" } }, "required": [ "items" ], "title": "PageResponse_RunGroupListResponse"}RunGroupWorkflowResponse
Section titled “RunGroupWorkflowResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The recorded managed workflow type. |
|
|
| The recorded workflow status. |
|
|
| The workflow creation time, in UTC. For older executions, this time may be inferred rather than recorded. |
|
|
| The last recorded workflow update time, in UTC; absent when unavailable. |
|
|
| The terminal workflow’s last update time, in UTC; absent when unavailable. |
|
| Counts for all workflow steps. Follow links.steps for their records. | |
|
| Counts for all workflow agent identities. Follow links.agents for their records. | |
|
| Counts for all workflow instances (one step on one agent), including restart counts. Follow links.instances for their records. | |
|
|
| A dictionary keyed by launch-template name. Absent when no template metadata or credit estimate exists. |
|
|
| The sum of recorded launch-template credit estimates, in Nx Cloud credits; absent when unavailable. |
|
| Dictionary of | Relative GET URLs for the workflow’s steps, agents, and instances. |
Schema definition
{ "type": "object", "properties": { "type": { "type": "string", "description": "The recorded managed workflow type.", "title": "String" }, "status": { "type": "string", "description": "The recorded workflow status.", "title": "String" }, "createdAt": { "type": "string", "format": "date-time", "description": "The workflow creation time, in UTC. For older executions, this time may be inferred rather than recorded.", "title": "String" }, "updatedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The last recorded workflow update time, in UTC; absent when unavailable.", "title": "String" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The terminal workflow's last update time, in UTC; absent when unavailable.", "title": "String" }, "steps": { "$ref": "#/components/schemas/ChildCollectionSummary", "description": "Counts for all workflow steps. Follow links.steps for their records." }, "agents": { "$ref": "#/components/schemas/ChildCollectionSummary", "description": "Counts for all workflow agent identities. Follow links.agents for their records." }, "instances": { "$ref": "#/components/schemas/InstanceCollectionSummary", "description": "Counts for all workflow instances (one step on one agent), including restart counts. Follow links.instances for their records." }, "launchTemplates": { "type": [ "null", "object" ], "additionalProperties": { "$ref": "#/components/schemas/LaunchTemplateInfo" }, "description": "A dictionary keyed by launch-template name. Absent when no template metadata or credit estimate exists.", "title": "LinkedHashMap_String-LaunchTemplateInfo" }, "estimatedTotalCredits": { "type": [ "null", "integer" ], "format": "int64", "description": "The sum of recorded launch-template credit estimates, in Nx Cloud credits; absent when unavailable.", "title": "Long" }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs for the workflow's steps, agents, and instances.", "title": "LinkedHashMap_String-String" } }, "required": [ "agents", "createdAt", "instances", "links", "status", "steps", "type" ], "title": "RunGroupWorkflowResponse"}InstanceCollectionSummary
Section titled “InstanceCollectionSummary”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The number of workflow instances (one step on one agent) before optional filters, not agent boots. Older executions without agent identities count separately. |
|
| Dictionary of | Workflow instance counts keyed by the selected execution’s public status. Statuses with no instances are absent. Counts sum to total. |
|
|
| The number of workflow instances with at least one superseded execution after an agent restart, not the number of restart attempts. |
|
|
| The total number of superseded executions across workflow instances, excluding their selected executions. Superseded executions can start after the selected execution. |
Schema definition
{ "type": "object", "properties": { "total": { "type": "integer", "format": "int32", "description": "The number of workflow instances (one step on one agent) before optional filters, not agent boots. Older executions without agent identities count separately.", "title": "Int" }, "statusCounts": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32", "title": "Int" }, "description": "Workflow instance counts keyed by the selected execution's public status. Statuses with no instances are absent. Counts sum to total.", "title": "LinkedHashMap_String-Int" }, "restarted": { "type": "integer", "format": "int32", "description": "The number of workflow instances with at least one superseded execution after an agent restart, not the number of restart attempts.", "title": "Int" }, "restartAttempts": { "type": "integer", "format": "int32", "description": "The total number of superseded executions across workflow instances, excluding their selected executions. Superseded executions can start after the selected execution.", "title": "Int" } }, "required": [ "restartAttempts", "restarted", "statusCounts", "total" ], "title": "InstanceCollectionSummary"}LaunchTemplateInfo
Section titled “LaunchTemplateInfo”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The recorded resource class for this launch template; absent when unavailable. |
|
|
| The recorded compute estimate for this launch template, in Nx Cloud credits; absent when unavailable. |
Schema definition
{ "type": "object", "properties": { "resourceClass": { "type": [ "null", "string" ], "description": "The recorded resource class for this launch template; absent when unavailable.", "title": "String" }, "estimatedCredits": { "type": [ "null", "integer" ], "format": "int64", "description": "The recorded compute estimate for this launch template, in Nx Cloud credits; absent when unavailable.", "title": "Long" } }, "title": "LaunchTemplateInfo"}RunGroupResponse
Section titled “RunGroupResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The run-group identifier. Treat it as an opaque string, distinct from cipeId. URL-encode the returned value as one path segment. |
|
|
| The terminal run-group status: SUCCEEDED, FAILED, CANCELED or TIMED_OUT. A running run group returns 409 here. |
|
|
| The run-group creation time, in UTC. List ordering uses the parent CIPE creation time instead. |
|
|
| The last recorded update time, in UTC; absent when unavailable. |
|
|
| The recorded completion time, in UTC; absent when unavailable. |
|
|
| The parent CI pipeline execution identifier: 24 hexadecimal characters. Use it in CIPE paths and cipeId filters. |
|
|
| The recorded branch; absent when unavailable. |
|
|
| The CI execution environment name. |
|
|
| The recorded completion source; absent when unavailable. |
|
|
| The recorded critical error explanation; absent when none was recorded. |
|
|
| The recorded agent count; absent when unavailable, not necessarily zero. |
|
|
| The recorded command count; absent when unavailable, not necessarily zero. |
|
| Counts for all related runs without optional filters. Follow links.runs for their records. | |
|
|
| The Nx managed agent workflow; absent for a run group without one, including BYOC run groups. |
|
| Dictionary of | Relative GET URLs: self, cipe, runs, agents, and selfHealingFixes. selfHealingFixes is an empty page when the run group has no fix. |
Schema definition
{ "type": "object", "properties": { "id": { "type": "string", "description": "The run-group identifier. Treat it as an opaque string, distinct from cipeId. URL-encode the returned value as one path segment.", "title": "String" }, "status": { "type": "string", "description": "The terminal run-group status: SUCCEEDED, FAILED, CANCELED or TIMED_OUT. A running run group returns 409 here.", "title": "String" }, "createdAt": { "type": "string", "format": "date-time", "description": "The run-group creation time, in UTC. List ordering uses the parent CIPE creation time instead.", "title": "String" }, "updatedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The last recorded update time, in UTC; absent when unavailable.", "title": "String" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded completion time, in UTC; absent when unavailable.", "title": "String" }, "cipeId": { "type": "string", "description": "The parent CI pipeline execution identifier: 24 hexadecimal characters. Use it in CIPE paths and cipeId filters.", "title": "String" }, "branch": { "type": [ "null", "string" ], "description": "The recorded branch; absent when unavailable.", "title": "String" }, "ciExecutionEnv": { "type": "string", "description": "The CI execution environment name.", "title": "String" }, "completedBy": { "type": [ "null", "string" ], "description": "The recorded completion source; absent when unavailable.", "title": "String" }, "criticalErrorMessage": { "type": [ "null", "string" ], "description": "The recorded critical error explanation; absent when none was recorded.", "title": "String" }, "agentCount": { "type": [ "null", "integer" ], "format": "int32", "description": "The recorded agent count; absent when unavailable, not necessarily zero.", "title": "Int" }, "commandCount": { "type": [ "null", "integer" ], "format": "int32", "description": "The recorded command count; absent when unavailable, not necessarily zero.", "title": "Int" }, "runs": { "$ref": "#/components/schemas/ChildCollectionSummary", "description": "Counts for all related runs without optional filters. Follow links.runs for their records." }, "workflow": { "description": "The Nx managed agent workflow; absent for a run group without one, including BYOC run groups.", "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/RunGroupWorkflowResponse" } ] }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs: self, cipe, runs, agents, and selfHealingFixes. selfHealingFixes is an empty page when the run group has no fix.", "title": "LinkedHashMap_String-String" } }, "required": [ "ciExecutionEnv", "cipeId", "createdAt", "id", "links", "runs", "status" ], "title": "RunGroupResponse"}StepResponse
Section titled “StepResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The step identifier within the run group’s workflow, not its display name. It can contain colons. URL-encode it as one path segment. |
|
|
| The workflow step’s recorded status, not a live progress state. |
|
|
| The workflow step’s display name. |
|
|
| The recorded launch-template name; absent when unavailable. |
|
|
| The recorded step group; absent when unavailable. |
|
|
| Whether the workflow marks this step as parallel. |
|
|
| The step’s zero-based position in the workflow’s execution order. The list sorts by this field, not by a timestamp. |
|
|
| The earliest recorded start time across this step’s selected instance executions, in UTC; absent when none have a start time. |
|
|
| The latest recorded completion time across this step’s selected instance executions, in UTC; absent when none have a completion time. |
|
| Counts for this step’s workflow instances (this step on each agent) and their restarts. Follow links.instances for their records. | |
|
| Dictionary of | Relative GET URLs: self, runGroup, instances filtered to this step, and the run group’s agents. |
Schema definition
{ "type": "object", "properties": { "id": { "type": "string", "description": "The step identifier within the run group's workflow, not its display name. It can contain colons. URL-encode it as one path segment.", "title": "String" }, "status": { "type": "string", "description": "The workflow step's recorded status, not a live progress state.", "title": "String" }, "name": { "type": "string", "description": "The workflow step's display name.", "title": "String" }, "launchTemplate": { "type": [ "null", "string" ], "description": "The recorded launch-template name; absent when unavailable.", "title": "String" }, "groupName": { "type": [ "null", "string" ], "description": "The recorded step group; absent when unavailable.", "title": "String" }, "parallel": { "type": "boolean", "description": "Whether the workflow marks this step as parallel.", "title": "Boolean" }, "position": { "type": "integer", "format": "int32", "description": "The step's zero-based position in the workflow's execution order. The list sorts by this field, not by a timestamp.", "title": "Int" }, "startedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The earliest recorded start time across this step's selected instance executions, in UTC; absent when none have a start time.", "title": "String" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The latest recorded completion time across this step's selected instance executions, in UTC; absent when none have a completion time.", "title": "String" }, "instances": { "$ref": "#/components/schemas/InstanceCollectionSummary", "description": "Counts for this step's workflow instances (this step on each agent) and their restarts. Follow links.instances for their records." }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs: self, runGroup, instances filtered to this step, and the run group's agents.", "title": "LinkedHashMap_String-String" } }, "required": [ "id", "instances", "links", "name", "parallel", "position", "status" ], "title": "StepResponse"}PageResponse_StepResponse
Section titled “PageResponse_StepResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
| The records in this page, in the requested sort order. | |
|
|
| An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists. |
|
|
| An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists. |
Schema definition
{ "type": "object", "properties": { "items": { "type": "array", "description": "The records in this page, in the requested sort order.", "items": { "$ref": "#/components/schemas/StepResponse" }, "title": "ArrayList_StepResponse" }, "nextCursor": { "type": [ "null", "string" ], "description": "An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists.", "title": "String" }, "prevCursor": { "type": [ "null", "string" ], "description": "An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists.", "title": "String" } }, "required": [ "items" ], "title": "PageResponse_StepResponse"}InstanceRowResponse
Section titled “InstanceRowResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The workflow step’s id, which can contain colons. URL-encode stepId and agentName as separate path segments, or follow links.self. |
|
|
| The workflow step’s display name. |
|
|
| The recorded agent identity; absent when unavailable. Older executions can lack this identity. Follow links.self to address the instance even when agentName is absent. |
|
|
| The selected execution’s name, not the step id or agent identity. |
|
|
| The selected execution’s recorded workflow status, not a live progress state. |
|
|
| The recorded instance start time, in UTC; absent when unavailable. |
|
|
| The recorded instance completion time, in UTC; absent when unavailable. |
|
|
| The number of superseded executions of this step on this agent, not agent boots. Follow links.self for priorRuns. |
|
| Log asset API URLs for the selected execution. Follow each URL for a signed download redirect. | |
|
| Dictionary of | Relative GET URLs: self, runGroup, step, and agent when recorded. |
Schema definition
{ "type": "object", "properties": { "stepId": { "type": "string", "description": "The workflow step's id, which can contain colons. URL-encode stepId and agentName as separate path segments, or follow links.self.", "title": "String" }, "stepName": { "type": "string", "description": "The workflow step's display name.", "title": "String" }, "agentName": { "type": [ "null", "string" ], "description": "The recorded agent identity; absent when unavailable. Older executions can lack this identity. Follow links.self to address the instance even when agentName is absent.", "title": "String" }, "name": { "type": "string", "description": "The selected execution's name, not the step id or agent identity.", "title": "String" }, "status": { "type": "string", "description": "The selected execution's recorded workflow status, not a live progress state.", "title": "String" }, "startedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded instance start time, in UTC; absent when unavailable.", "title": "String" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded instance completion time, in UTC; absent when unavailable.", "title": "String" }, "restartAttempts": { "type": "integer", "format": "int32", "description": "The number of superseded executions of this step on this agent, not agent boots. Follow links.self for priorRuns.", "title": "Int" }, "assets": { "type": "array", "description": "Log asset API URLs for the selected execution. Follow each URL for a signed download redirect.", "items": { "$ref": "#/components/schemas/DataAsset" }, "title": "ArrayList_DataAsset" }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs: self, runGroup, step, and agent when recorded.", "title": "LinkedHashMap_String-String" } }, "required": [ "assets", "links", "name", "status", "stepId", "stepName" ], "title": "InstanceRowResponse"}DataAsset
Section titled “DataAsset”Type: object.
| Property | Type | Description |
|---|---|---|
|
| The asset category: logs for execution output, artifact for task outputs, sandbox-report for an Ultracache report, or resource-utilization for CPU, memory, and I/O samples. | |
|
|
| A relative authenticated API URL. GET returns a 302 redirect to a time-limited signed download URL. Do not forward API credentials to the download host. |
Schema definition
{ "type": "object", "properties": { "type": { "$ref": "#/components/schemas/AssetType", "description": "The asset category: logs for execution output, artifact for task outputs, sandbox-report for an Ultracache report, or resource-utilization for CPU, memory, and I/O samples." }, "url": { "type": "string", "description": "A relative authenticated API URL. GET returns a 302 redirect to a time-limited signed download URL. Do not forward API credentials to the download host.", "title": "String" } }, "required": [ "type", "url" ], "title": "DataAsset"}AssetType
Section titled “AssetType”Type: string. Allowed: logs, artifact, sandbox-report, resource-utilization.
Schema definition
{ "type": "string", "enum": [ "logs", "artifact", "sandbox-report", "resource-utilization" ], "title": "AssetType"}PageResponse_InstanceRowResponse
Section titled “PageResponse_InstanceRowResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
| The records in this page, in the requested sort order. | |
|
|
| An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists. |
|
|
| An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists. |
Schema definition
{ "type": "object", "properties": { "items": { "type": "array", "description": "The records in this page, in the requested sort order.", "items": { "$ref": "#/components/schemas/InstanceRowResponse" }, "title": "ArrayList_InstanceRowResponse" }, "nextCursor": { "type": [ "null", "string" ], "description": "An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists.", "title": "String" }, "prevCursor": { "type": [ "null", "string" ], "description": "An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists.", "title": "String" } }, "required": [ "items" ], "title": "PageResponse_InstanceRowResponse"}InstanceResourceUsage
Section titled “InstanceResourceUsage”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The recorded CPU allocation, in cores; not sampled CPU utilization. |
|
|
| The recorded memory allocation, in gigabytes; not sampled memory utilization. |
|
|
| The recorded resource class name. |
Schema definition
{ "type": "object", "properties": { "cpus": { "type": "number", "format": "float", "description": "The recorded CPU allocation, in cores; not sampled CPU utilization.", "title": "Float" }, "memoryGbs": { "type": "number", "format": "float", "description": "The recorded memory allocation, in gigabytes; not sampled memory utilization.", "title": "Float" }, "resourceClass": { "type": "string", "description": "The recorded resource class name.", "title": "String" } }, "required": [ "cpus", "memoryGbs", "resourceClass" ], "title": "InstanceResourceUsage"}InstanceTerminationStatusResponse
Section titled “InstanceTerminationStatusResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The recorded container exit code. |
|
|
| The terminated container’s name. |
|
|
| The recorded container termination reason. |
|
|
| The recorded container termination message. |
Schema definition
{ "type": "object", "properties": { "exitCode": { "type": "integer", "format": "int64", "description": "The recorded container exit code.", "title": "Long" }, "name": { "type": "string", "description": "The terminated container's name.", "title": "String" }, "reason": { "type": "string", "description": "The recorded container termination reason.", "title": "String" }, "message": { "type": "string", "description": "The recorded container termination message.", "title": "String" } }, "required": [ "exitCode", "message", "name", "reason" ], "title": "InstanceTerminationStatusResponse"}InstanceTimeoutInfoResponse
Section titled “InstanceTimeoutInfoResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The recorded timeout reason. |
|
|
| The timeout duration, in seconds. |
|
|
| The recorded source of the timeout configuration. |
Schema definition
{ "type": "object", "properties": { "reason": { "type": "string", "description": "The recorded timeout reason.", "title": "String" }, "durationSeconds": { "type": "integer", "format": "int64", "description": "The timeout duration, in seconds.", "title": "Long" }, "configSource": { "type": "string", "description": "The recorded source of the timeout configuration.", "title": "String" } }, "required": [ "configSource", "durationSeconds", "reason" ], "title": "InstanceTimeoutInfoResponse"}InstancePriorRunResponse
Section titled “InstancePriorRunResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The superseded execution’s recorded name. |
|
|
| The superseded execution’s recorded status. |
|
|
| The superseded execution’s recorded start time, in UTC; absent when unavailable. |
|
|
| The superseded execution’s recorded completion time, in UTC; absent when unavailable. |
|
| Log asset API URLs with the run index already set. The download can return 404 if the log upload never completed. |
Schema definition
{ "type": "object", "properties": { "name": { "type": "string", "description": "The superseded execution's recorded name.", "title": "String" }, "status": { "type": "string", "description": "The superseded execution's recorded status.", "title": "String" }, "startedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The superseded execution's recorded start time, in UTC; absent when unavailable.", "title": "String" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The superseded execution's recorded completion time, in UTC; absent when unavailable.", "title": "String" }, "assets": { "type": "array", "description": "Log asset API URLs with the run index already set. The download can return 404 if the log upload never completed.", "items": { "$ref": "#/components/schemas/DataAsset" }, "title": "ArrayList_DataAsset" } }, "required": [ "assets", "name", "status" ], "title": "InstancePriorRunResponse"}InstanceResponse
Section titled “InstanceResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The workflow step’s id, which can contain colons. URL-encode stepId and agentName as separate path segments, or follow links.self. |
|
|
| The workflow step’s display name. |
|
|
| The recorded agent identity; absent when unavailable. Older executions can lack this identity. Follow links.self to address the instance even when agentName is absent. |
|
|
| The selected execution’s name, not the step id or agent identity. |
|
|
| The selected execution’s recorded workflow status, not a live progress state. |
|
|
| The recorded instance start time, in UTC; absent when unavailable. |
|
|
| The recorded instance completion time, in UTC; absent when unavailable. |
|
|
| The recorded resource allocation; absent when unavailable. |
|
| Recorded container termination details; empty when none were recorded. | |
|
|
| The recorded timeout details; absent when none were recorded. |
|
| Log asset API URLs for the selected execution. Follow each URL for a signed download redirect. | |
|
| Superseded executions of this step on this agent, sorted by start time then name in ascending order. They can start after the selected execution. Zero-based array positions select the asset run query parameter. | |
|
| Dictionary of | Relative GET URLs: self, runGroup, step, and agent when recorded. |
Schema definition
{ "type": "object", "properties": { "stepId": { "type": "string", "description": "The workflow step's id, which can contain colons. URL-encode stepId and agentName as separate path segments, or follow links.self.", "title": "String" }, "stepName": { "type": "string", "description": "The workflow step's display name.", "title": "String" }, "agentName": { "type": [ "null", "string" ], "description": "The recorded agent identity; absent when unavailable. Older executions can lack this identity. Follow links.self to address the instance even when agentName is absent.", "title": "String" }, "name": { "type": "string", "description": "The selected execution's name, not the step id or agent identity.", "title": "String" }, "status": { "type": "string", "description": "The selected execution's recorded workflow status, not a live progress state.", "title": "String" }, "startedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded instance start time, in UTC; absent when unavailable.", "title": "String" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded instance completion time, in UTC; absent when unavailable.", "title": "String" }, "resourceUsage": { "description": "The recorded resource allocation; absent when unavailable.", "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/InstanceResourceUsage" } ] }, "terminationStatuses": { "type": "array", "description": "Recorded container termination details; empty when none were recorded.", "items": { "$ref": "#/components/schemas/InstanceTerminationStatusResponse" }, "title": "ArrayList_InstanceTerminationStatusResponse" }, "timeoutInfo": { "description": "The recorded timeout details; absent when none were recorded.", "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/InstanceTimeoutInfoResponse" } ] }, "assets": { "type": "array", "description": "Log asset API URLs for the selected execution. Follow each URL for a signed download redirect.", "items": { "$ref": "#/components/schemas/DataAsset" }, "title": "ArrayList_DataAsset" }, "priorRuns": { "type": "array", "description": "Superseded executions of this step on this agent, sorted by start time then name in ascending order. They can start after the selected execution. Zero-based array positions select the asset run query parameter.", "items": { "$ref": "#/components/schemas/InstancePriorRunResponse" }, "title": "ArrayList_InstancePriorRunResponse" }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs: self, runGroup, step, and agent when recorded.", "title": "LinkedHashMap_String-String" } }, "required": [ "assets", "links", "name", "status", "stepId", "stepName" ], "title": "InstanceResponse"}AgentResponse
Section titled “AgentResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The agent name used in paths. Nx managed restarts share one identity. BYOC uses its display name, or instanceName when no display name exists, so restarts can have different names. URL-encode name as one path segment. |
|
|
| OFFLINE when an offline time exists; otherwise ONLINE. This describes the selected boot’s recorded times, not a live probe. |
|
|
| The selected boot’s full instance name. The endpoint description explains boot selection. Use name, not instanceName, to address the agent. |
|
|
| The recorded launch-template name; absent when unavailable. |
|
|
| The reported CPU core count; absent when system information is unavailable. |
|
|
| The reported total system memory, in bytes; absent when system information is unavailable. |
|
|
| The selected boot’s online time, in UTC; absent when unavailable. Agent list ordering uses 1970-01-01T00:00:00Z for missing times and follows the requested sort direction. |
|
|
| The recorded boot offline time, in UTC; absent when no offline time exists. |
|
|
| The average sampled CPU usage across cores, in percent (100 per full core); absent when metrics are unavailable. |
|
|
| The maximum sampled CPU usage across cores, in percent (100 per full core); absent when metrics are unavailable. |
|
|
| The average sampled memory usage, in bytes; absent when metrics are unavailable. |
|
|
| The maximum sampled memory usage, in bytes; absent when metrics are unavailable. |
|
| Counts for this agent’s workflow instances (one step on this agent) and restarts. Empty for an agent without a workflow, including BYOC. | |
|
| Resource-utilization asset API URLs for the selected boot. Follow each URL for a signed download redirect. | |
|
| Earlier boots, oldest first. Zero-based array positions select the asset boot query parameter. Omit boot to select the current response’s boot. | |
|
| Dictionary of | Relative GET URLs: self and runGroup; instances and steps appear only when a workflow exists. |
Schema definition
{ "type": "object", "properties": { "name": { "type": "string", "description": "The agent name used in paths. Nx managed restarts share one identity. BYOC uses its display name, or instanceName when no display name exists, so restarts can have different names. URL-encode name as one path segment.", "title": "String" }, "status": { "type": "string", "description": "OFFLINE when an offline time exists; otherwise ONLINE. This describes the selected boot's recorded times, not a live probe.", "title": "String" }, "instanceName": { "type": "string", "description": "The selected boot's full instance name. The endpoint description explains boot selection. Use name, not instanceName, to address the agent.", "title": "String" }, "launchTemplate": { "type": [ "null", "string" ], "description": "The recorded launch-template name; absent when unavailable.", "title": "String" }, "cpuCores": { "type": [ "null", "integer" ], "format": "int64", "description": "The reported CPU core count; absent when system information is unavailable.", "title": "Long" }, "totalMemory": { "type": [ "null", "integer" ], "format": "int64", "description": "The reported total system memory, in bytes; absent when system information is unavailable.", "title": "Long" }, "onlineAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The selected boot's online time, in UTC; absent when unavailable. Agent list ordering uses 1970-01-01T00:00:00Z for missing times and follows the requested sort direction.", "title": "String" }, "offlineAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded boot offline time, in UTC; absent when no offline time exists.", "title": "String" }, "avgCpu": { "type": [ "null", "number" ], "format": "double", "description": "The average sampled CPU usage across cores, in percent (100 per full core); absent when metrics are unavailable.", "title": "Double" }, "maxCpu": { "type": [ "null", "number" ], "format": "double", "description": "The maximum sampled CPU usage across cores, in percent (100 per full core); absent when metrics are unavailable.", "title": "Double" }, "avgMemory": { "type": [ "null", "number" ], "format": "double", "description": "The average sampled memory usage, in bytes; absent when metrics are unavailable.", "title": "Double" }, "maxMemory": { "type": [ "null", "number" ], "format": "double", "description": "The maximum sampled memory usage, in bytes; absent when metrics are unavailable.", "title": "Double" }, "instances": { "$ref": "#/components/schemas/InstanceCollectionSummary", "description": "Counts for this agent's workflow instances (one step on this agent) and restarts. Empty for an agent without a workflow, including BYOC." }, "assets": { "type": "array", "description": "Resource-utilization asset API URLs for the selected boot. Follow each URL for a signed download redirect.", "items": { "$ref": "#/components/schemas/DataAsset" }, "title": "ArrayList_DataAsset" }, "priorBoots": { "type": "array", "description": "Earlier boots, oldest first. Zero-based array positions select the asset boot query parameter. Omit boot to select the current response's boot.", "items": { "$ref": "#/components/schemas/AgentBootResponse" }, "title": "ArrayList_AgentBootResponse" }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs: self and runGroup; instances and steps appear only when a workflow exists.", "title": "LinkedHashMap_String-String" } }, "required": [ "assets", "instanceName", "instances", "links", "name", "status" ], "title": "AgentResponse"}AgentBootResponse
Section titled “AgentBootResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The earlier boot’s full instance name. It identifies the boot, not the agent name used in paths. |
|
|
| OFFLINE when an offline time exists; otherwise ONLINE. This describes the earlier boot’s recorded times, not a live probe. |
|
|
| The recorded launch-template name; absent when unavailable. |
|
|
| The recorded boot online time, in UTC; absent when unavailable. |
|
|
| The recorded boot offline time, in UTC; absent when unavailable. |
|
|
| The reported CPU core count; absent when system information is unavailable. |
|
|
| The reported total system memory, in bytes; absent when system information is unavailable. |
|
|
| The average sampled CPU usage across cores, in percent (100 per full core); absent when metrics are unavailable. |
|
|
| The maximum sampled CPU usage across cores, in percent (100 per full core); absent when metrics are unavailable. |
|
|
| The average sampled memory usage, in bytes; absent when metrics are unavailable. |
|
|
| The maximum sampled memory usage, in bytes; absent when metrics are unavailable. |
|
| Asset API URLs with the boot index already set. The download can return 404 if the report upload never completed. |
Schema definition
{ "type": "object", "properties": { "instanceName": { "type": "string", "description": "The earlier boot's full instance name. It identifies the boot, not the agent name used in paths.", "title": "String" }, "status": { "type": "string", "description": "OFFLINE when an offline time exists; otherwise ONLINE. This describes the earlier boot's recorded times, not a live probe.", "title": "String" }, "launchTemplate": { "type": [ "null", "string" ], "description": "The recorded launch-template name; absent when unavailable.", "title": "String" }, "onlineAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded boot online time, in UTC; absent when unavailable.", "title": "String" }, "offlineAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded boot offline time, in UTC; absent when unavailable.", "title": "String" }, "cpuCores": { "type": [ "null", "integer" ], "format": "int64", "description": "The reported CPU core count; absent when system information is unavailable.", "title": "Long" }, "totalMemory": { "type": [ "null", "integer" ], "format": "int64", "description": "The reported total system memory, in bytes; absent when system information is unavailable.", "title": "Long" }, "avgCpu": { "type": [ "null", "number" ], "format": "double", "description": "The average sampled CPU usage across cores, in percent (100 per full core); absent when metrics are unavailable.", "title": "Double" }, "maxCpu": { "type": [ "null", "number" ], "format": "double", "description": "The maximum sampled CPU usage across cores, in percent (100 per full core); absent when metrics are unavailable.", "title": "Double" }, "avgMemory": { "type": [ "null", "number" ], "format": "double", "description": "The average sampled memory usage, in bytes; absent when metrics are unavailable.", "title": "Double" }, "maxMemory": { "type": [ "null", "number" ], "format": "double", "description": "The maximum sampled memory usage, in bytes; absent when metrics are unavailable.", "title": "Double" }, "assets": { "type": "array", "description": "Asset API URLs with the boot index already set. The download can return 404 if the report upload never completed.", "items": { "$ref": "#/components/schemas/DataAsset" }, "title": "ArrayList_DataAsset" } }, "required": [ "assets", "instanceName", "status" ], "title": "AgentBootResponse"}PageResponse_AgentResponse
Section titled “PageResponse_AgentResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
| The records in this page, in the requested sort order. | |
|
|
| An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists. |
|
|
| An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists. |
Schema definition
{ "type": "object", "properties": { "items": { "type": "array", "description": "The records in this page, in the requested sort order.", "items": { "$ref": "#/components/schemas/AgentResponse" }, "title": "ArrayList_AgentResponse" }, "nextCursor": { "type": [ "null", "string" ], "description": "An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists.", "title": "String" }, "prevCursor": { "type": [ "null", "string" ], "description": "An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists.", "title": "String" } }, "required": [ "items" ], "title": "PageResponse_AgentResponse"}RunListResponse
Section titled “RunListResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The run identifier used in Nx Cloud run URLs. Treat it as an opaque string. Use it as runId, URL-encoded as one path segment. |
|
|
| The status derived from the exit code: UNKNOWN when unavailable, SUCCEEDED for 0, CANCELED for 130, otherwise FAILED. Not a live progress state. |
|
|
| The run record creation time, in UTC. |
|
|
| The last recorded update time, in UTC; absent when unavailable. |
|
|
| The recorded Nx invocation start time, in UTC; absent when unavailable. |
|
|
| The recorded Nx invocation completion time, in UTC; absent when unavailable. |
|
|
| The recorded Nx invocation command. |
|
|
| The recorded branch; absent when unavailable. |
|
|
| The raw parent run-group id; absent when the run recorded none. |
|
|
| The recorded commit SHA; absent when unavailable. |
|
|
| Whether caching was enabled for this run; not a cache-hit indicator. |
|
|
| True when the run has a distributed execution id; false for a single-machine run. |
|
|
| True when the run recorded a branch, which identifies a CI run. |
|
| Dictionary of | Relative GET URLs: self and tasks; runGroup appears only when recorded. |
Schema definition
{ "type": "object", "properties": { "id": { "type": "string", "description": "The run identifier used in Nx Cloud run URLs. Treat it as an opaque string. Use it as runId, URL-encoded as one path segment.", "title": "String" }, "status": { "type": "string", "description": "The status derived from the exit code: UNKNOWN when unavailable, SUCCEEDED for 0, CANCELED for 130, otherwise FAILED. Not a live progress state.", "title": "String" }, "createdAt": { "type": "string", "format": "date-time", "description": "The run record creation time, in UTC.", "title": "String" }, "updatedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The last recorded update time, in UTC; absent when unavailable.", "title": "String" }, "startedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded Nx invocation start time, in UTC; absent when unavailable.", "title": "String" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded Nx invocation completion time, in UTC; absent when unavailable.", "title": "String" }, "command": { "type": "string", "description": "The recorded Nx invocation command.", "title": "String" }, "branch": { "type": [ "null", "string" ], "description": "The recorded branch; absent when unavailable.", "title": "String" }, "runGroup": { "type": [ "null", "string" ], "description": "The raw parent run-group id; absent when the run recorded none.", "title": "String" }, "commitSha": { "type": [ "null", "string" ], "description": "The recorded commit SHA; absent when unavailable.", "title": "String" }, "cacheEnabled": { "type": "boolean", "description": "Whether caching was enabled for this run; not a cache-hit indicator.", "title": "Boolean" }, "isDTE": { "type": "boolean", "description": "True when the run has a distributed execution id; false for a single-machine run.", "title": "Boolean" }, "isCI": { "type": "boolean", "description": "True when the run recorded a branch, which identifies a CI run.", "title": "Boolean" }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs: self and tasks; runGroup appears only when recorded.", "title": "LinkedHashMap_String-String" } }, "required": [ "cacheEnabled", "command", "createdAt", "id", "isCI", "isDTE", "links", "status" ], "title": "RunListResponse"}PageResponse_RunListResponse
Section titled “PageResponse_RunListResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
| The records in this page, in the requested sort order. | |
|
|
| An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists. |
|
|
| An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists. |
Schema definition
{ "type": "object", "properties": { "items": { "type": "array", "description": "The records in this page, in the requested sort order.", "items": { "$ref": "#/components/schemas/RunListResponse" }, "title": "ArrayList_RunListResponse" }, "nextCursor": { "type": [ "null", "string" ], "description": "An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists.", "title": "String" }, "prevCursor": { "type": [ "null", "string" ], "description": "An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists.", "title": "String" } }, "required": [ "items" ], "title": "PageResponse_RunListResponse"}TaskCollectionSummary
Section titled “TaskCollectionSummary”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The number of final task records before optional filters, not the number of attempts. Batch variants can share a task id. |
|
| Dictionary of | Final task counts keyed by public status. Statuses with no tasks are absent. Counts sum to total. |
|
|
| The number of task records with at least one prior failed attempt, not the number of attempts. |
|
|
| The total number of prior failed attempts across task records, excluding their final attempts. |
|
| Dictionary of | Final status counts for retried task records only. Statuses with no retried tasks are absent. Counts sum to retried. |
Schema definition
{ "type": "object", "properties": { "total": { "type": "integer", "format": "int32", "description": "The number of final task records before optional filters, not the number of attempts. Batch variants can share a task id.", "title": "Int" }, "statusCounts": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32", "title": "Int" }, "description": "Final task counts keyed by public status. Statuses with no tasks are absent. Counts sum to total.", "title": "LinkedHashMap_String-Int" }, "retried": { "type": "integer", "format": "int32", "description": "The number of task records with at least one prior failed attempt, not the number of attempts.", "title": "Int" }, "retryAttempts": { "type": "integer", "format": "int32", "description": "The total number of prior failed attempts across task records, excluding their final attempts.", "title": "Int" }, "retriedStatusCounts": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32", "title": "Int" }, "description": "Final status counts for retried task records only. Statuses with no retried tasks are absent. Counts sum to retried.", "title": "LinkedHashMap_String-Int" } }, "required": [ "retried", "retriedStatusCounts", "retryAttempts", "statusCounts", "total" ], "title": "TaskCollectionSummary"}RunResponse
Section titled “RunResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The run identifier used in Nx Cloud run URLs. Treat it as an opaque string. Use it as runId, URL-encoded as one path segment. |
|
|
| The status derived from the exit code: UNKNOWN when unavailable, SUCCEEDED for 0, CANCELED for 130, otherwise FAILED. Not a live progress state. |
|
|
| The run record creation time, in UTC. |
|
|
| The last recorded update time, in UTC; absent when unavailable. |
|
|
| The recorded Nx invocation start time, in UTC; absent when unavailable. |
|
|
| The recorded Nx invocation completion time, in UTC; absent when unavailable. |
|
|
| The recorded Nx invocation command. |
|
|
| The recorded branch; absent when unavailable. |
|
|
| The raw parent run-group id; absent when the run recorded none. |
|
|
| The recorded commit SHA; absent when unavailable. |
|
|
| Whether caching was enabled for this run; not a cache-hit indicator. |
|
|
| True when the run has a distributed execution id; false for a single-machine run. |
|
|
| True when the run recorded a branch, which identifies a CI run. |
|
| Counts for all tasks and prior attempts without optional filters. Follow links.tasks for task records. | |
|
| Dictionary of | Relative GET URLs: self and tasks; runGroup appears only when recorded. |
Schema definition
{ "type": "object", "properties": { "id": { "type": "string", "description": "The run identifier used in Nx Cloud run URLs. Treat it as an opaque string. Use it as runId, URL-encoded as one path segment.", "title": "String" }, "status": { "type": "string", "description": "The status derived from the exit code: UNKNOWN when unavailable, SUCCEEDED for 0, CANCELED for 130, otherwise FAILED. Not a live progress state.", "title": "String" }, "createdAt": { "type": "string", "format": "date-time", "description": "The run record creation time, in UTC.", "title": "String" }, "updatedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The last recorded update time, in UTC; absent when unavailable.", "title": "String" }, "startedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded Nx invocation start time, in UTC; absent when unavailable.", "title": "String" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded Nx invocation completion time, in UTC; absent when unavailable.", "title": "String" }, "command": { "type": "string", "description": "The recorded Nx invocation command.", "title": "String" }, "branch": { "type": [ "null", "string" ], "description": "The recorded branch; absent when unavailable.", "title": "String" }, "runGroup": { "type": [ "null", "string" ], "description": "The raw parent run-group id; absent when the run recorded none.", "title": "String" }, "commitSha": { "type": [ "null", "string" ], "description": "The recorded commit SHA; absent when unavailable.", "title": "String" }, "cacheEnabled": { "type": "boolean", "description": "Whether caching was enabled for this run; not a cache-hit indicator.", "title": "Boolean" }, "isDTE": { "type": "boolean", "description": "True when the run has a distributed execution id; false for a single-machine run.", "title": "Boolean" }, "isCI": { "type": "boolean", "description": "True when the run recorded a branch, which identifies a CI run.", "title": "Boolean" }, "tasks": { "$ref": "#/components/schemas/TaskCollectionSummary", "description": "Counts for all tasks and prior attempts without optional filters. Follow links.tasks for task records." }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs: self and tasks; runGroup appears only when recorded.", "title": "LinkedHashMap_String-String" } }, "required": [ "cacheEnabled", "command", "createdAt", "id", "isCI", "isDTE", "links", "status", "tasks" ], "title": "RunResponse"}TaskResponse
Section titled “TaskResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The Nx task id in project:target[:configuration] form, such as myapp:build. URL-encode it as one path segment. Use batchId to distinguish variants within a run. |
|
| The task’s final status, including tasks that could not start or execute. | |
|
|
| The recorded task start time, in UTC; absent when unavailable. |
|
|
| The recorded task completion time, in UTC; absent when unavailable. |
|
|
| The Nx project name. |
|
|
| The Nx target name. |
|
|
| The recorded target group name; absent when unavailable. |
|
|
| The Nx target configuration; absent when not specified. |
|
|
| The recorded task parameters. An empty string means no parameters were recorded. |
|
|
| The recorded cache result. Null when the task stopped before it produced a cache result. |
|
|
| The Nx computation hash, not the task identifier. Use it to compare computations. Null when the task stopped before hashing completed. |
|
|
| Whether Nx configured the task to run continuously. |
|
|
| Whether the task was eligible for caching; this does not mean it used a cached result. |
|
|
| The batch identifier; absent for unbatched tasks. Supply it as the URL-encoded batchId query value to distinguish records with the same task id. |
|
|
| The assigned agent identity for a distributed run (DTE); absent for non-DTE runs and unassigned tasks. |
|
| Asset API URLs for this attempt. Follow each URL to resolve a time-limited download redirect. | |
|
| Failed attempts before the final attempt, oldest first. Zero-based array positions select the asset attempt query parameter for logs. | |
|
| Dictionary of | Relative GET URLs: self and run; cacheOrigin appears only when requested and available. |
Schema definition
{ "type": "object", "properties": { "id": { "type": "string", "description": "The Nx task id in project:target[:configuration] form, such as myapp:build. URL-encode it as one path segment. Use batchId to distinguish variants within a run.", "title": "String" }, "status": { "$ref": "#/components/schemas/TaskStatus", "description": "The task's final status, including tasks that could not start or execute." }, "startedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded task start time, in UTC; absent when unavailable.", "title": "String" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The recorded task completion time, in UTC; absent when unavailable.", "title": "String" }, "projectName": { "type": "string", "description": "The Nx project name.", "title": "String" }, "target": { "type": "string", "description": "The Nx target name.", "title": "String" }, "targetGroupName": { "type": [ "null", "string" ], "description": "The recorded target group name; absent when unavailable.", "title": "String" }, "configuration": { "type": [ "null", "string" ], "description": "The Nx target configuration; absent when not specified.", "title": "String" }, "params": { "type": "string", "description": "The recorded task parameters. An empty string means no parameters were recorded.", "title": "String" }, "cacheStatus": { "type": [ "null", "string" ], "description": "The recorded cache result. Null when the task stopped before it produced a cache result.", "title": "String" }, "hash": { "type": [ "null", "string" ], "description": "The Nx computation hash, not the task identifier. Use it to compare computations. Null when the task stopped before hashing completed.", "title": "String" }, "continuous": { "type": "boolean", "description": "Whether Nx configured the task to run continuously.", "title": "Boolean" }, "cacheable": { "type": "boolean", "description": "Whether the task was eligible for caching; this does not mean it used a cached result.", "title": "Boolean" }, "batchId": { "type": [ "null", "string" ], "description": "The batch identifier; absent for unbatched tasks. Supply it as the URL-encoded batchId query value to distinguish records with the same task id.", "title": "String" }, "agentName": { "type": [ "null", "string" ], "description": "The assigned agent identity for a distributed run (DTE); absent for non-DTE runs and unassigned tasks.", "title": "String" }, "assets": { "type": "array", "description": "Asset API URLs for this attempt. Follow each URL to resolve a time-limited download redirect.", "items": { "$ref": "#/components/schemas/DataAsset" }, "title": "ArrayList_DataAsset" }, "priorAttempts": { "type": "array", "description": "Failed attempts before the final attempt, oldest first. Zero-based array positions select the asset attempt query parameter for logs.", "items": { "$ref": "#/components/schemas/TaskAttemptResponse" }, "title": "ArrayList_TaskAttemptResponse" }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs: self and run; cacheOrigin appears only when requested and available.", "title": "LinkedHashMap_String-String" } }, "required": [ "assets", "cacheStatus", "cacheable", "continuous", "hash", "id", "links", "params", "projectName", "status", "target" ], "title": "TaskResponse"}TaskStatus
Section titled “TaskStatus”Type: string. Allowed: UNKNOWN, SUCCEEDED, FAILED, CANCELED, NOT_STARTED, DEPENDENCIES_FAILED, NOT_EXECUTABLE, TIMED_OUT, SCHEDULED_IMPLICITLY.
Schema definition
{ "type": "string", "enum": [ "UNKNOWN", "SUCCEEDED", "FAILED", "CANCELED", "NOT_STARTED", "DEPENDENCIES_FAILED", "NOT_EXECUTABLE", "TIMED_OUT", "SCHEDULED_IMPLICITLY" ], "title": "TaskStatus"}TaskAttemptResponse
Section titled “TaskAttemptResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The prior attempt’s exit-code-derived status. |
|
|
| The prior attempt start time, in UTC; absent when unavailable. |
|
|
| The prior attempt completion time, in UTC; absent when unavailable. |
|
| Asset API URLs with the attempt index already set. |
Schema definition
{ "type": "object", "properties": { "status": { "type": "string", "description": "The prior attempt's exit-code-derived status.", "title": "String" }, "startedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The prior attempt start time, in UTC; absent when unavailable.", "title": "String" }, "completedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The prior attempt completion time, in UTC; absent when unavailable.", "title": "String" }, "assets": { "type": "array", "description": "Asset API URLs with the attempt index already set.", "items": { "$ref": "#/components/schemas/DataAsset" }, "title": "ArrayList_DataAsset" } }, "required": [ "assets", "status" ], "title": "TaskAttemptResponse"}PageResponse_TaskResponse
Section titled “PageResponse_TaskResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
| The records in this page, in the requested sort order. | |
|
|
| An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists. |
|
|
| An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists. |
Schema definition
{ "type": "object", "properties": { "items": { "type": "array", "description": "The records in this page, in the requested sort order.", "items": { "$ref": "#/components/schemas/TaskResponse" }, "title": "ArrayList_TaskResponse" }, "nextCursor": { "type": [ "null", "string" ], "description": "An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists.", "title": "String" }, "prevCursor": { "type": [ "null", "string" ], "description": "An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists.", "title": "String" } }, "required": [ "items" ], "title": "PageResponse_TaskResponse"}TaskInclude
Section titled “TaskInclude”Type: string. Allowed: cacheOrigin.
Schema definition
{ "type": "string", "enum": [ "cacheOrigin" ], "title": "TaskInclude"}TaskStatResponse
Section titled “TaskStatResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The UTC day at midnight, based on run creation time rather than task start time. |
|
|
| The Nx project name shared by the tasks in this row. |
|
|
| The Nx target name shared by the tasks in this row. |
|
|
| The name of the project’s target group that contains this target. Different groups have separate rows; absent when unavailable. |
|
|
| Whether this row represents CI runs. Runs with a branch value count as CI; runs without one count as local. |
|
|
| The number of task entries represented by this row, including cache hits. Only cache-enabled runs contribute. Excludes continuous tasks and nx-cloud start-agent runs. |
|
| Fractions of totalCount for each cache result. They can sum to less than 1 when entries have other or unavailable cache results. | |
|
| Mean durations in milliseconds per cache category. Cache-miss means use successful executions only. | |
|
| Exit-code fractions using totalCount as the denominator. | |
|
|
| Approximate duration percentiles in milliseconds for successful cache misses in this row. Absent when no percentiles were requested; individual estimates can be null. |
Schema definition
{ "type": "object", "properties": { "date": { "type": "string", "format": "date-time", "description": "The UTC day at midnight, based on run creation time rather than task start time.", "title": "String" }, "projectName": { "type": "string", "description": "The Nx project name shared by the tasks in this row.", "title": "String" }, "target": { "type": "string", "description": "The Nx target name shared by the tasks in this row.", "title": "String" }, "targetGroupName": { "type": [ "null", "string" ], "description": "The name of the project's target group that contains this target. Different groups have separate rows; absent when unavailable.", "title": "String" }, "isCI": { "type": "boolean", "description": "Whether this row represents CI runs. Runs with a branch value count as CI; runs without one count as local.", "title": "Boolean" }, "totalCount": { "type": "integer", "format": "int32", "description": "The number of task entries represented by this row, including cache hits. Only cache-enabled runs contribute. Excludes continuous tasks and nx-cloud start-agent runs.", "title": "Int" }, "cacheStatusRatio": { "$ref": "#/components/schemas/TaskStatCacheStatusRatio", "description": "Fractions of totalCount for each cache result. They can sum to less than 1 when entries have other or unavailable cache results." }, "averageDuration": { "$ref": "#/components/schemas/TaskStatAverageDuration", "description": "Mean durations in milliseconds per cache category. Cache-miss means use successful executions only." }, "statusCodeRatio": { "$ref": "#/components/schemas/TaskStatStatusCodeRatio", "description": "Exit-code fractions using totalCount as the denominator." }, "durationPercentiles": { "type": [ "null", "array" ], "description": "Approximate duration percentiles in milliseconds for successful cache misses in this row. Absent when no percentiles were requested; individual estimates can be null.", "items": { "$ref": "#/components/schemas/TaskStatDurationPercentile" }, "title": "ArrayList_TaskStatDurationPercentile" } }, "required": [ "averageDuration", "cacheStatusRatio", "date", "isCI", "projectName", "statusCodeRatio", "target", "totalCount" ], "title": "TaskStatResponse"}TaskStatCacheStatusRatio
Section titled “TaskStatCacheStatusRatio”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| Local-cache-hit task entries divided by totalCount, as a fraction from 0 to 1. minimum: |
|
|
| Remote-cache-hit task entries divided by totalCount, as a fraction from 0 to 1. minimum: |
|
|
| Cache-miss task entries, successful or failed, divided by totalCount, as a fraction from 0 to 1. minimum: |
Schema definition
{ "type": "object", "properties": { "localCacheHit": { "type": "number", "format": "double", "description": "Local-cache-hit task entries divided by totalCount, as a fraction from 0 to 1.", "maximum": 1, "minimum": 0, "title": "Double" }, "remoteCacheHit": { "type": "number", "format": "double", "description": "Remote-cache-hit task entries divided by totalCount, as a fraction from 0 to 1.", "maximum": 1, "minimum": 0, "title": "Double" }, "cacheMiss": { "type": "number", "format": "double", "description": "Cache-miss task entries, successful or failed, divided by totalCount, as a fraction from 0 to 1.", "maximum": 1, "minimum": 0, "title": "Double" } }, "required": [ "cacheMiss", "localCacheHit", "remoteCacheHit" ], "title": "TaskStatCacheStatusRatio"}TaskStatAverageDuration
Section titled “TaskStatAverageDuration”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| Total local-cache-hit duration in milliseconds divided by the local-cache-hit count. Zero when no local hits contribute or their total duration is zero. |
|
|
| Total remote-cache-hit duration in milliseconds divided by the remote-cache-hit count. Zero when no remote hits contribute or their total duration is zero. |
|
|
| Total successful cache-miss duration in milliseconds divided by the successful-cache-miss count. Zero when no successful misses contribute or their total duration is zero. |
Schema definition
{ "type": "object", "properties": { "localCacheHitMs": { "type": "number", "format": "double", "description": "Total local-cache-hit duration in milliseconds divided by the local-cache-hit count. Zero when no local hits contribute or their total duration is zero.", "title": "Double" }, "remoteCacheHitMs": { "type": "number", "format": "double", "description": "Total remote-cache-hit duration in milliseconds divided by the remote-cache-hit count. Zero when no remote hits contribute or their total duration is zero.", "title": "Double" }, "cacheMissMs": { "type": "number", "format": "double", "description": "Total successful cache-miss duration in milliseconds divided by the successful-cache-miss count. Zero when no successful misses contribute or their total duration is zero.", "title": "Double" } }, "required": [ "cacheMissMs", "localCacheHitMs", "remoteCacheHitMs" ], "title": "TaskStatAverageDuration"}TaskStatStatusCodeRatio
Section titled “TaskStatStatusCodeRatio”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| Task entries with exit code 0 divided by totalCount, as a fraction from 0 to 1. minimum: |
|
|
| Task entries whose exit code is not 0, including unavailable exit codes, divided by totalCount. Equals 1 minus zero; not a separate task status. minimum: |
Schema definition
{ "type": "object", "properties": { "zero": { "type": "number", "format": "double", "description": "Task entries with exit code 0 divided by totalCount, as a fraction from 0 to 1.", "maximum": 1, "minimum": 0, "title": "Double" }, "nonZero": { "type": "number", "format": "double", "description": "Task entries whose exit code is not 0, including unavailable exit codes, divided by totalCount. Equals 1 minus zero; not a separate task status.", "maximum": 1, "minimum": 0, "title": "Double" } }, "required": [ "nonZero", "zero" ], "title": "TaskStatStatusCodeRatio"}TaskStatDurationPercentile
Section titled “TaskStatDurationPercentile”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The requested percentile rank, from 0 to 100; 50 is the median and 95 is P95. minimum: |
|
|
| Approximate duration in milliseconds at the requested percentile for successful cache misses with nonnegative durations. Null means insufficient available duration data, not zero duration or proof that no cache misses occurred. |
Schema definition
{ "type": "object", "properties": { "percentile": { "type": "integer", "format": "int32", "description": "The requested percentile rank, from 0 to 100; 50 is the median and 95 is P95.", "maximum": 100, "minimum": 0, "title": "Int" }, "cacheMissMs": { "type": [ "null", "number" ], "format": "double", "description": "Approximate duration in milliseconds at the requested percentile for successful cache misses with nonnegative durations. Null means insufficient available duration data, not zero duration or proof that no cache misses occurred.", "title": "Double" } }, "required": [ "cacheMissMs", "percentile" ], "title": "TaskStatDurationPercentile"}PageResponse_TaskStatResponse
Section titled “PageResponse_TaskStatResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
| The records in this page, in the requested sort order. | |
|
|
| An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists. |
|
|
| An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists. |
Schema definition
{ "type": "object", "properties": { "items": { "type": "array", "description": "The records in this page, in the requested sort order.", "items": { "$ref": "#/components/schemas/TaskStatResponse" }, "title": "ArrayList_TaskStatResponse" }, "nextCursor": { "type": [ "null", "string" ], "description": "An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists.", "title": "String" }, "prevCursor": { "type": [ "null", "string" ], "description": "An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists.", "title": "String" } }, "required": [ "items" ], "title": "PageResponse_TaskStatResponse"}FlakyTaskResponse
Section titled “FlakyTaskResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The metric’s 24-character hexadecimal public identifier. Use it as metricId to list contributing executions. |
|
|
| The Nx project name for this window. |
|
|
| The Nx target name for this window. |
|
|
| The Nx target configuration shared by this window’s observations; absent when not specified. Different configurations have separate metric windows. |
|
|
| The inclusive window start at UTC midnight. Observations use task start times. |
|
|
| The exclusive window end at the next UTC midnight. Today’s window changes until it ends. |
|
|
| Successful cache-miss observations for input hashes that have both successes and failures within this window, divided by all successful cache-miss observations. A fraction from 0 to 1, not a percentage or the fraction of failed attempts. minimum: |
|
|
| The denominator of flakinessRate: all successful cache-miss observations, not all attempts or unique runs. Use it to assess the amount of data behind the rate. |
|
|
| The number of cache-miss observations beyond the first for each task input hash in this window. Includes hashes with no mixed results. Not the number of runs that retried. |
|
|
| Counts a task input hash once per Nx execution if it has both successful and failed cache-miss attempts. One execution can count for multiple hashes. Does not establish attempt order or a successful final attempt. Attempts without an execution identifier can also contribute; they do not confirm a shared execution. |
|
|
| Whether Nx marked this window’s tasks as cacheable. True, false, and unknown values have separate metric windows; absent means unknown, not false. |
|
| GET URLs for this metric’s related data. |
Schema definition
{ "type": "object", "properties": { "id": { "type": "string", "description": "The metric's 24-character hexadecimal public identifier. Use it as metricId to list contributing executions.", "title": "String" }, "project": { "type": "string", "description": "The Nx project name for this window.", "title": "String" }, "target": { "type": "string", "description": "The Nx target name for this window.", "title": "String" }, "configuration": { "type": [ "null", "string" ], "description": "The Nx target configuration shared by this window's observations; absent when not specified. Different configurations have separate metric windows.", "title": "String" }, "windowStart": { "type": "string", "format": "date-time", "description": "The inclusive window start at UTC midnight. Observations use task start times.", "title": "String" }, "windowEnd": { "type": "string", "format": "date-time", "description": "The exclusive window end at the next UTC midnight. Today's window changes until it ends.", "title": "String" }, "flakinessRate": { "type": "number", "format": "double", "description": "Successful cache-miss observations for input hashes that have both successes and failures within this window, divided by all successful cache-miss observations. A fraction from 0 to 1, not a percentage or the fraction of failed attempts.", "maximum": 1, "minimum": 0, "title": "Double" }, "sampleSizeFlakinessRate": { "type": "integer", "format": "int32", "description": "The denominator of flakinessRate: all successful cache-miss observations, not all attempts or unique runs. Use it to assess the amount of data behind the rate.", "title": "Int" }, "totalReruns": { "type": "integer", "format": "int32", "description": "The number of cache-miss observations beyond the first for each task input hash in this window. Includes hashes with no mixed results. Not the number of runs that retried.", "title": "Int" }, "deflakedAutomatically": { "type": "integer", "format": "int32", "description": "Counts a task input hash once per Nx execution if it has both successful and failed cache-miss attempts. One execution can count for multiple hashes. Does not establish attempt order or a successful final attempt. Attempts without an execution identifier can also contribute; they do not confirm a shared execution.", "title": "Int" }, "isCacheable": { "type": [ "null", "boolean" ], "description": "Whether Nx marked this window's tasks as cacheable. True, false, and unknown values have separate metric windows; absent means unknown, not false.", "title": "Boolean" }, "links": { "$ref": "#/components/schemas/FlakyTaskLinksResponse", "description": "GET URLs for this metric's related data." } }, "required": [ "deflakedAutomatically", "flakinessRate", "id", "links", "project", "sampleSizeFlakinessRate", "target", "totalReruns", "windowEnd", "windowStart" ], "title": "FlakyTaskResponse"}FlakyTaskLinksResponse
Section titled “FlakyTaskLinksResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The relative GET URL for paginated contributing distributed executions, not only mixed-result executions. Observations without an execution identifier affect metrics but do not appear in this list. |
Schema definition
{ "type": "object", "properties": { "executions": { "type": "string", "description": "The relative GET URL for paginated contributing distributed executions, not only mixed-result executions. Observations without an execution identifier affect metrics but do not appear in this list.", "title": "String" } }, "required": [ "executions" ], "title": "FlakyTaskLinksResponse"}PageResponse_FlakyTaskResponse
Section titled “PageResponse_FlakyTaskResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
| The records in this page, in the requested sort order. | |
|
|
| An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists. |
|
|
| An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists. |
Schema definition
{ "type": "object", "properties": { "items": { "type": "array", "description": "The records in this page, in the requested sort order.", "items": { "$ref": "#/components/schemas/FlakyTaskResponse" }, "title": "ArrayList_FlakyTaskResponse" }, "nextCursor": { "type": [ "null", "string" ], "description": "An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists.", "title": "String" }, "prevCursor": { "type": [ "null", "string" ], "description": "An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists.", "title": "String" } }, "required": [ "items" ], "title": "PageResponse_FlakyTaskResponse"}FlakyTaskExecutionResponse
Section titled “FlakyTaskExecutionResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The distributed Nx execution identifier for this entry’s cache-miss observations, not the CI pipeline’s ciExecutionId or the metric’s id. Follow links.run to access its run. |
|
|
| The latest cache-miss observation time for this execution in this window, in UTC. Not the run creation time. |
|
| GET URLs for the contributing run and its matching task rows. |
Schema definition
{ "type": "object", "properties": { "id": { "type": "string", "description": "The distributed Nx execution identifier for this entry's cache-miss observations, not the CI pipeline's ciExecutionId or the metric's id. Follow links.run to access its run.", "title": "String" }, "createdAt": { "type": "string", "format": "date-time", "description": "The latest cache-miss observation time for this execution in this window, in UTC. Not the run creation time.", "title": "String" }, "links": { "$ref": "#/components/schemas/FlakyTaskExecutionLinksResponse", "description": "GET URLs for the contributing run and its matching task rows." } }, "required": [ "createdAt", "id", "links" ], "title": "FlakyTaskExecutionResponse"}FlakyTaskExecutionLinksResponse
Section titled “FlakyTaskExecutionLinksResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The relative GET URL for the contributing run. |
|
|
| The relative GET URL for the run’s tasks, filtered to this metric’s task definition. |
Schema definition
{ "type": "object", "properties": { "run": { "type": "string", "description": "The relative GET URL for the contributing run.", "title": "String" }, "tasks": { "type": "string", "description": "The relative GET URL for the run's tasks, filtered to this metric's task definition.", "title": "String" } }, "required": [ "run", "tasks" ], "title": "FlakyTaskExecutionLinksResponse"}PageResponse_FlakyTaskExecutionResponse
Section titled “PageResponse_FlakyTaskExecutionResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
| The records in this page, in the requested sort order. | |
|
|
| An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists. |
|
|
| An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists. |
Schema definition
{ "type": "object", "properties": { "items": { "type": "array", "description": "The records in this page, in the requested sort order.", "items": { "$ref": "#/components/schemas/FlakyTaskExecutionResponse" }, "title": "ArrayList_FlakyTaskExecutionResponse" }, "nextCursor": { "type": [ "null", "string" ], "description": "An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists.", "title": "String" }, "prevCursor": { "type": [ "null", "string" ], "description": "An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists.", "title": "String" } }, "required": [ "items" ], "title": "PageResponse_FlakyTaskExecutionResponse"}SelfHealingFixResponse
Section titled “SelfHealingFixResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The fix identifier: 24 hexadecimal characters. |
|
|
| When the fix record was created, in UTC. |
|
|
| The last recorded update time, in UTC; absent when the record was never updated. |
|
|
| The CI pipeline execution the fix belongs to; absent on records stored without it. |
|
|
| The execution identifier supplied by the CI integration. |
|
|
| The id of the run group whose failed tasks the fix was created for. |
|
|
| The state of fix generation: NOT_STARTED, IN_PROGRESS, COMPLETED, FAILED, TIMED_OUT or CANCELED. |
|
|
| Why fix generation failed, when recorded. |
|
|
| The recorded category of the generation failure, when recorded. |
|
|
| The state of verifying the fix by re-running tasks with it applied: NOT_STARTED, IN_PROGRESS, COMPLETED, FAILED, TIMED_OUT or CANCELED. |
|
|
| How the failure was classified: code_change, environment_state or flaky_task; absent until classified. |
|
|
| A short description of the suggested change; absent until one is suggested. |
|
|
| The reasoning recorded with the suggested change; absent until one is suggested. |
|
|
| The recorded confidence in the fix, when recorded. |
|
|
| The reasoning behind the recorded confidence, when recorded. |
|
|
| The suggested change as a git patch. Returned when a fix is fetched by id; never present in a list. |
|
|
| When the change was suggested, in UTC. |
|
|
| When verification finished, in UTC. |
|
|
| What was done with the fix: NONE, APPLIED, REJECTED, APPLIED_LOCALLY, APPLIED_AUTOMATICALLY, REVERTED or RERUN_REQUESTED. |
|
|
| Where the action came from: NX_CLOUD_APP, NX_CONSOLE_VSCODE, NX_CONSOLE_INTELLIJ, NX_CLI, VCS_COMMENT or NX_MCP; absent when no action was recorded. |
|
|
| When the action was recorded, in UTC. |
|
|
| The commit that applied the fix to the branch, when recorded. |
|
| The recorded attempts to apply the fix, oldest first. | |
|
|
| Whether applying the fix automatically was skipped; absent when not recorded. |
|
|
| Why applying the fix automatically was skipped, when recorded. |
|
|
| The ids of the tasks whose fix was applied automatically, when recorded. |
|
|
| Whether a rerun of a flaky failure is waiting for the pipeline to finish; absent when not recorded. A rerun is an empty commit pushed to the branch. |
|
|
| Whether the rerun of a flaky failure was skipped because the branch reached its rerun limit; absent when not recorded. |
|
|
| Whether the branch has moved on since the fix was created, so the fix no longer applies to its head. |
|
| The failed tasks the fix was created for. | |
|
|
| The ids of the tasks the suggested change is meant to fix. |
|
|
| The ids of failed tasks the suggested change does not address, when recorded. |
|
|
| The ids of the tasks re-run to verify the fix, when recorded. |
|
|
| A summary of the failing tasks’ output from CI, when recorded. |
|
|
| A summary of the tasks’ output from the fix’s own run, when recorded. |
|
|
| The short code that identifies this fix to |
|
| Dictionary of | Relative GET URLs: self addresses this fix, with its patch; runGroup and cipe address its parents. cipe is absent on records stored without a CIPE id. |
Schema definition
{ "type": "object", "properties": { "id": { "type": "string", "description": "The fix identifier: 24 hexadecimal characters.", "title": "String" }, "createdAt": { "type": "string", "format": "date-time", "description": "When the fix record was created, in UTC.", "title": "String" }, "updatedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "The last recorded update time, in UTC; absent when the record was never updated.", "title": "String" }, "cipeId": { "type": [ "null", "string" ], "description": "The CI pipeline execution the fix belongs to; absent on records stored without it.", "title": "String" }, "ciExecutionId": { "type": "string", "description": "The execution identifier supplied by the CI integration.", "title": "String" }, "runGroup": { "type": "string", "description": "The id of the run group whose failed tasks the fix was created for.", "title": "String" }, "suggestedFixStatus": { "type": "string", "description": "The state of fix generation: NOT_STARTED, IN_PROGRESS, COMPLETED, FAILED, TIMED_OUT or CANCELED.", "title": "String" }, "suggestedFixFailureReason": { "type": [ "null", "string" ], "description": "Why fix generation failed, when recorded.", "title": "String" }, "suggestedFixFailureReasonType": { "type": [ "null", "string" ], "description": "The recorded category of the generation failure, when recorded.", "title": "String" }, "verificationStatus": { "type": "string", "description": "The state of verifying the fix by re-running tasks with it applied: NOT_STARTED, IN_PROGRESS, COMPLETED, FAILED, TIMED_OUT or CANCELED.", "title": "String" }, "failureClassification": { "type": [ "null", "string" ], "description": "How the failure was classified: code_change, environment_state or flaky_task; absent until classified.", "title": "String" }, "suggestedFixDescription": { "type": [ "null", "string" ], "description": "A short description of the suggested change; absent until one is suggested.", "title": "String" }, "suggestedFixReasoning": { "type": [ "null", "string" ], "description": "The reasoning recorded with the suggested change; absent until one is suggested.", "title": "String" }, "confidence": { "type": [ "null", "integer" ], "format": "int32", "description": "The recorded confidence in the fix, when recorded.", "title": "Int" }, "confidenceReasoning": { "type": [ "null", "string" ], "description": "The reasoning behind the recorded confidence, when recorded.", "title": "String" }, "suggestedFix": { "type": [ "null", "string" ], "description": "The suggested change as a git patch. Returned when a fix is fetched by id; never present in a list.", "title": "String" }, "suggestedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "When the change was suggested, in UTC.", "title": "String" }, "verifiedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "When verification finished, in UTC.", "title": "String" }, "userAction": { "type": "string", "description": "What was done with the fix: NONE, APPLIED, REJECTED, APPLIED_LOCALLY, APPLIED_AUTOMATICALLY, REVERTED or RERUN_REQUESTED.", "title": "String" }, "userActionOrigin": { "type": [ "null", "string" ], "description": "Where the action came from: NX_CLOUD_APP, NX_CONSOLE_VSCODE, NX_CONSOLE_INTELLIJ, NX_CLI, VCS_COMMENT or NX_MCP; absent when no action was recorded.", "title": "String" }, "userActionRecordedAt": { "type": [ "null", "string" ], "format": "date-time", "description": "When the action was recorded, in UTC.", "title": "String" }, "commitSha": { "type": [ "null", "string" ], "description": "The commit that applied the fix to the branch, when recorded.", "title": "String" }, "fixApplicationAttempts": { "type": "array", "description": "The recorded attempts to apply the fix, oldest first.", "items": { "$ref": "#/components/schemas/SelfHealingFixApplicationAttemptResponse" }, "title": "ArrayList_SelfHealingFixApplicationAttemptResponse" }, "autoApplySkipped": { "type": [ "null", "boolean" ], "description": "Whether applying the fix automatically was skipped; absent when not recorded.", "title": "Boolean" }, "autoApplySkipReason": { "type": [ "null", "string" ], "description": "Why applying the fix automatically was skipped, when recorded.", "title": "String" }, "autoAppliedTasks": { "type": [ "null", "array" ], "description": "The ids of the tasks whose fix was applied automatically, when recorded.", "items": { "type": "string", "title": "String" }, "title": "ArrayList_String" }, "flakyRerunPending": { "type": [ "null", "boolean" ], "description": "Whether a rerun of a flaky failure is waiting for the pipeline to finish; absent when not recorded. A rerun is an empty commit pushed to the branch.", "title": "Boolean" }, "flakyRerunSkipped": { "type": [ "null", "boolean" ], "description": "Whether the rerun of a flaky failure was skipped because the branch reached its rerun limit; absent when not recorded.", "title": "Boolean" }, "branchIsOutdated": { "type": "boolean", "description": "Whether the branch has moved on since the fix was created, so the fix no longer applies to its head.", "title": "Boolean" }, "fixTasks": { "type": "array", "description": "The failed tasks the fix was created for.", "items": { "$ref": "#/components/schemas/SelfHealingFixTaskResponse" }, "title": "ArrayList_SelfHealingFixTaskResponse" }, "fixedTasks": { "type": "array", "description": "The ids of the tasks the suggested change is meant to fix.", "items": { "type": "string", "title": "String" }, "title": "ArrayList_String" }, "otherFailedTasks": { "type": [ "null", "array" ], "description": "The ids of failed tasks the suggested change does not address, when recorded.", "items": { "type": "string", "title": "String" }, "title": "ArrayList_String" }, "verificationTasksExecuted": { "type": [ "null", "array" ], "description": "The ids of the tasks re-run to verify the fix, when recorded.", "items": { "type": "string", "title": "String" }, "title": "ArrayList_String" }, "remoteTaskSummary": { "type": [ "null", "string" ], "description": "A summary of the failing tasks' output from CI, when recorded.", "title": "String" }, "localTaskSummary": { "type": [ "null", "string" ], "description": "A summary of the tasks' output from the fix's own run, when recorded.", "title": "String" }, "shortLink": { "type": [ "null", "string" ], "description": "The short code that identifies this fix to `nx-cloud apply-locally`; absent until a change is suggested.", "title": "String" }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs: self addresses this fix, with its patch; runGroup and cipe address its parents. cipe is absent on records stored without a CIPE id.", "title": "LinkedHashMap_String-String" } }, "required": [ "branchIsOutdated", "ciExecutionId", "createdAt", "id", "links", "runGroup", "suggestedFixStatus", "userAction", "verificationStatus" ], "title": "SelfHealingFixResponse"}SelfHealingFixApplicationAttemptResponse
Section titled “SelfHealingFixApplicationAttemptResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| When the attempt was made, in UTC. |
|
|
| The kind of application attempted: APPLIED, APPLIED_LOCALLY, APPLIED_AUTOMATICALLY, REVERTED or another recorded action. |
|
|
| Whether the attempt succeeded. |
|
|
| The recorded error of a failed attempt. |
Schema definition
{ "type": "object", "properties": { "attemptedAt": { "type": "string", "format": "date-time", "description": "When the attempt was made, in UTC.", "title": "String" }, "attemptType": { "type": "string", "description": "The kind of application attempted: APPLIED, APPLIED_LOCALLY, APPLIED_AUTOMATICALLY, REVERTED or another recorded action.", "title": "String" }, "success": { "type": "boolean", "description": "Whether the attempt succeeded.", "title": "Boolean" }, "errorMessage": { "type": [ "null", "string" ], "description": "The recorded error of a failed attempt.", "title": "String" } }, "required": [ "attemptType", "attemptedAt", "success" ], "title": "SelfHealingFixApplicationAttemptResponse"}SelfHealingFixTaskResponse
Section titled “SelfHealingFixTaskResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
|
| The task identifier, as in the task lists. For an |
|
|
| The id of the run the task failed in; for a task run by an agent, the distributed run that holds it. Absent when not recorded. |
|
| Dictionary of | Relative GET URLs for the task and its run; empty when the run was not recorded. An |
Schema definition
{ "type": "object", "properties": { "taskId": { "type": "string", "description": "The task identifier, as in the task lists. For an `nx-cloud record` run, the recorded command.", "title": "String" }, "runId": { "type": [ "null", "string" ], "description": "The id of the run the task failed in; for a task run by an agent, the distributed run that holds it. Absent when not recorded.", "title": "String" }, "links": { "type": "object", "additionalProperties": { "type": "string", "title": "String" }, "description": "Relative GET URLs for the task and its run; empty when the run was not recorded. An `nx-cloud record` run has only its run link.", "title": "LinkedHashMap_String-String" } }, "required": [ "links", "taskId" ], "title": "SelfHealingFixTaskResponse"}PageResponse_SelfHealingFixResponse
Section titled “PageResponse_SelfHealingFixResponse”Type: object.
| Property | Type | Description |
|---|---|---|
|
| The records in this page, in the requested sort order. | |
|
|
| An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists. |
|
|
| An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists. |
Schema definition
{ "type": "object", "properties": { "items": { "type": "array", "description": "The records in this page, in the requested sort order.", "items": { "$ref": "#/components/schemas/SelfHealingFixResponse" }, "title": "ArrayList_SelfHealingFixResponse" }, "nextCursor": { "type": [ "null", "string" ], "description": "An opaque token for the next page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no next page exists.", "title": "String" }, "prevCursor": { "type": [ "null", "string" ], "description": "An opaque token for the previous page of this list. Pass it unchanged as cursor with the same filters. Null or absent when no previous page exists.", "title": "String" } }, "required": [ "items" ], "title": "PageResponse_SelfHealingFixResponse"}