Xeonr Developer Docs

Resolve Step Ref

POST
/uplim.api.v1.PipelineAdminService/ResolveStepRef

Resolves a <name>@<version> step ref to its registry manifest, the same manifest PublishPipeline would freeze. A slugged name resolves against the owning integration and the registry only returns versions the caller owns or that are public (NotFound otherwise). pipeline: refs return an empty manifest. InvalidArgument for a malformed ref; FailedPrecondition when the registry isn't configured. integration_id accepts a UUID or slug.

Access: authenticated caller who owns the integration's OAuth client (and its application, when the client belongs to one), or any caller holding the upl:admin scope. System integrations such as Default require upl:admin. Missing integrations return NotFound; other callers get PermissionDenied.

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

ref?string

"@" (e.g. "[email protected]"). Sub-pipeline refs ("pipeline:@") are accepted but not resolved here — the visual builder treats them as composite nodes.

Length3 <= length
integrationId?string

Optional: integration scope for the registry lookup (private-per- integration manifests). May be empty — server derives from the step ref's URN-form name prefix when absent. Accepts a UUID or a slug when present.

Length0 <= length
[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://uploads-api.xeonr.io/uplim.api.v1.PipelineAdminService/ResolveStepRef" \  -H "Connect-Protocol-Version: 1" \  -H "Connect-Timeout-Ms: 1000" \  -H "Content-Type: application/json" \  -d '{}'
{
  "manifest": {
    "name": "string",
    "version": "string",
    "kind": "PIPELINE_STEP_KIND_UNSPECIFIED",
    "kinds": [
      "PIPELINE_RESOURCE_KIND_UNSPECIFIED"
    ],
    "inputs": [
      {
        "name": "string",
        "schemaJson": "string",
        "required": true,
        "isBlob": true
      }
    ],
    "outputs": {
      "blobs": [
        {
          "name": "string",
          "required": true,
          "envelopeSchemaJson": "string",
          "mimeHint": "string",
          "maxSizeBytes": "string"
        }
      ],
      "kv": [
        {
          "name": "string",
          "required": true,
          "valueType": "METADATA_VALUE_TYPE_UNSPECIFIED"
        }
      ],
      "locals": [
        {
          "name": "string",
          "required": true,
          "valueType": "METADATA_VALUE_TYPE_UNSPECIFIED"
        }
      ],
      "localBlobs": [
        {
          "name": "string",
          "required": true,
          "mimeHint": "string"
        }
      ]
    },
    "requiredSecrets": [
      "string"
    ],
    "configSchemaJson": "string",
    "runtimeVersion": "string",
    "description": "string",
    "readmeMd": "string",
    "rendererRef": {
      "archiveUploadId": "0f00a816-1fc2-4597-bbce-ea7af713750b",
      "contentTypeUrn": "string",
      "entry": "string"
    },
    "exec": {
      "image": "string",
      "imageDigest": "string",
      "command": [
        "string"
      ],
      "args": [
        "string"
      ]
    },
    "bundleSha256": "string"
  }
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}