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

{
}
{
}