QA Wolf CI API

Continuous integration triggers and pipeline gating

Operations 5

POST /api/webhooks/deploy_success Notify QA Wolf of a successful deployment #
POST /api/webhooks/environment_terminated Notify QA Wolf that an ephemeral environment has been terminated #
GET /api/v0/ci-greenlight/{rootRunId} Poll for the outcome of a run to gate a pipeline #
GET /api/v0/run-inputs-executables-signed-urls Generate a signed URL for an executable run input #
PUT /api/v0/run-inputs-executables-signed-urls Upload an executable file via a signed URL #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/qa-wolf-ci-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

qa-wolf-ci-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: QA Wolf REST CI API
  version: v0
  description: 'The QA Wolf REST API provides direct HTTP access to core platform actions: triggering test runs on deployment, polling run outcomes to gate CI pipelines, and generating signed URLs to upload executable run inputs. QA Wolf recommends the @qawolf/ci-sdk library for most use cases rather than calling these endpoints directly. This specification was generated by the API Evangelist enrichment pipeline from QA Wolf''s published REST API reference documentation; it is a faithful capture of documented behavior, not a provider-published OpenAPI file.'
  x-provenance:
    generated: '2026-07-20'
    method: generated
    source: https://docs.qawolf.com/qawolf/rest-overview.md
    note: Generated from published docs; QA Wolf does not publish an OpenAPI file.
  contact:
    name: QA Wolf
    email: hello@qawolf.com
    url: https://docs.qawolf.com/qawolf/rest-overview
servers:
- url: https://app.qawolf.com
  description: QA Wolf platform
security:
- bearerAuth: []
tags:
- name: CI
  description: Continuous integration triggers and pipeline gating
paths:
  /api/webhooks/deploy_success:
    post:
      tags:
      - CI
      operationId: notifyDeploySuccess
      summary: Notify QA Wolf of a successful deployment
      description: Notify QA Wolf of a successful deployment to trigger a test run. Match rules on the QA Wolf side decide which triggers fire and which flows run.
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeploySuccessRequest'
      responses:
        '200':
          description: Request accepted. Inspect the body to confirm run creation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploySuccessResponse'
        '401':
          description: Invalid API key
        '403':
          description: Disabled team
        '405':
          description: Wrong HTTP method
  /api/webhooks/environment_terminated:
    post:
      tags:
      - CI
      operationId: notifyEnvironmentTerminated
      summary: Notify QA Wolf that an ephemeral environment has been terminated
      description: Notify QA Wolf that an ephemeral environment has been terminated. Stops all runs targeting the environment and requests flow promotion to the static base environment. The environment will show as "closed" in QA Wolf.
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnvironmentTerminatedRequest'
      responses:
        '200':
          description: Termination accepted
        '401':
          description: Invalid API key
        '403':
          description: Disabled team
  /api/v0/ci-greenlight/{rootRunId}:
    get:
      tags:
      - CI
      operationId: getCiGreenlight
      summary: Poll for the outcome of a run to gate a pipeline
      description: Returns the outcome of a run for use as a pipeline gate. Poll this endpoint until the run reaches a terminal state, then pass or fail the pipeline based on the reported outcome.
      security:
      - bearerAuth: []
      parameters:
      - name: rootRunId
        in: path
        required: true
        description: The root run id returned when a run was triggered.
        schema:
          type: string
      responses:
        '200':
          description: Run outcome
        '401':
          description: Invalid API key
        '403':
          description: Disabled team
  /api/v0/run-inputs-executables-signed-urls:
    get:
      tags:
      - CI
      operationId: getRunInputExecutableSignedUrl
      summary: Generate a signed URL for an executable run input
      description: Generate a signed URL to upload an executable file to QA Wolf.
      security:
      - bearerAuth: []
      responses:
        '200':
          description: A signed URL to upload the executable
        '401':
          description: Invalid API key
    put:
      tags:
      - CI
      operationId: uploadRunInputExecutable
      summary: Upload an executable file via a signed URL
      description: Upload an executable file to QA Wolf using a previously generated signed URL.
      responses:
        '200':
          description: Upload accepted
components:
  schemas:
    EnvironmentTerminatedRequest:
      type: object
      properties:
        deployment_url:
          type: string
          description: The URL of the ephemeral environment that was terminated.
        branch:
          type: string
    DeploySuccessRequest:
      type: object
      description: Fields describing a successful deployment that should trigger runs.
      properties:
        branch:
          type: string
          description: Git branch name, used for UI display and PR matching.
        sha:
          type: string
          description: Git commit SHA, used for GitHub checks and commit links.
        deployment_type:
          type: string
          description: Required if a trigger is configured to match deployment types.
        deployment_url:
          type: string
          description: Overrides the environment URL; exposed to flows as process.env.URL.
        hosting_service:
          type: string
          enum:
          - GitHub
          - GitLab
          default: GitHub
          description: Hosting service for commit links.
        commit_url:
          type: string
          description: Makes the commit id clickable when no repo is configured.
        variables:
          type: object
          additionalProperties: true
          description: Environment variable overrides applied to the triggered runs.
        deduplication_key:
          type: string
          description: Controls run cancellation / deduplication behavior.
        ephemeral_environment:
          type: boolean
          description: Use with deployment_url for non-integrated ephemeral deployments.
    DeploySuccessResponse:
      type: object
      properties:
        results:
          type: array
          items:
            type: object
            properties:
              created_suite_id:
                type: string
              duplicate_suite_id:
                type: string
              trigger_id:
                type: string
              failure_reason:
                type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token using the workspace API key (QAWOLF_API_KEY). Find the key in the platform under Workspace Settings -> Integrations -> API Access.