openapi: 3.0.1
info:
description: |
**This file forms part of Mplify 143**
**This API implements part of Business Requirements & Use Cases described
in Mplify 133.1.**
Mplify Performance Monitoring API allows to manage Performance Profiles,
Performance Jobs and collect Performance Reports, as well as receive
notifications related to these entities. This enables the management
of performance objectives typically associated with SLS, the on-demand
collection of performance data, and the retrieval of passive statistics.
Three types of performance-related entities are supported by the API:
- **Performance Monitoring Profile** - templates used to simplify the
Performance Monitoring Job provisioning. Common attributes for PM Jobs
are defined in the PM Profile. One PM Profile can be used by multiple
PM Jobs but PM Jobs can also be created without relationship to PM Profile.
- **Performance Monitoring Job** - provisions the performance monitoring
objectives specific to each subject of monitoring which could be a service,
an ordered pair (e.g., two UNIs), or an entity (e.g., port).
- **Performance Monitoring Report** - the execution of PM Job results in
Performance Monitoring Report that provide Buyer/Client with
performance objective results. In some cases, PM Report may be triggered
by a request from the Buyer/Client without being linked to a Performance
Job, which applies when retrieving data that already exists
in the performance data database.
List of use cases supported by the API:
- Create Performance Monitoring Profile
- Retrieve list of Performance Monitoring Profiles
- Retrieve Performance Monitoring Profile by Identifier
- Modify Performance Monitoring Profile
- Delete Performance Monitoring Profile
- Subscribe to Performance Monitoring Profile Notifications
- Unsubscribe from Performance Monitoring Profile Notifications
- Create Performance Monitoring Job
- Retrieve list of Performance Monitoring Jobs
- Retrieve Performance Monitoring Job by Identifier
- Modify Performance Monitoring Job
- Retrieve Modify Performance Monitoring Job List
- Retrieve Modify Performance Monitoring Job by Identifier
- Cancel Performance Monitoring Job
- Retrieve Cancel Performance Monitoring Job List
- Retrieve Cancel Performance Monitoring Job by Identifier
- Suspend Performance Monitoring Job
- Resume Performance Monitoring Job
- Subscribe to Performance Monitoring Job Notifications
- Unsubscribe from Performance Monitoring Job Notifications
- Create Performance Monitoring Report
- Retrieve list of Performance Monitoring Reports
- Retrieve Performance Report by Identifier
- Subscribe to Performance Monitoring Report Notifications
- Unsubscribe from Performance Monitoring Report Notifications
Copyright 2025 Mplify Alliance and its contributors
This file includes content based on the TM Forum Performance Management API
(TMF628 v5.0.0) available at
https://www.tmforum.org/oda/open-apis/directory/performance-management-api-TMF628/v5.0, which is licensed by
the TM Forum under the Apache License version 2.0. Such content has been
modified by the Mplify Alliance and its contributors.
title: Performance Monitoring
version: 5.0.0
servers:
- url: 'https://{serverBase}/mefApi/interlude/performanceMonitoring/v5/'
variables:
serverBase:
default: mplify.com
description:
The base hostname of the SOF (Service Orchestration Function) server.
tags:
- name: performanceJob
- name: performanceProfile
- name: performanceReport
- name: trackingRecord
- name: events subscription
paths:
/performanceJob:
get:
description: >-
The Buyer/Client requests a list of PM Jobs based on a set of filter
criteria. The Seller/Server returns a summarized list of PM Jobs. For
each PM Job returned, the Seller/Server also provides a Performance
Job Identifier that uniquely identifies this PM Job within the
Seller/Server. The order of the elements returned to the Buyer/Client
is defined by the Seller/Server (e.g. natural order) and does not
change between the pages.
operationId: listPerformanceJob
parameters:
- description: >-
Identifier assigned and understandable by Buyer/Client to
facilitate search requests.
explode: true
in: query
name: buyerJobId
required: false
schema:
type: string
style: form
- description: >-
Identifier of a Service.
explode: true
in: query
name: serviceId
required: false
schema:
type: string
style: form
- description: >-
Identifier of a Service From endpoint.
explode: true
in: query
name: serviceFromId
required: false
schema:
type: string
style: form
- description: >-
Identifier of a Service To endpoint.
explode: true
in: query
name: serviceToId
required: false
schema:
type: string
style: form
- description: >-
Identifier of an Entity.
explode: true
in: query
name: entityId
required: false
schema:
type: string
style: form
- description: >-
Identifier of Performance Profile used as a template for
Performance Job.
explode: true
in: query
name: performanceProfileId
required: false
schema:
type: string
style: form
- description: >-
State of the Performance Job. See `PerformanceJobStateType`
definition for details.
explode: true
in: query
name: state
required: false
schema:
$ref: '#/components/schemas/PerformanceJobStateType'
style: form
- description: Date when the job was created - greater than.
explode: true
in: query
name: creationDateTime.gt
required: false
schema:
format: date-time
type: string
style: form
- description: Date when the job was created - lower than.
explode: true
in: query
name: creationDateTime.lt
required: false
schema:
format: date-time
type: string
style: form
- description: Type of the Performance Job.
explode: true
in: query
name: jobType
required: false
schema:
$ref: '#/components/schemas/JobType'
style: form
- description: The priority of the Performance Job.
explode: true
in: query
name: jobPriority
required: false
schema:
type: string
style: form
- description: Identifier of consuming application.
explode: true
in: query
name: consumingApplicationId
required: false
schema:
type: string
style: form
- description: Identifier of producing application.
explode: true
in: query
name: producingApplicationId
required: false
schema:
type: string
style: form
- description: >-
Requested index for start of item to be provided in response
requested by the client. Note that the index starts with "0".
explode: true
in: query
name: offset
required: false
schema:
type: integer
style: form
- description: >-
Requested number of resources to be provided in response.
explode: true
in: query
name: limit
required: false
schema:
format: int32
type: integer
style: form
responses:
'200':
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/PerformanceJob'
description: >-
'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
headers:
X-Pagination-Throttled:
description: >-
Used to indicate that result page was throttled to maximum
possible size and there are additional results that can be
fetched.
explode: false
schema:
type: boolean
style: simple
X-Total-Count:
description: >-
The total number of matching items. E.g. if there are 50
matching items in total, but the request has offset=10 and
limit=10, then the X-Total-Count is 50.
explode: false
schema:
type: integer
style: simple
X-Result-Count:
description: The number of items included in the response.
explode: false
schema:
type: integer
style: simple
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: List or find Performance Job objects.
tags:
- performanceJob
post:
description: >-
A request initiated by the Buyer/Client to create a Performance Job in
the Seller/Server system to indicate performance monitoring objectives.
operationId: createPerformanceJob
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/PerformanceJob_Create'
description: The Performance Job to be created.
required: true
responses:
'201':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/PerformanceJob'
description: >-
'Created (https://tools.ietf.org/html/rfc7231#section-6.3.2)'
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Creates a Performance Job.
tags:
- performanceJob
'/performanceJob/{id}':
get:
description: >-
The Buyer/Client requests detailed information about a single
Performance Job based on the Job Identifier.
operationId: retrievePerformanceJob
parameters:
- description: Identifier of the Performance Job.
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/PerformanceJob'
description: >-
'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'404':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error404'
description: Not Found
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Retrieves a Performance Job by ID.
tags:
- performanceJob
'/performanceJob/{id}/resume':
post:
description: >-
A request initiated by the Buyer/Client to resume a Performance Job
operationId: resumePerformanceJob
parameters:
- description: Identifier of the PerformanceJob.
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Resumed
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'404':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error404'
description: Not Found
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description:
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Resumes a Performance Job.
tags:
- performanceJob
'/performanceJob/{id}/suspend':
post:
description: >-
A request initiated by the Buyer/Client to suspend a Performance Job
operationId: suspendPerformanceJob
parameters:
- description: Identifier of the PerformanceJob.
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Suspended
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'404':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error404'
description: Not Found
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description:
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Suspends a Performance Job.
tags:
- performanceJob
/cancelPerformanceJob:
get:
description: >-
The Buyer/Client requests a list of Cancel Performance Monitoring Job
based on a set of filter criteria.
operationId: listCancelPerformanceJob
parameters:
- description: >-
Identifier of Performance Job that is a subject of
CancelPerformanceJob.
explode: true
in: query
name: performanceJobId
required: false
schema:
type: string
style: form
- description: >-
State of CancelPerformanceJob. See `PerformanceJobProcessStateType`
definition for details.
explode: true
in: query
name: state
required: false
schema:
$ref: '#/components/schemas/PerformanceJobProcessStateType'
style: form
- description: >-
Date when the CancelPerformanceJob was created - greater than.
explode: true
in: query
name: creationDateTime.gt
required: false
schema:
format: date-time
type: string
style: form
- description: >-
Date when the CancelPerformanceJob was created - lower than.
explode: true
in: query
name: creationDateTime.lt
required: false
schema:
format: date-time
type: string
style: form
- description: >-
Requested index for start of item to be provided in response
requested by client. Note that the index starts with "0".
explode: true
in: query
name: offset
required: false
schema:
type: integer
format: int32
style: form
- description: >-
Requested number of items to be provided in response requested by
client.
explode: true
in: query
name: limit
required: false
schema:
type: integer
format: int32
style: form
responses:
'200':
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/CancelPerformanceJob'
description: Success
headers:
X-Pagination-Throttled:
description: >-
Used to indicate that result page was throttled to maximum
possible size and there are additional results that can be
fetched.
explode: false
schema:
type: boolean
style: simple
X-Total-Count:
description: >-
The total number of matching items. E.g. if there are 50
matching items in total, but the request has offset=10 and
limit=10, then the X-Total-Count is 50.
explode: false
schema:
type: integer
style: simple
X-Result-Count:
description: The number of items included in the response.
explode: false
schema:
type: integer
style: simple
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Lists or finds CancelPerformanceJob objects.
tags:
- performanceJob
post:
description: >-
A request initiated by the Buyer/Client to cancel a Performance
Monitoring Job in the Seller/Server system.
operationId: createCancelPerformanceJob
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/CancelPerformanceJob_Create'
description: The CancelPerformanceJob to be created.
required: true
responses:
'201':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/CancelPerformanceJob'
description: Created
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'422':
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/Error422'
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
tags:
- performanceJob
/cancelPerformanceJob/{id}:
get:
description: >-
The Buyer/Client requests detailed information about a single Cancel
Performance Monitoring Job based on the Cancel Performance Monitoring
Job Identifier.
operationId: retrieveCancelPerformanceJob
parameters:
- description: Identifier of the CancelPerformanceJob.
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/CancelPerformanceJob'
description: Success
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'404':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error404'
description: Not Found
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Retrieves a CancelPerformanceJob by ID.
tags:
- performanceJob
/modifyPerformanceJob:
get:
description: >-
The Buyer/Client requests a list of Modify Performance Monitoring Job
based on a set of filter criteria.
operationId: listModifyPerformanceJob
parameters:
- description: >-
Identifier of Performance Job that is a subject of
ModifyPerformanceJob.
explode: true
in: query
name: performanceJobId
required: false
schema:
type: string
style: form
- description: >-
State of ModifyPerformanceJob See `PerformanceJobProcessStateType`
definition for details.
explode: true
in: query
name: state
required: false
schema:
$ref: '#/components/schemas/PerformanceJobProcessStateType'
style: form
- description: >-
Date when the ModifyPerformanceJob was created - greater than.
explode: true
in: query
name: creationDateTime.gt
required: false
schema:
format: date-time
type: string
style: form
- description: >-
Date when the ModifyPerformanceJob was created - lower than.
explode: true
in: query
name: creationDateTime.lt
required: false
schema:
format: date-time
type: string
style: form
- description: >-
Requested index for start of item to be provided in response
requested by client. Note that the index starts with "0".
explode: true
in: query
name: offset
required: false
schema:
type: integer
format: int32
style: form
- description: >-
Requested number of items to be provided in response requested by
client.
explode: true
in: query
name: limit
required: false
schema:
type: integer
format: int32
style: form
responses:
'200':
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/ModifyPerformanceJob'
description: Success
headers:
X-Pagination-Throttled:
description: >-
Used to indicate that result page was throttled to maximum
possible size and there are additional results that can be
fetched.
explode: false
schema:
type: boolean
style: simple
X-Total-Count:
description: >-
The total number of matching items. E.g. if there are 50
matching items in total, but the request has offset=10 and
limit=10, then the X-Total-Count is 50.
explode: false
schema:
type: integer
style: simple
X-Result-Count:
description: The number of items included in the response.
explode: false
schema:
type: integer
style: simple
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Lists or finds ModifyPerformanceJob objects.
tags:
- performanceJob
post:
description: >-
A request initiated by the Buyer/Client to modify a Performance
Monitoring Job in the Seller/Server system.
operationId: createModifyPerformanceJob
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ModifyPerformanceJob_Create'
description: The ModifyPerformanceJob to be created.
required: true
responses:
'201':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ModifyPerformanceJob'
description: Created
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'422':
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/Error422'
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
tags:
- performanceJob
/modifyPerformanceJob/{id}:
get:
description: >-
The Buyer/Client requests detailed information about a single Modify
Performance Monitoring Job based on the Modify Performance Monitoring
Job Identifier.
operationId: retrieveModifyPerformanceJob
parameters:
- description: Identifier of the ModifyPerformanceJob.
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/ModifyPerformanceJob'
description: Success
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'404':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error404'
description: Not Found
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Retrieves a ModifyPerformanceJob by ID.
tags:
- performanceJob
/performanceJobComplexQuery:
post:
description: >-
A request initiated by the Buyer/Client to execute a Performance
Monitoring Job Complex Query in the Seller/Server system.
operationId: performanceJobComplexQuery
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/PerformanceJobComplexQuery_Create'
description: The PerformanceJobComplexQuery to be executed.
required: true
responses:
'200':
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/PerformanceJob'
description: >-
'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Executes a PerformanceJobComplexQuery.
tags:
- performanceJob
/performanceProfile:
get:
description: >-
The Buyer/Client requests a list of Performance Monitoring Profiles
based on a set of filter criteria. The Seller/Server returns a list of
PM Profiles. For each PM Profile returned, the Seller/Server also
provides a Performance Monitoring Profile Identifier that uniquely
identifies this PM Profile within the Seller/Server. The order of the
elements returned to the Buyer is defined by the Seller/Server (e.g.
natural order) and does not change between the pages.
operationId: listPerformanceProfile
parameters:
- description: Date when the profile was created - greater than.
explode: true
in: query
name: creationDateTime.gt
required: false
schema:
format: date-time
type: string
style: form
- description: Date when the profile was created - lower than.
explode: true
in: query
name: creationDateTime.lt
required: false
schema:
format: date-time
type: string
style: form
- description: Type of the Performance Job.
explode: true
in: query
name: jobType
required: false
schema:
$ref: '#/components/schemas/JobType'
style: form
- description: The priority of the Performance Job.
explode: true
in: query
name: jobPriority
required: false
schema:
type: string
style: form
- description: The lifecycle status of the Performance Profile.
explode: true
in: query
name: lifecycleStatus
required: false
schema:
$ref: '#/components/schemas/PerformanceProfileLifecycleStatusType'
style: form
- description: >-
Requested index for start of item to be provided in response
requested by the client. Note that the index starts with "0".
explode: true
in: query
name: offset
required: false
schema:
type: integer
style: form
- description: >-
Requested number of resources to be provided in response.
explode: true
in: query
name: limit
required: false
schema:
format: int32
type: integer
style: form
responses:
'200':
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/PerformanceProfile'
description: >-
'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
headers:
X-Pagination-Throttled:
description: >-
Used to indicate that result page was throttled to maximum
possible size and there are additional results that can be
fetched.
explode: false
schema:
type: boolean
style: simple
X-Total-Count:
description: >-
The total number of matching items. E.g. if there are 50
matching items in total, but the request has offset=10 and
limit=10, then the X-Total-Count is 50.
explode: false
schema:
type: integer
style: simple
X-Result-Count:
description: The number of items included in the response.
explode: false
schema:
type: integer
style: simple
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: List or find Performance Profile objects.
tags:
- performanceProfile
post:
description: >-
A request initiated by the Buyer/Client to create a Performance
Monitoring Profile in the Seller/Server system.
operationId: createPerformanceProfile
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/PerformanceProfile_Create'
description: The Performance Monitoring Profile to be created.
required: true
responses:
'201':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/PerformanceProfile'
description: >-
'Created (https://tools.ietf.org/html/rfc7231#section-6.3.2)'
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Creates a Performance Profile.
tags:
- performanceProfile
'/performanceProfile/{id}':
delete:
description: >-
The Buyer/Client requests deletion of Performance Monitoring Profile by
specifying Performance Monitoring Profile Identifier.
operationId: deletePerformanceProfile
parameters:
- description: Identifier of the Performance Profile.
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
'204':
description: Deleted
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'404':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error404'
description: Not Found
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Deletes a Performance Profile.
tags:
- performanceProfile
get:
description: >-
The Buyer/Client requests detailed information about a single
Performance Monitoring Profile based on the Performance Monitoring
Profile Identifier.
operationId: retrievePerformanceProfile
parameters:
- description: Identifier of the Performance Profile.
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/PerformanceProfile'
description: >-
'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'404':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error404'
description: Not Found
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Retrieves a Performance Profile by ID.
tags:
- performanceProfile
patch:
description: >-
A request initiated by the Buyer/Client to modify a Performance
Monitoring Profile in the Seller/Server system based on a Performance
Monitoring Profile Identifier.
operationId: modifyPerformanceProfile
parameters:
- description: Identifier of the Performance Profile.
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/PerformanceProfile_Update'
description: The Performance Profile to be updated.
required: true
responses:
'200':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/PerformanceProfile'
description: >-
'Updated (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'404':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error404'
description: Not Found
'409':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error409'
description: Conflict
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Updates partially a Performance Profile.
tags:
- performanceProfile
/performanceReport:
get:
description: >-
The Buyer/Client requests a list of Performance Monitoring Reports
based on a set of filter criteria. The Seller/Server returns a
summarized list of PM Reports. For each PM Report returned, the
Seller/Server also provides a Performance Monitoring Report Identifier
that uniquely identifies this PM Report within the Seller/Server. The
order of the elements returned to the Buyer/Client is defined by the
Seller/Server (e.g. natural order) and does not change between the
pages.
operationId: listPerformanceReport
parameters:
- description: >-
Identifier of Performance Job that generated Performance Report.
explode: true
in: query
name: performanceJobId
required: false
schema:
type: string
style: form
- description: Identifier of a Service From endpoint.
explode: true
in: query
name: serviceFromId
required: false
schema:
type: string
style: form
- description: Identifier of a Service To endpoint.
explode: true
in: query
name: serviceToId
required: false
schema:
type: string
style: form
- description: >-
Identifier of a Service.
explode: true
in: query
name: serviceId
required: false
schema:
type: string
style: form
- description: Identifier of a Entity.
explode: true
in: query
name: entityId
required: false
schema:
type: string
style: form
- description: >-
State of the Performance Report. See `PerformanceReportStateType`
definition for details.
explode: true
in: query
name: state
required: false
schema:
$ref: '#/components/schemas/PerformanceReportStateType'
style: form
- description: Date when the report was created - greater than.
explode: true
in: query
name: creationDateTime.gt
required: false
schema:
format: date-time
type: string
style: form
- description: Date when the report was created - lower than.
explode: true
in: query
name: creationDateTime.lt
required: false
schema:
format: date-time
type: string
style: form
- description: Start date of reporting timeframe - greater than.
explode: true
in: query
name: reportingTimeframe.startDate.gt
required: false
schema:
format: date-time
type: string
style: form
- description: Start date of reporting timeframe - lower than.
explode: true
in: query
name: reportingTimeframe.startDate.lt
required: false
schema:
format: date-time
type: string
style: form
- description: End date of reporting timeframe - greater than.
explode: true
in: query
name: reportingTimeframe.endDate.gt
required: false
schema:
format: date-time
type: string
style: form
- description: End date of reporting timeframe - lower than.
explode: true
in: query
name: reportingTimeframe.endDate.lt
required: false
schema:
format: date-time
type: string
style: form
- description: Format of report output.
explode: true
in: query
name: outputFormat
required: false
schema:
$ref: '#/components/schemas/OutputFormat'
style: form
- description: Type of providing report results.
explode: true
in: query
name: resultFormat
required: false
schema:
$ref: '#/components/schemas/ResultFormat'
style: form
- description: >-
Requested index for start of item to be provided in response
requested by the client. Note that the index starts with "0".
explode: true
in: query
name: offset
required: false
schema:
type: integer
style: form
- description: >-
Requested number of resources to be provided in response.
explode: true
in: query
name: limit
required: false
schema:
format: int32
type: integer
style: form
responses:
'200':
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/PerformanceReport_Find'
description: >-
'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
headers:
X-Pagination-Throttled:
description: >-
Used to indicate that result page was throttled to maximum
possible size and there are additional results that can be
fetched.
explode: false
schema:
type: boolean
style: simple
X-Total-Count:
description: >-
The total number of matching items. E.g. if there are 50
matching items in total, but the request has offset=10 and
limit=10, then the X-Total-Count is 50.
explode: false
schema:
type: integer
style: simple
X-Result-Count:
description: The number of items included in the response.
explode: false
schema:
type: integer
style: simple
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: List or find Performance Report objects.
tags:
- performanceReport
post:
description: >-
A request initiated by the Buyer/Client to create a Performance Report
based on existing performance data in the Seller/Server system.
operationId: createPerformanceReport
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/PerformanceReport_Create'
description: The Performance Report to be created.
required: true
responses:
'201':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/PerformanceReport'
description: >-
'Created (https://tools.ietf.org/html/rfc7231#section-6.3.2)'
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Creates a Performance Report.
tags:
- performanceReport
'/performanceReport/{id}':
get:
description: >-
The Buyer/Client requests detailed information about a single
Performance Report based on the Report Identifier.
operationId: retrievePerformanceReport
parameters:
- description: >-
Identifier of the Performance Report to be retrieved.
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/PerformanceReport'
description: >-
'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'404':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error404'
description: Not Found
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Retrieves a Performance Report by ID.
tags:
- performanceReport
/performanceReportComplexQuery:
post:
description: >-
A request initiated by the Buyer/Client to execute a Performance
Monitoring Report Complex Query in the Seller/Server system.
operationId: performanceReportComplexQuery
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/PerformanceReportComplexQuery_Create'
description: The PerformanceReportComplexQuery to be executed.
required: true
responses:
'200':
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/PerformanceReport_Find'
description: >-
'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Executes a PerformanceReportComplexQuery.
tags:
- performanceReport
/trackingRecord:
get:
description: >-
The Buyer/Client requests a list of Tracking Records based on a set of
filter criteria. The Seller/Server returns a list of Tracking Records.
Tracking Record allows for tracking of modifications performed on a
Performance Job, Profile or Report.
operationId: listTrackingRecord
parameters:
- description: >-
Identifier of Performance Job.
explode: true
in: query
name: relatedPerformanceJobId
required: false
schema:
type: string
style: form
- description: >-
Identifier of Performance Profile.
explode: true
in: query
name: relatedPerformanceProfileId
required: false
schema:
type: string
style: form
- description: >-
Identifier of Performance Report.
explode: true
in: query
name: relatedPerformanceReportId
required: false
schema:
type: string
style: form
- description: Date when the record was created - greater than.
explode: true
in: query
name: creationDateTime.gt
required: false
schema:
format: date-time
type: string
style: form
- description: Date when the record was created - lower than.
explode: true
in: query
name: creationDateTime.lt
required: false
schema:
format: date-time
type: string
style: form
- description: >-
Requested index for start of item to be provided in response
requested by the client. Note that the index starts with "0".
explode: true
in: query
name: offset
required: false
schema:
type: integer
style: form
- description: >-
Requested number of resources to be provided in response.
explode: true
in: query
name: limit
required: false
schema:
format: int32
type: integer
style: form
responses:
'200':
content:
application/json;charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/PmTrackingRecord'
description: >-
'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'
headers:
X-Pagination-Throttled:
description: >-
Used to indicate that result page was throttled to maximum
possible size and there are additional results that can be
fetched.
explode: false
schema:
type: boolean
style: simple
X-Total-Count:
description: >-
The total number of matching items. E.g. if there are 50
matching items in total, but the request has offset=10 and
limit=10, then the X-Total-Count is 50.
explode: false
schema:
type: integer
style: simple
X-Result-Count:
description: The number of items included in the response.
explode: false
schema:
type: integer
style: simple
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'422':
content:
application/json;charset=utf-8:
schema:
items:
$ref: '#/components/schemas/Error422'
type: array
description: >-
Unprocessable entity due to the business validation problems.
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
'501':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error501'
description: Method not implemented.
summary: List or find Tracking Record objects.
tags:
- trackingRecord
/hub:
post:
description: >-
The Buyer/Client requests to subscribe to Performance Monitoring
Profile, Performance Monitoring Job and/or Performance Monitoring
Report Notifications.
operationId: registerListener
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/EventSubscriptionInput'
description: >-
Data containing the callback endpoint to deliver the information.
required: true
responses:
'201':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/EventSubscription'
description: Subscribed
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
'501':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error501'
description: Method not implemented.
summary: Register a listener
tags:
- events subscription
'/hub/{id}':
delete:
description: >-
The Buyer/Client requests to unsubscribe from Performance Monitoring
Profile, Performance Monitoring Job or Performance Monitoring Report
Notifications.
operationId: unregisterListener
parameters:
- description: The id of the registered listener.
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
'204':
description: Deleted
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'404':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error404'
description: Not Found
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
'501':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error501'
description: Method not implemented.
summary: Unregister a listener.
tags:
- events subscription
get:
description: >-
The Buyer/Client requests detailed information about a single
Notification Hub based on the Hub Identifier.
operationId: retrieveHub
parameters:
- description: Identifier of the Hub.
explode: false
in: path
name: id
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/EventSubscription'
description: Success
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'404':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error404'
description: Not Found
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
'501':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error501'
description: Method not implemented.
summary: Retrieves a Hub by ID.
tags:
- events subscription
components:
schemas:
AttachmentURL:
type: object
description: The URL pointing to an Attachment for download.
properties:
retentionPeriod:
type: string
format: date-time
description: A date until which the file will be retained.
url:
description: The URL pointing to an Attachment for download.
format: uri
type: string
required:
- url
CancelPerformanceJob:
allOf:
- $ref: '#/components/schemas/CancelPerformanceJob_Create'
- type: object
properties:
creationDateTime:
type: string
format: date-time
description: Date when the Cancel Performance Job was created.
href:
type: string
description: Hyperlink to the Cancel Performance Job entity.
id:
type: string
description: >-
Unique identifier for the Cancel Performance Job that is
generated by the Seller/Server when the Cancel Performance Job
request `state` is set to `acknowledged`.
state:
$ref: '#/components/schemas/PerformanceJobProcessStateType'
description: |-
The state of the process related to the Performance Job.
required:
- creationDateTime
- id
- state
description: Request for cancellation of an existing Performance Job.
CancelPerformanceJob_Create:
type: object
description: Request for cancellation of an existing Performance Job.
properties:
performanceJob:
$ref: '#/components/schemas/PerformanceJobRef'
description: A reference to a Performance Job resource.
required:
- performanceJob
EntityRef:
type: object
description: >-
Reference to Entity.
properties:
'@referredType':
type: string
description: >-
The type of the referred object. This is used to distinguish
between different types of objects that can be referred to by the
EntityId.
entityHref:
type: string
description: >-
Hyperlink to the Entity resource. This is used to provide a link to
the Entity resource in the Seller/Server system.
entityId:
type: string
description: Identifier of an Entity.
'@type':
description:
Used to unambiguously designate the class type when using `oneOf`
type: string
enum:
- EntityRef
required:
- '@type'
- '@referredType'
- entityId
Error:
type: object
description: >-
Standard Class used to describe API response error Not intended to be
used directly. The `code` in the HTTP header is used as a discriminator
for the type of error returned in runtime.
properties:
message:
type: string
description: >-
Text that provides more details and corrective actions related to
the error. This can be shown to a client user.
reason:
type: string
description: >-
Text that explains the reason for the error. This can be shown to a
client user.
maxLength: 255
referenceError:
type: string
description: URL pointing to documentation describing the error.
format: uri
required:
- reason
Error400:
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
$ref: '#/components/schemas/Error400Code'
required:
- code
description: >-
'Bad Request. (https://tools.ietf.org/html/rfc7231#section-6.5.1)'
Error400Code:
type: string
description: |-
One of the following error codes:
- missingQueryParameter: The URI is missing a required query-string
parameter
- missingQueryValue: The URI is missing a required query-string
parameter value
- invalidQuery: The query section of the URI is invalid
- invalidBody: The request has an invalid body.
enum:
- missingQueryParameter
- missingQueryValue
- invalidQuery
- invalidBody
Error401:
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
$ref: '#/components/schemas/Error401Code'
required:
- code
description: >-
'Unauthorized. (https://tools.ietf.org/html/rfc7235#section-3.1)'
Error401Code:
type: string
description: |-
One of the following error codes:
- missingCredentials: No credentials provided
- invalidCredentials: Provided credentials are invalid or expired.
enum:
- missingCredentials
- invalidCredentials
Error403:
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
$ref: '#/components/schemas/Error403Code'
required:
- code
description: >-
Forbidden. This code indicates that the server understood the request
but refused to authorize it.
(https://tools.ietf.org/html/rfc7231#section-6.5.3)
Error403Code:
type: string
description: >-
This code indicates that the server understood the request but refuses
to authorize it because of one of the following error codes: -
accessDenied: Access denied - forbiddenRequester: Forbidden requester -
tooManyUsers: Too many users.
enum:
- accessDenied
- forbiddenRequester
- tooManyUsers
Error404:
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
type: string
description: |-
The following error code:
- notFound: A current representation of the target resource
not found.
enum:
- notFound
required:
- code
description: >-
Resource for the requested path not found.
(https://tools.ietf.org/html/rfc7231#section-6.5.4)
Error409:
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
type: string
description: >-
The following error code: - conflict: The client has provided a
value whose semantics are not appropriate for the property.
enum:
- conflict
required:
- code
description: >-
Conflict (https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.8)
Error422:
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
$ref: '#/components/schemas/Error422Code'
propertyPath:
type: string
description: >-
A pointer to a particular property of the payload that caused
the validation issue. It is highly recommended that this
property should be used.
Defined using JavaScript Object Notation (JSON) Pointer
(https://tools.ietf.org/html/rfc6901).
required:
- code
description: >-
Unprocessable entity due to a business validation problem.
(https://tools.ietf.org/html/rfc4918#section-11.2)
Error422Code:
type: string
description: |-
One of the following error codes:
- missingProperty: The property that was expected is not present in the
payload
- invalidValue: The property has an incorrect value
- invalidFormat: The property value does not comply with the expected
value format
- referenceNotFound: The object referenced by the property cannot be
identified in the target system
- unexpectedProperty: Additional, not expected property has been
provided
- tooLargeDataset: The requested entity will produce too much data
- tooManyRecords: The number of records to be provided in the response
exceeds the threshold
- tooManyRequests: The number of simultaneous requests from one API
client exceeds the threshold
- performanceProfileInUse: Requested Performance Profile is being used
by a Performance Job
- otherIssue: Other problem was identified (detailed information
provided in a reason).
enum:
- missingProperty
- invalidValue
- invalidFormat
- referenceNotFound
- unexpectedProperty
- tooLargeDataset
- tooManyRecords
- tooManyRequests
- performanceProfileInUse
- otherIssue
Error500:
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
type: string
description: >-
The following error code: - internalError: Internal server
error - the server encountered an unexpected condition that
prevented it from fulfilling the request.
enum:
- internalError
required:
- code
description: >-
Internal Server Error.
(https://tools.ietf.org/html/rfc7231#section-6.6.1)
Error501:
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
type: string
description: |-
The following error code:
- notImplemented: Method not supported by the server.
enum:
- notImplemented
required:
- code
description: >-
Not Implemented. Used in case Seller is not supporting an optional
operation. (https://tools.ietf.org/html/rfc7231#section-6.6.2)
EventSubscription:
type: object
description: >-
This resource is used to respond to notification subscriptions.
properties:
callback:
type: string
description: >-
The value provided by the `EventSubscriptionInput` during
notification registration.
id:
type: string
description: >-
An identifier of this Event Subscription assigned when a resource
is created.
query:
type: string
description: >-
The value provided by the `EventSubscriptionInput` during
notification registration.
required:
- callback
- id
EventSubscriptionInput:
type: object
description: This class is used to register for Notifications.
properties:
callback:
type: string
description: >-
This callback value must be set to the *host* property from
Performance Notification API (performanceNotification.api.yaml).
This property is appended with the base path and notification
resource path specified in that API to construct a URL to which
notification is sent. E.g. for 'callback':
"https://bus.mplify.com/listenerEndpoint", the performance job
state change event notification will be sent to
`https://bus.mplify.com/listenerEndpoint/mefApi/interlude/performanceMonitoring/v5/listener/performanceJobStateChangeEvent`.
query:
type: string
description: >-
This attribute is used to define which type of events to register
to. Example: 'query':'eventType =
performanceReportStateChangeEvent'. To subscribe for more than one
event type, put the values separated by a comma:
`eventType=performanceReportStateChangeEvent,performanceJobCreateEvent`.
The possible values are enumerated by Event type enums in
performanceNotification.api.yaml. An empty query is treated as
specifying no filters - ending in subscription for all event types.
required:
- callback
JobType:
type: string
description: >-
The type of a Job. Proactive jobs are carried on continuously to permit
timely reporting of fault or performance status. On-demand jobs are
actions that are initiated for a limited time to carry out the
measurements. Passive jobs support the collection and reporting of
network and service statistics/faults.
enum:
- proactive
- on-demand
- passive
MeasurementTime:
type: object
description: >-
Timeframe boundary for collected data. Provide measurementStartDate and
measurementEndDate or measurementStartDate and measurementInterval.
properties:
measurementStartDate:
type: string
format: date-time
description: >-
Start date of the period to which collected data points belong.
measurementEndDate:
type: string
format: date-time
description: >-
End date of the period to which collected data points belong.
measurementInterval:
$ref: '#/components/schemas/TimeDuration'
description: Length of the measurement interval.
required:
- measurementStartDate
ModifyPerformanceJob:
allOf:
- $ref: '#/components/schemas/ModifyPerformanceJob_Create'
- type: object
properties:
creationDateTime:
type: string
format: date-time
description: Date when the Modify Performance Job was created.
href:
type: string
description: Hyperlink to the Modify Performance Job entity.
id:
type: string
description: >-
Unique identifier for the Modify Performance Job that is
generated by the Seller/Server when the Modify Performance Job
request `state` is set to `acknowledged`.
state:
$ref: '#/components/schemas/PerformanceJobProcessStateType'
description: |-
The state of the process related to the Performance Job.
required:
- creationDateTime
- id
- state
description: Request for modification of an existing Performance Job.
ModifyPerformanceJob_Create:
type: object
description: Request for modification of an existing Performance Job.
properties:
buyerJobId:
type: string
description: >-
Identifier of the job understood and assigned by the Buyer/Client.
consumingApplicationId:
type: string
description: Identifier of consuming application.
description:
type: string
description: A free-text description of the Performance Job.
performanceJob:
$ref: '#/components/schemas/PerformanceJobRef'
description: A reference to a Performance Job resource.
performanceProfile:
$ref: '#/components/schemas/PerformanceProfileValue_Modify'
description: >-
Direct assignment of values defined by PerformanceProfile type to
PerformanceJob object. Necessary when PerformanceJob is created
without reference to PerformanceProfile.
producingApplicationId:
type: string
description: Identifier of producing application.
scheduleDefinition:
$ref: '#/components/schemas/ScheduleDefinition'
description: The schedule definition for running jobs.
required:
- performanceJob
MonitoredObjectRef:
type: object
description: >-
Defines the reference to object which is a subject of performance
monitoring.
discriminator:
propertyName: '@type'
mapping:
EntityRef: '#/components/schemas/EntityRef'
ServiceFromToRef: '#/components/schemas/ServiceFromToRef'
ServiceRef: '#/components/schemas/ServiceRef'
oneOf:
- $ref: '#/components/schemas/EntityRef'
- $ref: '#/components/schemas/ServiceFromToRef'
- $ref: '#/components/schemas/ServiceRef'
OutputFormat:
type: string
description: >-
List of possible output formats for the Report.
enum:
- json
- xml
- avro
- csv
PerformanceJob:
allOf:
- $ref: '#/components/schemas/PerformanceJob_Create'
- type: object
properties:
creationDateTime:
type: string
format: date-time
description: Date when the Performance Job was created.
href:
type: string
format: uri
description: Hyperlink reference
id:
type: string
description: Unique identifier
lastTimeModified:
type: string
format: date-time
description: Date when the Performance Job was last modified.
state:
$ref: '#/components/schemas/PerformanceJobStateType'
description: |-
The state of the Performance Monitoring Job.
terminationError:
type: array
description: >-
When the Seller/Server cannot process the request, the
Seller/Server returns a text-based list of reasons here.
items:
$ref: '#/components/schemas/TerminationError'
required:
- creationDateTime
- id
- state
description: >-
A Performance Monitoring Job specifies the performance monitoring
objectives specific to each subject of monitoring which could be a
service, an ordered pair (e.g., two UNIs), or an entity (e.g., port).
PerformanceJobComplexQuery_Create:
type: object
description: >-
Performance Job Complex Query entity is used to perform searches on
Performance Job entities, including clauses based on ScheduleDefinition
and ServiceSpecificConfiguration.
properties:
buyerJobId:
type: string
description: >-
Identifier of the job understood and assigned by the Buyer/Client.
consumingApplicationId:
type: string
description: Identifier of consuming application.
creationDateTime.gt:
type: string
format: date-time
description:
Date when the Performance Job was created - greater than.
creationDateTime.lt:
type: string
format: date-time
description: Date when the Performance Job was created - lower than.
monitoredObject:
$ref: '#/components/schemas/MonitoredObjectRef'
description: >-
Defines the reference to object which is a subject of performance
monitoring.
performanceProfile:
$ref: '#/components/schemas/PerformanceProfileRefOrValue_Query'
description: >-
Defines the reference to Performance Monitoring Profile or defines
values from PerformanceProfile type.
producingApplicationId:
type: string
description: Identifier of producing application.
scheduleDefinition:
$ref: '#/components/schemas/ScheduleDefinition'
description: The schedule definition for running jobs.
state:
$ref: '#/components/schemas/PerformanceJobStateType'
description: |-
The state of the Performance Monitoring Job.
PerformanceJobProcessStateType:
type: string
description: |-
The state of the process related to the Performance Job.
| state | Mplify 133.1 name | Description |
| -------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `acknowledged` | Acknowledged | The Cancel/Modify Performance Monitoring Job request has been received by the Seller/Server and has passed basic validation. Performance Monitoring Job Process Identifier is assigned in the Acknowledged state. The request remains Acknowledged until all validations as applicable are completed. If the attributes are validated, the request moves to the In-Progress state. If not all attributes are validated, the request moves to the Rejected state. |
| `completed` | Completed | The Cancel/Modify Performance Monitoring Job request has been completed by the Seller/Server. |
| `inProgress` | In-Progress | The Cancel/Modify Performance Monitoring Job request has been validated and accepted by the Seller/Server and is in-progress. |
| `rejected` | Rejected | The Cancel/Modify Performance Monitoring Job request has failed validation and has been declined by the Seller/Server. |
enum:
- acknowledged
- completed
- inProgress
- rejected
PerformanceJobRef:
type: object
description: A reference to a Performance Job resource.
properties:
performanceJobHref:
type: string
description: Hyperlink to the referenced Performance Job.
performanceJobId:
type: string
description: Identifier of the referenced Performance Job.
'@type':
description:
Used to unambiguously designate the class type when using `oneOf`
type: string
enum:
- PerformanceJobRef
required:
- '@type'
- performanceJobId
PerformanceJobStateType:
type: string
description: |-
The state of the Performance Monitoring Job.
| state | Mplify 133.1 name | Description |
| ---------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `acknowledged` | Acknowledged | A Create Performance Monitoring Job request has been received by the Seller/Server and has passed basic validation. Performance Monitoring Job Identifier is assigned in the Acknowledged state. The request remains Acknowledged until all validations as applicable are completed. If the attributes are validated the request determines if the start time is immediate or scheduled. If immediate, the Performance Monitoring Job moves to the In-progress state. If scheduled, the Performance Monitoring Job moves to the Scheduled state. If not all attributes are validated, the request moves to the Rejected state. |
| `cancelled` | Cancelled | A Performance Monitoring Job that was In-Progress, Suspended, or Scheduled is cancelled. |
| `completed` | Completed | A non-recurring Performance Monitoring Job finished execution. |
| `inProgress` | In-Progress | A Performance Monitoring Job is running. Upon completion of the Job, a determination if the Performance Monitoring Job is a one-time Job or is recurring is performed. If the Performance Monitoring Job is a one-time Job, the state of the Performance Monitoring Job moves to the Completed state. If the Performance Monitoring Job is recurring, the Performance Monitoring Job circles back to determine if it has an immediate start time or a scheduled start time. If a Suspend Performance Monitoring Job request is accepted, the Job moves to the Suspended state. If a Cancel Performance Monitoring Job request is accepted, the Job moves to the Cancelled state. |
| `pending` | Pending | A Modify Performance Monitoring Job request has been accepted by the Seller/Server. The Performance Monitoring Job remains Pending while updates to the Job are completed. Once updates are complete, the Job returns to the Scheduled or In-Progress status depending on the schedule definition. |
| `pendingCancel` | Pending Cancel | A Cancel Performance Monitoring Job request has been accepted by the Seller/Server. The Performance Monitoring Job remains Pending Cancel while resources used by the Job are being released. Once updates are complete, the Job moves to the Cancelled status. |
| `rejected` | Rejected | A create Performance Monitoring Job request fails validation and is rejected with error indications by the Seller/Server. |
| `resourcesUnavailable` | Resources Unavailable | A Performance Monitoring Job cannot be allocated necessary resources when moving to execution (In-Progress state). |
| `scheduled` | Scheduled | A Performance Monitoring Job is created that does not have an immediate start time. The Performance Monitoring Job stays Scheduled until the start time is reached. The Performance Monitoring Job then moves to In-Progress. If the Cancel Performance Monitoring Job request is accepted, the Job moves to the Cancelled state. If the Modify Performance Monitoring Job request is accepted, the Job moves to the Pending state. |
| `suspended` | Suspended | A Suspend Performance Monitoring Job request is accepted by the Seller/Server. The Job remains Suspended until a Resume Performance Monitoring Job request is accepted by the Seller/Server at which time the Job returns to the In-Progress state. If the Cancel Performance Monitoring Job request is accepted, the Job moves to the Cancelled state. If the Modify Performance Monitoring Job request is accepted, the Job moves to the Pending state. |
enum:
- acknowledged
- cancelled
- completed
- inProgress
- pending
- pendingCancel
- rejected
- resourcesUnavailable
- scheduled
- suspended
PerformanceJob_Create:
type: object
description: >-
A Performance Monitoring Job specifies the performance monitoring
objectives specific to each subject of monitoring which could be a
service, an ordered pair (e.g., two UNIs), or an entity (e.g., port).
properties:
buyerJobId:
type: string
description: >-
Identifier of the job understood and assigned by the Buyer/Client.
consumingApplicationId:
type: string
description: Identifier of consuming application.
description:
type: string
description: A free-text description of the Performance Job.
monitoredObject:
$ref: '#/components/schemas/MonitoredObjectRef'
description: >-
Defines the reference to object which is a subject of performance
monitoring.
performanceProfile:
$ref: '#/components/schemas/PerformanceProfileRefOrValue'
description: >-
Defines the reference to Performance Monitoring Profile or defines
values from PerformanceProfile type.
producingApplicationId:
type: string
description: Identifier of producing application.
scheduleDefinition:
$ref: '#/components/schemas/ScheduleDefinition'
description: The schedule definition for running jobs.
required:
- monitoredObject
- performanceProfile
- scheduleDefinition
PerformanceProfile:
allOf:
- $ref: '#/components/schemas/PerformanceProfile_Create'
- type: object
properties:
creationDateTime:
type: string
format: date-time
description: Date when the Performance Profile was created.
href:
type: string
format: uri
description: Hyperlink reference
id:
type: string
description: Unique identifier
isAssigned:
description: >-
Indicates if Performance Profile is assigned to a Performance
Job.
type: boolean
lastTimeModified:
type: string
format: date-time
description: Date when the Performance Profile was last modified.
required:
- creationDateTime
- id
- isAssigned
description: >-
A Performance Monitoring Profile specifies the common performance
configuration that can be reused by multiple Performance Jobs.
PerformanceProfileLifecycleStatusType:
type: string
description: |-
Possible values for the Performance Profile Status.
| State | Mplify 133.1 name | Description |
| -------------- | ------------------ | ----------------------------------------------------------------------------- |
| `approved` | Approved | Performance Monitoring Profile has been approved for general use. |
| `deprecated` | In-Deprecated | Performance Monitoring Profile has been replaced by another profile. |
| `experimental` | Experimental | Performance Monitoring Profile use may be limited to a small number of users. |
| `pending` | Pending | Performance Monitoring Profile is waiting to be approved. |
enum:
- approved
- deprecated
- experimental
- pending
PerformanceProfileRef:
type: object
description: A reference to a Performance Profile resource.
properties:
performanceProfileHref:
type: string
description: Hyperlink to the referenced Performance Profile.
performanceProfileId:
type: string
description: Identifier of the referenced Performance Profile.
'@type':
description:
Used to unambiguously designate the class type when using `oneOf`
type: string
enum:
- PerformanceProfileRef
required:
- '@type'
- performanceProfileId
PerformanceProfileRefOrValue:
type: object
description: >-
Defines the reference to Performance Monitoring Profile or defines
values from PerformanceProfile type.
discriminator:
mapping:
PerformanceProfileRef: '#/components/schemas/PerformanceProfileRef'
PerformanceProfileValue: '#/components/schemas/PerformanceProfileValue'
propertyName: '@type'
oneOf:
- $ref: '#/components/schemas/PerformanceProfileRef'
- $ref: '#/components/schemas/PerformanceProfileValue'
PerformanceProfileRefOrValue_Query:
type: object
description: >-
Defines the reference to Performance Monitoring Profile or defines
values from PerformanceProfile type.
discriminator:
mapping:
PerformanceProfileRef: '#/components/schemas/PerformanceProfileRef'
PerformanceProfileValue_Query: '#/components/schemas/PerformanceProfileValue_Query'
propertyName: '@type'
oneOf:
- $ref: '#/components/schemas/PerformanceProfileRef'
- $ref: '#/components/schemas/PerformanceProfileValue_Query'
PerformanceProfileValue:
type: object
properties:
granularity:
$ref: '#/components/schemas/TimeDuration'
description: >-
Sampling rate of the collection or production of performance
indicators.
jobPriority:
type: integer
default: 5
description: >-
The priority of the Performance Job. The way the management
application will use the Job priority to schedule Job execution is
application-specific and out the scope.
jobType:
$ref: '#/components/schemas/JobType'
description: The type of PM Job.
outputFormat:
$ref: '#/components/schemas/OutputFormat'
description: >-
List of possible output formats for the Performance Report.
reportingPeriod:
$ref: '#/components/schemas/TimeDuration'
description: Defines the Duration for the report generation.
resultFormat:
$ref: '#/components/schemas/ResultFormat'
description: >-
List of possible result formats that define how Seller/Server will
deliver Performance Report to the Buyer/Client.
serviceSpecificConfiguration:
$ref: '#/components/schemas/ServiceSpecificConfiguration'
description: >-
ServiceSpecificConfiguration is used as an extension point for
Mplify -specific service performance monitoring configuration.
'@type':
description:
Used to unambiguously designate the class type when using `oneOf`
type: string
enum:
- PerformanceProfileValue
required:
- '@type'
- granularity
- jobType
- outputFormat
- reportingPeriod
- resultFormat
- serviceSpecificConfiguration
description: >-
The setting of the attributes defined by the PerformanceProfile class
when the Performance Job does not have a reference to the Performance
Profile.
PerformanceProfileValue_Modify:
type: object
description: >-
The setting of the attributes defined by the PerformanceProfile class
when the Performance Job does not have a reference to the Performance
Profile. This class is used to modify these Performance Job attributes.
properties:
granularity:
$ref: '#/components/schemas/TimeDuration'
description: >-
Sampling rate of the collection or production of performance
indicators.
jobPriority:
type: integer
default: 5
description: >-
The priority of the Performance Job. The way the management
application will use the Job priority to schedule Job execution is
application-specific and out the scope.
outputFormat:
$ref: '#/components/schemas/OutputFormat'
description: >-
List of possible output formats for the Performance Report.
reportingPeriod:
$ref: '#/components/schemas/TimeDuration'
description: Defines the interval for the report generation.
resultFormat:
$ref: '#/components/schemas/ResultFormat'
description: >-
List of possible result formats that define how Seller/Server will
deliver Performance Report to the Buyer/Client.
serviceSpecificConfiguration:
$ref: '#/components/schemas/ServiceSpecificConfiguration'
description: >-
ServiceSpecificConfiguration is used as an extension point for
Mplify -specific service performance monitoring configuration.
PerformanceProfileValue_Query:
type: object
properties:
granularity:
$ref: '#/components/schemas/TimeDuration'
description: >-
Sampling rate of the collection or production of performance
indicators.
jobPriority:
type: integer
default: 5
description: >-
The priority of the Performance Job. The way the management
application will use the Job priority to schedule Job execution is
application-specific and out the scope.
jobType:
$ref: '#/components/schemas/JobType'
description: The type of PM Job.
outputFormat:
$ref: '#/components/schemas/OutputFormat'
description: >-
List of possible output formats for the Performance Report.
reportingPeriod:
$ref: '#/components/schemas/TimeDuration'
description: Defines the Duration for the report generation.
resultFormat:
$ref: '#/components/schemas/ResultFormat'
description: >-
List of possible result formats that define how Seller/Server will
deliver Performance Report to the Buyer/Client.
serviceSpecificConfiguration:
$ref: '#/components/schemas/ServiceSpecificConfiguration'
description: >-
ServiceSpecificConfiguration is used as an extension point for
Mplify -specific service performance monitoring configuration.
'@type':
description:
Used to unambiguously designate the class type when using `oneOf`
type: string
enum:
- PerformanceProfileValue_Query
required:
- '@type'
description: >-
The setting of the attributes defined by the PerformanceProfile class
when the Performance Job does not have a reference to the Performance
Profile.
PerformanceProfile_Create:
type: object
description: >-
A Performance Monitoring Profile specifies the common performance
configuration that can be reused by multiple Performance Jobs.
properties:
description:
type: string
description: A free-text description of the Performance Profile.
granularity:
$ref: '#/components/schemas/TimeDuration'
description: >-
Sampling rate of the collection or production of performance
indicators.
jobPriority:
type: integer
default: 5
description: >-
The priority of the Performance Job. The way the management
application will use the Job priority to schedule Job execution is
application-specific and out the scope.
jobType:
$ref: '#/components/schemas/JobType'
description: The type of PM Job.
lifecycleStatus:
$ref: '#/components/schemas/PerformanceProfileLifecycleStatusType'
description: >-
Lifecycle Status is used to indicate the lifecycle status of the
Performance Profile.
outputFormat:
$ref: '#/components/schemas/OutputFormat'
description: >-
List of possible output formats for the Performance Report.
reportingPeriod:
$ref: '#/components/schemas/TimeDuration'
description: Defines the interval for the report generation.
resultFormat:
$ref: '#/components/schemas/ResultFormat'
description: >-
List of possible result formats that define how Seller/Server will
deliver Performance Report to the Buyer/Client.
serviceSpecificConfiguration:
$ref: '#/components/schemas/ServiceSpecificConfiguration'
description: >-
ServiceSpecificConfiguration is used as an extension point for
Mplify -specific service performance monitoring configuration.
required:
- granularity
- jobType
- lifecycleStatus
- outputFormat
- reportingPeriod
- resultFormat
- serviceSpecificConfiguration
PerformanceProfile_Update:
type: object
description: >-
A Performance Monitoring Profile specifies the common performance
configuration that can be reused by multiple Performance Jobs.
properties:
description:
type: string
description: A free-text description of the Performance Profile.
granularity:
$ref: '#/components/schemas/TimeDuration'
description: >-
Sampling rate of the collection or production of performance
indicators.
jobPriority:
type: integer
default: 5
description: >-
The priority of the Performance Job. The way the management
application will use the Job priority to schedule Job execution is
application-specific and out the scope.
lifecycleStatus:
$ref: '#/components/schemas/PerformanceProfileLifecycleStatusType'
description: >-
Lifecycle Status is used to indicate the lifecycle status of the
Performance Profile.
outputFormat:
$ref: '#/components/schemas/OutputFormat'
description: >-
List of possible output formats for the Performance Report.
reportingPeriod:
$ref: '#/components/schemas/TimeDuration'
description: Defines the interval for the report generation.
resultFormat:
$ref: '#/components/schemas/ResultFormat'
description: >-
List of possible result formats that define how Seller/Server will
deliver Performance Report to the Buyer/Client.
serviceSpecificConfiguration:
$ref: '#/components/schemas/ServiceSpecificConfiguration'
description: >-
ServiceSpecificConfiguration is used as an extension point for
Mplify -specific service performance monitoring configuration.
PerformanceReport:
allOf:
- $ref: '#/components/schemas/PerformanceReport_Create'
- type: object
properties:
creationDateTime:
type: string
format: date-time
description: Date when the Performance Report was created.
href:
type: string
format: uri
description: Hyperlink reference
id:
type: string
description: Unique identifier
performanceJob:
$ref: '#/components/schemas/PerformanceJobRef'
description: >-
Defines the reference to Performance Monitoring Job or defines
values from PerformanceJob type.
reportContent:
type: array
items:
$ref: '#/components/schemas/ReportContentPerMonitoredObject'
reportUrl:
$ref: '#/components/schemas/AttachmentURL'
description: >-
The URL pointing to an Attachment for download.
state:
$ref: '#/components/schemas/PerformanceReportStateType'
description: |-
Possible values for the state of a Performance Report.
terminationError:
type: array
description: >-
When the Seller/Server cannot process the request, the
Seller/Server returns a text-based list of reasons here.
items:
$ref: '#/components/schemas/TerminationError'
required:
- creationDateTime
- id
- state
description: >-
The execution of PM Job results in Performance Measurement collections
that provide Buyer/Client with performance objective results.
PerformanceReportComplexQuery_Create:
type: object
description: >-
Performance Report Complex Query entity is used to perform searches on
Performance Report entities, including clauses based on
ServiceSpecificConfiguration.
properties:
creationDateTime.gt:
type: string
format: date-time
description:
Date when the Performance Report was created - greater than.
creationDateTime.lt:
type: string
format: date-time
description:
Date when the Performance Report was created - lower than.
granularity:
$ref: '#/components/schemas/TimeDuration'
description: >-
Sampling rate of the collection or production of performance
indicators.
monitoredObject:
type: array
items:
$ref: '#/components/schemas/MonitoredObjectRef'
minItems: 1
uniqueItems: true
description: >-
Defines the reference to object which is a subject of performance
monitoring. Constraint: All items in the array must be of the same
type - either all EntityRef, all ServiceFromToRef, or all
ServiceRef. Mixing different types within the same array is not
allowed and will be rejected by the server.
outputFormat:
$ref: '#/components/schemas/OutputFormat'
description: >-
List of possible output formats for the Performance Report.
performanceJob:
$ref: '#/components/schemas/PerformanceJobRef'
description: >-
Defines the reference to Performance Monitoring Job.
reportingTimeframe.startDate.gt:
type: string
format: date-time
description: Start date of reporting timeframe - greater than.
reportingTimeframe.startDate.lt:
type: string
format: date-time
description: Start date of reporting timeframe - lower than.
reportingTimeframe.endDate.gt:
type: string
format: date-time
description: End date of reporting timeframe - greater than.
reportingTimeframe.endDate.lt:
type: string
format: date-time
description: End date of reporting timeframe - lower than.
resultFormat:
$ref: '#/components/schemas/ResultFormat'
description: >-
List of possible result formats that define how Seller/Server will
deliver Performance Report to the Buyer/Client.
serviceSpecificConfiguration:
$ref: '#/components/schemas/ServiceSpecificConfiguration'
description: >-
ServiceSpecificConfiguration is used as an extension point for
Mplify -specific service performance monitoring configuration.
state:
$ref: '#/components/schemas/PerformanceReportStateType'
description: |-
Possible values for the state of a Performance Report.
PerformanceReportRef:
type: object
description: A reference to a Performance Report resource.
properties:
performanceReportHref:
type: string
description: Hyperlink to the referenced Performance Report.
performanceReportId:
type: string
description: Identifier of the referenced Performance Report.
'@type':
description:
Used to unambiguously designate the class type when using `oneOf`
type: string
enum:
- PerformanceReportRef
required:
- '@type'
- performanceReportId
PerformanceReportStateType:
type: string
description: |-
Possible values for the state of a Performance Report.
| State | Mplify 133.1 name | Description |
| -------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `acknowledged` | Acknowledged | Performance Report request has been received by Seller/Server and has passed basic validations. Performance Report Identifier is assigned in the Acknowledged state. The report remains Acknowledged until all validations as applicable are completed. If the attributes are validated, the Performance Report moves to the In-Progress state. If not all attributes are validated, the report moves to the Rejected state. |
| `completed` | Completed | A Performance Report is completed and results are available. |
| `failed` | Failed | A Performance Report processing has failed. |
| `inProgress` | In-Progress | A Performance Report has successfully passed the validations checks and the report processing has started. |
| `rejected` | Rejected | This state indicates that:
- Invalid information is provided in Create Performance Report request
- The request fails to meet validation rules for Performance Report delivery (processing). |
enum:
- acknowledged
- completed
- failed
- inProgress
- rejected
PerformanceReport_Create:
type: object
description: >-
The creation of the PM Report enables the collection of PM results,
which are stored in the PM database within the Seller/Server system.
properties:
description:
type: string
description: A free-text description of the performance report.
granularity:
$ref: '#/components/schemas/TimeDuration'
description: >-
Sampling rate of the collection or production of performance
indicators.
monitoredObject:
type: array
items:
$ref: '#/components/schemas/MonitoredObjectRef'
minItems: 1
uniqueItems: true
description: >-
Defines the reference to object which is a subject of performance
monitoring. Constraint: All items in the array must be of the same
type - either all EntityRef, all ServiceFromToRef, or all
ServiceRef. Mixing different types within the same array is not
allowed and will be rejected by the server.
outputFormat:
$ref: '#/components/schemas/OutputFormat'
description: >-
List of possible output formats for the Performance Report.
reportingTimeframe:
$ref: '#/components/schemas/ReportingTimeframe'
description: >-
Specifies the date range between which data points will be included
in the report.
resultFormat:
$ref: '#/components/schemas/ResultFormat'
description: >-
List of possible result formats that define how Seller/Server will
deliver Performance Report to the Buyer/Client.
serviceSpecificConfiguration:
$ref: '#/components/schemas/ServiceSpecificConfiguration'
description: >-
ServiceSpecificConfiguration is used as an extension point for
Mplify -specific service performance monitoring configuration.
required:
- granularity
- monitoredObject
- outputFormat
- reportingTimeframe
- resultFormat
- serviceSpecificConfiguration
PerformanceReport_Find:
type: object
description: >-
This class represents a single list item for the response of the
`listPerformanceReport` operation.
properties:
creationDateTime:
type: string
format: date-time
description: Date when the report was created.
description:
type: string
description: A free-text description of the Performance Report.
granularity:
$ref: '#/components/schemas/TimeDuration'
description: >-
Sampling rate of the collection or production of performance
indicators.
id:
type: string
description: Unique identifier
monitoredObject:
type: array
items:
$ref: '#/components/schemas/MonitoredObjectRef'
minItems: 1
uniqueItems: true
description: >-
Defines the reference to object which is a subject of performance
monitoring. Constraint: All items in the array must be of the same
type - either all EntityRef, all ServiceFromToRef, or all
ServiceRef. Mixing different types within the same array is not
allowed and will be rejected by the server.
outputFormat:
$ref: '#/components/schemas/OutputFormat'
description: >-
List of possible output formats for the Performance Report.
performanceJob:
$ref: '#/components/schemas/PerformanceJobRef'
description: >-
Defines the reference to Performance Monitoring Job or defines
values from PerformanceJob type.
reportingTimeframe:
$ref: '#/components/schemas/ReportingTimeframe'
description: >-
Specifies the date range between which data points will be included
in the report.
resultFormat:
$ref: '#/components/schemas/ResultFormat'
description: >-
List of possible result formats that define how Seller/Server will
deliver Performance Report to the Buyer/Client.
serviceSpecificConfiguration:
$ref: '#/components/schemas/ServiceSpecificConfiguration'
description: >-
ServiceSpecificConfiguration is used as an extension point for
Mplify -specific service performance monitoring configuration.
state:
$ref: '#/components/schemas/PerformanceReportStateType'
description: |-
Possible values for the state of a Performance Report.
required:
- creationDateTime
- granularity
- id
- monitoredObject
- outputFormat
- performanceJob
- reportingTimeframe
- resultFormat
- serviceSpecificConfiguration
- state
PmTrackingRecord:
type: object
description: >-
Tracking Records allow the tracking of modifications of Performance
Job, Profile, or Report.
properties:
creationDateTime:
type: string
format: date-time
description: Date when the record was created.
description:
type: string
description: >-
Free-text field describing the action that created the Tracking
Record and its details.
id:
type: string
description: Identifier of the Tracking Record.
relatedObjectId:
$ref: '#/components/schemas/RelatedObjectRef'
description: >-
Reference to the Performance Job, Profile, or Report for which the
Tracking Record was created.
request:
type: string
description: >-
Contains the REST request used in the action that resulted in the
creation of the Tracking Record.
source:
type: string
description: >-
Describes the source (Buyer/Client or Seller/Server) from which the
action was done.
enum:
- client
- server
required:
- creationDateTime
- id
- relatedObjectId
RecurringSchedule:
type: object
description: >-
A definition of recurring schedule to run a job based on the Cron
utility in Linux-like systems. It defines how the job should
periodically run at specified times, dates, or intervals. Special
characters can be used in the definition of individual fields, such as:
- `*` -> any value
- `,` -> value list separator
- `-` -> range of values
- `/` -> step values
properties:
second:
type: string
description: >-
A definition of time (seconds) to run a job. Allowed values: 0-59,
and special characters (*,-/). For example:
- */5 * * * * * -> run a job at every 5th second.
- */30 */1 * * * * -> run a job at every 30 seconds
past every minute.
minute:
type: string
description: >-
A definition of time (minutes) to run a job. Allowed values: 0-59,
and special characters (*,-/). For example:
- 0 */10 * * * * -> run a job at every 10th minute.
- 0 */30 0 * * * -> run a job at every 30th minute past midnight.
- 0 */30 8 * * 1 -> run a job at every 30th minute
past hour 8 on Monday.
hour:
type: string
description: >-
A definition of time (hour) to run a job. Allowed values: 0-23, and
special characters (*,-/). For example:
- 0 0 10 10 * * -> run a job at 10 am on 10th day of every month.
- 0 * 1,2 * * * -> run a job at every minute past hour 1 and 2.
- 0 0 */2 * * * -> run a job at every 2nd hour.
dayOfMonth:
type: string
description: >-
A definition of time (day of month) to run a job. Allowed values:
1-31, and special characters (*,-/). For example:
- 0 0 0 1,5,10,15 * * -> run a job at midnight
on every 1st, 5th, 10th, 15th day of month.
- 0 0 */1 1-10 1-3 * -> run a job at every full hour between 1st
and 10th day of month in January, February, and March.
month:
type: string
description: >-
A definition of time (month) to run a job. Allowed values: 1-12 or
JAN-DEC, and special characters (*,-/). For example:
- 0 5 0 * 8 * -> run a job at 00:05 on every day in August.
- 0 0 0,12 1 */2 * -> run a job at midnight and noon
on every 1st day of every 2nd month.
dayOfWeek:
type: string
description: >-
A definition of time (day of week) to run a job. Allowed values:
0-6 or SUN-SAT, and special characters. For example:
- 0 0 22 * * 1-5 -> run a job at 22:00 on every day
between Monday and Friday.
- 0 5 4 * * sun -> run a job at 04:05 on Sunday.
RelatedObjectRef:
type: object
description: >-
Reference to the Performance Job, Profile, or Report for which the
Tracking Record was created.
discriminator:
propertyName: '@type'
mapping:
PerformanceProfileRef: '#/components/schemas/PerformanceProfileRef'
PerformanceJobRef: '#/components/schemas/PerformanceJobRef'
PerformanceReportRef: '#/components/schemas/PerformanceReportRef'
oneOf:
- $ref: '#/components/schemas/PerformanceProfileRef'
- $ref: '#/components/schemas/PerformanceJobRef'
- $ref: '#/components/schemas/PerformanceReportRef'
ReportContentItem:
type: object
description: >-
Single item of the results in case result format was set to payload.
Each item contains the timeframe of the collected data and a list of
values captured in that timeframe.
properties:
measurementTime:
$ref: '#/components/schemas/MeasurementTime'
description: Timeframe boundary for collected data.
measurementData:
type: array
items:
$ref: '#/components/schemas/ServiceSpecificResult'
description: >-
List of values measured in the related timeframe.
minItems: 0
required:
- measurementTime
- measurementData
ReportContentPerMonitoredObject:
type: object
description: >-
Result of the performance monitoring for a specific monitored object.
properties:
monitoredObject:
$ref: '#/components/schemas/MonitoredObjectRef'
description: >-
Defines the reference to object which is a subject of performance
monitoring.
reportContentItem:
type: array
items:
$ref: '#/components/schemas/ReportContentItem'
description: List of result items for the monitored object.
minItems: 0
required:
- monitoredObject
- reportContentItem
ReportingTimeframe:
type: object
description: >-
Specifies the date range between which data points will be included in
the report.
properties:
reportingStartDate:
type: string
format: date-time
description: Start date of reporting timeframe.
reportingEndDate:
type: string
format: date-time
description: End date of reporting timeframe.
ResultFormat:
type: string
description: >-
List of possible result formats that define how Seller/Server will
deliver a Report to the Buyer/Client.
enum:
- attachment
- payload
ScheduleDefinition:
type: object
description: The schedule definition for running jobs.
properties:
scheduleDefinitionStartTime:
type: string
format: date-time
description: >-
The start time of the Schedule Definition. If the attribute is
empty the Schedule starts immediately after provisioning of the
Job.
scheduleDefinitionEndTime:
type: string
format: date-time
description: >-
The end time of the Schedule Definition. If the attribute is empty
the Schedule runs forever, not having a time constraint.
recurringSchedule:
$ref: '#/components/schemas/RecurringSchedule'
description: >-
A recurring frequency to run a job within a timeframe defined by
schedule definition, for example, every 5 minutes, 15 minutes, 1
hour, 1 day. If the attribute is empty, job runs non-stop.
executionDuration:
$ref: '#/components/schemas/TimeDuration'
description: >-
Total time for running one execution of a schedule. Depending on
the reportingPeriod attribute, one execution of a schedule might
produce multiple reports (e.g., when reporting period is 15 minutes
and executionDuration is 1 hour, every execution of a schedule
will produce 4 reports).
ServiceFromToRef:
type: object
description: >-
Reference to Service From and Service To endpoints.
properties:
serviceFrom:
type: object
description: >-
A reference to a Service From endpoint resource.
properties:
serviceFromHref:
type: string
description: Hyperlink to the Service From endpoint.
serviceFromId:
type: string
description: Identifier of the Service From endpoint.
required:
- serviceFromId
serviceTo:
type: object
description: >-
A reference to a Service To endpoint resource.
properties:
serviceToHref:
type: string
description: Hyperlink to the Service To endpoint.
serviceToId:
type: string
description: Identifier of the Service To endpoint.
required:
- serviceToId
'@type':
description:
Used to unambiguously designate the class type when using `oneOf`
type: string
enum:
- ServiceFromToRef
required:
- '@type'
- serviceFrom
- serviceTo
ServiceRef:
type: object
description: >-
Reference to a Service.
properties:
serviceHref:
type: string
description: >-
Hyperlink to the Service resource.
serviceId:
type: string
description: Identifier of the Service.
'@type':
description:
Used to unambiguously designate the class type when using `oneOf`
type: string
enum:
- ServiceRef
required:
- '@type'
- serviceId
ServiceSpecificConfiguration:
type: object
description: >-
ServiceSpecificConfiguration is used as an extension point for Mplify
-specific service performance monitoring configuration. The `@type`
attribute is used as a discriminator.
discriminator:
propertyName: '@type'
properties:
'@type':
type: string
description: >-
Uniquely identifies the type of performance monitoring
configuration that specifies PM objectives. In the case of Mplify
services, this is the URN provided in the performance monitoring
configuration specification. The named type must be a subclass of
ServiceSpecificConfiguration.
required:
- '@type'
ServiceSpecificResult:
type: object
description: >-
ServiceSpecificResult is used as an extension point for Mplify
-specific service performance monitoring results. The `@type` attribute
is used as a discriminator.
discriminator:
propertyName: '@type'
properties:
'@type':
type: string
description: >-
The name that uniquely identifies the type of performance
monitoring results that are returned by the Performance Report. In
the case of Mplify services, this is the URN provided in the
performance monitoring results specification. The named type must
be a subclass of ServiceSpecificResult.
required:
- '@type'
TerminationError:
type: object
description: >-
This indicates an error that caused a PM Job or PM Report to be
terminated. The code and propertyPath should be used like in Error422.
properties:
code:
$ref: '#/components/schemas/Error422Code'
description: |
One of the following error codes:
- missingProperty: The property that was expected is not present in the payload
- invalidValue: The property has an incorrect value
- invalidFormat: The property value does not comply with the expected value format
- referenceNotFound: The object referenced by the property cannot be identified in the target system
- unexpectedProperty: Additional, not expected property has been provided
- tooLargeDataset: The requested entity will produce too much data
- tooManyRecords: The number of records to be provided in the response exceeds the threshold
- tooManyRequests: The number of simultaneous requests from one API client exceeds the threshold
- performanceProfileInUse: Requested Performance Profile is being used by a Performance Job
- otherIssue: Other problem was identified (detailed information provided in a reason).
propertyPath:
type: string
description: >
A pointer to a particular property of the payload that caused the
validation issue. It is highly recommended that this property
should be used.
Defined using JavaScript Object Notation (JSON) Pointer
(https://tools.ietf.org/html/rfc6901).
value:
type: string
description: Text to describe the reason of the termination.
TimeDuration:
description: >-
This class is used to describe durations expressed as a 2-tuple,
(value, units). The units from nanoseconds to years.
type: object
properties:
timeDurationValue:
description: >-
The value of the duration. For example, if the duration is 20 ms,
this element is 20.
type: integer
timeDurationUnits:
description: >-
The unit of measure in the duration. For example, if an interval is
2ms, this element is MS.
$ref: '#/components/schemas/TimeDurationUnits'
required:
- timeDurationUnits
- timeDurationValue
TimeDurationUnits:
description: >-
The unit of measure in the duration. For example, if an interval is
2ms, this element is MS.
type: string
enum:
- NS
- US
- MS
- SEC
- MIN
- HOUR
- DAY
- WEEK
- MONTH
- YEAR