{
	"swagger": "2.0",
	"info": {
		"version": "1.1.1",
		"title": "SOL003 - VNF Performance Management interface",
		"description": "SOL003 - VNF Performance Management interface\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nIn clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design.\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=\n",
		"license": {
			"name": "ETSI Forge copyright notice",
			"url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt"
		}
	},
	"externalDocs": {
		"description": "ETSI GS NFV-SOL 003 V2.4.1",
		"url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf"
	},
	"basePath": "/vnfpm/v1",
	"schemes": ["https"],
	"consumes": ["application/json"],
	"produces": ["application/json"],
	"paths": {
		"/pm_jobs": {
			"post": {
				"description": "Create PM Job\n\nThe POST method creates a PM job.\n",
				"parameters": [{
					"name": "CreatePmJobRequest",
					"description": "The VNF creation parameters",
					"in": "body",
					"required": true,
					"schema": {
						"description": "This type represents a request to create a PM job.\n",
						"type": "object",
						"required": ["criteria"],
						"properties": {
							"objectInstanceIds": {
								"description": "Identifiers of the VNF instances for which performance information is requested to be collected.\n",
								"type": "array",
								"items": {
									"description": "An identifier with the intention of being globally unique.\n",
									"type": "string"
								}
							},
							"criteria": {
								"description": "Criteria of the collection of performance information.\n",
								"type": "object",
								"required": ["collectionPeriod", "reportingPeriod"],
								"properties": {
									"performanceMetric": {
										"description": "This defines the types of performance metrics for the specified object instances, as specified in ETSI GS NFV-IFA 027). At least one of the two attributes (performance metric or group) shall be present.\n",
										"type": "array",
										"items": {
											"type": "string"
										}
									},
									"performanceMetricGroup": {
										"description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n",
										"type": "array",
										"items": {
											"type": "string"
										}
									},
									"collectionPeriod": {
										"description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n",
										"type": "integer"
									},
									"reportingPeriod": {
										"description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n",
										"type": "integer"
									},
									"reportingBoundary": {
										"description": "Date-time stamp.  Representation: String formatted according to IETF RFC 3339.\n",
										"type": "string",
										"format": "date-time"
									}
								}
							}
						}
					}
				}, {
					"name": "Accept",
					"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
					"in": "header",
					"required": true,
					"type": "string"
				}, {
					"name": "Content-Type",
					"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
					"in": "header",
					"required": true,
					"type": "string"
				}, {
					"name": "Authorization",
					"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
					"in": "header",
					"required": false,
					"type": "string"
				}],
				"responses": {
					"201": {
						"description": "Created\nThe PM job was created successfully. The response body shall contain a representation of the created PM job resource. The HTTP response shall include a \"Location\" HTTP header that points to the created PM job resource.\n",
						"headers": {
							"Location": {
								"description": "The resource URI of the created PM Job",
								"type": "string",
								"format": "url"
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "This type represents a PM job.\n",
							"type": "object",
							"required": ["id", "objectInstanceIds", "criteria"],
							"properties": {
								"id": {
									"description": "An identifier with the intention of being globally unique.\n",
									"type": "string"
								},
								"objectInstanceIds": {
									"description": "Identifiers of the VNF instances for which performance information is collected.\n",
									"type": "array",
									"items": {
										"description": "An identifier with the intention of being globally unique.\n",
										"type": "string"
									}
								},
								"criteria": {
									"description": "Criteria of the collection of performance information.\n",
									"type": "object",
									"required": ["collectionPeriod", "reportingPeriod"],
									"properties": {
										"performanceMetric": {
											"description": "This defines the types of performance metrics for the specified object instances, as specified in ETSI GS NFV-IFA 027). At least one of the two attributes (performance metric or group) shall be present.\n",
											"type": "array",
											"items": {
												"type": "string"
											}
										},
										"performanceMetricGroup": {
											"description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n",
											"type": "array",
											"items": {
												"type": "string"
											}
										},
										"collectionPeriod": {
											"description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n",
											"type": "integer"
										},
										"reportingPeriod": {
											"description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n",
											"type": "integer"
										},
										"reportingBoundary": {
											"description": "Date-time stamp.  Representation: String formatted according to IETF RFC 3339.\n",
											"type": "string",
											"format": "date-time"
										}
									}
								},
								"reports": {
									"description": "Information about available reports collected by this PM job.\n",
									"type": "object",
									"required": ["href", "readyTime", "_links"],
									"properties": {
										"href": {
											"description": "The Uri where the report can be obtained.\n",
											"type": "string",
											"format": "url"
										},
										"readyTime": {
											"description": "Date-time stamp.  Representation: String formatted according to IETF RFC 3339.\n",
											"type": "string",
											"format": "date-time"
										},
										"expiryTime": {
											"description": "Date-time stamp.  Representation: String formatted according to IETF RFC 3339.\n",
											"type": "string",
											"format": "date-time"
										},
										"fileSize": {
											"description": "The size of the report file in bytes, if known.\n",
											"type": "integer"
										},
										"_links": {
											"description": "Links for this resource.\n",
											"type": "object",
											"required": ["self"],
											"properties": {
												"self": {
													"description": "This type represents a link to a resource.\n",
													"type": "object",
													"required": ["href"],
													"properties": {
														"href": {
															"description": "URI of the referenced resource.\n",
															"type": "string",
															"format": "url"
														}
													}
												},
												"objects": {
													"description": "Links to resources representing the VNF instances for which performance information is collected. Shall be present if the VNF instance information is accessible as a resource.\n",
													"type": "array",
													"items": {
														"description": "This type represents a link to a resource.\n",
														"type": "object",
														"required": ["href"],
														"properties": {
															"href": {
																"description": "URI of the referenced resource.\n",
																"type": "string",
																"format": "url"
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					},
					"400": {
						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"403": {
						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"405": {
						"description": "Method Not Allowed\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"406": {
						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"503": {
						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					}
				}
			},
			"get": {
				"description": "Query PM Job\n\nThe client can use this method to retrieve information about PM jobs.\n",
				"parameters": [{
					"name": "Accept",
					"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
					"in": "header",
					"required": true,
					"type": "string"
				}, {
					"name": "Authorization",
					"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
					"in": "header",
					"required": false,
					"type": "string"
				}],
				"responses": {
					"200": {
						"description": "OK\nInformation about zero or more PM jobs was queried successfully. The response body shall contain representations of zero or more PM jobs.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"type": "array",
							"items": {
								"description": "This type represents a PM job.\n",
								"type": "object",
								"required": ["id", "objectInstanceIds", "criteria"],
								"properties": {
									"id": {
										"description": "An identifier with the intention of being globally unique.\n",
										"type": "string"
									},
									"objectInstanceIds": {
										"description": "Identifiers of the VNF instances for which performance information is collected.\n",
										"type": "array",
										"items": {
											"description": "An identifier with the intention of being globally unique.\n",
											"type": "string"
										}
									},
									"criteria": {
										"description": "Criteria of the collection of performance information.\n",
										"type": "object",
										"required": ["collectionPeriod", "reportingPeriod"],
										"properties": {
											"performanceMetric": {
												"description": "This defines the types of performance metrics for the specified object instances, as specified in ETSI GS NFV-IFA 027). At least one of the two attributes (performance metric or group) shall be present.\n",
												"type": "array",
												"items": {
													"type": "string"
												}
											},
											"performanceMetricGroup": {
												"description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n",
												"type": "array",
												"items": {
													"type": "string"
												}
											},
											"collectionPeriod": {
												"description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n",
												"type": "integer"
											},
											"reportingPeriod": {
												"description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n",
												"type": "integer"
											},
											"reportingBoundary": {
												"description": "Date-time stamp.  Representation: String formatted according to IETF RFC 3339.\n",
												"type": "string",
												"format": "date-time"
											}
										}
									},
									"reports": {
										"description": "Information about available reports collected by this PM job.\n",
										"type": "object",
										"required": ["href", "readyTime", "_links"],
										"properties": {
											"href": {
												"description": "The Uri where the report can be obtained.\n",
												"type": "string",
												"format": "url"
											},
											"readyTime": {
												"description": "Date-time stamp.  Representation: String formatted according to IETF RFC 3339.\n",
												"type": "string",
												"format": "date-time"
											},
											"expiryTime": {
												"description": "Date-time stamp.  Representation: String formatted according to IETF RFC 3339.\n",
												"type": "string",
												"format": "date-time"
											},
											"fileSize": {
												"description": "The size of the report file in bytes, if known.\n",
												"type": "integer"
											},
											"_links": {
												"description": "Links for this resource.\n",
												"type": "object",
												"required": ["self"],
												"properties": {
													"self": {
														"description": "This type represents a link to a resource.\n",
														"type": "object",
														"required": ["href"],
														"properties": {
															"href": {
																"description": "URI of the referenced resource.\n",
																"type": "string",
																"format": "url"
															}
														}
													},
													"objects": {
														"description": "Links to resources representing the VNF instances for which performance information is collected. Shall be present if the VNF instance information is accessible as a resource.\n",
														"type": "array",
														"items": {
															"description": "This type represents a link to a resource.\n",
															"type": "object",
															"required": ["href"],
															"properties": {
																"href": {
																	"description": "URI of the referenced resource.\n",
																	"type": "string",
																	"format": "url"
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					},
					"400": {
						"description": "Bad Request\nInvalid attribute-based filtering parameters or Invalid attribute selector. It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string"
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"403": {
						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"405": {
						"description": "Method Not Allowed\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"406": {
						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"503": {
						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					}
				}
			}
		},
		"/pm_jobs/{pmJobId}": {
			"parameters": [{
				"name": "pmJobId",
				"description": "Identifier of the PM job. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new PM job resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n",
				"in": "path",
				"type": "string",
				"required": true
			}],
			"get": {
				"description": "Query PM Job\n\nThe client can use this method for reading an individual PM job.\n",
				"parameters": [{
					"name": "Accept",
					"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
					"in": "header",
					"required": true,
					"type": "string"
				}, {
					"name": "Authorization",
					"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
					"in": "header",
					"required": false,
					"type": "string"
				}],
				"responses": {
					"200": {
						"description": "OK\nInformation about an individual PM job was queried successfully. The response body shall contain a representation of the PM job resource.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "This type represents a PM job.\n",
							"type": "object",
							"required": ["id", "objectInstanceIds", "criteria"],
							"properties": {
								"id": {
									"description": "An identifier with the intention of being globally unique.\n",
									"type": "string"
								},
								"objectInstanceIds": {
									"description": "Identifiers of the VNF instances for which performance information is collected.\n",
									"type": "array",
									"items": {
										"description": "An identifier with the intention of being globally unique.\n",
										"type": "string"
									}
								},
								"criteria": {
									"description": "Criteria of the collection of performance information.\n",
									"type": "object",
									"required": ["collectionPeriod", "reportingPeriod"],
									"properties": {
										"performanceMetric": {
											"description": "This defines the types of performance metrics for the specified object instances, as specified in ETSI GS NFV-IFA 027). At least one of the two attributes (performance metric or group) shall be present.\n",
											"type": "array",
											"items": {
												"type": "string"
											}
										},
										"performanceMetricGroup": {
											"description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n",
											"type": "array",
											"items": {
												"type": "string"
											}
										},
										"collectionPeriod": {
											"description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n",
											"type": "integer"
										},
										"reportingPeriod": {
											"description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together.\n",
											"type": "integer"
										},
										"reportingBoundary": {
											"description": "Date-time stamp.  Representation: String formatted according to IETF RFC 3339.\n",
											"type": "string",
											"format": "date-time"
										}
									}
								},
								"reports": {
									"description": "Information about available reports collected by this PM job.\n",
									"type": "object",
									"required": ["href", "readyTime", "_links"],
									"properties": {
										"href": {
											"description": "The Uri where the report can be obtained.\n",
											"type": "string",
											"format": "url"
										},
										"readyTime": {
											"description": "Date-time stamp.  Representation: String formatted according to IETF RFC 3339.\n",
											"type": "string",
											"format": "date-time"
										},
										"expiryTime": {
											"description": "Date-time stamp.  Representation: String formatted according to IETF RFC 3339.\n",
											"type": "string",
											"format": "date-time"
										},
										"fileSize": {
											"description": "The size of the report file in bytes, if known.\n",
											"type": "integer"
										},
										"_links": {
											"description": "Links for this resource.\n",
											"type": "object",
											"required": ["self"],
											"properties": {
												"self": {
													"description": "This type represents a link to a resource.\n",
													"type": "object",
													"required": ["href"],
													"properties": {
														"href": {
															"description": "URI of the referenced resource.\n",
															"type": "string",
															"format": "url"
														}
													}
												},
												"objects": {
													"description": "Links to resources representing the VNF instances for which performance information is collected. Shall be present if the VNF instance information is accessible as a resource.\n",
													"type": "array",
													"items": {
														"description": "This type represents a link to a resource.\n",
														"type": "object",
														"required": ["href"],
														"properties": {
															"href": {
																"description": "URI of the referenced resource.\n",
																"type": "string",
																"format": "url"
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					},
					"400": {
						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"403": {
						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"405": {
						"description": "Method Not Allowed\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"406": {
						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"503": {
						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					}
				}
			},
			"delete": {
				"description": "Delete PM Job\n\nThis method terminates an individual PM job.\n",
				"parameters": [{
					"name": "Authorization",
					"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
					"in": "header",
					"required": false,
					"type": "string"
				}],
				"responses": {
					"204": {
						"description": "No Content\nThe PM job was deleted successfully. The response body shall be empty.\n",
						"headers": {
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						}
					},
					"400": {
						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"403": {
						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"405": {
						"description": "Method Not Allowed\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"406": {
						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"503": {
						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					}
				}
			}
		},
		"/pm_jobs/{pmJobId}/reports/{reportId}": {
			"parameters": [{
				"name": "pmJobId",
				"description": "Identifier of the PM job.\n",
				"in": "path",
				"type": "string",
				"required": true
			}, {
				"name": "reportId",
				"description": "Identifier of the performance report.\n",
				"in": "path",
				"type": "string",
				"required": true
			}],
			"get": {
				"description": "The client can use this method for reading an individual performance report.\n",
				"parameters": [{
					"name": "Accept",
					"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
					"in": "header",
					"required": true,
					"type": "string"
				}, {
					"name": "Authorization",
					"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
					"in": "header",
					"required": false,
					"type": "string"
				}],
				"responses": {
					"200": {
						"description": "OK\nInformation of an individual performance report was read successfully. The response body shall contain a representation of the performance report resource.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "This type defines the format of a performance report provided by the VNFM to the NFVO as a result of collecting performance information as part of a PM job.\n",
							"type": "object",
							"properties": {
								"entries": {
									"description": "List of performance information entries. Each performance report entry is for a given metric of a given object (i.e. VNF instance), but can include multiple collected values.\n",
									"type": "array",
									"items": {
										"type": "object",
										"required": ["objectType", "objectInstanceId", "performanceMetric", "performanceValue"],
										"properties": {
											"objectType": {
												"description": "Defines the object type for which performance information is reported (i.e. VNF type). The string value shall be set to the vnfdId of the VNF instance to which the performance information relates.\n",
												"type": "string"
											},
											"objectInstanceId": {
												"description": "An identifier with the intention of being globally unique.\n",
												"type": "string"
											},
											"performanceMetric": {
												"description": "Name of the metric collected.\n",
												"type": "string"
											},
											"performanceValues": {
												"description": "List of performance values with associated timestamp.\n",
												"type": "array",
												"items": {
													"type": "object",
													"required": ["timeStamp", "performanceValue"],
													"properties": {
														"timeStamp": {
															"description": "Date-time stamp.  Representation: String formatted according to IETF RFC 3339.\n",
															"type": "string",
															"format": "date-time"
														},
														"value": {
															"description": "Value of the metric collected. The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures / Objects)) is assumed to be defined in the external measurement specification (see ETSI GS NFV-IFA 027).\n",
															"type": "object"
														}
													}
												}
											}
										}
									}
								}
							}
						}
					},
					"400": {
						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"403": {
						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"405": {
						"description": "Method Not Allowed\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"406": {
						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"503": {
						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					}
				}
			}
		},
		"/thresholds": {
			"post": {
				"description": "Create Threshold\n\nThe POST method can be used by the client to create a threshold.\n",
				"parameters": [{
					"name": "CreateThresholdRequest",
					"description": "Request parameters to create a threshold resource.\n",
					"in": "body",
					"required": true,
					"schema": {
						"description": "This type represents a request to create a threshold.\n",
						"type": "object",
						"required": ["objectInstanceId", "criteria"],
						"properties": {
							"objectInstanceId": {
								"description": "An identifier with the intention of being globally unique.\n",
								"type": "string"
							},
							"criteria": {
								"description": "This type represents criteria that define a threshold.\n",
								"type": "object",
								"required": ["performanceMetric", "thresholdType"],
								"properties": {
									"performanceMetric": {
										"description": "Defines the performance metric associated with the threshold, as specified in ETSI GS NFV-IFA 027).\n",
										"type": "string"
									},
									"thresholdType": {
										"description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n",
										"type": "string",
										"enum": ["SIMPLE"]
									},
									"simpleThresholdDetails": {
										"description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n",
										"type": "object",
										"required": ["thresholdValue", "hysteresis"],
										"properties": {
											"thresholdValue": {
												"description": "The threshold value. Shall be represented as a floating point number.\n",
												"type": "integer"
											},
											"hysteresis": {
												"description": "The hysteresis of the threshold. Shall be represented as a non-negative floating point number. A notification with crossing direction \"UP\" will be generated if the measured value reaches or exceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be generated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\". The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request).\n",
												"type": "integer"
											}
										}
									}
								}
							}
						}
					}
				}, {
					"name": "Accept",
					"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
					"in": "header",
					"required": true,
					"type": "string"
				}, {
					"name": "Authorization",
					"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
					"in": "header",
					"required": false,
					"type": "string"
				}, {
					"name": "Content-Type",
					"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
					"in": "header",
					"required": true,
					"type": "string"
				}],
				"responses": {
					"201": {
						"description": "Created\nA threshold was created successfully. The response body shall contain a representation of the created threshold resource. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the created threshold resource.\n",
						"headers": {
							"Location": {
								"description": "The resource URI of the created VNF instance",
								"type": "string",
								"format": "url"
							},
							"Content-Type": {
								"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "This type represents a threshold.\n",
							"type": "object",
							"required": ["id", "objectInstanceId", "criteria", "_links"],
							"properties": {
								"id": {
									"description": "An identifier with the intention of being globally unique.\n",
									"type": "string"
								},
								"objectInstanceId": {
									"description": "An identifier with the intention of being globally unique.\n",
									"type": "string"
								},
								"criteria": {
									"description": "This type represents criteria that define a threshold.\n",
									"type": "object",
									"required": ["performanceMetric", "thresholdType"],
									"properties": {
										"performanceMetric": {
											"description": "Defines the performance metric associated with the threshold, as specified in ETSI GS NFV-IFA 027).\n",
											"type": "string"
										},
										"thresholdType": {
											"description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n",
											"type": "string",
											"enum": ["SIMPLE"]
										},
										"simpleThresholdDetails": {
											"description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n",
											"type": "object",
											"required": ["thresholdValue", "hysteresis"],
											"properties": {
												"thresholdValue": {
													"description": "The threshold value. Shall be represented as a floating point number.\n",
													"type": "integer"
												},
												"hysteresis": {
													"description": "The hysteresis of the threshold. Shall be represented as a non-negative floating point number. A notification with crossing direction \"UP\" will be generated if the measured value reaches or exceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be generated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\". The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request).\n",
													"type": "integer"
												}
											}
										}
									}
								},
								"_links": {
									"description": "Links for this resource.\n",
									"type": "object",
									"required": ["self"],
									"properties": {
										"self": {
											"description": "This type represents a link to a resource.\n",
											"type": "object",
											"required": ["href"],
											"properties": {
												"href": {
													"description": "URI of the referenced resource.\n",
													"type": "string",
													"format": "url"
												}
											}
										},
										"object": {
											"description": "Link to a resource representing the VNF instance for which performance information is collected. Shall be present if the VNF instance information is accessible as a resource.\n"
										}
									}
								}
							}
						}
					},
					"400": {
						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"403": {
						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"405": {
						"description": "Method Not Allowed\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"406": {
						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"503": {
						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					}
				}
			},
			"get": {
				"description": "Query Threshold\n\nThe client can use this method to query information about thresholds.\n",
				"parameters": [{
					"name": "Accept",
					"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
					"in": "header",
					"required": true,
					"type": "string"
				}, {
					"name": "Authorization",
					"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
					"in": "header",
					"required": false,
					"type": "string"
				}],
				"responses": {
					"200": {
						"description": "OK\nInformation about zero or more thresholds was queried successfully. The response body shall contain representations of zero or more thresholds.\n",
						"headers": {
							"Location": {
								"description": "The resource URI of the created VNF instance",
								"type": "string",
								"format": "url"
							},
							"Content-Type": {
								"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"type": "array",
							"items": {
								"description": "This type represents a threshold.\n",
								"type": "object",
								"required": ["id", "objectInstanceId", "criteria", "_links"],
								"properties": {
									"id": {
										"description": "An identifier with the intention of being globally unique.\n",
										"type": "string"
									},
									"objectInstanceId": {
										"description": "An identifier with the intention of being globally unique.\n",
										"type": "string"
									},
									"criteria": {
										"description": "This type represents criteria that define a threshold.\n",
										"type": "object",
										"required": ["performanceMetric", "thresholdType"],
										"properties": {
											"performanceMetric": {
												"description": "Defines the performance metric associated with the threshold, as specified in ETSI GS NFV-IFA 027).\n",
												"type": "string"
											},
											"thresholdType": {
												"description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n",
												"type": "string",
												"enum": ["SIMPLE"]
											},
											"simpleThresholdDetails": {
												"description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n",
												"type": "object",
												"required": ["thresholdValue", "hysteresis"],
												"properties": {
													"thresholdValue": {
														"description": "The threshold value. Shall be represented as a floating point number.\n",
														"type": "integer"
													},
													"hysteresis": {
														"description": "The hysteresis of the threshold. Shall be represented as a non-negative floating point number. A notification with crossing direction \"UP\" will be generated if the measured value reaches or exceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be generated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\". The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request).\n",
														"type": "integer"
													}
												}
											}
										}
									},
									"_links": {
										"description": "Links for this resource.\n",
										"type": "object",
										"required": ["self"],
										"properties": {
											"self": {
												"description": "This type represents a link to a resource.\n",
												"type": "object",
												"required": ["href"],
												"properties": {
													"href": {
														"description": "URI of the referenced resource.\n",
														"type": "string",
														"format": "url"
													}
												}
											},
											"object": {
												"description": "Link to a resource representing the VNF instance for which performance information is collected. Shall be present if the VNF instance information is accessible as a resource.\n"
											}
										}
									}
								}
							}
						}
					},
					"400": {
						"description": "Bad Request\nInvalid attribute-based filtering parameters or Invalid attribute selector. It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string"
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"403": {
						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"405": {
						"description": "Method Not Allowed\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"406": {
						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"503": {
						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					}
				}
			}
		},
		"/thresholds/{thresholdId}": {
			"parameters": [{
				"name": "thresholdId",
				"description": "Identifier of the threshold. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new threshold resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n",
				"in": "path",
				"type": "string",
				"required": true
			}],
			"get": {
				"description": "Query Threshold\n\nThe client can use this method for reading an individual threshold.\n",
				"parameters": [{
					"name": "Accept",
					"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
					"in": "header",
					"required": true,
					"type": "string"
				}, {
					"name": "Authorization",
					"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
					"in": "header",
					"required": false,
					"type": "string"
				}],
				"responses": {
					"200": {
						"description": "OK\nInformation about an individual threshold was queried successfully. The response body shall contain a representation of the threshold.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "This type represents a threshold.\n",
							"type": "object",
							"required": ["id", "objectInstanceId", "criteria", "_links"],
							"properties": {
								"id": {
									"description": "An identifier with the intention of being globally unique.\n",
									"type": "string"
								},
								"objectInstanceId": {
									"description": "An identifier with the intention of being globally unique.\n",
									"type": "string"
								},
								"criteria": {
									"description": "This type represents criteria that define a threshold.\n",
									"type": "object",
									"required": ["performanceMetric", "thresholdType"],
									"properties": {
										"performanceMetric": {
											"description": "Defines the performance metric associated with the threshold, as specified in ETSI GS NFV-IFA 027).\n",
											"type": "string"
										},
										"thresholdType": {
											"description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values: * SIMPLE: Single-valued static threshold In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n",
											"type": "string",
											"enum": ["SIMPLE"]
										},
										"simpleThresholdDetails": {
											"description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n",
											"type": "object",
											"required": ["thresholdValue", "hysteresis"],
											"properties": {
												"thresholdValue": {
													"description": "The threshold value. Shall be represented as a floating point number.\n",
													"type": "integer"
												},
												"hysteresis": {
													"description": "The hysteresis of the threshold. Shall be represented as a non-negative floating point number. A notification with crossing direction \"UP\" will be generated if the measured value reaches or exceeds \"thresholdValue\" + \"hysteresis\". A notification with crossing direction \"DOWN\" will be generated if the measured value reaches or undercuts \"thresholdValue\" - \"hysteresis\". The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request).\n",
													"type": "integer"
												}
											}
										}
									}
								},
								"_links": {
									"description": "Links for this resource.\n",
									"type": "object",
									"required": ["self"],
									"properties": {
										"self": {
											"description": "This type represents a link to a resource.\n",
											"type": "object",
											"required": ["href"],
											"properties": {
												"href": {
													"description": "URI of the referenced resource.\n",
													"type": "string",
													"format": "url"
												}
											}
										},
										"object": {
											"description": "Link to a resource representing the VNF instance for which performance information is collected. Shall be present if the VNF instance information is accessible as a resource.\n"
										}
									}
								}
							}
						}
					},
					"400": {
						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"403": {
						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"405": {
						"description": "Method Not Allowed\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"406": {
						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"503": {
						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					}
				}
			},
			"delete": {
				"description": "Delete Threshold\n\nThis method allows to delete a threshold.\n",
				"parameters": [{
					"name": "Authorization",
					"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
					"in": "header",
					"required": false,
					"type": "string"
				}],
				"responses": {
					"204": {
						"description": "No Content\nThe threshold was deleted successfully. The response body shall be empty.\n",
						"headers": {
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						}
					},
					"400": {
						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"403": {
						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"405": {
						"description": "Method Not Allowed\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"406": {
						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"503": {
						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					}
				}
			}
		},
		"/subscriptions": {
			"post": {
				"description": "Subscribe\n\nThe POST method creates a new subscription. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the NFVO, and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the “201 Created” response code), or may decide to not create a duplicate subscription resource (in which case it shall return a “303 See Other” response code referencing the existing subscription resource with the same filter and callbackUri).\n",
				"parameters": [{
					"name": "PmSubscriptionRequest",
					"description": "Details of the subscription to be created.\n",
					"in": "body",
					"required": true,
					"schema": {
						"description": "This type represents a subscription request.\n",
						"type": "object",
						"required": ["callbackUri"],
						"properties": {
							"filter": {
								"description": "This type represents a filter that can be used to subscribe for notifications related to performance management events.\n",
								"type": "object",
								"properties": {
									"vnfInstanceSubscriptionFilter": {
										"description": "This type represents subscription filter criteria to match VNF instances.\n",
										"type": "object",
										"properties": {
											"vnfdIds": {
												"description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
												"type": "array",
												"items": {
													"description": "An identifier with the intention of being globally unique.\n",
													"type": "string"
												}
											},
											"vnfProductsFromProviders": {
												"description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
												"type": "array",
												"items": {
													"type": "object",
													"required": ["vnfProvider"],
													"properties": {
														"vnfProvider": {
															"description": "Name of the VNF provider to match.\n",
															"type": "string"
														},
														"vnfProducts": {
															"description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n",
															"type": "array",
															"items": {
																"type": "object",
																"required": ["vnfProductName"],
																"properties": {
																	"vnfProductName": {
																		"description": "Name of the VNF product to match.\n",
																		"type": "string"
																	},
																	"versions": {
																		"description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n",
																		"type": "array",
																		"items": {
																			"type": "object",
																			"required": ["vnfSoftwareVersion"],
																			"properties": {
																				"vnfSoftwareVersion": {
																					"description": "A version.\n",
																					"type": "string"
																				},
																				"vnfdVersions": {
																					"description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n",
																					"type": "array",
																					"items": {
																						"description": "A version.\n",
																						"type": "string"
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
												}
											},
											"vnfInstanceIds": {
												"description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
												"type": "array",
												"items": {
													"description": "An identifier with the intention of being globally unique.\n",
													"type": "string"
												}
											},
											"vnfInstanceNames": {
												"description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
												"type": "array",
												"items": {
													"type": "string"
												}
											}
										}
									},
									"notificationTypes": {
										"description": "Match particular notification types. Permitted values: * ThresholdCrossedNotification * PerformanceInformationAvailableNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n",
										"type": "string",
										"enum": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"]
									}
								}
							},
							"callbackUri": {
								"description": "The URI of the endpoint to send the notification to.\n",
								"type": "string",
								"format": "url"
							},
							"authentication": {
								"type": "object",
								"required": ["authType"],
								"properties": {
									"authType": {
										"description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use  HTTP Basic authentication with the client credentials. \n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the  notification endpoint, use an OAuth 2.0 Bearer token, obtained\n  using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent  over a mutually authenticated TLS session, i.e. not only the\n  server is authenticated, but also the client is authenticated\n  during the TLS tunnel setup.\n",
										"type": "array",
										"items": {
											"type": "string",
											"enum": ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"]
										}
									},
									"paramsBasic": {
										"description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n",
										"type": "object",
										"properties": {
											"userName": {
												"description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n",
												"type": "string"
											},
											"password": {
												"description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n",
												"type": "string"
											}
										}
									},
									"paramsOauth2ClientCredentials": {
										"description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n",
										"type": "object",
										"properties": {
											"clientId": {
												"description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type.  Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n",
												"type": "string"
											},
											"clientPassword": {
												"description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type.  Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n",
												"type": "string"
											},
											"tokenEndpoint": {
												"description": "String formatted according to IETF RFC 3986.\n",
												"type": "string"
											}
										}
									}
								}
							}
						}
					}
				}, {
					"name": "Accept",
					"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
					"in": "header",
					"required": true,
					"type": "string"
				}, {
					"name": "Authorization",
					"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
					"in": "header",
					"required": false,
					"type": "string"
				}, {
					"name": "Content-Type",
					"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
					"in": "header",
					"required": true,
					"type": "string"
				}],
				"responses": {
					"201": {
						"description": "Created\nThe subscription was created successfully. A representation of the created subscription resource shall be returned in the response body. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the created subscription resource.\n",
						"headers": {
							"Location": {
								"description": "The resource URI of the created VNF instance",
								"type": "string",
								"format": "url"
							},
							"Content-Type": {
								"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "This type represents a subscription.\n",
							"type": "object",
							"required": ["id", "callbackUri", "_links"],
							"properties": {
								"id": {
									"description": "An identifier with the intention of being globally unique.\n",
									"type": "string"
								},
								"filter": {
									"description": "This type represents a filter that can be used to subscribe for notifications related to performance management events.\n",
									"type": "object",
									"properties": {
										"vnfInstanceSubscriptionFilter": {
											"description": "This type represents subscription filter criteria to match VNF instances.\n",
											"type": "object",
											"properties": {
												"vnfdIds": {
													"description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
													"type": "array",
													"items": {
														"description": "An identifier with the intention of being globally unique.\n",
														"type": "string"
													}
												},
												"vnfProductsFromProviders": {
													"description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
													"type": "array",
													"items": {
														"type": "object",
														"required": ["vnfProvider"],
														"properties": {
															"vnfProvider": {
																"description": "Name of the VNF provider to match.\n",
																"type": "string"
															},
															"vnfProducts": {
																"description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n",
																"type": "array",
																"items": {
																	"type": "object",
																	"required": ["vnfProductName"],
																	"properties": {
																		"vnfProductName": {
																			"description": "Name of the VNF product to match.\n",
																			"type": "string"
																		},
																		"versions": {
																			"description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n",
																			"type": "array",
																			"items": {
																				"type": "object",
																				"required": ["vnfSoftwareVersion"],
																				"properties": {
																					"vnfSoftwareVersion": {
																						"description": "A version.\n",
																						"type": "string"
																					},
																					"vnfdVersions": {
																						"description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n",
																						"type": "array",
																						"items": {
																							"description": "A version.\n",
																							"type": "string"
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
												},
												"vnfInstanceIds": {
													"description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
													"type": "array",
													"items": {
														"description": "An identifier with the intention of being globally unique.\n",
														"type": "string"
													}
												},
												"vnfInstanceNames": {
													"description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
													"type": "array",
													"items": {
														"type": "string"
													}
												}
											}
										},
										"notificationTypes": {
											"description": "Match particular notification types. Permitted values: * ThresholdCrossedNotification * PerformanceInformationAvailableNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n",
											"type": "string",
											"enum": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"]
										}
									}
								},
								"callbackUri": {
									"description": "The URI of the endpoint to send the notification to.\n",
									"type": "string",
									"format": "url"
								},
								"_links": {
									"description": "Links to resources related to this resource.\n",
									"type": "object",
									"required": ["self"],
									"properties": {
										"self": {
											"description": "This type represents a link to a resource.\n",
											"type": "object",
											"required": ["href"],
											"properties": {
												"href": {
													"description": "URI of the referenced resource.\n",
													"type": "string",
													"format": "url"
												}
											}
										}
									}
								}
							}
						}
					},
					"303": {
						"description": "See Other\nA subscription with the same callbackURI and the same filter already exists and the policy of the VNFM is to not create redundant subscriptions. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty.\n"
					},
					"400": {
						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"403": {
						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"405": {
						"description": "Method Not Allowed\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"406": {
						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"503": {
						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					}
				}
			},
			"get": {
				"description": "Query Subscription Information\n\nThe client can use this method to query the list of active subscriptions to Performance management notifications subscribed by the client.\n",
				"parameters": [{
					"name": "Accept",
					"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
					"in": "header",
					"required": true,
					"type": "string"
				}, {
					"name": "Authorization",
					"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
					"in": "header",
					"required": false,
					"type": "string"
				}],
				"responses": {
					"200": {
						"description": "OK\nThe list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"type": "array",
							"items": {
								"description": "This type represents a subscription.\n",
								"type": "object",
								"required": ["id", "callbackUri", "_links"],
								"properties": {
									"id": {
										"description": "An identifier with the intention of being globally unique.\n",
										"type": "string"
									},
									"filter": {
										"description": "This type represents a filter that can be used to subscribe for notifications related to performance management events.\n",
										"type": "object",
										"properties": {
											"vnfInstanceSubscriptionFilter": {
												"description": "This type represents subscription filter criteria to match VNF instances.\n",
												"type": "object",
												"properties": {
													"vnfdIds": {
														"description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
														"type": "array",
														"items": {
															"description": "An identifier with the intention of being globally unique.\n",
															"type": "string"
														}
													},
													"vnfProductsFromProviders": {
														"description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
														"type": "array",
														"items": {
															"type": "object",
															"required": ["vnfProvider"],
															"properties": {
																"vnfProvider": {
																	"description": "Name of the VNF provider to match.\n",
																	"type": "string"
																},
																"vnfProducts": {
																	"description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n",
																	"type": "array",
																	"items": {
																		"type": "object",
																		"required": ["vnfProductName"],
																		"properties": {
																			"vnfProductName": {
																				"description": "Name of the VNF product to match.\n",
																				"type": "string"
																			},
																			"versions": {
																				"description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n",
																				"type": "array",
																				"items": {
																					"type": "object",
																					"required": ["vnfSoftwareVersion"],
																					"properties": {
																						"vnfSoftwareVersion": {
																							"description": "A version.\n",
																							"type": "string"
																						},
																						"vnfdVersions": {
																							"description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n",
																							"type": "array",
																							"items": {
																								"description": "A version.\n",
																								"type": "string"
																							}
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													},
													"vnfInstanceIds": {
														"description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
														"type": "array",
														"items": {
															"description": "An identifier with the intention of being globally unique.\n",
															"type": "string"
														}
													},
													"vnfInstanceNames": {
														"description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
														"type": "array",
														"items": {
															"type": "string"
														}
													}
												}
											},
											"notificationTypes": {
												"description": "Match particular notification types. Permitted values: * ThresholdCrossedNotification * PerformanceInformationAvailableNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n",
												"type": "string",
												"enum": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"]
											}
										}
									},
									"callbackUri": {
										"description": "The URI of the endpoint to send the notification to.\n",
										"type": "string",
										"format": "url"
									},
									"_links": {
										"description": "Links to resources related to this resource.\n",
										"type": "object",
										"required": ["self"],
										"properties": {
											"self": {
												"description": "This type represents a link to a resource.\n",
												"type": "object",
												"required": ["href"],
												"properties": {
													"href": {
														"description": "URI of the referenced resource.\n",
														"type": "string",
														"format": "url"
													}
												}
											}
										}
									}
								}
							}
						}
					},
					"400": {
						"description": "Bad Request\nInvalid attribute-based filtering parameters or Invalid attribute selector. It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string"
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"403": {
						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"405": {
						"description": "Method Not Allowed\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"406": {
						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"503": {
						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					}
				}
			}
		},
		"/subscriptions/{subscriptionId}": {
			"parameters": [{
				"name": "subscriptionId",
				"description": "This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n",
				"in": "path",
				"type": "string",
				"required": true
			}],
			"get": {
				"description": "Query Subscription Information\n\nThe client can use this method for reading an individual subscription about Performance management notifications subscribed by the client.\n",
				"parameters": [{
					"name": "Accept",
					"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
					"in": "header",
					"required": true,
					"type": "string"
				}, {
					"name": "Authorization",
					"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
					"in": "header",
					"required": false,
					"type": "string"
				}],
				"responses": {
					"200": {
						"description": "OK\nThe subscription was read successfully. The response body shall contain a representation of the subscription resource.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "This type represents a subscription.\n",
							"type": "object",
							"required": ["id", "callbackUri", "_links"],
							"properties": {
								"id": {
									"description": "An identifier with the intention of being globally unique.\n",
									"type": "string"
								},
								"filter": {
									"description": "This type represents a filter that can be used to subscribe for notifications related to performance management events.\n",
									"type": "object",
									"properties": {
										"vnfInstanceSubscriptionFilter": {
											"description": "This type represents subscription filter criteria to match VNF instances.\n",
											"type": "object",
											"properties": {
												"vnfdIds": {
													"description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
													"type": "array",
													"items": {
														"description": "An identifier with the intention of being globally unique.\n",
														"type": "string"
													}
												},
												"vnfProductsFromProviders": {
													"description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
													"type": "array",
													"items": {
														"type": "object",
														"required": ["vnfProvider"],
														"properties": {
															"vnfProvider": {
																"description": "Name of the VNF provider to match.\n",
																"type": "string"
															},
															"vnfProducts": {
																"description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n",
																"type": "array",
																"items": {
																	"type": "object",
																	"required": ["vnfProductName"],
																	"properties": {
																		"vnfProductName": {
																			"description": "Name of the VNF product to match.\n",
																			"type": "string"
																		},
																		"versions": {
																			"description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n",
																			"type": "array",
																			"items": {
																				"type": "object",
																				"required": ["vnfSoftwareVersion"],
																				"properties": {
																					"vnfSoftwareVersion": {
																						"description": "A version.\n",
																						"type": "string"
																					},
																					"vnfdVersions": {
																						"description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n",
																						"type": "array",
																						"items": {
																							"description": "A version.\n",
																							"type": "string"
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
												},
												"vnfInstanceIds": {
													"description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
													"type": "array",
													"items": {
														"description": "An identifier with the intention of being globally unique.\n",
														"type": "string"
													}
												},
												"vnfInstanceNames": {
													"description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
													"type": "array",
													"items": {
														"type": "string"
													}
												}
											}
										},
										"notificationTypes": {
											"description": "Match particular notification types. Permitted values: * ThresholdCrossedNotification * PerformanceInformationAvailableNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n",
											"type": "string",
											"enum": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"]
										}
									}
								},
								"callbackUri": {
									"description": "The URI of the endpoint to send the notification to.\n",
									"type": "string",
									"format": "url"
								},
								"_links": {
									"description": "Links to resources related to this resource.\n",
									"type": "object",
									"required": ["self"],
									"properties": {
										"self": {
											"description": "This type represents a link to a resource.\n",
											"type": "object",
											"required": ["href"],
											"properties": {
												"href": {
													"description": "URI of the referenced resource.\n",
													"type": "string",
													"format": "url"
												}
											}
										}
									}
								}
							}
						}
					},
					"400": {
						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"403": {
						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"405": {
						"description": "Method Not Allowed\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"406": {
						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"503": {
						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					}
				}
			},
			"delete": {
				"description": "Terminate Subscription\n\nThis method terminates an individual subscription.\n",
				"parameters": [{
					"name": "Authorization",
					"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
					"in": "header",
					"required": false,
					"type": "string"
				}],
				"responses": {
					"204": {
						"description": "No Content\nThe subscription resource was deleted successfully. The response body shall be empty.\n",
						"headers": {
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						}
					},
					"400": {
						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							},
							"WWW-Authenticate": {
								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
								"type": "string",
								"maximum": 1,
								"minimum": 0
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"403": {
						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"405": {
						"description": "Method Not Allowed\nIf a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"406": {
						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					},
					"503": {
						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
						"headers": {
							"Content-Type": {
								"description": "The MIME type of the body of the response.",
								"type": "string",
								"maximum": 1,
								"minimum": 1
							}
						},
						"schema": {
							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
							"type": "object",
							"required": ["status", "detail"],
							"properties": {
								"type": {
									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
									"type": "string",
									"format": "URI"
								},
								"title": {
									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
									"type": "string"
								},
								"status": {
									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
									"type": "integer"
								},
								"detail": {
									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
									"type": "string"
								},
								"instance": {
									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
									"type": "string",
									"format": "URI"
								}
							}
						}
					}
				}
			}
		}
	}
}