Xeonr Developer Docs

FinaliseStepLogs

POST
/uplim.api.v1.InternalPipelineRunsService/FinaliseStepLogs

Uploads the per-step log object (JSONL bytes) to S3 at runs/<run_id>/<step_id>/logs.jsonl. Side-car calls once during CompleteStep with the full accumulated log content. Records logs_object_key + logs_truncated on the StepRun row.

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

Value in1
Connect-Timeout-Ms?number

Define the timeout, in ms

Request Body

application/json

runId?string
Formatuuid
stepId?string
content?string

Full log content as JSONL bytes. Side-car caps at 10MB (matches the design plan) and emits a truncation marker line in-band.

Formatbyte
Lengthlength <= 10485760
truncated?boolean

True when the side-car hit its in-memory cap and dropped lines.

partial?boolean

True when this is a partial flush (step still running). Server writes the same S3 object so a reconnecting UI after an api restart can recover the buffer, but does NOT drop the live-tail history ring (subscribers still need it). False = final flush at step completion (default; preserves existing behaviour).

[key: string]?never

Response Body

application/json

application/json

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