Xeonr Developer Docs

Set Step KV Output

POST
/uplim.api.v1.InternalPipelineRunsService/SetStepKVOutput

Writes a step's KV output to the run's upload. The output name must pass the same namespace rules as blob outputs; when the snapshot binds it to a registered IntegrationMetadataKey the row is written under that key and the value type must match (InvalidArgument otherwise), else the name is used verbatim. The key is appended to the step's KV ledger. Only valid for upload-bound runs (FailedPrecondition otherwise).

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
outputName?string

Local manifest output name. Coord resolves to the registered IntegrationMetadataKey via the snapshot's binding.

Match^[a-z][a-z0-9-]{0,62}[a-z0-9]:[a-z][a-z0-9._-]{0,62}[a-z0-9]$
value?|||
[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://uploads-api.xeonr.io/uplim.api.v1.InternalPipelineRunsService/SetStepKVOutput" \  -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": {}
    }
  ]
}