Predict.aiDocs
Pipelines

Promotion decisions

Approve or dismiss a winning training when the promotion policy is manual.

When a pipeline's promotion policy is manual and a completed cycle's winner beats the currently serving version — whichever entry in the model pool produced it — the pipeline records a pending decision instead of deploying. You'll see it on the pipeline as has_pending_promotion: true — and as a notification, if you have channels set up.

Resolve it with one call:

curl -X POST "$API_BASE/v1/pipelines/$PIPELINE_ID/promotion-decision" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Workspace-Id: $WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{ "action": "promote" }'

Request body

FieldMeaning
action requiredpromote deploys the pending training (the previously serving version is retired per policy). dismiss keeps what's serving — the prompt clears, and the same training is never re-proposed.
{
  "data": {
    "success": true,
    "action": "promote",
    "training_id": "TRAINING_ID"
  }
}

Errors

StatusWhy
400No pending decision, or action isn't promote / dismiss.
404Pipeline not found or not yours.

A dismissed training isn't deleted — it stays in Trainings and you can still deploy it manually later via POST /v1/deployments.

On this page