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

oof-cmso-api.json

CMSO Optimized Schedule API

POST /{apiVersion}/schedules/optimized/{scheduleId}

  • Produces: [u’application/json’]
  • Description: Creates a request for an optimized schedule

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.

500 - Unexpected Runtime error

409 - Schedule request already exists for this schedule id.

CMSO Schedule API

POST /{apiVersion}/schedules/{scheduleId}/approvals

  • Produces: [u’application/json’]
  • Description: Adds an accept/reject approval status to the schedule request identified by scheduleId

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

GET /{apiVersion}/schedules/scheduleDetails

  • Produces: [u’application/json’]
  • Description: Returns a list of Schedule request details based upon the filter criteria.

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

POST /{apiVersion}/schedules/{scheduleId}

  • Produces: [u’application/json’]
  • Description: Creates a schedule request for scheduleId

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.

500 - Unexpected Runtime error

409 - Schedule request already exists for this schedule id.

DELETE /{apiVersion}/schedules/{scheduleId}

  • Produces: [u’application/json’]
  • Description: Cancels the schedule request for scheduleId

Parameters

Name Position Description Type
apiVersion path v1 string
scheduleId path Schedule id to uniquely identify the schedule request being deleted. string

Responses

404 - No record found

204 - Delete successful

500 - Unexpected Runtime error

GET /{apiVersion}/schedules/{scheduleId}

  • Produces: [u’application/json’]
  • Description: Retrieve the schedule request for scheduleId

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

GET /{apiVersion}/schedules

  • Produces: [u’application/json’]
  • Description: Returns a list of Scheduler Requests based upon the filter criteria.

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

CMSO Administration

GET /{apiVersion}/health

  • Produces: [u’application/json’]
  • Description: Returns health status of server.

Parameters

Name Position Description Type
apiVersion path v1 string
checkInterfaces query Check Interfaces array

Responses

200 - OK

400 - Not healthy

GET /{apiVersion}/admin/{id}

  • Produces: [u’text/plain’]
  • Description: Returns encrypted value of id.

Parameters

Name Position Description Type
apiVersion path v1|v2 string
id path Identifier array

Responses

200 - OK

400 - Request failed

{
}
{
}

CMSO Optimizer API

oof-cmso-api.json

Optimizer Interface

DELETE /{apiVersion}/optimize/schedule/{id}

  • Produces: [u’application/json’]
  • Description: API to acknowledge and delete optimized schedule request. Acknowledgesthat optimization has results have been retrieved an are safe to delete

Parameters

Name Position Description Type
apiVersion path v1 string
id path Request id string

Responses

404 - Not found.

204 - Deleted

500 - Unexpected Runtime error

GET /{apiVersion}/optimize/schedule/{id}

  • Produces: [u’application/json’]
  • Description: API to poll for optimized schedule.

Parameters

Name Position Description Type
apiVersion path v1 string
id path Request id string

Responses

200 - OK

404 - Not found.

500 - Unexpected Runtime error

GET /{apiVersion}/policies

  • Produces: [u’application/json’]
  • Description: API to retrieve supported change management policies.

Parameters

Name Position Description Type
apiVersion path v1 string

Responses

200 - OK

500 - Unexpected Runtime error

400 - Bad request

POST /{apiVersion}/optimize/schedule

  • Produces: [u’application/json’]
  • Description: API to request schedule optimization for the passed elements.

Parameters

Name Position Description Type
apiVersion path v1 string
body body Optimization data.

Responses

202 - Accepted

500 - Unexpected Runtime error

400 - Bad request

Administration

GET /{apiVersion}/health

  • Produces: [u’application/json’]
  • Description: Returns health status of server.

Parameters

Name Position Description Type
apiVersion path v1 string
checkInterfaces query Check Interfaces boolean

Responses

200 - OK

400 - Not healthy

GET /{apiVersion}/admin/{id}

  • Produces: [u’text/plain’]
  • Description: Returns encrypted value of id.

Parameters

Name Position Description Type
apiVersion path v1|v2 string
id path Identifier string

Responses

200 - OK

400 - Request failed

{
}
{
}

CMSO Ticket Management API

oof-cmso-api.json

Ticket Management

GET /{apiVersion}/tickets

Search Tickets

  • Produces: [u’application/json’]
  • Description: Returns a list of based upon the filter criteria.

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

500 - Unexpected Runtime error

400 - Bad request

DELETE /{apiVersion}/ticket/{id}

Cancel the ticket

  • Produces: [u’application/json’]
  • Description: Cancels the ticket.

Parameters

Name Position Description Type
apiVersion path v1 string
id path Ticket id to uniquely identify the ticket being deleted. string

Responses

404 - No record found

204 - Delete successful

500 - Unexpected Runtime error

400 - Bad request

GET /{apiVersion}/ticket/{id}

Fetch Ticket

  • Produces: [u’application/json’]
  • Description: Returns ticket information for the provided ticket id.

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

PUT /{apiVersion}/ticket

Update Ticket

  • Produces: [u’application/json’]
  • Description: Updates a ticket to the passed data

Parameters

Name Position Description Type
apiVersion path v1 string
body body Data for updating a ticket

Responses

204 - Ticket Updated.

500 - Unexpected Runtime error

400 - Bad request.

POST /{apiVersion}/ticket

Create Ticket

  • Produces: [u’application/json’]
  • Description: Creates a ticket for the passed data

Parameters

Name Position Description Type
apiVersion path v1 string
body body Data for creating a ticket

Responses

200 - Ticket Created. Ticket Id returned.

500 - Unexpected Runtime error

400 - Bad request.

Availability Interface

POST /{apiVersion}/activetickets

Request Active Tickets

  • Produces: [u’application/json’]
  • 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.

Parameters

Name Position Description Type
apiVersion path v1 string
body body Active ticket criteria (elements and change windows).

Responses

200 - OK

500 - Unexpected Runtime error

400 - Bad request

DELETE /{apiVersion}/activetickets/{id}

Acknowledge Active Tickets Response

  • Produces: [u’application/json’]
  • 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.

Parameters

Name Position Description Type
apiVersion path v1 string
id path Active tickets request id. string

Responses

200 - successful operation

404 - Not found

204 - OK

500 - Unexpected Runtime error

GET /{apiVersion}/activetickets/{id}

Poll Active Tickets Request

  • Produces: [u’application/json’]
  • 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.

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

Administration

GET /{apiVersion}/health

  • Produces: [u’application/json’]
  • Description: Returns health status of server.

Parameters

Name Position Description Type
apiVersion path v1 string
checkInterfaces query Check Interfaces boolean

Responses

200 - OK

400 - Not healthy

GET /{apiVersion}/admin/{id}

  • Produces: [u’text/plain’]
  • Description: Returns encrypted value of id.

Parameters

Name Position Description Type
apiVersion path v1|v2 string
id path Identifier string

Responses

200 - OK

400 - Request failed

{
}
{
}

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

{
}
{
}