Lucidworks Jobs API

The Jobs API allows you to define schedules for objects that perform work. You can schedule datasources, tasks, and Spark jobs.

Operations 9

GET /jobs/{resource}/history Get a job's run history #
GET /jobs/_schema Get the jobs schema #
POST /jobs/{resource}/actions Start/pause/abort a job #
GET /jobs/status Get jobs service status #
GET /jobs List all jobs #
GET /jobs/{resource} Get a job #
GET /jobs/{resource}/schedule Get a job schedule #
PUT /jobs/{resource}/schedule Update a job schedule #
DELETE /jobs/{resource}/schedule Reset a job schedule #

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/lucidworks:lucidworks-jobs-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

lucidworks-jobs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fusion Admin Jobs API
  description: These APIs provide general administrative functions for your Fusion instance. Use these APIs to manage Fusion objects, App Studio objects, connections to Solr clusters, license files, job schedules, and more. You can also use them to create a history of service events.
  termsOfService: https://lucidworks.com/legal/developer-license-agreement/
  contact:
    name: Lucidworks
    url: www.lucidworks.com
    email: support@lucidworks.com
  license:
    name: License of API
    url: https://lucidworks.com/legal/developer-license-agreement/
  version: '5.9'
servers:
- url: https://{FUSION HOST}/api
  description: Fusion
  variables:
    FUSION HOST:
      default: FUSION_HOST
      description: Your environment host.
- url: https://{FUSION HOST}/api/apps/{APP_NAME}
  description: Fusion app
  variables:
    FUSION HOST:
      default: FUSION_HOST
      description: Your environment host.
    APP_NAME:
      default: APP_NAME
      description: The name of your Fusion application.
tags:
- name: Jobs
  description: The Jobs API allows you to define schedules for objects that perform work. You can schedule datasources, tasks, and Spark jobs.
paths:
  /jobs/{resource}/history:
    get:
      tags:
      - Jobs
      summary: Get a job's run history
      description: Get the run history for the specified job.
      operationId: listJobHistory
      parameters:
      - name: resource
        in: path
        description: The job ID.
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: Return first N history items.
        schema:
          type: integer
          format: int32
          default: 100
      responses:
        '200':
          description: successful operation
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/JobRunView'
              example:
              - resource: datasource:movies-db
                startTime: '2017-05-17T21:01:46.743Z'
                endTime: '2017-05-17T21:02:05.720Z'
                status: success
              - resource: datasource:movies-db
                startTime: '2017-05-17T20:58:10.503Z'
                endTime: '2017-05-17T20:58:42.020Z'
                status: success
  /jobs/_schema:
    get:
      tags:
      - Jobs
      summary: Get the jobs schema
      description: Get the JSON schema for jobs.
      operationId: getJobConfigSchema
      responses:
        '200':
          description: successful operation
          content:
            application/schema+json; qs=1.0:
              schema:
                $ref: '#/components/schemas/ObjectType'
            application/json; qs=0.9:
              schema:
                $ref: '#/components/schemas/ObjectType'
  /jobs/{resource}/actions:
    post:
      tags:
      - Jobs
      summary: Start/pause/abort a job
      description: Start, pause, or abort the specified job.
      operationId: controlJob
      parameters:
      - name: resource
        in: path
        description: The job ID.
        required: true
        schema:
          type: string
      requestBody:
        description: 'One of: `start`, `pause`, or `abort`.'
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/JobActionRequest'
        required: false
      responses:
        '200':
          description: successful operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/JobActionResponse'
              example:
                resource: datasource:movies-db
                action: start
                accepted: true
                message: Started job datasource:movies-db
      x-codegen-request-body-name: body
  /jobs/status:
    get:
      tags:
      - Jobs
      summary: Get jobs service status
      description: Get the status of the Jobs service.
      operationId: getStatus_10
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceStatus'
  /jobs:
    get:
      tags:
      - Jobs
      summary: List all jobs
      description: Fetch the list of existing jobs.
      operationId: listJobs
      parameters:
      - name: status
        in: query
        description: 'Filter jobs by status, one of: `ready`, `running`, `success`, `aborted`, or `failed`.'
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: enabled
        in: query
        description: Filter jobs by whether they are enabled (`true`) or disabled (`false`).
        schema:
          type: string
      - name: type
        in: query
        description: 'Filter jobs by type, one of: `task`, `spark`, or `datasource`.'
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: successful operation
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/JobView'
              example:
              - resource: datasource:ratings-db
                enabled: true
                startedBy: acb38917-611a-46e1-a3cf-4ed46a30fd24
              - resource: datasource:movies-db
                enabled: true
                startedBy: acb38917-611a-46e1-a3cf-4ed46a30fd24
                status: success
                lastStartTime: '2017-05-17T20:58:10.503Z'
                lastEndTime: '2017-05-17T20:58:42.020Z'
      deprecated: true
  /jobs/{resource}:
    get:
      tags:
      - Jobs
      summary: Get a job
      description: Get the status and configuration for the specified job.
      operationId: getJob
      parameters:
      - name: resource
        in: path
        description: The job ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/JobView'
  /jobs/{resource}/schedule:
    get:
      tags:
      - Jobs
      summary: Get a job schedule
      description: Get the schedule for the specified job.
      operationId: getJobConfig
      parameters:
      - name: resource
        in: path
        description: The job ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/JobConfig'
    put:
      tags:
      - Jobs
      summary: Update a job schedule
      description: Configure the schedule for the specified job.
      operationId: JobConfigUpdate
      parameters:
      - name: resource
        in: path
        description: The job ID.
        required: true
        schema:
          type: string
      - name: validate
        in: query
        description: Validate that the job config exists.
        schema:
          type: boolean
          default: true
      requestBody:
        description: JSON-formatted configuration values.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobConfig'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/JobConfig'
              example:
                resource: datasource:ratings-db
                triggers:
                - type: cron
                  enabled: true
                  value: 0 15 10 ? * MON-FRI
      x-codegen-request-body-name: body
    delete:
      tags:
      - Jobs
      summary: Reset a job schedule
      description: Reset the schedule for the specified job.
      operationId: resetJobConfig
      parameters:
      - name: resource
        in: path
        description: The job ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content: {}
components:
  schemas:
    PropertyGroup:
      type: object
      properties:
        label:
          type: string
          readOnly: true
        properties:
          type: array
          readOnly: true
          items:
            type: string
    ServiceStatus:
      type: object
      properties:
        status:
          type: string
          enum:
          - starting
          - ok
          - warning
          - error
          - shutdown
        node:
          type: string
          readOnly: true
        messages:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/StatusMessage'
    StatusMessage:
      type: object
      properties:
        date:
          type: string
          format: date-time
          readOnly: true
        message:
          type: string
          readOnly: true
    JobTriggerConfig:
      type: object
      discriminator:
        propertyName: type
      properties:
        enabled:
          type: boolean
        type:
          type: string
          enum:
          - interval
          - cron
          - job
          x-enumDescriptions:
            interval: Run the job at a regular interval over some time range.
            cron: Run the job on a cron-style schedule.
            job: Run the job after another job succeeds or fails.
        startTime:
          type: string
          format: date-time
          description: The date and time at which the job will first run (ISO-8601 format). Applies to type 'interval'.
        endTime:
          type: string
          format: date-time
          description: The date and time at which the job will run last (ISO-8601 format). Applies to type 'interval'.
        interval:
          type: integer
          description: The interval at which the job will run. Applies to type 'interval'.
        repeatUnit:
          type: string
          enum:
          - minute
          - hour
          - day
          description: The unit for the interval. Applies to type 'interval'.
        value:
          type: string
          description: A cron string that defines the schedule. Applies to type 'cron'.
        jobID:
          type: string
          description: The ID of the job that triggers this one. Applies to type 'job'.
        runOnSuccess:
          type: boolean
          description: Run this job when the triggering job succeeds. Applies to type 'job'.
        runOnFailure:
          type: boolean
          description: Run this job when the triggering job fails. Applies to type 'job'.
        runOnAbort:
          type: boolean
          description: Run this job when the triggering job is aborted. Applies to type 'job'.
    JobActionResponse:
      type: object
      properties:
        resource:
          type: string
          readOnly: true
        action:
          type: string
          readOnly: true
          enum:
          - start
          - pause
          - abort
        accepted:
          type: boolean
          readOnly: true
        message:
          type: string
          readOnly: true
    ObjectType:
      type: object
      properties:
        type:
          type: string
          readOnly: true
          enum:
          - String
          - Number
          - Integer
          - Boolean
          - Object
          - Array
          - 'Null'
          - Ref
        title:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        required:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: string
        properties:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AnyType'
          readOnly: true
        additionalProperties:
          type: object
          properties: {}
          readOnly: true
        minProperties:
          type: integer
          format: int32
          readOnly: true
        maxProperties:
          type: integer
          format: int32
          readOnly: true
        definitions:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AnyType'
          readOnly: true
        category:
          type: string
          readOnly: true
        categoryPriority:
          type: integer
          format: int32
          readOnly: true
        enum:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: object
            properties: {}
        hints:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: string
        unsafe:
          type: boolean
          readOnly: true
        default:
          type: object
          properties: {}
          readOnly: true
        oneOf:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/AnyTypeObjectObject'
        propertyGroups:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/PropertyGroup'
    JobActionRequest:
      type: object
      properties:
        action:
          type: string
          readOnly: true
          enum:
          - START
          - PAUSE
          - ABORT
        comment:
          type: string
          readOnly: true
    JobRunView:
      type: object
      properties:
        resource:
          $ref: '#/components/schemas/FusionResource'
        runId:
          type: string
          readOnly: true
        startTime:
          type: string
          format: date-time
          readOnly: true
        endTime:
          type: string
          format: date-time
          readOnly: true
        status:
          type: string
          description: Values include `ready`, `running`, `success`, `aborted`, or `failed`.
          readOnly: true
        error:
          type: object
          additionalProperties:
            type: object
            properties: {}
          readOnly: true
        extra:
          type: object
          additionalProperties:
            type: object
            properties: {}
          readOnly: true
        startedBy:
          type: string
          readOnly: true
    JobView:
      type: object
      properties:
        resource:
          $ref: '#/components/schemas/FusionResource'
        enabled:
          type: boolean
          readOnly: true
        startedBy:
          type: string
          readOnly: true
        status:
          type: string
          description: Values include `ready`, `running`, `success`, `aborted`, or `failed`.
          readOnly: true
        extra:
          type: object
          additionalProperties:
            type: object
            properties: {}
          readOnly: true
        lastStartTime:
          type: string
          format: date-time
          readOnly: true
        lastEndTime:
          type: string
          format: date-time
          readOnly: true
        nextStartTime:
          type: string
          format: date-time
          readOnly: true
    AnyTypeObjectObject:
      type: object
      properties:
        type:
          type: string
          readOnly: true
          enum:
          - String
          - Number
          - Integer
          - Boolean
          - Object
          - Array
          - 'Null'
          - Ref
        title:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        enum:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: object
            properties: {}
        default:
          type: object
          properties: {}
          readOnly: true
        category:
          type: string
          readOnly: true
        categoryPriority:
          type: integer
          format: int32
          readOnly: true
        hints:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: string
        unsafe:
          type: boolean
          readOnly: true
        oneOf:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/AnyTypeObjectObject'
    JobConfig:
      type: object
      properties:
        resource:
          type: string
        enabled:
          type: boolean
        triggers:
          type: array
          items:
            $ref: '#/components/schemas/JobTriggerConfig'
        default:
          type: boolean
    AnyType:
      type: object
      properties:
        type:
          type: string
          readOnly: true
          enum:
          - String
          - Number
          - Integer
          - Boolean
          - Object
          - Array
          - 'Null'
          - Ref
        title:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        enum:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: object
            properties: {}
        default:
          type: object
          properties: {}
          readOnly: true
        category:
          type: string
          readOnly: true
        categoryPriority:
          type: integer
          format: int32
          readOnly: true
        hints:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: string
        unsafe:
          type: boolean
          readOnly: true
        oneOf:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/AnyTypeObjectObject'
    FusionResource:
      anyOf:
      - type: string
        description: Resource reference as a string, such as 'datasource:ratings-db'
      - type: object
        properties:
          type:
            type: string
            enum:
            - APPKIT_APP
            - APP
            - COLLECTION
            - INDEX_PIPELINE
            - QUERY_PIPELINE
            - INDEX_PROFILE
            - QUERY_PROFILE
            - BLOB
            - PARSER
            - DATASOURCE
            - TASK
            - SCHEDULE
            - SEARCH_CLUSTER
            - EXPERIMENT
            - SPARK_JOB
            - GROUP
            - CUSTOM_RULE_TYPE
            - SUBSCRIPTION
            - DATA_MODEL
            - TEMPLATE
            - ZONE
            - TEMPLATE_SETTINGS
            - TYPE
            - RESOURCE
            - 'NULL'
          id:
            type: string
          uri:
            type: string
            format: uri
          canonicalName:
            type: string
        required:
        - type
  securitySchemes:
    Basic_auth:
      type: http
      scheme: basic
    API_key:
      name: x-api-key
      type: apiKey
      in: header
x-original-swagger-version: '2.0'
x-provenance:
  method: harvested
  publisher: Lucidworks
  source: https://doc.lucidworks.com/api-reference/5.9/fusion-api-swagger.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)