openapi: 3.0.1 info: title: Service Function Testing description: > **This file forms part of Mplify 149** **This API implements part of Business Requirements & Use Cases described in Mplify 136.1** Mplify Service Function Testing is defined as testing that is performed either as a part of service verification, service activation, or service maintenance. The requirements and Use Cases are the same for the Allegro Interface Reference Point (IRP), the Interlude IRP, and the Legato IRP. List of use cases supported by the API: - Create, Modify, Suspend, Resume, Cancel Test Job w/Test Profile - Create, Modify, Suspend, Resume, Cancel Test Job w/o Test Profile - Retrieve Test Job List - Retrieve Test Job by ID - Create, Modify, Delete Test Profile - Retrieve Test Profile List - Retrieve Test Profile by ID - Retrieve Test Result List - Retrieve Test Result by ID - Subscribe to Notifications - Unsubscribe to Notifications Copyright 2025 Mplify Alliance and its contributors This file includes content based on the TM Forum Service Test Management API (TMF653 v4.1.0) available at https://github.com/tmforum-apis/TMF653_ServiceTestManagement, 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. version: 3.0.0 servers: - url: 'https://{serverBase}/mefApi/interlude/serviceFunctionTesting/v3/' variables: serverBase: description: The base of SOF's URL. default: mplify.net tags: - name: testJob - name: cancelTestJob - name: modifyTestJob - name: resumeTestJob - name: suspendTestJob - name: testProfile - name: testResult - name: events subscription paths: /testJob: get: tags: - testJob summary: List or find TestJob objects. description: >- The Buyer/Client requests a list of Test Jobs using none or more of the filter criteria. The Seller/Server returns a summarized list of Test Jobs. For each Test Job returned, the Seller/Server also provides a Test Job Identifier that uniquely identifiers this Test 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: listTestJob parameters: - name: relatedServiceIdFrom in: query description: The from service identifier of the Service to be tested. required: false schema: type: string - name: relatedServiceIdTo in: query description: The to service identifier of the Service to be tested. required: false schema: type: string - name: testProfileId in: query description: The identifier of the Test Profile. required: false schema: type: string - name: name in: query description: The name of the Test Job. required: false schema: type: string - name: requestedStartDateTime.gt in: query description: The start date and time of the Test Job - greater than. required: false schema: type: string format: date-time - name: requestedStartDateTime.lt in: query description: The start date and time of the Test Job - lower than. required: false schema: type: string format: date-time - name: requestedEndDateTime.gt in: query description: The end date and time of the Test Job - greater than. required: false schema: type: string format: date-time - name: requestedEndDateTime.lt in: query description: The end date and time of the Test Job - lower than. required: false schema: type: string format: date-time - name: offset in: query description: >- Requested index for start of item to be provided in response requested by the client. Note that the index starts with "0". required: false schema: type: integer - name: limit in: query description: Requested number of resources to be provided in response. required: false schema: type: integer format: int32 responses: '200': 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. schema: type: boolean 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. schema: type: integer X-Result-Count: description: The number of items included in the response. schema: type: integer content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/TestJob_Find' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' post: tags: - testJob summary: Creates a TestJob. description: >- A request initiated by the Buyer/Client to create a Test Job in the Seller/Server that specifies the service to be tested. operationId: createTestJob requestBody: description: The Test Job to be created. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/TestJob_Common' required: true responses: '201': description: "'Created (https://tools.ietf.org/html/rfc7231#section-6.3.2)'" content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/TestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '/testJob/{id}': get: tags: - testJob summary: Retrieves a TestJob by ID. description: >- The Buyer/Client requests detailed information about a single Test Jobs based on the Test Job Identifier. operationId: retrieveTestJob parameters: - name: id in: path description: Identifier of the Test Job required: true schema: type: string responses: '200': description: "'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'" content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/TestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' /cancelTestJob: get: tags: - cancelTestJob summary: Lists or finds CancelTestJob objects. description: >- The Buyer/Client requests a list of Cancel Test Job based on a set of filter criteria. operationId: listCancelTestJob parameters: - name: testJobId in: query description: Identifier of Test Job that is a subject of CancelTestJob. required: false schema: type: string - name: state in: query description: >- State of CancelTestJob. See `TestJobProcessStateType` definition for details. required: false schema: type: string enum: - accepted - acknowledged - rejected - name: creationDate.gt in: query description: Date when the CancelTestJob was created - greater than. required: false schema: type: string format: date-time - name: creationDate.lt in: query description: Date when the CancelTestJob was created - lower than. required: false schema: type: string format: date-time - name: offset in: query description: >- Requested index for start of item to be provided in response requested by client. Note that the index starts with "0". required: false schema: type: integer format: int32 - name: limit in: query description: >- Requested number of items to be provided in response requested by client. required: false schema: type: integer format: int32 responses: '200': 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. schema: type: boolean 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. schema: type: integer X-Result-Count: description: The number of items included in the response. schema: type: integer content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/CancelTestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' post: tags: - cancelTestJob description: >- A request initiated by the Buyer/Client to cancel a Test Job in the Seller/Server system. operationId: createCancelTestJob requestBody: description: The CancelTestJob to be created. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/CancelTestJob_Common' required: true responses: '201': description: Created content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/CancelTestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '/cancelTestJob/{id}': get: tags: - cancelTestJob summary: Retrieves a CancelTestJob by ID. description: >- The Buyer/Client requests detailed information about a single Cancel Test Job based on the Cancel Test Job Identifier. operationId: retrieveCancelTestJob parameters: - name: id in: path description: Identifier of the CancelTestJob required: true schema: type: string responses: '200': description: Success content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/CancelTestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' /suspendTestJob: get: tags: - suspendTestJob summary: Lists or finds SuspendTestJob objects. description: >- The Buyer/Client requests a list of Suspend Test Job based on a set of filter criteria. operationId: listSuspendTestJob parameters: - name: testJobId in: query description: Identifier of Test Job that is a subject of SuspendTestJob. required: false schema: type: string - name: state in: query description: >- State of SuspendTestJob. See `TestJobProcessStateType` definition for details. required: false schema: type: string enum: - accepted - acknowledged - rejected - name: creationDate.gt in: query description: Date when the SuspendTestJob was created - greater than. required: false schema: type: string format: date-time - name: creationDate.lt in: query description: Date when the SuspendTestJob was created - lower than. required: false schema: type: string format: date-time - name: offset in: query description: >- Requested index for start of item to be provided in response requested by client. Note that the index starts with "0". required: false schema: type: integer format: int32 - name: limit in: query description: >- Requested number of items to be provided in response requested by client. required: false schema: type: integer format: int32 responses: '200': 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. schema: type: boolean 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. schema: type: integer X-Result-Count: description: The number of items included in the response. schema: type: integer content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/SuspendTestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' post: tags: - suspendTestJob description: >- A request initiated by the Buyer/Client to suspend a Test Job in the Seller/Server system. operationId: createSuspendTestJob requestBody: description: The SuspendTestJob to be created. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/SuspendTestJob_Common' required: true responses: '201': description: Created content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/SuspendTestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '/suspendTestJob/{id}': get: tags: - suspendTestJob summary: Retrieves a SuspendTestJob by ID. description: >- The Buyer/Client requests detailed information about a single Suspend Test Job based on the Suspend Test Job Identifier. operationId: retrieveSuspendTestJob parameters: - name: id in: path description: Identifier of the SuspendTestJob required: true schema: type: string responses: '200': description: Success content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/SuspendTestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' /resumeTestJob: get: tags: - resumeTestJob summary: Lists or finds ResumeTestJob objects. description: >- The Buyer/Client requests a list of Resume Test Job based on a set of filter criteria. operationId: listResumeTestJob parameters: - name: testJobId in: query description: Identifier of Test Job that is a subject of ResumeTestJob. required: false schema: type: string - name: state in: query description: >- State of ResumeTestJob. See `TestJobProcessStateType` definition for details. required: false schema: type: string enum: - accepted - acknowledged - rejected - name: creationDate.gt in: query description: Date when the ResumeTestJob was created - greater than. required: false schema: type: string format: date-time - name: creationDate.lt in: query description: Date when the ResumeTestJob was created - lower than. required: false schema: type: string format: date-time - name: offset in: query description: >- Requested index for start of item to be provided in response requested by client. Note that the index starts with "0". required: false schema: type: integer format: int32 - name: limit in: query description: >- Requested number of items to be provided in response requested by client. required: false schema: type: integer format: int32 responses: '200': 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. schema: type: boolean 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. schema: type: integer X-Result-Count: description: The number of items included in the response. schema: type: integer content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/ResumeTestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' post: tags: - resumeTestJob description: >- A request initiated by the Buyer/Client to resume a Test Job in the Seller/Server system. operationId: createResumeTestJob requestBody: description: The ResumeTestJob to be created. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/ResumeTestJob_Common' required: true responses: '201': description: Created content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/ResumeTestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '/resumeTestJob/{id}': get: tags: - resumeTestJob summary: Retrieves a ResumeTestJob by ID. description: >- The Buyer/Client requests detailed information about a single Resume Test Job based on the Resume Test Job Identifier. operationId: retrieveResumeTestJob parameters: - name: id in: path description: Identifier of the ResumeTestJob required: true schema: type: string responses: '200': description: Success content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/ResumeTestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' /modifyTestJob: get: tags: - modifyTestJob summary: Lists or finds ModifyTestJob objects. description: >- The Buyer/Client requests a list of Modify Test Job based on a set of filter criteria. operationId: listModifyTestJob parameters: - name: testJobId in: query description: Identifier of Test Job that is a subject of ModifyTestJob. required: false schema: type: string - name: state in: query description: >- State of ModifyTestJob. See `TestJobProcessStateType` definition for details. required: false schema: type: string enum: - accepted - acknowledged - rejected - name: creationDate.gt in: query description: Date when the ModifyTestJob was created - greater than. required: false schema: type: string format: date-time - name: creationDate.lt in: query description: Date when the ModifyTestJob was created - lower than. required: false schema: type: string format: date-time - name: offset in: query description: >- Requested index for start of item to be provided in response requested by client. Note that the index starts with "0". required: false schema: type: integer format: int32 - name: limit in: query description: >- Requested number of items to be provided in response requested by client. required: false schema: type: integer format: int32 responses: '200': 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. schema: type: boolean 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. schema: type: integer X-Result-Count: description: The number of items included in the response. schema: type: integer content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/ModifyTestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' post: tags: - modifyTestJob description: >- A request initiated by the Buyer/Client to modify a Test Job in the Seller/Server system. operationId: createModifyTestJob requestBody: description: The ModifyTestJob to be created. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/ModifyTestJob_Common' required: true responses: '201': description: Created content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/ModifyTestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '/modifyTestJob/{id}': get: tags: - modifyTestJob summary: Retrieves a ModifyTestJob by ID. description: >- The Buyer/Client requests detailed information about a single Modify Test Job based on the Modify Test Job Identifier. operationId: retrieveModifyTestJob parameters: - name: id in: path description: Identifier of the ModifyTestJob required: true schema: type: string responses: '200': description: Success content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/ModifyTestJob' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' /testProfile: get: tags: - testProfile summary: List or find Test Profile objects. description: >- The Buyer/Client requests a list of TestProfiles based on a set of filter criteria. The Seller/Server returns a summarized list of TestProfiles. For each TestProfile returned, the Seller/Server also provides a TestProfiles Identifier that uniquely identifiers this TestProfiles 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: listTestProfile parameters: - name: creationDate.gt in: query description: Date when the profile was created - greater than. required: false schema: type: string format: date-time - name: creationDate.lt in: query description: Date when the profile was created - lower than. required: false schema: type: string format: date-time - name: lastUpdate.gt in: query description: Date when the profile was updated - greater than. required: false schema: type: string format: date-time - name: lastUpdate.lt in: query description: Date when the profile was updated - lower than. required: false schema: type: string format: date-time - name: relatedServiceSpecificationId in: query description: The identifier of the related Service Specification. required: false schema: type: string - name: offset in: query description: >- Requested index for start of item to be provided in response requested by the client. Note that the index starts with "0". required: false schema: type: integer - name: limit in: query description: Requested number of resources to be provided in response. required: false schema: type: integer format: int32 responses: '200': 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. schema: type: boolean 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. schema: type: integer X-Result-Count: description: The number of items included in the response. schema: type: integer content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/TestProfile' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' post: tags: - testProfile summary: Creates a TestProfile. description: >- A request initiated by the Buyer/Client to create a TestProfile Profile in the Seller/Server system. operationId: createTestProfile requestBody: description: The TestProfile to be created. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/TestProfile_Create' required: true responses: '201': description: "'Created (https://tools.ietf.org/html/rfc7231#section-6.3.2)'" content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/TestProfile' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '/testProfile/{id}': get: tags: - testProfile summary: Retrieves a Test Profile by ID. description: >- The Buyer/Client requests detailed information about a single TestProfile based on the TestProfile Identifier. operationId: retrieveTestProfile parameters: - name: id in: path description: Identifier of the TestProfile required: true schema: type: string responses: '200': description: "'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'" content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/TestProfile' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' delete: tags: - testProfile summary: Deletes a Test Profile. description: >- The Buyer/Client requests deletion of TestProfile by specifying TestProfile Identifier. operationId: deleteTestProfile parameters: - name: id in: path description: Identifier of the TestProfile required: true schema: type: string responses: '204': description: Deleted '400': description: Bad request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' patch: tags: - testProfile summary: Modifies partially a TestProfile. description: >- A request initiated by the Buyer/Client to modify a TestProfile in the Seller/Server system based on a TestProfile Identifier. operationId: modifyTestProfile parameters: - name: id in: path description: Identifier of the TestProfile required: true schema: type: string requestBody: description: Test Profile to be updated. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/TestProfile_Modify' required: true responses: '200': description: "'Updated (https://tools.ietf.org/html/rfc7231#section-6.3.1)'" content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/TestProfile' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '409': description: Conflict content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error409' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' /testResult: get: tags: - testResult summary: List or find TestJob objects. description: >- The Buyer/Client requests a list of Test Results using none or more of the filter criteria. The Seller/Server returns a summarized list of Test Results. For each Test Result returned, the Seller/Server also provides a Test Result Identifier that uniquely identifiers this Test Result 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: listTestResult parameters: - name: testJobId in: query description: The identifier of the Test Job. required: false schema: type: string - name: relatedServiceIdFrom in: query description: The from service identifier for a related Service. required: false schema: type: string - name: relatedServiceIdTo in: query description: The to service identifier for a related Service. required: false schema: type: string - name: relatedServiceSpecificationId in: query description: The identifier of the related Service Specification. required: false schema: type: string - name: relatedContactInformationName in: query description: The contact for a Test Job. required: false schema: type: string - name: requestedStartDateTime.gt in: query description: The start date and time of the Test Result for a given Test Job - greater than. required: false schema: type: string format: date-time - name: requestedStartDateTime.lt in: query description: The start date and time of the Test Result for a given Test Job - lower than. required: false schema: type: string format: date-time - name: requestedEndDateTime.gt in: query description: The end date and time of the Test Result for a given Test Job - greater than. required: false schema: type: string format: date-time - name: requestedEndDateTime.lt in: query description: The end date and time of the Test Result for a given Test Job - lower than. required: false schema: type: string format: date-time - name: offset in: query description: >- Requested index for start of item to be provided in response requested by the client. Note that the index starts with "0". required: false schema: type: integer - name: limit in: query description: Requested number of resources to be provided in response. required: false schema: type: integer format: int32 responses: '200': 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. schema: type: boolean 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. schema: type: integer X-Result-Count: description: The number of items included in the response. schema: type: integer content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/TestResult_Common' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '422': description: Unprocessable entity due to the business validation problems content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/Error422' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '/testResult/{id}': get: tags: - testResult summary: Retrieves a TestResult by ID. description: >- The Buyer/Client requests detailed information about a single Test Result based on the Test Result Identifier. operationId: retrieveTestResult parameters: - name: id in: path description: Identifier of the Test Result required: true schema: type: string responses: '200': description: "'OK. (https://tools.ietf.org/html/rfc7231#section-6.3.1)'" content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/TestResult' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' /hub: post: tags: - events subscription summary: Register a listener description: >- The Buyer/Client requests to subscribe to Test Job, Test Profile or Test Result Notifications. operationId: registerListener requestBody: description: Data containing the callback endpoint to deliver the information. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/EventSubscriptionInput' required: true responses: '201': description: Subscribed content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/EventSubscription' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' '/hub/{id}': get: tags: - events subscription summary: Retrieves a Hub by ID. description: >- The Buyer/Client requests detailed information about a single Notification Hub based on the Hub Identifier. operationId: retrieveHub parameters: - name: id in: path description: Identifier of the Hub required: true schema: type: string responses: '200': description: Success content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/EventSubscription' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' delete: tags: - events subscription summary: Unregister a listener description: The Buyer/Client requests to unsubscribe from Test Job Notifications. operationId: unregisterListener parameters: - name: id in: path description: The id of the registered listener required: true schema: type: string responses: '204': description: Deleted '400': description: Bad request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error401' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error403' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error404' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error500' '501': description: Method not implemented. content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error501' components: schemas: CancelTestJob: allOf: - $ref: '#/components/schemas/CancelTestJob_Common' - description: Request for cancellation of an existing Test job type: object properties: cancellationDeniedReason: description: >- If the Cancel Test Job request is denied by the Seller/Server, the Seller/Server provides a reason to the Buyer/Client using this attribute. type: string creationDate: description: Date when Cancel Test Job was created. type: string format: date-time href: description: Hyperlink to the Cancel Test Job entity type: string id: description: >- Unique identifier for the Cancel Test Job that is generated by the Seller/Server when the Cancel Test Job request `state` is set to `acknowledged`. type: string state: $ref: '#/components/schemas/TestJobProcessStateType' required: - creationDate - href - id - state CancelTestJob_Common: description: Request for cancellation of an existing Test Job type: object properties: cancellationReason: description: >- An optional attribute that allows the Buyer/Client to provide additional detail to the Seller/Server on the reason for cancelling Test Job. type: string testJob: $ref: '#/components/schemas/TestJobRef' required: - testJob Duration: description: 'A Duration in a given unit of time e.g. 3 hours, or 5 days.' type: object properties: amount: description: 'Duration (number of seconds, minutes, hours, etc.)' type: integer minimum: 0 units: description: Time unit enumerated $ref: '#/components/schemas/TimeUnit' required: - amount - units Error: 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. type: object properties: message: description: >- Text that provides mode details and corrective actions related to the error. This can be shown to a client user. type: string reason: description: >- Text that explains the reason for the error. This can be shown to a client user. type: string maxLength: 255 referenceError: description: URL pointing to documentation describing the error type: string format: uri required: - reason Error400: description: Bad Request. (https://tools.ietf.org/html/rfc7231#section-6.5.1) allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: 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 $ref: '#/components/schemas/Error400Code' required: - code Error400Code: 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 type: string enum: - missingQueryParameter - missingQueryValue - invalidQuery - invalidBody Error401: description: Unauthorized. (https://tools.ietf.org/html/rfc7235#section-3.1) allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: | One of the following error codes: - missingCredentials: No credentials provided. - invalidCredentials: Provided credentials are invalid or expired $ref: '#/components/schemas/Error401Code' required: - code Error401Code: description: | One of the following error codes: - missingCredentials: No credentials provided. - invalidCredentials: Provided credentials are invalid or expired type: string enum: - missingCredentials - invalidCredentials Error403: description: >- Forbidden. This code indicates that the server understood the request but refuses to authorize it. (https://tools.ietf.org/html/rfc7231#section-6.5.3) allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: 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 $ref: '#/components/schemas/Error403Code' required: - code Error403Code: 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 type: string enum: - accessDenied - forbiddenRequester - tooManyUsers Error404: description: >- Resource for the requested path not found. (https://tools.ietf.org/html/rfc7231#section-6.5.4) allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: | The following error code: - notFound: A current representation for the target resource not found type: string enum: - notFound required: - code Error409: description: Conflict (https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.8) allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: | The following error code: - conflict: The client has provided a value whose semantics are not appropriate for the property. type: string enum: - conflict required: - code Error422: description: >- Unprocessable entity due to a business validation problem. (https://tools.ietf.org/html/rfc4918#section-11.2) allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: | One of the following error codes: - missingProperty: The property the Seller has 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 Seller system - unexpectedProperty: Additional property, not expected by the Seller has been provided - tooManyRecords: the number of records to be provided in the response exceeds the Seller's threshold. - otherIssue: Other problem was identified (detailed information provided in a reason) $ref: '#/components/schemas/Error422Code' propertyPath: 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). type: string required: - code Error422Code: description: | One of the following error codes: - missingProperty: The property the Seller has 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 Seller system - unexpectedProperty: Additional property, not expected by the Seller has been provided - tooManyRecords: the number of records to be provided in the response exceeds the Seller's threshold. - otherIssue: Other problem was identified (detailed information provided in a reason) type: string enum: - missingProperty - invalidValue - invalidFormat - referenceNotFound - unexpectedProperty - tooManyRecords - otherIssue Error500: description: >- Internal Server Error. (https://tools.ietf.org/html/rfc7231#section-6.6.1) allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: | The following error code: - internalError: Internal server error - the server encountered an unexpected condition that prevented it from fulfilling the request. type: string enum: - internalError required: - code Error501: description: >- Not Implemented. Used in case Seller is not supporting an optional operation (https://tools.ietf.org/html/rfc7231#section-6.6.2) allOf: - $ref: '#/components/schemas/Error' - type: object properties: code: description: |- The following error code: - notImplemented: Method not supported by the server type: string enum: - notImplemented required: - code EventSubscription: required: - id allOf: - $ref: '#/components/schemas/EventSubscriptionInput' - description: This resource is used to respond to notification subscriptions. type: object properties: id: description: >- An identifier of this Event Subscription assigned when a resource is created. type: string EventSubscriptionInput: description: This class is used to register for Notifications. type: object properties: callback: description: >- This callback value must be set to *host* property from SFT Notification API (serviceFunctionTestNotification.api.yaml). This property is appended with the base path and notification resource path specified in that API to construct an URL to which notification is sent. E.g. for 'callback': "https://buyer.mplify.com/listenerEndpoint", the SFT event notification will be sent to: `https://buyer.mplify.com/listenerEndpoint/mefApi/interlude/serviceFunctionTestingNotification/v3/` type: string query: description: >- This attribute is used to define to which type of events to register to. Example: 'query':'eventType = testJobCreateEvent'. To subscribe for more than one event type, put the values separated by comma: `eventType=testJobCreateEvent,testProfileAttributeValueChangeEvent`. The possible values are enumerated by 'TestProfileEventType' and TestJobEventType in serviceFunctionTestNotification.api.yaml. An empty query is treated as specifying no filters - ending in subscription for all event types. type: string required: - callback - id ModifyTestJob: allOf: - $ref: '#/components/schemas/ModifyTestJob_Common' - description: Request for modification of an existing Test job type: object properties: modificationDeniedReason: description: >- If the Modify Test Job request is denied by the Seller/Server, the Seller/Server provides a reason to the Buyer/Client using this attribute. type: string creationDate: description: Date when Modify Test Job was created. type: string format: date-time href: description: Hyperlink to the Modify Test Job entity type: string id: description: >- Unique identifier for the Modify Test Job that is generated by the Seller/Server when the Modify Test Job request `state` is set to `acknowledged`. type: string state: $ref: '#/components/schemas/TestJobProcessStateType' required: - creationDate - href - id - state ModifyTestJob_Common: description: Request for modification of an existing Test Job type: object properties: modificationReason: description: >- An optional attribute that allows the Buyer/Client to provide additional detail to the Seller/Server on the reason for cancelling Test Job. type: string testJob: $ref: '#/components/schemas/TestJobRef' name: description: The name of the Test Job. type: string description: description: A description of the Test Job. type: string requestedStartDateTime: description: >- The start date and time of the Test Job. If the attribute is empty the Test Jobs starts immediately. type: string format: date-time requestedEndDateTime: description: >- The end date and time of the Test Job. If the attribute is empty the Test Job runs forever. type: string format: date-time testProfile: $ref: '#/components/schemas/TestProfileRefOrValue' relatedServiceFrom: $ref: '#/components/schemas/ServiceRef' relatedServiceTo: $ref: '#/components/schemas/ServiceRef' serviceSpecificTestJobConfiguration: $ref: '#/components/schemas/ServiceSpecificTestJobConfiguration' required: - testJob RelatedContact: type: object properties: emailAddress: description: The email address for this contact. type: string name: description: The name of person or organization to be contacted. type: string organization: description: The organization of this contact. type: string phoneNumber: description: The telephone number for this contact. type: string phoneNumberExtension: description: The telephone number extension for this contact. type: string postalAddress: description: The postal address for this contact. type: string ResumeTestJob: allOf: - $ref: '#/components/schemas/ResumeTestJob_Common' - description: Request for resumption of an existing Test job type: object properties: resumptionDeniedReason: description: >- If the Resume Test Job request is denied by the Seller/Server, the Seller/Server provides a reason to the Buyer/Client using this attribute. type: string creationDate: description: Date when Resume Test Job was created. type: string format: date-time href: description: Hyperlink to the Resume Test Job entity type: string id: description: >- Unique identifier for the Resume Test Job that is generated by the Seller/Server when the Resume Test Job request `state` is set to `acknowledged`. type: string state: $ref: '#/components/schemas/TestJobProcessStateType' required: - creationDate - href - id - state ResumeTestJob_Common: description: Request for resumption of an existing Test Job type: object properties: resumptionReason: description: >- An optional attribute that allows the Buyer/Client to provide additional detail to the Seller/Server on the reason for cancelling Test Job. type: string testJob: $ref: '#/components/schemas/TestJobRef' required: - testJob ServiceRef: description: Reference to a Service instance. type: object properties: href: description: Hyperlink reference to Service type: string id: description: unique identifier of Service type: string required: - id ServiceSpecificTestResultConfiguration: description: >- ServiceSpecificTestResultConfiguration is used as an extension point for schema to be used that defines the Test Result attributes. The `@type` attribute is used as a discriminator. type: object properties: '@type': description: The named type must be a subclass of ServiceSpecificTestJobResult. type: string required: - '@type' discriminator: propertyName: '@type' ServiceSpecificTestJobConfiguration: description: >- ServiceSpecificTestJobConfiguration is used as an extension point for schema to be used that defines the Test Measure attributes. The `@type` attribute is used as a discriminator. type: object properties: '@type': description: The named type must be a subclass of ServiceSpecificTestJobConfiguration. type: string required: - '@type' discriminator: propertyName: '@type' ServiceSpecificTestProfileConfiguration: description: >- ServiceSpecificTestProfileConfiguration is used as an extension point for for schema that define how a test is performed for a given Test Specification. The `@type` attribute is used as a discriminator. type: object properties: '@type': description: >- The named type must be a subclass of ServiceSpecificTestProfileConfiguration. type: string required: - '@type' discriminator: propertyName: '@type' ServiceSpecificationRef: type: object properties: href: type: string format: uri description: Hyperlink reference to the Service Specification id: description: >- The unique identifier of the related Service Specification that this Test Profile can be used to test type: string required: - id SuspendTestJob: allOf: - $ref: '#/components/schemas/SuspendTestJob_Common' - description: Request for suspension of an existing Test job type: object properties: suspensionDeniedReason: description: >- If the Suspend Test Job request is denied by the Seller/Server, the Seller/Server provides a reason to the Buyer/Client using this attribute. type: string creationDate: description: Date when Suspend Test Job was created. type: string format: date-time href: description: Hyperlink to the Suspend Test Job entity type: string id: description: >- Unique identifier for the Suspend Test Job that is generated by the Seller/Server when the Suspend Test Job request `state` is set to `acknowledged`. type: string state: $ref: '#/components/schemas/TestJobProcessStateType' required: - creationDate - href - id - state SuspendTestJob_Common: description: Request for suspension of an existing Test Job type: object properties: suspensionReason: description: >- An optional attribute that allows the Buyer/Client to provide additional detail to the Seller/Server on the reason for suspending Test Job. type: string testJob: $ref: '#/components/schemas/TestJobRef' required: - testJob TerminationError: description: >- This indicates an error that caused an Item to be terminated. The code and propertyPath should be used like in Error422. type: object properties: code: description: | One of the following error codes: - missingProperty: The property the SOF has 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 SOF system - unexpectedProperty: Additional property, not expected by the SOF has been provided - tooManyRecords: the number of records to be provided in the response exceeds the SOF's threshold. - otherIssue: Other problem was identified (detailed information provided in a reason) $ref: '#/components/schemas/Error422Code' propertyPath: 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). type: string value: description: Text to describe the reason of the termination. type: string TestJob: allOf: - $ref: '#/components/schemas/TestJob_Common' - description: A definition of Test Job for a specific Service Identifier. type: object properties: actualStartDateTime: description: The actual start date and time that a Test Job started. type: string format: date-time actualEndDateTime: description: The actual end date and time of the Test Job. type: string format: date-time creationDate: type: string format: date-time description: Date when the Test Job was created. href: type: string format: uri description: Hyperlink reference id: description: The identifier of the Test Job. type: string lastModifiedDate: type: string format: date-time description: Date when the job was last modified. state: $ref: '#/components/schemas/TestJobStateType' terminationError: description: >- When the Seller/Server cannot process the request, the Seller/Server returns a text-based list of reasons here. type: array items: $ref: '#/components/schemas/TerminationError' required: - creationDate - href - id - lastModifiedDate - state TestJobProcessStateType: type: string description: |- The state of the process related to Test Job | state | Mplify 136.1 name | Description | | -------------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `accepted` | ACCEPTED | The Modify/Cancel/Resume/Suspend Test Job request has been accepted and processed by the Seller/Server. | | `acknowledged` | ACKNOWLEDGED | The Modify/Cancel/Resume/Suspend Test Job request has been received by the Seller/Server and has passed basic validation. Test Job Process Identifier is assigned in the Acknowledged state. The request remains in the Acknowledged state until all validations as applicable are completed. If the attributes are validated, the request moves to the Accepted state. If not all attributes are validated, the request moves to the Rejected state. | | `rejected` | REJECTED | The Modify/Cancel/Resume/Suspend Test Job request has been rejected by the Seller/Server. | enum: - accepted - acknowledged - rejected TestJobRef: description: A reference to a Test Job resource type: object properties: href: description: Hyperlink to the referenced Test Job type: string id: description: Identifier of the referenced Test Job type: string required: - id TestJobStateType: description: |- The state of the Test Job. | State | Mplify 136.1 name | Description | | -------------------------| -----------------------| -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `acknowledged` | ACKNOWLEDGED | The Create Test Job request has been received from the Buyer/Client and the Seller/Server has assigned a Test Job Identifier to it. If the request attributes fail validation, the Create Test Job moves to the REJECTED state. If the attributes pass validation, it is then determined if the Create Test Job Start Date Time is immediate or if the Create Test Job Start Date Time indicates that the Test Job is to be scheduled for a later date time. If the Test Job is to be scheduled the Test Job moves to the SCHEDULED state and awaits the scheduled date and time. If the Test Job is to be performed immediately, the Test Job moves to the IN_PROGRESS state and Test Results begin.| | `assessingCancellation` | ASSESSING_CANCELLATION | A Cancel Test Job request is received while the Test Job is in the IN_PROGRESS, SUSPENDED or SCHEDULED state. If the Cancel Test Job request is approved, the Test Job moves to the CANCELLED state. If not, the Test Job returns to the IN_PROGRESS, SUSPENDED or SCHEDULED state. | | `assessingModification` | ASSESSING_MODIFICATION | A Modify Test Job request was received while the Test Job is in the SUSPENDED or SCHEDULED state. If the Modify Test Job is accepted, the Test Job is updated. If the Modify Test Job is declined, the Test Job is not updated and returns to the SUSPENDED or SCHEDULED state. | | `cancelled` | CANCELLED | A Cancel Test Job request is received from the Buyer/Client. If the request is accepted, the Test Job moves to the CANCELLED state. The Test Job must be in the IN_PROGRESS, SCHEDULED, or SUSPENDED, state. | | `completed` | COMPLETED | The Test Job has reached the End Date Time or has completed all Test Measurements and provided Test Results. | | `inProgress` | IN_PROGRESS | Whether an immediate request or a scheduled request, the Test Job moves to the IN_PROGRESS state when it begins performing Test Results. If a Cancel Test Job request is received and accepted, the Test Job moves to the CANCELLED state. If the Cancel Test Job request is declined, the Test Job returns to the IN_PROGRESS state and continues Test Results until they are completed. If a Suspend Test Job request is received, the Test Job moves to the SUSPENDED state. | | `rejected` | REJECTED | The Create Test Job request fails validation and is rejected. | | `scheduled` | SCHEDULED | The Test Job is scheduled to start at a later time. The Test Job stays in the SCHEDULED state until the Start Date and Time is reached. The Test Job moves to IN_PROGRESS when the Start Date and Time is reached. A Test Job with the state SCHEDULED can be moved to the SUSPENDED or CANCELLED state. | | `suspended` | SUSPENDED | A Test Job in the IN_PROGRESS or SCHEDULED state receives a Suspend Test Job request. The Test Job moves to the SUSPENDED state. | type: string enum: - acknowledged - assessingCancellation - assessingModification - cancelled - completed - inProgress - rejected - scheduled - suspended TestJob_Common: description: A definition of Test Job for a specific Service Identifier. type: object properties: name: description: The name of the Test Job. type: string description: description: A description of the Test Job. type: string requestedStartDateTime: description: >- The start date and time of the Test Job. If the Buyer desires to schedule a test, this is a future date/time. If the Buyer desires an immediate test, this is empty. type: string format: date-time requestedEndDateTime: description: The end date and time of the Test Job. type: string format: date-time recurrencePeriod: $ref: '#/components/schemas/Duration' testProfile: $ref: '#/components/schemas/TestProfileRefOrValue' relatedServiceFrom: $ref: '#/components/schemas/ServiceRef' relatedServiceTo: $ref: '#/components/schemas/ServiceRef' serviceSpecificTestJobConfiguration: $ref: '#/components/schemas/ServiceSpecificTestJobConfiguration' required: - name - relatedServiceFrom - relatedServiceTo - requestedEndDateTime - serviceSpecificTestJobConfiguration - testProfile TestJob_Find: description: >- This class represents a single list item for the response of `listTestJob` type: object properties: requestedEndDateTime: description: The end date and time of the Test Job. type: string id: description: A unique identifier for the Test Job assigned by the Seller/Server. type: string name: description: The name of the Test Job.. type: string relatedServiceFrom: $ref: '#/components/schemas/ServiceRef' relatedServiceTo: $ref: '#/components/schemas/ServiceRef' requestedStartDateTime: description: The start date and time of the Test Job. type: string testProfile: $ref: '#/components/schemas/TestProfileRefOrValue' required: - idRelatedContact - name - relatedServiceFrom - relatedServiceTo - requestedEndDateTime - requestedStartDateTime - testProfile TestProfile: allOf: - $ref: '#/components/schemas/TestProfile_Common' - description: >- Detailed specification that includes the Test Job attributes and Service Specifications that are specified to be tested by this Test Profile. type: object properties: creationDate: description: Date when Test Profile was created. type: string format: date-time href: type: string format: uri description: Hyperlink reference id: description: >- A unique identifier for the Test Profile assigned by the Seller/Server. type: string lifecycleState: $ref: '#/components/schemas/TestProfileLifecycleStateType' lastUpdate: description: Date and time of the last update of the Test Profile type: string format: date-time required: - creationDate - href - id TestProfileLifecycleStateType: description: |- Current lifecycle status of the Test Profile. | State | Mplify 136.1 name | Description | | -------------- | ------------------- | ---------------------------------------------------------------------------------------------- | | `assigned` | ASSIGNED | The Test Profile has been assigned to a Test Job. | | `available` | AVAILABLE | The Test Profile has been created or modified and is ready for users to specify in a Test Job. | type: string enum: - assigned - available TestProfileLifecycleStatusType: description: |- Current lifecycle status of the Test Profile. | Status | Mplify 136.1 name | Description | | -------------- | ------------------- | -------------------------------------------------------- | | `experimental` | EXPERIMENTAL | Test Profile use may be limited to a small number of users. | | `pending` | PENDING | Test Profile is waiting to be Approved | | `approved` | APPROVED | Test Profile has been Approved for general use. | | `deprecated` | DEPRECATED | Test Profile has been replaced by another Test Profile. | type: string enum: - experimental - pending - approved - deprecated TestProfileRef: description: A reference to a Test Profile resource allOf: - $ref: '#/components/schemas/TestProfileRefOrValue' - type: object properties: href: description: Hyperlink to the referenced Test Profile type: string id: description: Identifier of the referenced Test Profile type: string required: - id TestProfileRefOrValue: description: >- Defines the reference to Test Profile or defines values from TestProfile type. discriminator: propertyName: '@type' mapping: TestProfileRef: '#/components/schemas/TestProfileRef' TestProfileValue: '#/components/schemas/TestProfileValue' properties: '@type': type: string description: >- This field is used as a discriminator to differentiate if object relates directly to Test Profile entity or defines values from TestProfile type. required: - '@type' TestProfileRelationship: type: object properties: id: description: The unique identifier for a related Test Profile type: string name: description: The unique name for a related Test Profile type: string order: description: The order which the related Test Jobs are run during a Test Job type: integer relatedServiceSpecification: $ref: '#/components/schemas/ServiceSpecificationRef' role: $ref: '#/components/schemas/TestProfileRelationshipRole' validFor: description: The last date that the Test Profile is valid. type: string format: date-time required: - id - name - role - relatedServiceSpecification TestProfileRelationshipRole: description: |- Role of the relationship. | role | Mplify 136.1 name | Description | | ------------- | ------------------ | ------------------------------------------------------------------- | | `primary` | PRIMARY | Test Profile to be started first. | | `secondary` | SECONDARY | Test Profile to be started after Primary Test Profile is completed. | type: string enum: - primary - secondary TestProfileValue: description: >- Direct assignment of values defined by TestProfile type to TestJob object. Necessary when TestJob is created without reference to TestProfile. allOf: - $ref: '#/components/schemas/TestProfileRefOrValue' - type: object properties: serviceSpecificTestProfileConfiguration: $ref: '#/components/schemas/ServiceSpecificTestProfileConfiguration' relatedServiceSpecification: $ref: '#/components/schemas/ServiceSpecificationRef' relatedContact: description: >- Contacts who manage or otherwise have an interest in this Test Profile type: array items: $ref: '#/components/schemas/RelatedContact' TestProfile_Common: description: >- Detailed specification that includes the Test Job attributes and Service Specifications that are specified to be tested by this Test Profile. type: object properties: description: description: A free-text description of the Test Profile type: string isBundled: description: >- Determines whether specification represents a single Test Profile (false), or a bundle of Test Profiles (true). For atomic Test Profiles this is always set to false. type: boolean lifecycleStatus: $ref: '#/components/schemas/TestProfileLifecycleStatusType' name: description: The name of the Test Profile type: string validFor: description: Last date that the Test Profile is valid type: string format: date-time testProfileRelationship: description: Test profile may relate to more than one sub Test Profiles. type: array items: $ref: '#/components/schemas/TestProfileRelationship' serviceSpecificTestProfileConfiguration: $ref: '#/components/schemas/ServiceSpecificTestProfileConfiguration' relatedServiceSpecification: $ref: '#/components/schemas/ServiceSpecificationRef' relatedContact: description: >- Contacts who manage or otherwise have an interest in this Test Profile type: array items: $ref: '#/components/schemas/RelatedContact' TestProfile_Create: allOf: - $ref: '#/components/schemas/TestProfile_Common' - description: >- Detailed specification that includes the Test Job attributes and Service Specifications that are specified to be tested by this Test Profile. This type is used in the request. type: object required: - lifecycleStatus - name - validFor - isBundled - relatedServiceSpecification TestProfile_Modify: allOf: - $ref: '#/components/schemas/TestProfile_Common' - description: >- Detailed specification that includes the Test Job attributes and Service Specifications that are specified to be tested by this Test Profile. This type is used in the request. type: object minProperties: 1 TestResult: allOf: - $ref: '#/components/schemas/TestResult_Common' - description: >- The execution of a Test Job creates Test Result that provide Buyer/Client with the results of the Job. type: object properties: serviceSpecificTestResultConfiguration: $ref: '#/components/schemas/ServiceSpecificTestResultConfiguration' required: - serviceSpecificTestResultConfiguration TestResult_Common: description: >- The execution of a Test Job creates Test Result that provide Buyer/Client with the results of the Job. type: object properties: actualStartDateTime: description: The actual start date and time of the Test Result for a given Test Job. type: string format: date-time actualEndDateTime: description: The actual end date and time of the Test Result for a given Test Job. type: string format: date-time href: type: string format: uri description: Hyperlink reference id: description: A unique identifier for the Test Result assigned by the Seller/Server. type: string relatedServiceFrom: $ref: '#/components/schemas/ServiceRef' relatedServiceTo: $ref: '#/components/schemas/ServiceRef' testJob: $ref: '#/components/schemas/TestJobRef' required: - actualStartDateTime - actualEndDateTime - href - id - relatedServiceFrom - relatedServiceTo - testJob TimeUnit: description: | Represents a unit of time. type: string enum: - seconds - minutes - businessHours - calendarHours - businessDays - calendarDays - months - years