Enqueue Run
Atomically creates a QUEUED PipelineRun plus one PENDING StepRun per step in the snapshot, stamping parent_step_id for inlined sub-pipeline steps. Refuses with FailedPrecondition when the integration is not actively installed on a numeric bucket (the system Default integration is exempt) or when a QUEUED/RUNNING run already exists for the resource (checked under a row lock; the coordinator retries this). Returns ResourceExhausted with a retry-after header when the per-integration run quota is exceeded, NotFound for an unknown snapshot, and InvalidArgument when no resource is set. Reclassify triggers mark earlier runs on the resource as superseded by the new run.
Access: internal only — the pipeline coordinator, authenticated by the shared X-Upl-Internal-Token header matching PIPELINE_INTERNAL_TOKEN (FailedPrecondition when unset, Unauthenticated on mismatch). No user authentication.
JWT access token obtained via OAuth2 flow or service account
In: header
Header Parameters
Define the version of the Connect protocol
Define the timeout, in ms
Request Body
application/json
uuidupl-im bucket IDs are numeric (e.g. "7"), not UUIDs; may be empty.
length <= 64Snapshot to execute. Coordinator looks this up via GetActivePipelineForResource before calling.
uuid"PIPELINE_RUN_TRIGGER_UNSPECIFIED" | "PIPELINE_RUN_TRIGGER_UPLOAD_CREATED" | "PIPELINE_RUN_TRIGGER_UPLOAD_CREATED_PINNED" | "PIPELINE_RUN_TRIGGER_UPLOAD_RECLASSIFIED" | "PIPELINE_RUN_TRIGGER_FOLDER_CREATED" | "PIPELINE_RUN_TRIGGER_FOLDER_RECLASSIFIED" | "PIPELINE_RUN_TRIGGER_VIRTUAL_FILE_SENTINEL_INIT" | "PIPELINE_RUN_TRIGGER_VIRTUAL_FILE_SENTINEL_REPROCESS" | "PIPELINE_RUN_TRIGGER_TEMPLATE_MATERIALIZED""PIPELINE_RESOURCE_KIND_UNSPECIFIED" | "PIPELINE_RESOURCE_KIND_UPLOAD" | "PIPELINE_RESOURCE_KIND_FOLDER" | "PIPELINE_RESOURCE_KIND_VIRTUAL_FILE" | "PIPELINE_RESOURCE_KIND_INTEGRATION_FOLDER"Shared across runs spawned by one CreateUploadsFromTemplate call.
length <= 64Coordinator's tracing run id (its bull job id) — stored on the PipelineRun so GetPipelineRunTrace can resolve the run's spans.
length <= 191length <= 64Response Body
application/json
application/json
curl -X POST "https://uploads-api.xeonr.io/uplim.api.v1.InternalPipelineRunsService/EnqueueRun" \ -H "Connect-Protocol-Version: 1" \ -H "Connect-Timeout-Ms: 1000" \ -H "Content-Type: application/json" \ -d '{}'{
"run": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"snapshotId": "09520abc-01e6-4da1-8fa5-f10e3883c861",
"integrationId": "497a18ca-284e-40c0-985d-f72be35d468e",
"bucketId": "string",
"trigger": "PIPELINE_RUN_TRIGGER_UNSPECIFIED",
"resource": {
"kind": "PIPELINE_RESOURCE_KIND_UNSPECIFIED",
"folderId": "string"
},
"batchId": "string",
"status": "PIPELINE_RUN_STATUS_UNSPECIFIED",
"failureClass": "STEP_FAILURE_CLASS_UNSPECIFIED",
"failureStepId": "string",
"failureMessage": "string",
"stepRuns": [
{
"stepId": "string",
"parentStepId": "string",
"status": "STEP_RUN_STATUS_UNSPECIFIED",
"attempt": 0,
"failureClass": "STEP_FAILURE_CLASS_UNSPECIFIED",
"failureMessage": "string",
"resolvedInputsJson": "string",
"blobOutputNames": [
"string"
],
"kvOutputKeys": [
"string"
],
"localOutputNames": [
"string"
],
"localBlobNames": [
"string"
],
"logsObjectKey": "string",
"logsTruncated": true,
"utilisation": {
"cpuMilliseconds": "string",
"wallTimeMs": "string",
"blobBytesWritten": "string",
"kvWrites": 0,
"httpCallsOutbound": 0,
"peakMemoryBytes": "string"
},
"startedAt": "2023-01-15T01:30:15.01Z",
"finishedAt": "2023-01-15T01:30:15.01Z"
}
],
"supersededByRunId": "458849c9-1a7a-4314-b11d-cb996f79bcdf",
"pipelineUrn": "string",
"enqueuedAt": "2023-01-15T01:30:15.01Z",
"startedAt": "2023-01-15T01:30:15.01Z",
"finishedAt": "2023-01-15T01:30:15.01Z",
"traceRunId": "string"
}
}{
"code": "not_found",
"message": "string",
"details": [
{
"type": "string",
"value": "string",
"debug": {}
}
]
}