Wherobots runs API

The runs API from Wherobots — 5 operation(s) for runs.

OpenAPI Specification

wherobots-runs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Wherobots Cloud apikey runs API
  description: "Wherobots Cloud API OpenAPI specification.\n\n    These are the API docs for the Wherobots API. You can use this to test out the API and see what it does.\n    The underlying OPENAPI spec can be found at /openapi.json. This can be used to generate clients for the API.\n\n    The Authorize button below will allow you to input an access token to authenticate to our API.\n    Then all of the requests on the page should work.\n    "
  version: 0.0.1
servers:
- url: https://api.cloud.wherobots.com
  description: Wherobots Cloud API
tags:
- name: runs
paths:
  /runs:
    get:
      tags:
      - runs
      summary: List job runs
      operationId: listJobRuns
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      parameters:
      - name: name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            maxLength: 255
            pattern: ^[a-zA-Z0-9_\-\.]*\*?[a-zA-Z0-9_\-\.]*$
          - type: 'null'
          title: Name
      - name: created_after
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created After
      - name: status
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              $ref: '#/components/schemas/RunStatus'
          - type: 'null'
          title: Status
      - name: region
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Region
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Cursor for the next page
          title: Cursor
        description: Cursor for the next page
      - name: size
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 0
          description: Page size
          default: 50
          title: Size
        description: Page size
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorPage__T_Customized_RunView_'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: true
    post:
      tags:
      - runs
      summary: Create a job run
      operationId: createJobRun
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      parameters:
      - name: region
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Region
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRunPayload-Input'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunView'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: false
  /runs/{run_id}:
    get:
      tags:
      - runs
      summary: Get a job run
      operationId: getJobRun
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      parameters:
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          title: Run Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunView'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: true
  /runs/{run_id}/cancel:
    post:
      tags:
      - runs
      summary: Cancel a job run
      operationId: cancelJobRun
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      parameters:
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          title: Run Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunView'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: true
  /runs/{run_id}/logs:
    get:
      tags:
      - runs
      summary: Get job run logs
      operationId: getJobRunLogs
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      parameters:
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          title: Run Id
      - name: size
        in: query
        required: false
        schema:
          type: integer
          default: 100
          title: Size
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Cursor
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: true
  /runs/{run_id}/metrics:
    get:
      tags:
      - runs
      summary: Get job run metrics
      operationId: getJobRunMetrics
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      parameters:
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          title: Run Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunMetricsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: true
components:
  schemas:
    RunEnvironment-Input:
      properties:
        sparkDriverDiskGB:
          anyOf:
          - type: integer
          - type: 'null'
          title: Sparkdriverdiskgb
        sparkExecutorDiskGB:
          anyOf:
          - type: integer
          - type: 'null'
          title: Sparkexecutordiskgb
        sparkConfigs:
          additionalProperties:
            type: string
          type: object
          title: Sparkconfigs
        dependencies:
          items:
            anyOf:
            - $ref: '#/components/schemas/PyPiDependency'
            - $ref: '#/components/schemas/FileDependency-Input'
          type: array
          title: Dependencies
      type: object
      title: RunEnvironment
      description: 'Model for runtime environment configs, include spark cluster configs, dependencies.

        When we have new configs like Dax configs, env vars, etc, we can add them here.'
    RunMetricsResponse:
      properties:
        series_metrics:
          additionalProperties:
            $ref: '#/components/schemas/MetricDetails_SeriesMetric_'
          propertyNames:
            $ref: '#/components/schemas/WorkloadMetric'
          type: object
          title: Series Metrics
        instant_metrics:
          additionalProperties:
            $ref: '#/components/schemas/MetricDetails_InstantMetric_'
          propertyNames:
            $ref: '#/components/schemas/WorkloadMetric'
          type: object
          title: Instant Metrics
      type: object
      required:
      - series_metrics
      - instant_metrics
      title: RunMetricsResponse
    ErrorInfo:
      properties:
        code:
          $ref: '#/components/schemas/ErrorClass'
          description: The error code
        message:
          type: string
          title: Message
          description: A human-readable message describing the error
        details:
          type: string
          title: Details
          description: Details about the error
        path:
          type: string
          title: Path
          description: The path to the field that caused the error
        suggestion:
          type: string
          title: Suggestion
          description: Suggested action to resolve the error
          default: Contact us at support@wherobots.com to get help with resolving your error.
        documentation_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Documentation Url
          description: URL to related documentation
        field:
          anyOf:
          - type: string
          - type: 'null'
          title: Field
          description: The field that caused the error if applicable
      type: object
      required:
      - code
      - message
      - details
      - path
      title: ErrorInfo
    InstantMetric:
      properties:
        data:
          $ref: '#/components/schemas/DataValue'
        format:
          $ref: '#/components/schemas/DataFormat'
      type: object
      required:
      - data
      - format
      title: InstantMetric
    RunAppMeta:
      properties:
        spark_ui_url:
          type: string
          title: Spark Ui Url
          default: ''
        spark_eventlogs_url:
          type: string
          title: Spark Eventlogs Url
          default: ''
        resolved_version:
          anyOf:
          - type: string
          - type: 'null'
          title: Resolved Version
      type: object
      title: RunAppMeta
      description: Run-specific metadata fields
    FileDependency-Output:
      properties:
        sourceType:
          $ref: '#/components/schemas/DependencySourceType'
          default: FILE
        filePath:
          type: string
          title: Filepath
        fileType:
          $ref: '#/components/schemas/DependencyFileType'
          description: Get the type of the file
          readOnly: true
      type: object
      required:
      - filePath
      - fileType
      title: FileDependency
      description: Model for the dependency of a run
    RunEnvironment-Output:
      properties:
        sparkDriverDiskGB:
          anyOf:
          - type: integer
          - type: 'null'
          title: Sparkdriverdiskgb
        sparkExecutorDiskGB:
          anyOf:
          - type: integer
          - type: 'null'
          title: Sparkexecutordiskgb
        sparkConfigs:
          additionalProperties:
            type: string
          type: object
          title: Sparkconfigs
        dependencies:
          items:
            anyOf:
            - $ref: '#/components/schemas/PyPiDependency'
            - $ref: '#/components/schemas/FileDependency-Output'
          type: array
          title: Dependencies
      type: object
      title: RunEnvironment
      description: 'Model for runtime environment configs, include spark cluster configs, dependencies.

        When we have new configs like Dax configs, env vars, etc, we can add them here.'
    FileDependency-Input:
      properties:
        sourceType:
          $ref: '#/components/schemas/DependencySourceType'
          default: FILE
        filePath:
          type: string
          title: Filepath
      type: object
      required:
      - filePath
      title: FileDependency
      description: Model for the dependency of a run
    DataValue:
      properties:
        value:
          anyOf:
          - type: number
          - type: 'null'
          title: Value
        timestamp:
          type: integer
          title: Timestamp
      type: object
      required:
      - value
      - timestamp
      title: DataValue
    AppStatus:
      type: string
      enum:
      - PENDING
      - PREPARING
      - PREPARE_FAILED
      - REQUESTED
      - DEPLOYING
      - DEPLOY_FAILED
      - DEPLOYED
      - INITIALIZING
      - INIT_FAILED
      - READY
      - DESTROY_REQUESTED
      - DESTROYING
      - DESTROY_FAILED
      - DESTROYED
      title: AppStatus
    LogItem:
      properties:
        timestamp:
          type: string
          title: Timestamp
        raw:
          type: string
          title: Raw
      type: object
      required:
      - timestamp
      - raw
      title: LogItem
    Policy:
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          title: Id
        createTime:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Createtime
        updateTime:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updatetime
        provider:
          $ref: '#/components/schemas/Provider'
        locator:
          type: string
          title: Locator
        action:
          type: string
          title: Action
        effect:
          $ref: '#/components/schemas/Effect'
      type: object
      required:
      - provider
      - locator
      - action
      - effect
      title: Policy
    KubeAppCreationMeta:
      properties:
        use_v2_workflow:
          type: boolean
          title: Use V2 Workflow
          default: false
      type: object
      title: KubeAppCreationMeta
      description: '``event_meta`` shape for ``EventCode.APP_START_CREATION``.


        Captures decisions pinned at kube_app creation time so cancel/destroy can

        consult them later without re-deriving. Currently only carries the v2

        dispatcher marker — set to ``True`` when the LaunchDarkly flag routes the

        kube_app through the unified ``KubeAppWorkflow`` (ENGP-336 Stream E).

        Legacy creates leave ``event_meta`` ``None`` so this model isn''t even

        constructed; cleanup at v2 100% rollout deletes this class.'
    RunJarPayload:
      properties:
        uri:
          type: string
          title: Uri
        args:
          items:
            type: string
          type: array
          title: Args
          default: []
        mainClass:
          anyOf:
          - type: string
          - type: 'null'
          title: Mainclass
      type: object
      required:
      - uri
      title: RunJarPayload
      description: Model for the payload of Run with type == "python"
    Provider:
      type: string
      enum:
      - WHEROBOTS
      - AWS
      title: Provider
    AppType:
      type: string
      enum:
      - JUPYTER
      - SQL_SESSION
      - RUN
      title: AppType
    RunKubeApp:
      properties:
        id:
          type: string
          title: Id
        createTime:
          type: string
          format: date-time
          title: Createtime
        updateTime:
          type: string
          format: date-time
          title: Updatetime
        instanceId:
          type: string
          title: Instanceid
        appType:
          $ref: '#/components/schemas/AppType'
        status:
          $ref: '#/components/schemas/AppStatus'
        createdById:
          anyOf:
          - type: string
          - type: 'null'
          title: Createdbyid
        apiPayload:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Apipayload
        appMeta:
          anyOf:
          - $ref: '#/components/schemas/RunAppMeta'
          - type: 'null'
        events:
          items:
            $ref: '#/components/schemas/KubeAppEvent'
          type: array
          title: Events
          default: []
        cpuUsage:
          type: integer
          title: Cpuusage
        regionName:
          type: string
          title: Regionname
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
          description: Return the latest trace info that is valuable for troubleshooting
          readOnly: true
      type: object
      required:
      - id
      - createTime
      - updateTime
      - instanceId
      - appType
      - status
      - createdById
      - cpuUsage
      - regionName
      - message
      title: RunKubeApp
    Role-Output:
      properties:
        id:
          type: string
          title: Id
        createTime:
          type: string
          format: date-time
          title: Createtime
        updateTime:
          type: string
          format: date-time
          title: Updatetime
        name:
          type: string
          title: Name
        organizationId:
          type: string
          title: Organizationid
        policies:
          items:
            $ref: '#/components/schemas/Policy'
          type: array
          title: Policies
      type: object
      required:
      - id
      - createTime
      - updateTime
      - name
      - organizationId
      - policies
      title: Role
    DataFormat:
      type: string
      enum:
      - NUMBER
      - PERCENTAGE
      - BYTES
      - CURRENCY
      title: DataFormat
    DependencyFileType:
      type: string
      enum:
      - JAR
      - PYTHON_WHEEL
      - ZIP
      - OTHER
      title: DependencyFileType
      description: Enum for the file type of dependency
    ErrorBody:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/ErrorInfo'
          type: array
          title: Errors
          description: A list of errors that occurred
        requestId:
          type: string
          title: Requestid
          description: A unique identifier for the request that caused the error
      type: object
      required:
      - errors
      - requestId
      title: ErrorBody
    RunView:
      properties:
        id:
          type: string
          title: Id
        createTime:
          type: string
          format: date-time
          title: Createtime
        updateTime:
          type: string
          format: date-time
          title: Updatetime
        name:
          type: string
          title: Name
        status:
          $ref: '#/components/schemas/RunStatus'
        triggeredBy:
          $ref: '#/components/schemas/OrganizationCustomer'
        startTime:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Starttime
        completeTime:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Completetime
        kubeApp:
          anyOf:
          - $ref: '#/components/schemas/RunKubeApp'
          - type: 'null'
        payload:
          $ref: '#/components/schemas/CreateRunPayload-Output'
      type: object
      required:
      - id
      - createTime
      - updateTime
      - name
      - status
      - triggeredBy
      - payload
      title: RunView
    RunStatus:
      type: string
      enum:
      - PENDING
      - RUNNING
      - FAILED
      - COMPLETED
      - CANCELLED
      - TIMED_OUT
      title: RunStatus
    MetricDetails_SeriesMetric_:
      properties:
        display_name:
          type: string
          title: Display Name
        metric:
          $ref: '#/components/schemas/SeriesMetric'
      type: object
      required:
      - display_name
      - metric
      title: MetricDetails[SeriesMetric]
    SeriesMetric:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DataValue'
          type: array
          title: Data
        format:
          $ref: '#/components/schemas/DataFormat'
      type: object
      required:
      - data
      - format
      title: SeriesMetric
    RuntimeId:
      type: string
      enum:
      - TINY
      - SMALL
      - MEDIUM
      - LARGE
      - XLARGE
      - XXLARGE
      - micro
      - tiny
      - small
      - medium
      - large
      - x-large
      - 2x-large
      - 4x-large
      - medium-himem
      - large-himem
      - x-large-himem
      - 2x-large-himem
      - 4x-large-himem
      - x-large-hicpu
      - 2x-large-hicpu
      - x-large-matcher
      - 2x-large-matcher
      - micro-a10-gpu
      - tiny-a10-gpu
      - small-a10-gpu
      - medium-a10-gpu
      - large-a10-gpu
      - x-large-a10-gpu
      title: RuntimeId
    NodeSchedulingMeta:
      properties:
        node_preexisted:
          type: boolean
          title: Node Preexisted
        node_name:
          type: string
          title: Node Name
        pod_creation_time:
          type: string
          title: Pod Creation Time
        node_creation_time:
          type: string
          title: Node Creation Time
      type: object
      required:
      - node_preexisted
      - node_name
      - pod_creation_time
      - node_creation_time
      title: NodeSchedulingMeta
      description: 'Metadata captured at node-scheduling time.


        ``node_preexisted`` is True when the pod landed on a node that existed

        before the pod was created, False when the node was provisioned for

        the pod (cold start).'
    KubeAppEvent:
      properties:
        id:
          type: string
          title: Id
        createTime:
          type: string
          format: date-time
          title: Createtime
        updateTime:
          type: string
          format: date-time
          title: Updatetime
        code:
          anyOf:
          - type: string
          - type: 'null'
          title: Code
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
        eventMeta:
          anyOf:
          - $ref: '#/components/schemas/RunEventMeta'
          - $ref: '#/components/schemas/KubeAppCreationMeta'
          - $ref: '#/components/schemas/NodeSchedulingMeta'
          - type: 'null'
          title: Eventmeta
      type: object
      required:
      - id
      - createTime
      - updateTime
      title: KubeAppEvent
    RunPythonPayload:
      properties:
        uri:
          type: string
          title: Uri
        args:
          items:
            type: string
          type: array
          title: Args
          default: []
      type: object
      required:
      - uri
      title: RunPythonPayload
      description: Model for the payload of Run with type == "python"
    Effect:
      type: string
      enum:
      - ALLOW
      - DENY
      title: Effect
    OrganizationCustomer:
      properties:
        id:
          type: string
          title: Id
        createTime:
          type: string
          format: date-time
          title: Createtime
        updateTime:
          type: string
          format: date-time
          title: Updatetime
        email:
          anyOf:
          - type: string
          - type: 'null'
          title: Email
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        roles:
          items:
            $ref: '#/components/schemas/Role-Output'
          type: array
          title: Roles
      type: object
      required:
      - id
      - createTime
      - updateTime
      - roles
      title: OrganizationCustomer
    PyPiDependency:
      properties:
        sourceType:
          $ref: '#/components/schemas/DependencySourceType'
          default: PYPI
        libraryName:
          type: string
          title: Libraryname
        libraryVersion:
          anyOf:
          - type: string
          - type: 'null'
          title: Libraryversion
      type: object
      required:
      - libraryName
      title: PyPiDependency
      description: Model for the dependency of a run
    CreateRunPayload-Output:
      properties:
        runtime:
          anyOf:
          - $ref: '#/components/schemas/RuntimeId'
          - type: 'null'
        version:
          anyOf:
          - type: string
          - type: 'null'
          title: Version
        name:
          type: string
          maxLength: 255
          minLength: 8
          pattern: ^[a-zA-Z0-9_\-\.]+$
          title: Name
        runPython:
          anyOf:
          - $ref: '#/components/schemas/RunPythonPayload'
          - type: 'null'
        runJar:
          anyOf:
          - $ref: '#/components/schemas/RunJarPayload'
          - type: 'null'
        timeoutSeconds:
          type: integer
          title: Timeoutseconds
          default: 3600
        environment:
          $ref: '#/components/schemas/RunEnvironment-Output'
          default:
            sparkConfigs: {}
            dependencies: []
      type: object
      required:
      - name
      title: CreateRunPayload
    RunEventMeta:
      properties:
        end_timestamp:
          anyOf:
          - type: integer
          - type: 'null'
          title: End Timestamp
        start_timestamp:
          anyOf:
          - type: integer
          - type: 'null'
          title: Start Timestamp
      type: object
      title: RunEventMeta
    DependencySourceType:
      type: string
      enum:
      - PYPI
      - FILE
      title: DependencySourceType
      description: Enum for the source type of dependency
    WorkloadMetric:
      type: string
      enum:
      - CPU_UTILIZATION_PERCENT
      - MEMORY_UTILIZATION_PERCENT
      - GPU_UTILIZATION_PERCENT
      - GPU_MEMORY_UTILIZATION_PERCENT
      - COST_USD
      - CONSUMED_SPATIAL_UNITS
      title: WorkloadMetric
    MetricDetails_InstantMetric_:
      properties:
        display_name:
          type: string
          title: Display Name
        metric:
          $ref: '#/components/schemas/InstantMetric'
      type: object
      required:
      - display_name
      - metric
      title: MetricDetails[InstantMetric]
    LogsResponse:
      properties:
 

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wherobots/refs/heads/main/openapi/wherobots-runs-api-openapi.yml