Expanso Orchestrator API

The Orchestrator API from Expanso — 11 operation(s) for orchestrator.

Operations 14

GET /api/v1/orchestrator/jobs Returns a list of jobs #
PUT /api/v1/orchestrator/jobs Submits a job to the orchestrator #
PUT /api/v1/orchestrator/jobs/diff Compares a job spec with an existing job of the same name #
GET /api/v1/orchestrator/jobs/{id} Returns a job #
DELETE /api/v1/orchestrator/jobs/{id} Stops a job #
GET /api/v1/orchestrator/jobs/{id}/executions Returns the executions of a job #
GET /api/v1/orchestrator/jobs/{id}/history Returns the history of a job #
GET /api/v1/orchestrator/jobs/{id}/logs Streams the logs for a current job/execution via WebSocket #
PUT /api/v1/orchestrator/jobs/{id}/rerun Reruns a job #
GET /api/v1/orchestrator/jobs/{id}/results Returns the results of a job #
GET /api/v1/orchestrator/jobs/{id}/versions Returns the versions of a job #
GET /api/v1/orchestrator/nodes Returns a list of orchestrator nodes #
GET /api/v1/orchestrator/nodes/{id} Get an orchestrator node #
PUT /api/v1/orchestrator/nodes/{id} Update an orchestrator node #

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/expanso-orchestrator-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

expanso-orchestrator-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: This page is the reference of the Bacalhau REST API. Project docs are available at https://docs.bacalhau.org/. Find more information about Bacalhau at https://github.com/bacalhau-project/bacalhau.
  title: Bacalhau Orchestrator API
  contact:
    name: Bacalhau Team
    url: https://github.com/bacalhau-project/bacalhau
    email: team@bacalhau.org
  license:
    name: Apache 2.0
    url: https://github.com/bacalhau-project/bacalhau/blob/main/LICENSE
servers:
- url: http://localhost:1234/
tags:
- name: Orchestrator
paths:
  /api/v1/orchestrator/jobs:
    get:
      description: Returns a list of jobs.
      tags:
      - Orchestrator
      summary: Returns a list of jobs
      operationId: orchestrator/listJobs
      parameters:
      - description: Namespace to get the jobs for
        name: namespace
        in: query
        schema:
          type: string
      - description: Limit the number of jobs returned
        name: limit
        in: query
        schema:
          type: integer
      - description: Token to get the next page of jobs
        name: next_token
        in: query
        schema:
          type: string
      - description: Reverse the order of the jobs
        name: reverse
        in: query
        schema:
          type: boolean
      - description: Order the jobs by the given field
        name: order_by
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apimodels.ListJobsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
    put:
      description: Submits a job to the orchestrator.
      tags:
      - Orchestrator
      summary: Submits a job to the orchestrator
      operationId: orchestrator/putJob
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apimodels.PutJobResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/apimodels.PutJobRequest'
        description: Job to submit
        required: true
  /api/v1/orchestrator/jobs/diff:
    put:
      description: Compares a submitted job spec with the existing job that has the same name, and returns the differences between them.
      tags:
      - Orchestrator
      summary: Compares a job spec with an existing job of the same name
      operationId: orchestrator/diffJob
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apimodels.DiffJobResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/apimodels.DiffJobRequest'
        description: Job spec to compare with existing job
        required: true
  /api/v1/orchestrator/jobs/{id}:
    get:
      description: Returns a job.
      tags:
      - Orchestrator
      summary: Returns a job
      operationId: orchestrator/getJob
      parameters:
      - description: ID to get the job for
        name: id
        in: path
        required: true
        schema:
          type: string
      - description: history and executions options. Empty includes nothing
        name: include
        in: query
        schema:
          type: string
      - description: Number of items to fetch. Use with include parameter
        name: limit
        in: query
        schema:
          type: integer
      - description: Job version to get. Defaults to 0.
        name: job_version
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apimodels.GetJobResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
    delete:
      description: Stops a job.
      tags:
      - Orchestrator
      summary: Stops a job
      operationId: orchestrator/stopJob
      parameters:
      - description: ID to stop the job for
        name: id
        in: path
        required: true
        schema:
          type: string
      - description: Reason for stopping the job
        name: reason
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apimodels.StopJobResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
  /api/v1/orchestrator/jobs/{id}/executions:
    get:
      description: Returns the executions of a job.
      tags:
      - Orchestrator
      summary: Returns the executions of a job
      operationId: orchestrator/jobExecutions
      parameters:
      - description: ID to get the job executions for
        name: id
        in: path
        required: true
        schema:
          type: string
      - description: Namespace to get the jobs for
        name: namespace
        in: query
        schema:
          type: string
      - description: Limit the number of executions returned
        name: limit
        in: query
        schema:
          type: integer
      - description: Token to get the next page of executions
        name: next_token
        in: query
        schema:
          type: string
      - description: Reverse the order of the executions
        name: reverse
        in: query
        schema:
          type: boolean
      - description: Order the executions by the given field
        name: order_by
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apimodels.ListJobExecutionsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
  /api/v1/orchestrator/jobs/{id}/history:
    get:
      description: Returns the history of a job.
      tags:
      - Orchestrator
      summary: Returns the history of a job
      operationId: orchestrator/listHistory
      parameters:
      - description: ID to get the job history for
        name: id
        in: path
        required: true
        schema:
          type: string
      - description: Limit the number of history events returned
        name: limit
        in: query
        schema:
          type: integer
      - description: Only return history since this time
        name: since
        in: query
        schema:
          type: string
      - description: Only return history of this event type
        name: event_type
        in: query
        schema:
          type: string
      - description: Only return history of this execution ID
        name: execution_id
        in: query
        schema:
          type: string
      - description: Token to get the next page of the history events
        name: next_token
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apimodels.ListJobHistoryResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
  /api/v1/orchestrator/jobs/{id}/logs:
    get:
      description: 'Establishes a WebSocket connection to stream output from the job specified by `id`

        The stream will continue until either the client disconnects or the execution completes'
      tags:
      - Orchestrator
      summary: Streams the logs for a current job/execution via WebSocket
      operationId: orchestrator/logs
      parameters:
      - description: ID of the job to stream logs for
        name: id
        in: path
        required: true
        schema:
          type: string
      - description: Fetch logs for a specific execution
        name: execution_id
        in: query
        schema:
          type: string
      - description: Fetch historical logs
        name: tail
        in: query
        schema:
          type: boolean
      - description: Follow the logs
        name: follow
        in: query
        schema:
          type: boolean
      responses:
        '101':
          description: Switching Protocols to WebSocket
          content:
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/models.ExecutionLog'
        '400':
          description: Bad Request
          content:
            application/octet-stream:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/octet-stream:
              schema:
                type: string
  /api/v1/orchestrator/jobs/{id}/rerun:
    put:
      description: Reruns a job with the specified job ID or name.
      tags:
      - Orchestrator
      summary: Reruns a job
      operationId: orchestrator/rerunJob
      parameters:
      - description: ID or name of the job to rerun
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apimodels.RerunJobResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/apimodels.RerunJobRequest'
        description: Request to rerun job
        required: true
  /api/v1/orchestrator/jobs/{id}/results:
    get:
      description: Returns the results of a job.
      tags:
      - Orchestrator
      summary: Returns the results of a job
      operationId: orchestrator/jobResults
      parameters:
      - description: ID to get the job results for
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apimodels.ListJobResultsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
  /api/v1/orchestrator/jobs/{id}/versions:
    get:
      description: Returns the versions of a job.
      tags:
      - Orchestrator
      summary: Returns the versions of a job
      operationId: orchestrator/jobVersions
      parameters:
      - description: ID or Name to get the job versions for
        name: id
        in: path
        required: true
        schema:
          type: string
      - description: Namespace of the job
        name: namespace
        in: query
        schema:
          type: string
      - description: Limit the number of job versions returned
        name: limit
        in: query
        schema:
          type: integer
      - description: Token to get the next page of job versions
        name: next_token
        in: query
        schema:
          type: string
      - description: Reverse the order of the job versions
        name: reverse
        in: query
        schema:
          type: boolean
      - description: Order the job versions by the given field
        name: order_by
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apimodels.ListJobVersionsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
  /api/v1/orchestrator/nodes:
    get:
      description: Returns a list of orchestrator nodes.
      tags:
      - Orchestrator
      summary: Returns a list of orchestrator nodes
      operationId: orchestrator/listNodes
      parameters:
      - description: Limit the number of node returned
        name: limit
        in: query
        schema:
          type: integer
      - description: Token to get the next page of nodes
        name: next_token
        in: query
        schema:
          type: string
      - description: Reverse the order of the nodes
        name: reverse
        in: query
        schema:
          type: boolean
      - description: Order the nodes by given field
        name: order_by
        in: query
        schema:
          type: string
      - description: Filter Approval
        name: filter_approval
        in: query
        schema:
          type: string
      - description: Filter Status
        name: filter-status
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apimodels.ListNodesResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
  /api/v1/orchestrator/nodes/{id}:
    get:
      tags:
      - Orchestrator
      summary: Get an orchestrator node
      operationId: orchestrator/getNode
      parameters:
      - description: ID of the orchestrator node to fetch for.
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apimodels.GetNodeResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
    put:
      description: Update an orchestrator node.
      tags:
      - Orchestrator
      summary: Update an orchestrator node
      operationId: orchestrator/updateNode
      parameters:
      - description: ID of the orchestrator node.
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apimodels.PutNodeResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: string
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/apimodels.PutNodeRequest'
        description: Put Node Request
        required: true
components:
  schemas:
    models.JobHistory:
      type: object
      properties:
        Event:
          $ref: '#/components/schemas/models.Event'
        ExecutionID:
          type: string
        ExecutionState:
          description: 'Deprecated: Left for backward compatibility with v1.4.x clients'
          allOf:
          - $ref: '#/components/schemas/models.StateChange-models_ExecutionStateType'
        JobID:
          type: string
        JobState:
          description: 'TODO: remove with v1.5

            Deprecated: Left for backward compatibility with v1.4.x clients'
          allOf:
          - $ref: '#/components/schemas/models.StateChange-models_JobStateType'
        JobVersion:
          type: integer
        SeqNum:
          type: integer
        Time:
          type: string
        Type:
          $ref: '#/components/schemas/models.JobHistoryType'
    apimodels.DiffJobRequest:
      type: object
      properties:
        Job:
          $ref: '#/components/schemas/models.Job'
        credential:
          $ref: '#/components/schemas/apimodels.HTTPCredential'
        idempotencyToken:
          type: string
        namespace:
          type: string
    models.State-models_ExecutionStateType:
      type: object
      properties:
        Details:
          description: Details is a map of additional details about the state.
          type: object
          additionalProperties:
            type: string
        Message:
          description: Message is a human readable message describing the state.
          type: string
        StateType:
          description: StateType is the current state of the object.
          allOf:
          - $ref: '#/components/schemas/models.ExecutionStateType'
    apimodels.PutNodeRequest:
      type: object
      properties:
        Action:
          type: string
        Message:
          type: string
        NodeID:
          type: string
        credential:
          $ref: '#/components/schemas/apimodels.HTTPCredential'
        idempotencyToken:
          type: string
        namespace:
          type: string
    models.NodeState:
      type: object
      properties:
        Connection:
          description: 'Deprecated: Use ConnectionState.Status instead'
          allOf:
          - $ref: '#/components/schemas/models.NodeConnectionState'
        ConnectionState:
          description: Connection and messaging state
          allOf:
          - $ref: '#/components/schemas/models.ConnectionState'
        Info:
          description: Durable node information
          allOf:
          - $ref: '#/components/schemas/models.NodeInfo'
        Membership:
          $ref: '#/components/schemas/models.NodeMembershipState'
    models.ExecutionLog:
      type: object
      properties:
        line:
          type: string
        type:
          $ref: '#/components/schemas/models.ExecutionLogType'
    apimodels.ListJobsResponse:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/models.Job'
        NextToken:
          type: string
    models.AllocatedResources:
      type: object
      properties:
        Tasks:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/models.Resources'
    models.ConnectionState:
      type: object
      properties:
        ConnectedSince:
          description: Connection tracking
          type: string
        DisconnectedSince:
          type: string
        LastComputeSeqNum:
          description: Message sequencing for reliable delivery
          type: integer
        LastError:
          type: string
        LastHeartbeat:
          description: Last successful heartbeat timestamp
          type: string
        LastOrchestratorSeqNum:
          description: Last seq received from orchestrator
          type: integer
        Status:
          description: Connection status
          allOf:
          - $ref: '#/components/schemas/models.NodeConnectionState'
    models.Network:
      type: integer
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      x-enum-varnames:
      - NetworkDefault
      - NetworkNone
      - NetworkHost
      - NetworkFull
      - NetworkHTTP
      - NetworkBridge
    apimodels.HTTPCredential:
      type: object
      properties:
        params:
          description: 'For authorization schemes that provide multiple values, a map of names to

            values providing the credential'
          type: object
          additionalProperties:
            type: string
        scheme:
          description: 'An HTTP authorization scheme, such as one registered with IANA

            https://www.iana.org/assignments/http-authschemes/http-authschemes.xhtml'
          type: string
        value:
          description: 'For authorization schemes that only provide a single value, such as

            Basic, the single string value providing the credential'
          type: string
    models.Port:
      type: object
      properties:
        HostNetwork:
          description: 'HostNetwork specifies which network interface to bind to.

            If empty, defaults to "0.0.0.0" (all interfaces).

            Can be set to "127.0.0.1" to only allow local connections.'
          type: string
        Name:
          description: 'Name is a required identifier for this port mapping.

            It will be used to create environment variables to inform the task

            about its allocated ports.'
          type: string
        Static:
          description: 'Static is the host port to use. If not specified, a port will be

            auto-allocated from the compute node''s port range'
          type: integer
        Target:
          description: 'Target is the port inside the task/container that should be exposed.

            Only valid for Bridge network mode. If not specified in Bridge mode,

            it will default to the same value as the host port.'
          type: integer
    apimodels.GetJobResponse:
      type: object
      properties:
        Executions:
          $ref: '#/components/schemas/apimodels.ListJobExecutionsResponse'
        History:
          $ref: '#/components/schemas/apimodels.ListJobHistoryResponse'
        Job:
          $ref: '#/components/schemas/models.Job'
    models.ExecutionStateType:
      type: integer
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      - 10
      - 11
      x-enum-comments:
        ExecutionStateBidAccepted: aka running
      x-enum-descriptions:
      - ''
      - ''
      - ''
      - ''
      - ''
      - aka running
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      x-enum-varnames:
      - ExecutionStateUndefined
      - ExecutionStateNew
      - ExecutionStateAskForBid
      - ExecutionStateAskForBidAccepted
      - ExecutionStateAskForBidRejected
      - ExecutionStateBidAccepted
      - ExecutionStateRunning
      - ExecutionStatePublishing
      - ExecutionStateBidRejected
      - ExecutionStateCompleted
      - ExecutionStateFailed
      - ExecutionStateCancelled
    models.State-models_JobStateType:
      type: object
      properties:
        Details:
          description: Details is a map of additional details about the state.
          type: object
          additionalProperties:
            type: string
        Message:
          description: Message is a human readable message describing the state.
          type: string
        StateType:
          description: StateType is the current state of the object.
          allOf:
          - $ref: '#/components/schemas/models.JobStateType'
    apimodels.PutNodeResponse:
      type: object
      properties:
        Error:
          type: string
        Success:
          type: boolean
    models.SpecConfig:
      type: object
      properties:
        Params:
          description: Params is a map of the config params
          type: object
          additionalProperties: true
        Type:
          description: Type of the config
          type: string
    models.ExecutionDesiredStateType:
      type: integer
      enum:
      - 0
      - 1
      - 2
      x-enum-varnames:
      - ExecutionDesiredStatePending
      - ExecutionDesiredStateRunning
      - ExecutionDesiredStateStopped
    models.StateChange-models_JobStateType:
      type: object
      properties:
        New:
          $ref: '#/components/schemas/models.JobStateType'
        Previous:
          $ref: '#/components/schemas/models.JobStateType'
    models.Resources:
      type: object
      properties:
        CPU:
          description: CPU units
          type: number
        Disk:
          description: Disk in bytes
          type: integer
        GPU:
          description: GPU units
          type: integer
        GPUs:
          description: GPU details
          type: array
          items:
            $ref: '#/components/schemas/models.GPU'
        Memory:
          description: Memory in bytes
          type: integer
    models.ExecutionLogType:
      type: integer
      enum:
      - 0
      - 1
      - 2
      x-enum-varnames:
      - executionLogTypeUnknown
      - ExecutionLogTypeSTDOUT
      - ExecutionLogTypeSTDERR
    models.RunCommandResult:
      type: object
      properties:
        ErrorMsg:
          description: Runner error
          type: string
        ExitCode:
          description: exit code of the run.
          type: integer
        StderrTruncated:
          description: bool describing if stderr was truncated
          type: boolean
        Stdout:
          description: stdout of the run. Yaml provided for `describe` output
          type: string
        StdoutTruncated:
          description: bool describing if stdout was truncated
          type: boolean
        stderr:
          description: stderr of the run.
          type: string
    models.InputSource:
      type: object
      properties:
        Alias:
          description: 'Alias is an optional reference to this input source that can be used for

            dynamic linking to this input. (e.g. dynamic import in wasm by alias)'
          type: string
        Source:
          description: Source is the source of the artifact to be downloaded, e.g a URL, S3 bucket, etc.
          allOf:
          - $ref: '#/components/schemas/models.SpecConfig'
        Target:
          description: Target is the path where the artifact should be mounted on
          type: string
    models.JobStateType:
      type: integer
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      x-enum-varnames:
      - JobStateTypeUndefined
      - JobStateTypePending
      - JobStateTypeQueued
      - JobStateTypeRunning
      - JobStateTypeCompleted
      - JobStateTypeFailed
      - JobStateTypeStopped
    models.JobHistoryType:
      type: integer
      enum:
      - 0
      - 1
      - 2
      x-enum-varnames:
      - JobHistoryTypeUndefined
      - JobHistoryTypeJobLevel
      - JobHistoryTypeExecutionLevel
    models.NodeMembershipState:
      type: object
      properties:
        membership:
          type: integer
          enum:
          - 0
          - 1
          - 2
          - 3
          x-enum-varnames:
          - unknown
          - pending
          - approved
          - rejected
    models.NodeType:
      type: integer
      enum:
      - 0
      - 1
      - 2
      x-enum-varnames:
      - nodeTypeUndefined
      - NodeTypeRequester
      - NodeTypeCompute
    apimodels.RerunJobResponse:
      type: object
      properties:
        EvaluationID:
          type: string
        JobID:
          type: string
        JobVersion:
          type: integer
        Warnings:
          type: array
          items:
            type: string
    models.ComputeNodeInfo:
      type: object
      properties:
        AvailableCapacity:
          $ref: '#/components/schemas/models.Resources'
        EnqueuedExecutions:
          type: integer
        ExecutionEngines:
          type: array
          items:
            type: string
        MaxCapacity:
          $ref: '#/components/schemas/models.Resources'
        MaxJobRequirements:
          $ref: '#/components/schemas/models.Resources'
        Publishers:
          type: array
          items:
            type: string
        QueueCapacity:
          $ref: '#/components/schemas/models.Resources'
        RunningExecutions:
          type: integer
        StorageSources:
          type: array
          items:
            type: string
        address:
          description: 'Address is the network location where this compute node can be reached

            Format: IPv4 or hostname (e.g., "192.168.1.100" or "node1.example.com")'
          type: string
    models.Task:
      type: object
      properties:
        Engine:
          $ref: '#/components/schemas/models.SpecConfig'
        Env:
          description: 'Map of environment variables to be used by the driver.

            Values can be:

            - Direct value: "debug-mode"

            - Host env var: "env:HOST_VAR"'
          type: object
          additionalProperties:
            type: string
        InputSources:
          description: 'InputSources is a list of remote artifacts to be downloaded before running the task

            and mounted into the task.'
          type: array
          items:
            $ref: '#/components/schemas/models.InputSource'
        Meta:
          description: Meta is used to associate arbitrary metadata with this task.
          type: object
          additionalProperties:
            type: string
        Name:
          description: Name of the task
          type: string
        Network:
          $ref: '#/components/schemas/models.NetworkConfig'
        Publisher:
          $ref: '#/components/schemas/models.SpecConfig'
        Resources:
          description: ResourcesConfig is the resources needed by this task
          allOf:
          - $ref: '#/components/schemas/models.ResourcesConfig'
        ResultPaths:
          description: ResultPaths is a list of task volumes to be included in the task's published result
          type: array
          items:
            $ref: '#/components/schemas/models.ResultPath'
        Timeouts:
          $ref: '#/components/schemas/models.TimeoutConfig'
    apimodels.ListNodesResponse:
      type: object
      properties:
       

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