Cisco Crosswork Workflow Manager Scheduler API
Create, read, update and delete the Crosswork Workflow Manager schedules that run workflows on a recurring basis.
Create, read, update and delete the Crosswork Workflow Manager schedules that run workflows on a recurring basis.
openapi: 3.2.0
info:
title: Cisco Crosswork Workflow Manager Scheduler API
description: Cisco Crosswork Workflow Manager (CWM) 2.1 offers RESTful APIs that enable automation engineers and
developers to create, deploy, and manage workflows, adapters, jobs, resources, events, and workers within the
Cisco CWM platform.
version: 2.1.0
termsOfService: https://www.cisco.com/c/en/us/about/legal/terms-conditions.html
contact:
name: API Support
url: https://www.cisco.com/support
x-provenance:
method: harvested
authored_by: Cisco Crosswork
harvested_by: API Evangelist
harvested_on: '2026-08-19'
first_party: true
provider_published: true
note: Refined from Cisco's own Crosswork Workflow Manager 2.1 Swagger 2.0 reference (see openapi/_original/cisco-crosswork-cwm-workflow-manager-openapi.json).
Converted to OpenAPI 3.2.0 and split by tag; operationIds absent from Cisco's source were synthesised deterministically
from method+path.
x-evidence:
- type: source
url: https://developer.cisco.com/docs/crosswork/workflow-manager/
- type: raw
url: https://pubhub.devnetcloud.com/media/crosswork-workflow-manager-api-document/docs/262737b2-b3c2-32cd-b07b-fdbdcd23918f/apis/
servers:
- url: /crosswork/cwm/v2
description: Relative to the customer-deployed Crosswork Workflow Manager host (https://{cwm-host}:{port})
tags:
- name: scheduler
paths:
/schedule:
get:
summary: List all schedules.
description: Retrieve a list of all available schedules.
operationId: list_schedule
tags:
- scheduler
responses:
'201':
description: Schedules listed successfully.
content:
application/json:
schema:
type: string
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/gin.H'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/gin.H'
security:
- Bearer: []
post:
summary: Create a new schedule.
description: Create a new schedule with the specified details.
operationId: create_schedule
tags:
- scheduler
requestBody:
description: Schedule creation request payload.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/server.createSchedule'
responses:
'201':
description: Schedule created successfully.
content:
application/json:
schema:
type: string
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/gin.H'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/gin.H'
security:
- Bearer: []
/schedule/{scheduleId}:
delete:
summary: Delete a schedule.
description: Delete a specific schedule by ID.
operationId: delete_schedule
tags:
- scheduler
parameters:
- name: scheduleId
in: path
description: Schedule ID.
required: true
schema:
type: string
responses:
'200':
description: Schedule deleted successfully.
content:
application/json:
schema:
type: string
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/gin.H'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/gin.H'
security:
- Bearer: []
get:
summary: Get a specific schedule.
description: Retrieve the details of a specific schedule by ID.
operationId: Describe_schedule
tags:
- scheduler
parameters:
- name: scheduleId
in: path
description: Schedule ID.
required: true
schema:
type: string
responses:
'200':
description: Schedule retrieved successfully.
content:
application/json:
schema:
type: string
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/gin.H'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/gin.H'
security:
- Bearer: []
patch:
summary: Update a schedule.
description: Update an existing schedule with new details.
operationId: Update_schedule
tags:
- scheduler
parameters:
- name: scheduleId
in: path
description: Schedule ID.
required: true
schema:
type: string
requestBody:
description: Schedule update request payload.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/server.updateSchedule'
responses:
'200':
description: Schedule updated successfully.
content:
application/json:
schema:
type: string
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/gin.H'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/gin.H'
security:
- Bearer: []
components:
securitySchemes:
Bearer:
type: apiKey
name: Authorization
in: header
description: 'JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"'
schemas:
client.ScheduleBackfill:
type: object
properties:
end:
description: End - end of the range to evaluate schedule in.
type: string
overlap:
$ref: '#/components/schemas/enums.ScheduleOverlapPolicy'
start:
description: Start - start of the range to evaluate schedule in.
type: string
client.ScheduleCalendarSpec:
type: object
properties:
comment:
description: Comment - Description of the intention of this schedule.
type: string
dayOfMonth:
description: 'DayOfMonth range to match (1-31)
default: matches all days'
type: array
items:
$ref: '#/components/schemas/internal.ScheduleRange'
dayOfWeek:
description: 'DayOfWeek range to match (0-6; 0 is Sunday)
default: matches all days of the week'
type: array
items:
$ref: '#/components/schemas/internal.ScheduleRange'
hour:
description: 'Hour range to match (0-23).
default: matches 0'
type: array
items:
$ref: '#/components/schemas/internal.ScheduleRange'
minute:
description: 'Minute range to match (0-59).
default: matches 0'
type: array
items:
$ref: '#/components/schemas/internal.ScheduleRange'
month:
description: 'Month range to match (1-12)
default: matches all months'
type: array
items:
$ref: '#/components/schemas/internal.ScheduleRange'
second:
description: 'Second range to match (0-59).
default: matches 0'
type: array
items:
$ref: '#/components/schemas/internal.ScheduleRange'
year:
description: 'Year range to match.
default: empty that matches all years'
type: array
items:
$ref: '#/components/schemas/internal.ScheduleRange'
client.ScheduleIntervalSpec:
type: object
properties:
every:
$ref: '#/components/schemas/time.Duration'
offset:
$ref: '#/components/schemas/time.Duration'
enums.ScheduleOverlapPolicy:
type: integer
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
x-enum-varnames:
- SCHEDULE_OVERLAP_POLICY_UNSPECIFIED
- SCHEDULE_OVERLAP_POLICY_SKIP
- SCHEDULE_OVERLAP_POLICY_BUFFER_ONE
- SCHEDULE_OVERLAP_POLICY_BUFFER_ALL
- SCHEDULE_OVERLAP_POLICY_CANCEL_OTHER
- SCHEDULE_OVERLAP_POLICY_TERMINATE_OTHER
- SCHEDULE_OVERLAP_POLICY_ALLOW_ALL
description: Overlap - Override the Overlap Policy for this request.
gin.H:
type: object
additionalProperties: {}
internal.ScheduleRange:
type: object
properties:
end:
description: 'End of the range (inclusive)
Optional: defaulted to Start'
type: integer
start:
description: Start of the range (inclusive)
type: integer
step:
description: 'Step to be take between each value
Optional: defaulted to 1'
type: integer
server.ScheduleSpec:
type: object
properties:
calendars:
type: array
items:
$ref: '#/components/schemas/client.ScheduleCalendarSpec'
cronExpressions:
type: array
items:
type: string
endAt:
type: string
intervals:
type: array
items:
$ref: '#/components/schemas/client.ScheduleIntervalSpec'
jitter:
$ref: '#/components/schemas/time.Duration'
skip:
type: array
items:
$ref: '#/components/schemas/client.ScheduleCalendarSpec'
startAt:
type: string
timeZoneName:
type: string
server.createSchedule:
type: object
properties:
catchupWindow:
$ref: '#/components/schemas/time.Duration'
data:
type: object
jobName:
type: string
logLevel:
type: string
note:
type: string
overlap:
$ref: '#/components/schemas/enums.ScheduleOverlapPolicy'
pauseOnFailure:
type: boolean
paused:
type: boolean
remainingActions:
type: integer
scheduleBackfill:
type: array
items:
$ref: '#/components/schemas/client.ScheduleBackfill'
scheduleId:
type: string
spec:
$ref: '#/components/schemas/server.ScheduleSpec'
tags:
type: array
items:
type: string
triggerImmediately:
type: boolean
workflowName:
type: string
workflowVersion:
type: string
server.updateSchedule:
type: object
properties:
catchupWindow:
$ref: '#/components/schemas/time.Duration'
data:
type: object
jobName:
type: string
logLevel:
type: string
note:
type: string
overlap:
$ref: '#/components/schemas/enums.ScheduleOverlapPolicy'
pauseOnFailure:
type: boolean
paused:
type: boolean
remainingActions:
type: integer
scheduleBackfill:
type: array
items:
$ref: '#/components/schemas/client.ScheduleBackfill'
spec:
$ref: '#/components/schemas/server.ScheduleSpec'
tags:
type: array
items:
type: string
triggerImmediately:
type: boolean
workflowName:
type: string
workflowVersion:
type: string
time.Duration:
type: integer
enum:
- -9223372036854776000
- 9223372036854776000
- 1
- 1000
- 1000000
- 1000000000
- 60000000000
- 3600000000000
x-enum-varnames:
- minDuration
- maxDuration
- Nanosecond
- Microsecond
- Millisecond
- Second
- Minute
- Hour
description: 'Offset - is a fixed offset added to the intervals period.
Optional: Defaulted to 0'
security:
- Bearer: []