RunWhen run-requests API

The run-requests API from RunWhen — 18 operation(s) for run-requests.

OpenAPI Specification

runwhen-run-requests-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: papi alert-query-proxy run-requests API
  description: RunWhen Platform API
  version: 2.0.0
tags:
- name: run-requests
paths:
  /api/v1/workspaces/{workspace_name}/slxs/{slx_short_name}/runbook/runs:
    post:
      tags:
      - run-requests
      summary: Create a new RunRequest
      description: "Create a new RunRequest for an SLX.\n\nIf request_time is None, the RunRequest is staged and waits for /start.\nIf request_time is provided (or default now), the RunRequest starts immediately.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    data: The RunRequest creation data.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    The created RunRequest.\n\nRaises:\n    HTTPException: 404 if workspace not found.\n    HTTPException: 400 if runsession validation fails."
      operationId: create_run_request_api_v1_workspaces__workspace_name__slxs__slx_short_name__runbook_runs_post
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunRequestCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunRequestResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
    get:
      tags:
      - run-requests
      summary: List RunRequests for an SLX
      description: "List RunRequests for an SLX.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    limit: Maximum number of results.\n    offset: Number of results to skip.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    Paginated list of RunRequests.\n\nRaises:\n    HTTPException: 404 if workspace not found."
      operationId: list_run_requests_api_v1_workspaces__workspace_name__slxs__slx_short_name__runbook_runs_get
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 250
          minimum: 1
          description: Maximum results
          default: 100
          title: Limit
        description: Maximum results
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Skip results
          default: 0
          title: Offset
        description: Skip results
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunRequestListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v1/workspaces/{workspace_name}/slxs/{slx_short_name}/runbook/runs/{run_request_id}:
    get:
      tags:
      - run-requests
      summary: Get a RunRequest by ID
      description: "Get a RunRequest by its ID.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    run_request_id: The RunRequest ID.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    The RunRequest details.\n\nRaises:\n    HTTPException: 404 if workspace or RunRequest not found."
      operationId: get_run_request_api_v1_workspaces__workspace_name__slxs__slx_short_name__runbook_runs__run_request_id__get
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: run_request_id
        in: path
        required: true
        schema:
          type: integer
          title: Run Request Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunRequestResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
    patch:
      tags:
      - run-requests
      summary: Record a run response
      description: "Record results from a completed run.\n\nThis endpoint is called by the runner after task execution completes.\nIt sets response_time and updates the result fields. After recording,\nit enqueues the async issue processing task.\n\nParity with main branch: This matches the behavior of\npapi/views/runrequest.py:RunRequestViewSet.update()\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    run_request_id: The RunRequest ID.\n    data: The response data from the runner.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    The updated RunRequest.\n\nRaises:\n    HTTPException: 404 if workspace or RunRequest not found."
      operationId: record_run_response_api_v1_workspaces__workspace_name__slxs__slx_short_name__runbook_runs__run_request_id__patch
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: run_request_id
        in: path
        required: true
        schema:
          type: integer
          title: Run Request Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunRequestRecordResponse'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunRequestResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
    delete:
      tags:
      - run-requests
      summary: Delete a RunRequest
      description: "Delete a RunRequest.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    run_request_id: The RunRequest ID.\n    session: Database session.\n    current_user: The authenticated user.\n\nRaises:\n    HTTPException: 404 if workspace or RunRequest not found."
      operationId: delete_run_request_api_v1_workspaces__workspace_name__slxs__slx_short_name__runbook_runs__run_request_id__delete
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: run_request_id
        in: path
        required: true
        schema:
          type: integer
          title: Run Request Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v1/workspaces/{workspace_name}/slxs/{slx_short_name}/runbook/runs/{run_request_id}/start:
    post:
      tags:
      - run-requests
      summary: Start a staged RunRequest
      description: "Start a staged RunRequest by setting its request_time and submitting to TaskSet API.\n\nStaged RunRequests have request_time=None and wait for this endpoint\nto be called before execution begins. This endpoint:\n1. Sets request_time to mark the run as started\n2. Submits the run to the TaskSet API for execution by the runner\n3. Returns the taskset_uuid for tracking\n\nArgs:\n    workspace_name: The workspace name (short name from URL).\n    slx_short_name: The SLX short name.\n    run_request_id: The RunRequest ID.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    Start confirmation with the request_time and taskset_uuid.\n\nRaises:\n    HTTPException: 404 if workspace or RunRequest not found.\n    HTTPException: 400 if RunRequest is not staged or already started."
      operationId: start_run_request_api_v1_workspaces__workspace_name__slxs__slx_short_name__runbook_runs__run_request_id__start_post
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: run_request_id
        in: path
        required: true
        schema:
          type: integer
          title: Run Request Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartRunRequestResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v1/workspaces/{workspace_name}/slxs/{slx_short_name}/runbook/runs/{run_request_id}/report:
    get:
      tags:
      - run-requests
      summary: Get the report for a RunRequest
      description: "Get the report for a completed RunRequest.\n\nReads report.jsonl from the GCS bucket and returns the parsed JSONL\nas a JSON array, matching Django's behavior.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    run_request_id: The RunRequest ID.\n    raw: If set, return raw JSONL array (Django parity).\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    JSON array of report lines (JSONL parsed).\n\nRaises:\n    HTTPException: 404 if workspace, RunRequest, or report not found."
      operationId: get_run_request_report_api_v1_workspaces__workspace_name__slxs__slx_short_name__runbook_runs__run_request_id__report_get
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: run_request_id
        in: path
        required: true
        schema:
          type: integer
          title: Run Request Id
      - name: raw
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Return raw JSONL data
          title: Raw
        description: Return raw JSONL data
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v1/workspaces/{workspace_name}/slxs/{slx_short_name}/runbook/runs/{run_request_id}/issues:
    get:
      tags:
      - run-requests
      summary: Get issues from a RunRequest
      description: "Get issues associated with a RunRequest.\n\nIssues are created by parsing the output files after a run completes.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    run_request_id: The RunRequest ID.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    List of issues from this RunRequest.\n\nRaises:\n    HTTPException: 404 if workspace or RunRequest not found."
      operationId: get_run_request_issues_api_v1_workspaces__workspace_name__slxs__slx_short_name__runbook_runs__run_request_id__issues_get
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: run_request_id
        in: path
        required: true
        schema:
          type: integer
          title: Run Request Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunRequestIssuesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v1/workspaces/{workspace_name}/slxs/{slx_short_name}/runbook/runs/{run_request_id}/output:
    get:
      tags:
      - run-requests
      summary: Get parsed output from a RunRequest
      description: "Get the parsed output from a completed RunRequest.\n\nThe output is parsed from the robot output XML file.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    run_request_id: The RunRequest ID.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    Parsed output data.\n\nRaises:\n    HTTPException: 404 if workspace, RunRequest, or output not found."
      operationId: get_run_request_output_api_v1_workspaces__workspace_name__slxs__slx_short_name__runbook_runs__run_request_id__output_get
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: run_request_id
        in: path
        required: true
        schema:
          type: integer
          title: Run Request Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutputResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v1/workspaces/{workspace_name}/slxs/{slx_short_name}/runbook/runs/{run_request_id}/runner-status:
    get:
      tags:
      - run-requests
      summary: Get runner status for a RunRequest
      description: "Get the runner status for a RunRequest.\n\nThis queries the runner-control service to get the current status\nof the task execution.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    run_request_id: The RunRequest ID.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    Runner status information.\n\nRaises:\n    HTTPException: 404 if workspace or RunRequest not found.\n    HTTPException: 400 if RunRequest has no taskset_uuid."
      operationId: get_run_request_runner_status_api_v1_workspaces__workspace_name__slxs__slx_short_name__runbook_runs__run_request_id__runner_status_get
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: run_request_id
        in: path
        required: true
        schema:
          type: integer
          title: Run Request Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunnerStatusResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v1/workspaces/{workspace_name}/slxs/{slx_short_name}/runbook/runs/staged:
    get:
      tags:
      - run-requests
      summary: List staged RunRequests
      description: "List staged (not yet started) RunRequests for an SLX.\n\nStaged RunRequests have request_time=None and are waiting for /start.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    limit: Maximum number of results.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    List of staged RunRequests.\n\nRaises:\n    HTTPException: 404 if workspace not found."
      operationId: list_staged_run_requests_api_v1_workspaces__workspace_name__slxs__slx_short_name__runbook_runs_staged_get
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 250
          minimum: 1
          description: Maximum results
          default: 100
          title: Limit
        description: Maximum results
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunRequestListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v1/workspaces/{workspace_name}/run-requests/{run_request_id}/log:
    get:
      tags:
      - run-requests
      summary: Get the robot log for a RunRequest (SLX-agnostic)
      description: "Get the robot log.html for a RunRequest without requiring slx_short_name.\n\nLooks up the RunRequest by ID to derive slx_short_name and runsession_id,\nthen reads log.html from workspace storage. Designed for citation-path\ncallers (e.g. TaskOutputDisplay) that only have a runrequest_id.\n\nArgs:\n    workspace_name: The workspace name.\n    run_request_id: The RunRequest ID.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    Raw HTML content of log.html.\n\nRaises:\n    HTTPException: 404 if workspace, RunRequest, or log file not found."
      operationId: get_run_request_log_api_v1_workspaces__workspace_name__run_requests__run_request_id__log_get
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: run_request_id
        in: path
        required: true
        schema:
          type: integer
          title: Run Request Id
      responses:
        '200':
          description: Successful Response
          content:
            text/plain:
              schema:
                type: string
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v3/workspaces/{workspace_name}/slxs/{slx_short_name}/runbook/runs:
    post:
      tags:
      - run-requests
      summary: Create a new RunRequest
      description: "Create a new RunRequest for an SLX.\n\nIf request_time is None, the RunRequest is staged and waits for /start.\nIf request_time is provided (or default now), the RunRequest starts immediately.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    data: The RunRequest creation data.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    The created RunRequest.\n\nRaises:\n    HTTPException: 404 if workspace not found.\n    HTTPException: 400 if runsession validation fails."
      operationId: create_run_request_api_v3_workspaces__workspace_name__slxs__slx_short_name__runbook_runs_post
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunRequestCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunRequestResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
    get:
      tags:
      - run-requests
      summary: List RunRequests for an SLX
      description: "List RunRequests for an SLX.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    limit: Maximum number of results.\n    offset: Number of results to skip.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    Paginated list of RunRequests.\n\nRaises:\n    HTTPException: 404 if workspace not found."
      operationId: list_run_requests_api_v3_workspaces__workspace_name__slxs__slx_short_name__runbook_runs_get
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 250
          minimum: 1
          description: Maximum results
          default: 100
          title: Limit
        description: Maximum results
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Skip results
          default: 0
          title: Offset
        description: Skip results
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunRequestListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v3/workspaces/{workspace_name}/slxs/{slx_short_name}/runbook/runs/{run_request_id}:
    get:
      tags:
      - run-requests
      summary: Get a RunRequest by ID
      description: "Get a RunRequest by its ID.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    run_request_id: The RunRequest ID.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    The RunRequest details.\n\nRaises:\n    HTTPException: 404 if workspace or RunRequest not found."
      operationId: get_run_request_api_v3_workspaces__workspace_name__slxs__slx_short_name__runbook_runs__run_request_id__get
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: run_request_id
        in: path
        required: true
        schema:
          type: integer
          title: Run Request Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunRequestResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
    patch:
      tags:
      - run-requests
      summary: Record a run response
      description: "Record results from a completed run.\n\nThis endpoint is called by the runner after task execution completes.\nIt sets response_time and updates the result fields. After recording,\nit enqueues the async issue processing task.\n\nParity with main branch: This matches the behavior of\npapi/views/runrequest.py:RunRequestViewSet.update()\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    run_request_id: The RunRequest ID.\n    data: The response data from the runner.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    The updated RunRequest.\n\nRaises:\n    HTTPException: 404 if workspace or RunRequest not found."
      operationId: record_run_response_api_v3_workspaces__workspace_name__slxs__slx_short_name__runbook_runs__run_request_id__patch
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: run_request_id
        in: path
        required: true
        schema:
          type: integer
          title: Run Request Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunRequestRecordResponse'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunRequestResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
    delete:
      tags:
      - run-requests
      summary: Delete a RunRequest
      description: "Delete a RunRequest.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    run_request_id: The RunRequest ID.\n    session: Database session.\n    current_user: The authenticated user.\n\nRaises:\n    HTTPException: 404 if workspace or RunRequest not found."
      operationId: delete_run_request_api_v3_workspaces__workspace_name__slxs__slx_short_name__runbook_runs__run_request_id__delete
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: run_request_id
        in: path
        required: true
        schema:
          type: integer
          title: Run Request Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v3/workspaces/{workspace_name}/slxs/{slx_short_name}/runbook/runs/{run_request_id}/start:
    post:
      tags:
      - run-requests
      summary: Start a staged RunRequest
      description: "Start a staged RunRequest by setting its request_time and submitting to TaskSet API.\n\nStaged RunRequests have request_time=None and wait for this endpoint\nto be called before execution begins. This endpoint:\n1. Sets request_time to mark the run as started\n2. Submits the run to the TaskSet API for execution by the runner\n3. Returns the taskset_uuid for tracking\n\nArgs:\n    workspace_name: The workspace name (short name from URL).\n    slx_short_name: The SLX short name.\n    run_request_id: The RunRequest ID.\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    Start confirmation with the request_time and taskset_uuid.\n\nRaises:\n    HTTPException: 404 if workspace or RunRequest not found.\n    HTTPException: 400 if RunRequest is not staged or already started."
      operationId: start_run_request_api_v3_workspaces__workspace_name__slxs__slx_short_name__runbook_runs__run_request_id__start_post
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: run_request_id
        in: path
        required: true
        schema:
          type: integer
          title: Run Request Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartRunRequestResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v3/workspaces/{workspace_name}/slxs/{slx_short_name}/runbook/runs/{run_request_id}/report:
    get:
      tags:
      - run-requests
      summary: Get the report for a RunRequest
      description: "Get the report for a completed RunRequest.\n\nReads report.jsonl from the GCS bucket and returns the parsed JSONL\nas a JSON array, matching Django's behavior.\n\nArgs:\n    workspace_name: The workspace name.\n    slx_short_name: The SLX short name.\n    run_request_id: The RunRequest ID.\n    raw: If set, return raw JSONL array (Django parity).\n    session: Database session.\n    current_user: The authenticated user.\n\nReturns:\n    JSON array of report lines (JSONL parsed).\n\nRaises:\n    HTTPException: 404 if workspace, RunRequest, or report not found."
      operationId: get_run_request_report_api_v3_workspaces__workspace_name__slxs__slx_short_name__runbook_runs__run_request_id__report_get
      parameters:
      - name: workspace_name
        in: path
        required: true
        schema:
          type: string
          title: Workspace Name
      - name: slx_short_name
        in: path
        required: true
        schema:
          type: string
          title: Slx Short Name
      - name: run_request_id
        in: path
        require

# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/runwhen/refs/heads/main/openapi/runwhen-run-requests-api-openapi.yml