Offered APIs¶
This document describes the CMSO APIs provided by the Change Management Schedule Optimizer (CMSO)
To view API documentation in the interactive swagger UI download the following and paste into the swagger tool here: https://editor.swagger.io
CMSO Service API¶
CMSO Administration¶
GET /{apiVersion}/admin/{id}
Description: Returns encrypted value of id.
Produces: [‘text/plain’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1|v2 |
string |
id |
path |
Identifier |
array |
Responses
200 - OK
400 - Request failed
GET /{apiVersion}/health
Description: Returns health status of server.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
checkInterfaces |
query |
Check Interfaces |
array |
Responses
200 - OK
400 - Not healthy
CMSO Optimized Schedule API¶
POST /{apiVersion}/schedules/optimized/{scheduleId}
Description: Creates a request for an optimized schedule
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
scheduleId |
path |
Schedule id to uniquely identify the schedule request being created. |
string |
body |
body |
Data for creating a schedule request for the given schedule id |
Responses
202 - Schedule request accepted for optimization.
409 - Schedule request already exists for this schedule id.
500 - Unexpected Runtime error
CMSO Schedule API¶
GET /{apiVersion}/schedules
Description: Returns a list of Scheduler Requests based upon the filter criteria.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
includeDetails |
query |
Include details |
boolean |
scheduleId |
query |
Schedule identifier |
array |
scheduleName |
query |
Schedule name |
array |
userId |
query |
SCheduler creator User id of |
array |
status |
query |
Schedule status |
array |
createDateTime |
query |
Creation date and time (<low date>[,<hi date>]) |
array |
optimizerStatus |
query |
Optimizer status |
array |
WorkflowName |
query |
Workflow |
array |
Responses
200 - OK
404 - No records found
500 - Unexpected Runtime error
GET /{apiVersion}/schedules/scheduleDetails
Description: Returns a list of Schedule request details based upon the filter criteria.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
request.scheduleId |
query |
Schedule identifier |
array |
request.scheduleName |
query |
Schedule name |
array |
request.userId |
query |
Scheduler creator User id of |
array |
request.status |
query |
Schedule status |
array |
request.createDateTime |
query |
Creation date and time (<low date>[,<hi date>]) |
array |
request.optimizerStatus |
query |
Optimizer status |
array |
request.approvalUserId |
query |
Request Approval user id |
array |
request.approvalStatus |
query |
Request Approval status |
array |
request.approvalType |
query |
Request Approval type |
array |
WorkflowName |
query |
Workflow |
array |
vnfName |
query |
VNF Name |
array |
vnfId |
query |
VNF Id |
array |
vnfStatus |
query |
VNF Status |
array |
startTime |
query |
Start time <low>,<high> |
array |
finishTime |
query |
Finish time <low>,<high> |
array |
lastInstanceTime |
query |
Last instance start time <low>,<high> |
array |
tmChangeId |
query |
TM Change Ticket Change Id |
array |
maxSchedules |
query |
Maximum number of schedules to return |
integer |
lastScheduleId |
query |
Return schedules > lastScheduleId |
string |
request.concurrencyLimit |
query |
Return concurrencyLimit |
integer |
Responses
200 - OK
404 - No records found
500 - Unexpected Runtime error
GET /{apiVersion}/schedules/{scheduleId}
Description: Retrieve the schedule request for scheduleId
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
scheduleId |
path |
Schedule id to uniquely identify the schedule info being retrieved. |
string |
Responses
200 - OK
404 - No record found
500 - Unexpected Runtime error
POST /{apiVersion}/schedules/{scheduleId}
Description: Creates a schedule request for scheduleId
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
scheduleId |
path |
Schedule id to uniquely identify the schedule request being created. |
string |
body |
body |
Data for creating a schedule request for the given schedule id |
Responses
202 - Schedule request accepted for optimization.
409 - Schedule request already exists for this schedule id.
500 - Unexpected Runtime error
DELETE /{apiVersion}/schedules/{scheduleId}
Description: Cancels the schedule request for scheduleId
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
scheduleId |
path |
Schedule id to uniquely identify the schedule request being deleted. |
string |
Responses
204 - Delete successful
404 - No record found
500 - Unexpected Runtime error
POST /{apiVersion}/schedules/{scheduleId}/approvals
Description: Adds an accept/reject approval status to the schedule request identified by scheduleId
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
scheduleId |
path |
Schedule id to uniquely identify the schedule request being accepted or rejected. |
string |
body |
body |
Accept or reject approval message |
Responses
200 - OK
404 - No record found
500 - Unexpected Runtime error
{
}
{
}
CMSO Optimizer API¶
Administration¶
GET /{apiVersion}/admin/{id}
Description: Returns encrypted value of id.
Produces: [‘text/plain’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1|v2 |
string |
id |
path |
Identifier |
string |
Responses
200 - OK
400 - Request failed
GET /{apiVersion}/health
Description: Returns health status of server.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
checkInterfaces |
query |
Check Interfaces |
boolean |
Responses
200 - OK
400 - Not healthy
Optimizer Interface¶
POST /{apiVersion}/optimize/schedule
Description: API to request schedule optimization for the passed elements.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
body |
body |
Optimization data. |
Responses
202 - Accepted
400 - Bad request
500 - Unexpected Runtime error
GET /{apiVersion}/optimize/schedule/{id}
Description: API to poll for optimized schedule.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
id |
path |
Request id |
string |
Responses
200 - OK
404 - Not found.
500 - Unexpected Runtime error
DELETE /{apiVersion}/optimize/schedule/{id}
Description: API to acknowledge and delete optimized schedule request. Acknowledgesthat optimization has results have been retrieved an are safe to delete
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
id |
path |
Request id |
string |
Responses
204 - Deleted
404 - Not found.
500 - Unexpected Runtime error
GET /{apiVersion}/policies
Description: API to retrieve supported change management policies.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
Responses
200 - OK
400 - Bad request
500 - Unexpected Runtime error
{
}
{
}
CMSO Ticket Management API¶
Administration¶
GET /{apiVersion}/admin/{id}
Description: Returns encrypted value of id.
Produces: [‘text/plain’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1|v2 |
string |
id |
path |
Identifier |
string |
Responses
200 - OK
400 - Request failed
GET /{apiVersion}/health
Description: Returns health status of server.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
checkInterfaces |
query |
Check Interfaces |
boolean |
Responses
200 - OK
400 - Not healthy
Availability Interface¶
POST /{apiVersion}/activetickets
Request Active Tickets
Description: API to support conflict avoidance. Retrieves the active ticket data for the passed criteria to detemine availability of passed elements within the passed time window. If the request results in asynchronous processging, IN_PROGRESS status will be returned and the optimizer will begin to poll the request until COMPLETED.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
body |
body |
Active ticket criteria (elements and change windows). |
Responses
200 - OK
400 - Bad request
500 - Unexpected Runtime error
GET /{apiVersion}/activetickets/{id}
Poll Active Tickets Request
Description: Poll for the status of the request id. Optimizser will poll until status is COMPLETED and issue acknowledge (DELETE) API to acknowledge the receipt of the response.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
id |
path |
Active tickets request id. |
string |
Responses
200 - OK
404 - Not found.
500 - Unexpected Runtime error
DELETE /{apiVersion}/activetickets/{id}
Acknowledge Active Tickets Response
Description: API call used to acknowledge the receipt of a COMPLETED asynchronous request to enable the Ticket Management service to remove it from their cache. The service may remove from the cache on the poll request. The optimizer will treat Not found reponse on as normal.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
id |
path |
Active tickets request id. |
string |
Responses
200 - successful operation
204 - OK
404 - Not found
500 - Unexpected Runtime error
Ticket Management¶
POST /{apiVersion}/ticket
Create Ticket
Description: Creates a ticket for the passed data
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
body |
body |
Data for creating a ticket |
Responses
200 - Ticket Created. Ticket Id returned.
400 - Bad request.
500 - Unexpected Runtime error
PUT /{apiVersion}/ticket
Update Ticket
Description: Updates a ticket to the passed data
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
body |
body |
Data for updating a ticket |
Responses
204 - Ticket Updated.
400 - Bad request.
500 - Unexpected Runtime error
GET /{apiVersion}/ticket/{id}
Fetch Ticket
Description: Returns ticket information for the provided ticket id.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
id |
path |
Unique ticket identifier |
string |
Responses
200 - OK
404 - No record found
500 - Unexpected Runtime error
DELETE /{apiVersion}/ticket/{id}
Cancel the ticket
Description: Cancels the ticket.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
id |
path |
Ticket id to uniquely identify the ticket being deleted. |
string |
Responses
204 - Delete successful
400 - Bad request
404 - No record found
500 - Unexpected Runtime error
GET /{apiVersion}/tickets
Search Tickets
Description: Returns a list of based upon the filter criteria.
Produces: [‘application/json’]
Parameters
Name |
Position |
Description |
Type |
---|---|---|---|
apiVersion |
path |
v1 |
string |
id |
query |
Ticket identifier |
array |
elementId |
query |
Element Id |
array |
startTime |
query |
Start time <low>,<high> |
array |
finishTime |
query |
Finish time <low>,<high> |
array |
maxTickets |
query |
Maximum number of tickets to return |
integer |
lastId |
query |
Return tickets > last id |
string |
Responses
200 - OK
400 - Bad request
500 - Unexpected Runtime error
{
}
{
}
CMSO Topology API¶
oof-cmso-api.json
Error
Unable to process URL: ./swaggerdoc/oof-cmso-topology-api.json. Please check that the URL is a valid Swagger api-docs URL and it is accesible
{
}
{
}