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 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

oof-cmso-api.json

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

oof-cmso-api.json

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

{
}
{
}