Skip to main content

Documentation Index

Fetch the complete documentation index at: https://qawolf-mktg-5566-document-qawolfci-sdk.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

GET https://app.qawolf.com/api/v0/ci-greenlight/{root-run-id}
If your build server supports node, use @qawolf/ci-sdk instead of calling this endpoint directly.

Request

curl https://app.qawolf.com/api/v0/ci-greenlight/<root-run-id> \
  -H "Authorization: Bearer $QAWOLF_API_KEY"

Request headers

HeaderValue
AuthorizationBearer <your-api-key>

Query parameters

ParameterValuesDescription
outcomeWhenBlockingBugsInOtherWorkflowsgreen | redDefaults to green. When set to red, greenlight will be false if blocking bugs were found in workflows not executed in this run. Experimental.

Response

FieldDescription
greenlighttrue when runStage is "completed" and zero blocking bugs were found.
relevantRunIdID of the most recent superseding run, if one exists. Otherwise matches rootRunId.
relevantRunUrlURL to the relevant run in QA Wolf.
relevantRunWithBugsUrlURL to the relevant run filtered to workflows diagnosed as bugs.
rootRunIdID of the run passed in the request.
rootRunUrlURL to the root run in QA Wolf.
runStageOne of "initializing", "underReview", "completed", "canceled".
workflowsDisabledAfterRunCountNumber of workflows disabled after review.
workflowsInRunCountTotal number of workflows in this run.
workflowsUnderInvestigationCountNumber of failed workflows requiring investigation.

Conditional fields

Present when runStage is "underReview" or "completed", except where noted.
FieldDescription
blockingBugsCountNumber of blocking bugs found after review. Present when runStage is "completed".
nonBlockingBugsCountNumber of non-blocking bugs found after review. Present when runStage is "completed".
workflowsAutoRetryingCountNumber of workflows still auto-retrying. Present when runStage is "underReview".
blockingBugUrlsArray of URLs to blocking bugs.
nonBlockingBugUrlsArray of URLs to non-blocking bugs.
reproducedBugsArray of detailed bug objects.

Interpreting greenlight

greenlight is true only when:
  • runStage is "completed", and
  • Zero blocking bugs were found.
A bug is blocking if its priority is "high" or unset. Newly found bugs are unset by default and count as blocking. You can lower a bug’s priority in the QA Wolf UI to make it non-blocking, then retry the greenlight poll.

Run stages

StageDescription
initializingRun is starting up.
underReviewRun is in progress and under review.
completedRun has finished.
canceledRun was canceled. Polling should stop — a canceled run cannot be recovered.

Superseding logic

If a newer run has superseded the root run (identified by matching deduplication_key), this endpoint returns the greenlight status for the most recent superseding run. When relevantRunId differs from rootRunId, you are seeing the superseding run’s status. When polling, use relevantRunId rather than rootRunId for faster queries.

Response codes

CodeDescription
200Success.
401Missing or invalid API key.
403Forbidden. Usually indicates a disabled team.
404Run not found.
405Method not allowed. Use GET.
410Gone. Returned for old or legacy runs.
500Internal server error. Contact support if the issue persists.
Last modified on May 28, 2026