Skedulo Async Job Management API

The Async Job Management API from Skedulo — 2 operation(s) for async job management.

OpenAPI Specification

skedulo-async-job-management-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Authentication Admin Async Job Management API
  description: Skedulo Authentication API
  version: 1.0.0
servers:
- url: https://api.skedulo.com/auth
- url: https://api.uk.skedulo.com/auth
- url: https://api.ca.skedulo.com/auth
- url: https://api.au.skedulo.com/auth
tags:
- name: Async Job Management
paths:
  /asyncJobs/evaluateViolations:
    post:
      tags:
      - Async Job Management
      summary: Create a new async job for batch evaluating violations
      operationId: createEvaluateViolationsJobAndTasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EvaluateViolationsJobInput'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResultJobIdResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetails'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetails'
      security:
      - ApiKeyAuth: []
  /asyncJobs/{asyncJobId}:
    get:
      tags:
      - Async Job Management
      summary: Get an async job by ID
      operationId: getJobById
      parameters:
      - name: asyncJobId
        in: path
        description: Async Job ID
        required: true
        schema:
          type: string
          format: uuid
        example: bebddd90-8f39-4d3d-8601-35f406f27db2
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResultAsyncJob'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetails'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetails'
      security:
      - ApiKeyAuth: []
components:
  schemas:
    ErrorDetails:
      type: object
      properties:
        errorType:
          type: string
        message:
          type: string
    AsyncJobTasks:
      required:
      - failure
      - inProgress
      - queued
      - success
      - total
      type: object
      properties:
        total:
          type: integer
          description: Total number of tasks
          format: int32
          example: 22
        queued:
          type: integer
          description: Number of tasks with a 'Queued' status
          format: int32
          example: 10
        inProgress:
          type: integer
          description: Number of tasks with an 'InProgress' status
          format: int32
          example: 5
        success:
          type: integer
          description: Number of tasks with a 'Success' status
          format: int32
          example: 5
        failure:
          type: integer
          description: Number of tasks with a 'Failure' status
          format: int32
          example: 2
      description: A summary of the tasks associated with the job
    EvaluateViolationsJobInput:
      required:
      - endTime
      - ruleIds
      - startTime
      type: object
      properties:
        startTime:
          type: string
          description: Start of the evaluation time window
          format: date-time
          example: '2022-07-04T12:00:00Z'
        endTime:
          type: string
          description: End of the evaluation time window
          format: date-time
          example: '2022-08-04T12:00:00Z'
        ruleIds:
          $ref: '#/components/schemas/RuleIdFilter'
      description: Details of the async job to be created
    ApiResultAsyncJob:
      required:
      - result
      type: object
      properties:
        result:
          $ref: '#/components/schemas/AsyncJob'
    AsyncJobParameters:
      required:
      - type
      type: object
      properties:
        type:
          type: string
          description: The type of async job
          example: BatchEvaluateViolations
          enum:
          - BatchEvaluateViolations
      description: The parameters specified when creating the job
      discriminator:
        propertyName: type
    AsyncJob:
      required:
      - createdBy
      - createdTime
      - jobId
      - parameters
      - status
      - tasks
      - type
      type: object
      properties:
        jobId:
          type: string
          description: Globally unique identifier for the async job
          format: uuid
          example: bebddd90-8f39-4d3d-8601-35f406f27db2
        type:
          type: string
          description: The job type of the async job
          example: BatchEvaluateViolations
          enum:
          - BatchEvaluateViolations
        status:
          type: string
          description: The current status of the async job
          example: Queued
          enum:
          - Queued
          - InProgress
          - Completed
          - CompletedWithErrors
        createdBy:
          type: string
          description: The ID of the user that created the async job
        createdTime:
          type: string
          description: The timestamp indicating when the job was created
          format: date-time
          example: '2022-01-01T09:00:00Z'
        inProgressTime:
          type: string
          description: The timestamp indicating when the job started processing
          format: date-time
          example: '2022-01-01T09:15:00Z'
        completedTime:
          type: string
          description: The timestamp indicating when the job completed processing
          format: date-time
          example: '2022-01-01T09:30:00Z'
        parameters:
          $ref: '#/components/schemas/AsyncJobParameters'
        tasks:
          $ref: '#/components/schemas/AsyncJobTasks'
      description: Summary details of an async job.
    JobIdResult:
      required:
      - jobId
      type: object
      properties:
        jobId:
          type: string
          description: Globally unique identifier for the async job.
          format: uuid
          example: bebddd90-8f39-4d3d-8601-35f406f27db2
      description: Job ID Result of the async job created for processing
    ApiResultJobIdResult:
      required:
      - result
      type: object
      properties:
        result:
          $ref: '#/components/schemas/JobIdResult'
    IncludeType:
      type: string
      enum:
      - all
      - only
    RuleIdFilter:
      required:
      - include
      type: object
      properties:
        include:
          $ref: '#/components/schemas/IncludeType'
      description: Filter parameters.
      discriminator:
        propertyName: include
        mapping:
          all: '#/components/schemas/IncludeAllRuleId'
          only: '#/components/schemas/IncludeOnlyRuleId'
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      bearerFormat: JWT