openapi: 3.2.0 info: title: Mef Test Profile API version: 3.0.0 description: 'Operations tagged testProfile across 3 of this provider''s published API definitions: mef-lso-allegro-service-function-test-openapi.yml, mef-lso-interlude-service-function-test-openapi.yml, mef-lso-legato-service-function-test-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://{serverBase}/mefApi/allegro/serviceFunctionTesting/v3/ variables: serverBase: description: The base of SOF's URL. default: mplify.net - url: https://{serverBase}/mefApi/interlude/serviceFunctionTesting/v3/ variables: serverBase: description: The base of SOF's URL. default: mplify.net - url: https://{serverBase}/mefApi/legato/serviceFunctionTesting/v3/ variables: serverBase: description: The base of SOF's URL. default: mplify.net tags: - name: testProfile paths: /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' servers: - url: https://{serverBase}/mefApi/allegro/serviceFunctionTesting/v3/ variables: serverBase: description: The base of SOF's URL. default: mplify.net /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' servers: - url: https://{serverBase}/mefApi/allegro/serviceFunctionTesting/v3/ variables: serverBase: description: The base of SOF's URL. default: mplify.net components: schemas: 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 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 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' Error401Code: description: 'One of the following error codes: - missingCredentials: No credentials provided. - invalidCredentials: Provided credentials are invalid or expired ' type: string enum: - missingCredentials - invalidCredentials 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 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 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' 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 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 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 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 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 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 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 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:\n - missingProperty: The property the Seller has expected is not present in the payload\n - invalidValue: The property has an incorrect value\n - invalidFormat: The property value does not comply with the expected value format\n - referenceNotFound: The object referenced by the property cannot be identified in the Seller system\n - unexpectedProperty: Additional property, not expected by the Seller has been provided\n - tooManyRecords: the number of records to be provided in the response exceeds the Seller's threshold.\n - otherIssue: Other problem was identified (detailed information provided in a reason)\n" $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:\n - missingProperty: The property the Seller has expected is not present in the payload\n - invalidValue: The property has an incorrect value\n - invalidFormat: The property value does not comply with the expected value format\n - referenceNotFound: The object referenced by the property cannot be identified in the Seller system\n - unexpectedProperty: Additional property, not expected by the Seller has been provided\n - tooManyRecords: the number of records to be provided in the response exceeds the Seller's threshold.\n - otherIssue: Other problem was identified (detailed information provided in a reason)\n" type: string enum: - missingProperty - invalidValue - invalidFormat - referenceNotFound - unexpectedProperty - tooManyRecords - otherIssue 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 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 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 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 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 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 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 x-refined-from: - mef-lso-allegro-service-function-test-openapi.yml - mef-lso-interlude-service-function-test-openapi.yml - mef-lso-legato-service-function-test-openapi.yml