Manually trigger a pipeline run on a Tangled spindle. Intended to be called via PDS service proxying (the 'atproto-proxy' header, pointed at the spindle's did:web service entry), so the user's PDS mints and signs the inter-service auth token; the spindle verifies the token's issuer against their DID document and requires it to match the trigger's 'actor'. Mirrors the sh.tangled.pipeline fields a knot dispatches on a push/PR event.
Input
application/jsonactor
stringdid
Required
DID of the actor the run is attributed to. Must equal the issuer of the service-auth token.
inputs
unknown
Optional
Optional workflow_dispatch-style inputs, as a map of string keys to string values.
knot
string
Required
Knot hostname that hosts the repo, e.g. knot1.tangled.sh.
pipelineRkey
string
Required
Record key identifying this pipeline run; only needs to be unique per run.
ref
string
Required
Commit SHA to run at. The spindle fetches .github/workflows/*.yml at this exact commit, so it must be a real commit, not a branch name.
repoDid
stringdid
Required
DID of the repo (the owner DID used for sh.tangled.repo.blob lookups).
repoName
string
Required
Human-readable repo name, e.g. myrepo.
Output
application/jsonknot
string
Required
No description available.
pipelineRkey
string
Required
No description available.
ref
string
Required
No description available.
submitted
boolean
Required
True once the trigger was accepted and workflow submission started.
workflows
array
Required
The workflow stems that were submitted, with their log/status stream URLs.
Errors
InvalidRequest
Malformed body or missing required fields. Unauthorized
Missing or invalid inter-service auth token. Forbidden
Token issuer does not match actor, or repo is not authorized for this spindle. Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"knot",
"pipelineRkey",
"actor",
"repoDid",
"repoName",
"ref"
],
"properties": {
"ref": {
"type": "string",
"description": "Commit SHA to run at. The spindle fetches .github/workflows/*.yml at this exact commit, so it must be a real commit, not a branch name."
},
"knot": {
"type": "string",
"description": "Knot hostname that hosts the repo, e.g. knot1.tangled.sh."
},
"actor": {
"type": "string",
"format": "did",
"description": "DID of the actor the run is attributed to. Must equal the issuer of the service-auth token."
},
"inputs": {
"type": "unknown",
"description": "Optional workflow_dispatch-style inputs, as a map of string keys to string values."
},
"repoDid": {
"type": "string",
"format": "did",
"description": "DID of the repo (the owner DID used for sh.tangled.repo.blob lookups)."
},
"repoName": {
"type": "string",
"description": "Human-readable repo name, e.g. myrepo."
},
"pipelineRkey": {
"type": "string",
"description": "Record key identifying this pipeline run; only needs to be unique per run."
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "InvalidRequest",
"description": "Malformed body or missing required fields."
},
{
"name": "Unauthorized",
"description": "Missing or invalid inter-service auth token."
},
{
"name": "Forbidden",
"description": "Token issuer does not match actor, or repo is not authorized for this spindle."
}
],
"output": {
"schema": {
"type": "object",
"required": [
"submitted",
"knot",
"pipelineRkey",
"ref",
"workflows"
],
"properties": {
"ref": {
"type": "string"
},
"knot": {
"type": "string"
},
"submitted": {
"type": "boolean",
"description": "True once the trigger was accepted and workflow submission started."
},
"workflows": {
"type": "array",
"items": {
"ref": "#workflowResult",
"type": "ref"
},
"description": "The workflow stems that were submitted, with their log/status stream URLs."
},
"pipelineRkey": {
"type": "string"
}
}
},
"encoding": "application/json"
},
"description": "Manually trigger a pipeline run on a Tangled spindle. Intended to be called via PDS service proxying (the 'atproto-proxy' header, pointed at the spindle's did:web service entry), so the user's PDS mints and signs the inter-service auth token; the spindle verifies the token's issuer against their DID document and requires it to match the trigger's 'actor'. Mirrors the sh.tangled.pipeline fields a knot dispatches on a push/PR event."
}