Xeonr Developer Docs

Mark Step Failed

POST
/uplim.api.v1.InternalPipelineRunsService/MarkStepFailed

Records a step run's terminal failure with the caller-chosen status (FAILED, TIMED_OUT or CANCELLED), failure class and message. Already-terminal step runs are left unchanged. NotFound when no such step run exists.

Access: internal only — step-scoped. Requires the per-step JWT in X-Upl-Step-Token (HS256 over PIPELINE_INTERNAL_TOKEN, unexpired) whose run_id/step_id claims match the request; Unauthenticated otherwise. The shared X-Upl-Internal-Token is accepted instead only while PIPELINE_ALLOW_LEGACY_STEP_TOKEN_FALLBACK is enabled.

AuthorizationBearer <token>

JWT access token obtained via OAuth2 flow or service account

In: header

Header Parameters

Connect-Protocol-Version?number

Define the version of the Connect protocol

Connect-Timeout-Ms?number

Define the timeout, in ms

Request Body

application/json

runId?string
Formatuuid
stepId?string
Lengthlength <= 255
status?string

Caller picks: STEP_RUN_STATUS_FAILED, _TIMED_OUT, or _CANCELLED.

Value in"STEP_RUN_STATUS_UNSPECIFIED" | "STEP_RUN_STATUS_PENDING" | "STEP_RUN_STATUS_RUNNING" | "STEP_RUN_STATUS_SUCCEEDED" | "STEP_RUN_STATUS_FAILED" | "STEP_RUN_STATUS_TIMED_OUT" | "STEP_RUN_STATUS_CANCELLED" | "STEP_RUN_STATUS_SKIPPED"
failureClass?string
Value in"STEP_FAILURE_CLASS_UNSPECIFIED" | "STEP_FAILURE_CLASS_MISSING_OUTPUT" | "STEP_FAILURE_CLASS_SCHEMA_VALIDATION" | "STEP_FAILURE_CLASS_TIMEOUT" | "STEP_FAILURE_CLASS_SANDBOX_VIOLATION" | "STEP_FAILURE_CLASS_NONZERO_EXIT" | "STEP_FAILURE_CLASS_RUNNER_CRASHED" | "STEP_FAILURE_CLASS_DEPENDENCY_FAILED" | "STEP_FAILURE_CLASS_USER_CANCELLED" | "STEP_FAILURE_CLASS_IMAGE_PULL_FAILED" | "STEP_FAILURE_CLASS_STAGING_FAILED"
failureMessage?string
Lengthlength <= 65535
[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://uploads-api.xeonr.io/uplim.api.v1.InternalPipelineRunsService/MarkStepFailed" \  -H "Connect-Protocol-Version: 1" \  -H "Connect-Timeout-Ms: 1000" \  -H "Content-Type: application/json" \  -d '{}'
{}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}