Apache Oozie Job API

Single job lifecycle management and information retrieval

OpenAPI Specification

apache-oozie-job-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Apache Oozie REST Admin Job API
  description: The Oozie Web Services API provides REST endpoints for submitting, managing, and monitoring workflow, coordinator, and bundle jobs on Apache Hadoop. The API supports job lifecycle management (submit, start, suspend, resume, kill, rerun), status monitoring, log retrieval, DAG visualization, and system administration. Authentication is handled by the Hadoop security layer (Kerberos or SPNEGO when security is enabled).
  version: 5.2.1
  license:
    name: Apache 2.0
    identifier: Apache-2.0
  contact:
    name: Apache Oozie
    url: https://oozie.apache.org
servers:
- url: http://localhost:11000/oozie
  description: Apache Oozie server (default port 11000)
tags:
- name: Job
  description: Single job lifecycle management and information retrieval
paths:
  /v1/job/{job-id}:
    get:
      tags:
      - Job
      summary: Apache Oozie Get Job Info
      description: 'Returns information, definition, logs, or graph for a specific job. Use the show parameter to control response type: info (default), definition, log, graph.'
      operationId: getJobInfo
      parameters:
      - $ref: '#/components/parameters/jobId'
      - name: show
        in: query
        required: false
        description: Type of information to return.
        schema:
          type: string
          enum:
          - info
          - definition
          - log
          - graph
          default: info
        example: info
      - name: timezone
        in: query
        required: false
        description: Timezone for date formatting.
        schema:
          type: string
          default: GMT
      - name: offset
        in: query
        required: false
        description: Offset for action pagination within the job.
        schema:
          type: integer
      - name: len
        in: query
        required: false
        description: Number of actions to return.
        schema:
          type: integer
      - name: format
        in: query
        required: false
        description: Graph format (only when show=graph).
        schema:
          type: string
          enum:
          - png
          - svg
          - dot
      - name: logfilter
        in: query
        required: false
        description: Log filter (only when show=log) as semicolon-delimited key=value pairs.
        schema:
          type: string
      responses:
        '200':
          description: Job information, definition, log, or graph.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobInfo'
              examples:
                GetJobInfo200Example:
                  summary: Default getJobInfo 200 response
                  x-microcks-default: true
                  value:
                    id: 0000001-200101120000000-oozie-admin-W
                    appName: my-workflow
                    status: RUNNING
                    user: admin
                    group: users
                    startTime: '2021-01-01T12:00:00.000Z'
                    endTime: null
                    actions: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      tags:
      - Job
      summary: Apache Oozie Manage Job
      description: 'Apply a management action to a specific job. Supported actions: start, suspend, resume, kill, dryrun, rerun, coord-rerun, bundle-rerun, change, ignore, sla-change, sla-disable, sla-enable.'
      operationId: manageJob
      parameters:
      - $ref: '#/components/parameters/jobId'
      - name: action
        in: query
        required: true
        description: Action to apply to the job.
        schema:
          type: string
          enum:
          - start
          - suspend
          - resume
          - kill
          - dryrun
          - rerun
          - coord-rerun
          - bundle-rerun
          - change
          - ignore
          - sla-change
          - sla-disable
          - sla-enable
        example: start
      - name: value
        in: query
        required: false
        description: Value parameter for change/sla-change/sla-disable/sla-enable actions.
        schema:
          type: string
      - name: type
        in: query
        required: false
        description: Rerun type (action or date) for coord-rerun action.
        schema:
          type: string
          enum:
          - action
          - date
      - name: scope
        in: query
        required: false
        description: Scope of actions to rerun (e.g., 1-2 for action range, date range for date type).
        schema:
          type: string
      - name: refresh
        in: query
        required: false
        description: Whether to refresh coordinator configuration on rerun.
        schema:
          type: boolean
      - name: nocleanup
        in: query
        required: false
        description: Whether to skip cleanup of workflow output directories on rerun.
        schema:
          type: boolean
      requestBody:
        required: false
        description: XML configuration for rerun or update actions.
        content:
          application/xml:
            schema:
              type: string
      responses:
        '200':
          description: Action applied successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v2/job/{job-id}:
    get:
      tags:
      - Job
      summary: Apache Oozie Get Job Info v2
      description: 'Version 2 of job information retrieval. Supports additional show options: errorlog, auditlog, status, jmstopic, retries, allruns, missing-dependencies.'
      operationId: getJobInfoV2
      parameters:
      - $ref: '#/components/parameters/jobId'
      - name: show
        in: query
        required: false
        description: Type of information to return.
        schema:
          type: string
          enum:
          - info
          - definition
          - log
          - errorlog
          - auditlog
          - graph
          - status
          - jmstopic
          - retries
          - allruns
          - missing-dependencies
          default: info
      - name: timezone
        in: query
        required: false
        description: Timezone for date formatting.
        schema:
          type: string
      - name: type
        in: query
        required: false
        description: Filter type for allruns (action).
        schema:
          type: string
      - name: action-list
        in: query
        required: false
        description: Comma-separated action IDs for missing-dependencies or SLA operations.
        schema:
          type: string
      responses:
        '200':
          description: Job information in the requested format.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobInfo'
              examples:
                GetJobInfoV2200Example:
                  summary: Default getJobInfoV2 200 response
                  x-microcks-default: true
                  value:
                    id: 0000001-200101120000000-oozie-admin-C
                    appName: my-coordinator
                    status: RUNNING
                    user: admin
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      tags:
      - Job
      summary: Apache Oozie Manage Job v2
      description: 'Version 2 of job management. Supports additional actions: update (coordinator definition update), ignore, sla-change, sla-disable, sla-enable.'
      operationId: manageJobV2
      parameters:
      - $ref: '#/components/parameters/jobId'
      - name: action
        in: query
        required: true
        description: Action to apply to the job.
        schema:
          type: string
          enum:
          - update
          - ignore
          - sla-change
          - sla-disable
          - sla-enable
      - name: type
        in: query
        required: false
        description: Ignore type (action).
        schema:
          type: string
      - name: scope
        in: query
        required: false
        description: Scope of actions to ignore (e.g., 3-4).
        schema:
          type: string
      - name: value
        in: query
        required: false
        description: SLA change value as key=value pairs.
        schema:
          type: string
      - name: action-list
        in: query
        required: false
        description: Comma-separated action list for SLA enable/disable.
        schema:
          type: string
      requestBody:
        required: false
        description: XML configuration for coordinator update action.
        content:
          application/xml:
            schema:
              type: string
      responses:
        '200':
          description: Action applied successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    ErrorResponse:
      type: object
      description: Standard Oozie error response.
      properties:
        httpStatusCode:
          type: integer
          description: HTTP status code.
          example: 400
        oozieErrorCode:
          type: string
          description: Oozie-specific error code.
          example: E0401
        message:
          type: string
          description: Human-readable error message.
          example: Command exception
    JobAction:
      type: object
      description: A single action within a workflow job.
      properties:
        id:
          type: string
          description: Action identifier.
          example: 0000001-200101120000000-oozie-admin-W@action1
        name:
          type: string
          description: Action name as defined in the workflow.
          example: my-map-reduce
        type:
          type: string
          description: Action type (map-reduce, pig, hive, etc.).
          example: map-reduce
        status:
          type: string
          description: Current action status.
          example: OK
        startTime:
          type: string
          format: date-time
          description: Action start timestamp.
          example: '2021-01-01T12:00:00.000Z'
        endTime:
          type: string
          format: date-time
          description: Action end timestamp.
          example: '2021-01-01T12:05:00.000Z'
        errorCode:
          type: string
          description: Error code if the action failed.
          example: null
        errorMessage:
          type: string
          description: Error message if the action failed.
          example: null
    JobInfo:
      type: object
      description: Full information about a workflow, coordinator, or bundle job.
      properties:
        id:
          type: string
          description: Job identifier.
          example: 0000001-200101120000000-oozie-admin-W
        appName:
          type: string
          description: Application name from the workflow definition.
          example: my-workflow
        appPath:
          type: string
          description: HDFS path to the workflow application.
          example: hdfs://localhost:8020/user/admin/workflow
        status:
          type: string
          description: Current job status.
          example: RUNNING
        user:
          type: string
          description: User who submitted the job.
          example: admin
        group:
          type: string
          description: User group for the job.
          example: users
        startTime:
          type: string
          format: date-time
          description: Job start timestamp.
          example: '2021-01-01T12:00:00.000Z'
        endTime:
          type: string
          format: date-time
          description: Job end timestamp (null if still running).
        lastModTime:
          type: string
          format: date-time
          description: Last modification timestamp.
        createdTime:
          type: string
          format: date-time
          description: Job creation timestamp.
        run:
          type: integer
          description: Run number for rerun tracking.
          example: 0
        actions:
          type: array
          description: List of actions within the job (workflow jobs only).
          items:
            $ref: '#/components/schemas/JobAction'
  responses:
    NotFound:
      description: Job or resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Bad request - invalid parameters or configuration.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  parameters:
    jobId:
      name: job-id
      in: path
      required: true
      description: The Oozie job identifier (workflow, coordinator, bundle, or action ID).
      schema:
        type: string
      example: 0000001-200101120000000-oozie-admin-W