Skedulo Async Job Management API
The Async Job Management API from Skedulo — 2 operation(s) for async job management.
The Async Job Management API from Skedulo — 2 operation(s) for async job management.
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