diff --git a/src/SOL002/General_Definitions/SOL002_def.yaml b/src/SOL002/General_Definitions/SOL002_def.yaml index 4c8d848ec1800da36a694b0e2b1b9aae06d49f74..54e12613177eba7e0cd29f7779bb48fb677bf6bd 100644 --- a/src/SOL002/General_Definitions/SOL002_def.yaml +++ b/src/SOL002/General_Definitions/SOL002_def.yaml @@ -185,91 +185,6 @@ definitions: items: type: string - VimConnectionInfo: - description: > - This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing - the resources of a VNF instance. - - This structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-relate - dparameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP - repository may be configured into the VNFM by means outside the scope of the present document and - bound to the identifier of that VIM. - - * NOTE 1: If applicable, this attribute also provides information about the resourceGroupIds - that are accessible using a particular set of credentials. See definition of - "resourceGroupId" in clause 9.5.3.3. - * NOTE 2: Once the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided - through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be - established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the - "accessInfo" JSON data structure, and the sensitive data related information ("username"/"password" as - required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel - without additional encoding/encryption before transmitting it, making the sensitive data visible to the - endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the - interface endpoint of the VIM., CISM, CIR or MCIOP repository. - type: object - required: - - vimType - properties: - vimId: - description: > - The identifier of the VIM, CISM, CIR or MCIOP repository - instance. This identifier is managed by the NFVO. - Shall be present to address additional information about - the VIM, CISM, CIR or MCIOP repository if such - information has been configured into the VNFM by - means outside the scope of the present document and - should be absent otherwise. - $ref: "#/definitions/Identifier" - vimType: - description: > - Discriminator for the different types of the VIM - information. - The value of this attribute determines the structure of the - "interfaceInfo" and "accessInfo" attributes, based on the - type of the VIM., CISM, CIR or MCIOP repository. - The set of permitted values is expected to change over - time as new types or versions of VIMs become available. - The ETSI NFV registry of VIM-related information [i.3] - provides access to information about VimConnectionInfo - definitions for various VIM, CISM, CIR or MCIOP - repository types. The structure of the registry is defined in - annex C. - type: string - interfaceInfo: - description: > - Information about the interface or interfaces to the VIM, - CISM, CIR or MCIOP repository, if applicable, such as - the URI of an interface endpoint to communicate with the - VIM, CISM, CIR or MCIOP repository. The applicable - keys are dependent on the content of vimType. - Alternatively, such information may have been configured - into the VNFM and bound to the vimId. - $ref: "#/definitions/KeyValuePairs" - accessInfo: - description: > - Authentication credentials for accessing the VIM, CISM, - CIR or MCIOP repository and other access-related - information such as tenants or infrastructure resource - groups (see note 1). The applicable keys are dependent - on the content of vimType. - If the VimConnectionInfo structure is part of an HTTP - response payload body, sensitive attributes that are - children of this attributes (such as passwords) shall not - be included. - If the VimConnectionInfo structure is part of an HTTP - request payload body, sensitive attributes that are - children of this attribute (such as passwords) shall be - present if they have not been provisioned out of band. - See note 2. - $ref: "#/definitions/KeyValuePairs" - extra: - description: > - VIM, CISM, CIR or MCIOP repository type specific - additional information. The applicable structure, and - whether or not this attribute is available, is dependent on - the content of vimType. - $ref: "#/definitions/KeyValuePairs" - ResourceHandle: required: - resourceId diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 6d9c762eb58eaf70e76581cae0a772f5ca2fefe0..9f2c532d03521d206af18b0565a1a43e2521c98c 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -380,7 +380,7 @@ components: description: | Identifier of the alarm. This identifier can be retrieved from the "id" attribute of the "alarm" attribute in the AlarmNotification or AlarmClearedNotification. It can also be retrieved from the "id" attribute of - the applicable array element in the payload body of the response to a GET request to the "Alarms" resource. + the applicable array element in the message content of the response to a GET request to the "Alarms" resource. required: true style: simple explode: false @@ -393,7 +393,7 @@ components: description: | Identifier of this subscription. 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. + from the "id" attribute in the message content of that response. required: true style: simple explode: false diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index a0c6f59e253f9473df08960f6b67062e126752de..3c1c51abf31d429fd33408122134e0cb92b1798a 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -342,7 +342,7 @@ components: Identifier of the VNF instance to which the VNF indicators applies. NOTE: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the "id" - attribute in the payload body of that response. + attribute in the message content of that response. required: true style: simple explode: false @@ -354,6 +354,8 @@ components: in: path description: | Identifier of the VNF indicator. + This identifier can be retrieved from the resource referenced by the message content in the response to a + POST request creating a new "Individual VNF instance" resource. required: true style: simple explode: false @@ -367,7 +369,7 @@ components: Identifier of this subscription. NOTE: 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. + from the "id" attribute in the message content of that response. required: true style: simple explode: false diff --git a/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml b/src/SOL002/VNFLCMCoordination/VNFLCMCoordination.yaml similarity index 98% rename from src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml rename to src/SOL002/VNFLCMCoordination/VNFLCMCoordination.yaml index a2793c1152a22e7ad7bfd57d49fe80cb53c2e5bd..997d403176709ebfe1d69262a8aae21a9d25e25c 100644 --- a/src/SOL002/VNFLifecycleCoordination/VNFLifecycleCoordination.yaml +++ b/src/SOL002/VNFLCMCoordination/VNFLCMCoordination.yaml @@ -172,7 +172,7 @@ components: content: application/json: schema: - $ref: ./definitions/SOL002VNFLifecycleCoordination_def.yaml#/definitions/LcmCoordRequest + $ref: ./definitions/SOL002VNFLCMCoordination_def.yaml#/definitions/LcmCoordRequest required: true responses: @@ -221,7 +221,7 @@ components: content: application/json: schema: - $ref: ./definitions/SOL002VNFLifecycleCoordination_def.yaml#/definitions/LcmCoord + $ref: ./definitions/SOL002VNFLCMCoordination_def.yaml#/definitions/LcmCoord Coordination_async.Post.202: description: | @@ -418,7 +418,7 @@ components: content: application/json: schema: - $ref: ./definitions/SOL002VNFLifecycleCoordination_def.yaml#/definitions/LcmCoord + $ref: ./definitions/SOL002VNFLCMCoordination_def.yaml#/definitions/LcmCoord LcmCoord.Get.202: description: | diff --git a/src/SOL002/VNFLifecycleCoordination/definitions/SOL002VNFLifecycleCoordination_def.yaml b/src/SOL002/VNFLCMCoordination/definitions/SOL002VNFLCMCoordination_def.yaml similarity index 100% rename from src/SOL002/VNFLifecycleCoordination/definitions/SOL002VNFLifecycleCoordination_def.yaml rename to src/SOL002/VNFLCMCoordination/definitions/SOL002VNFLCMCoordination_def.yaml diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index b13fe555069537ea219b9ee7f96297d35319e8ba..820f6bb48d27eae6521f809a4cd306fa62903e76 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1316,7 +1316,7 @@ components: description: | Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved - from the "id" attribute in the payload body of that response. + from the "id" attribute in the message content of that response. required: true style: simple explode: false @@ -1342,7 +1342,7 @@ components: description: | Identifier of this subscription. 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. + the "id" attribute in the message content of that response. required: true style: simple explode: false @@ -1355,7 +1355,7 @@ components: description: | Identifier of the individual VNF snapshot resource. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF snapshot resource. It can also be - retrieved from the "id" attribute in the payload body of that response. + retrieved from the "id" attribute in the message content of that response. required: true style: simple explode: false diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index def2b90635af4813e3508f89db221f845fffe0a1..74d4c5edab281eee6c789aa7306306750a12d9da 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -5,6 +5,9 @@ definitions: VnfInstance: description: > This type represents a VNF instance. + * NOTE: Clause B.3.2 provides examples illustrating the relationship among the different run-time + data types (CP, VL and link ports) used to represent the connectivity of a VNF. + * NOTE 1: Modifying the value of this attribute shall not be performed when conflicts exist between the previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to the previous VNFD in other aspects than merely referencing @@ -1965,7 +1968,7 @@ definitions: description: > Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled, as declared in the VNFD - as part of "ScaleVnfOpConfig" defined in ETSI GS NFV-IFA 011 [7]. + as part of "ScaleVnfOpConfig" defined in ETSI GS NFV-IFA 011. $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs" ScaleVnfToLevelRequest: @@ -2001,7 +2004,7 @@ definitions: description: > Additional parameters passed by the NFVO as input to the scaling process, specific to the VNF being scaled, as declared in the - VNFD as part of "ScaleVnfToLevelOpConfig" defined in ETSI GS NFV-IFA 011 [7]. + VNFD as part of "ScaleVnfToLevelOpConfig" defined in ETSI GS NFV-IFA 011. $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs" CancelMode: @@ -2722,14 +2725,6 @@ definitions: description: > If present, this attribute signals the new value of the "vnfdVersion" attribute in "VnfInstance". See note 2. $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Version" - vimConnectionInfo: - description: > - If present, this attribute signals the changes to VIM connection info that were passed in the related - "ChangeCurrentVnfPkgRequest" structure. The provisions for sensitive information defined in clause - 4.4.1.6 apply. - type: object - additionalProperties: - $ref: "../../General_Definitions/SOL002_def.yaml#/definitions/VimConnectionInfo" LcmOpOccNotificationVerbosityType: description: > diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 1a75bec0027120088c8bdbfae13846b267154e6c..6caf2bbcef70243b4cbce73b2944b4d295c31f9f 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -495,7 +495,7 @@ components: 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. + attribute in the message content of that response. required: true style: simple explode: false @@ -519,7 +519,7 @@ components: 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. + the "id" attribute in the message content of that response. required: true style: simple explode: false diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index e02bd04d9831b42766c0bd5950fbd088c3593303..9b49837cd6c1a6597cc82a1f41ab811b8ee9c9d1 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -325,7 +325,7 @@ components: Identifier of the alarm. This identifier can be retrieved from the "id" attribute of the "alarm" attribute in the AlarmNotification or AlarmClearedNotification. It can also be retrieved from the "id" attribute of the applicable array element in - the payload body of the response to a GET request to the "Alarms" resource. + the message content of the response to a GET request to the "Alarms" resource. required: true style: simple explode: false @@ -340,7 +340,7 @@ components: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new "Individual subscription" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. + attribute in the message content of that response. required: true style: simple explode: false diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index d2b6bf6477134e7f0625b04d8d59449ccb196e36..ec13a5965975cd52a9f4fcee8aa4a4b1a55ff234 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -343,7 +343,7 @@ components: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new "Individual VNF instance" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. + attribute in the message content of that response. required: true style: simple explode: false @@ -356,7 +356,7 @@ components: description: | Identifier of the VNF indicator. This identifier can be retrieved from the resource referenced by the - payload body in the response to a POST request creating a new "Individual VNF + message content in the response to a POST request creating a new "Individual VNF instance" resource. required: true style: simple @@ -372,7 +372,7 @@ components: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new "Individual subscription" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. + attribute in the message content of that response. required: true style: simple explode: false diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index e23d4da2d6f1b63310a09df77fd3709a9d86bd0b..f68ba1b6d702502ca344ebc22d851cc1b3b6f069 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1367,7 +1367,7 @@ components: description: | Identifier of the VNF instance for the VNF snapshot to be reverted to. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new "Individual VNF instance" resource. - It can also be retrieved from the "id" attribute in the payload body of that response. + It can also be retrieved from the "id" attribute in the message content of that response. required: true style: simple explode: false @@ -1393,7 +1393,7 @@ components: description: | Identifier of this subscription. 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. + the "id" attribute in the message content of that response. required: true style: simple explode: false @@ -1407,7 +1407,7 @@ components: Identifier of the "Individual VNF snapshot" resource. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF snapshot resource. It can also be retrieved from the "id" attribute in - the payload body of that response. + the message content of that response. required: true style: simple explode: false diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index da89522201100519224c349ea94f84a5145ead39..8a46fdc496dda6d3c02ed4483b3108404ed58748 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -674,7 +674,7 @@ definitions: This type represents a VNF instance. NOTE: Clause B.3.2 provides examples illustrating the relationship among the different run-time - information elements (CP, VL and link ports) used to represent the connectivity of a VNF. + data types (CP, VL and link ports) used to represent the connectivity of a VNF. NOTE 1: Modifying the value of this attribute shall not be performed when conflicts exist between the previous and the newly referred VNF package, i.e. when the new VNFD is changed with diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index 2fafdf68bb4871b637555a356ecf8a92ced5f43d..5a67a2c7f8338972ac9d1457e52e5fa5c67a6d83 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -124,7 +124,7 @@ components: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request granting a new VNF lifecycle operation. It can also be retrieved from the "id" - attribute in the payload body of that response. + attribute in the message content of that response. required: true style: simple explode: false diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 1fb1ffac4b95ff3dc48500b238b9c010fdda6760..1b74f2c3c9c18d95f27594c07f8bde5293847460 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -890,7 +890,7 @@ components: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new "Individual subscription" resource. It can also be retrieved from - the "id" attribute in the payload body of that response. + the "id" attribute in the message content of that response. required: true style: simple explode: false diff --git a/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml b/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml index 8402a141f6f56fbae9385380805bd79ad155a861..d66a2c25d05e65f480fc3efd175f5e0de070dc92 100644 --- a/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml +++ b/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml @@ -420,6 +420,7 @@ definitions: Shall be present if the artifact is external to the package and shall be absent otherwise. EXAMPLE: https://example.com/m%40ster.sh + See note. type: array items: $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Uri" diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 178506e1e947d75e3fed39c9e5d7705921888c89..7e3a5469a3ef06846192ad77b1e7ed7a19fd548f 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -463,7 +463,7 @@ components: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new "Individual PM job" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. + attribute in the message content of that response. required: true style: simple explode: false @@ -489,7 +489,7 @@ components: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new "Individual threshold" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. + attribute in the message content of that response. required: true style: simple explode: false diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 3dfb64e6ffe4e9b252fed817180d6a6303d2522d..2140a54808ab011ea64aa5838d0a08e8be69c19d 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -194,7 +194,7 @@ components: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new "Individual subscription" resource. It can also be retrieved from the "id" - attribute in the payload body of that response. + attribute in the message content of that response. required: true style: simple explode: false @@ -303,11 +303,11 @@ components: Subscriptions.Post.422: description: | - 422 Unprocessable Entity + 422 Unprocessable Content Shall be returned upon the following error: - The content type of the payload body is - supported and the payload body of a + The content type of the message content is + supported and the message content of a request contains syntactically correct data but the data cannot be processed. The general cause for this error and its diff --git a/src/responses/SOL002SOL003_resp.yaml b/src/responses/SOL002SOL003_resp.yaml index 78d92fe9251bc2517d839468cc8247fd9bc8073f..bf0abf026fc37c2b3f1e05eed25eaa808431b33a 100644 --- a/src/responses/SOL002SOL003_resp.yaml +++ b/src/responses/SOL002SOL003_resp.yaml @@ -77,14 +77,15 @@ components: "ProblemDetails" structure to be returned. If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect - query parameters or the payload body contains a syntactically incorrect data structure), - 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. + query parameters or the message content contains a syntactically incorrect data structure), + the API producer shall respond with this response code. More details are defined in IETF RFC 9110. + The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more + information about the source of the problem. If the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, - it 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. + it shall respond with this response code. Clause 5.4.2.2 specifies provisions for the "ProblemDetails" structure + provided in the response body. 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. @@ -92,11 +93,11 @@ components: 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. + The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750. The + ProblemDetails structure may be provided. The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 - for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. + for the authorization of API requests and notifications, as defined in clauses 8.3.3 and 8.3.4. headers: Content-Type: description: The MIME type of the body of the response. @@ -132,7 +133,7 @@ components: If 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. + and IETF RFC 9110. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. @@ -166,9 +167,9 @@ components: 403 FORBIDDEN If 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. + the API producer shall respond with this response code. More details are defined in IETF RFC 9110. + 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. headers: Content-Type: description: The MIME type of the body of the response. @@ -203,13 +204,14 @@ components: If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. - The "ProblemDetails" structure may be provided, including in the "detail" attribute information about - the source of the problem, e.g. a wrong resource URI variable. + A typical reason for this error can e.g. be that resource URI variables were set wrongly. More details + are defined in IETF RFC 9110. The "ProblemDetails" structure may be provided, including in the "detail" + attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response - contains a 200 OK response code and a payload body with an empty array. + contains a 200 OK response code and a message content with an empty array. headers: Content-Type: description: The MIME type of the body of the response. @@ -243,7 +245,7 @@ components: 405 METHOD NOT ALLOWED If 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. + with this response code. The "ProblemDetails" structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. @@ -278,7 +280,7 @@ components: If 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. + response code. The "ProblemDetails" structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. @@ -378,9 +380,9 @@ components: description: > 413 PAYLOAD TOO LARGE - If the payload body of a request is larger than the amount of data the API producer is willing or able to process, - it shall respond with this response code, following the provisions in IETF RFC 7231 for the use - of the "Retry-After" HTTP header and for closing the connection. The "ProblemDetails" structure may be omitted. + If the message content of a request is larger than the amount of data the API producer is willing or able to process, + it shall respond with this response code, following the provisions in IETF RFC 9110 for the use + of the "Retry-After" HTTP header and for closing the connection. The "ProblemDetails" structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. @@ -415,7 +417,8 @@ components: If the request URI of a request is longer than the API producer is willing or able to process, it shall respond with this response code. This condition can e.g. be caused by passing long queries - in the request URI of a GET request. The "ProblemDetails" structure may be omitted. + in the request URI of a GET request. More details are defined in IETF RFC 9110. The "ProblemDetails" + structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. @@ -477,12 +480,13 @@ components: 422: description: > - 422 UNPROCESSABLE ENTITY + 422 UNPROCESSABLE Content - If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data - cannot be processed (e.g. because it fails validation against a schema), 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 content type of the message content is supported and the message content of a request contains + syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails + validation against a schema), the API producer shall respond with this response code. More details are + defined in IETF RFC 9110. The "ProblemDetails" structure shall be provided, and should include in the + "detail" attribute more information about the source of the problem. This error response code is only applicable for methods that have a request body. headers: @@ -519,9 +523,9 @@ components: If the API consumer has sent too many requests in a defined period of time and the API producer is able to detect that condition ("rate limiting"), the API producer shall respond with this response code, - following the provisions in IETF RFC 6585 [17] for the use of the "Retry-After" HTTP header. - The "ProblemDetails" structure shall be provided and shall include in the "detail" attribute more information - about the source of the problem. + following the provisions in IETF RFC 6585 for the use of the "Retry-After" HTTP header. The "ProblemDetails" + structure shall be provided and shall include in the "detail" attribute more information about the source + of the problem. The period of time and allowed number of requests are configured within the API producer by means outside the scope of the present document. @@ -557,9 +561,11 @@ components: description: > 500 INTERNAL SERVER ERROR - If 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 with this response code. - The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information + If the Server is unable to process the request, and retrying the same request later might eventually + succeed, the server shall respond with this response code. Further, if 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 with this response code. More details are defined in IETF RFC 9110. The + "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem. headers: Content-Type: @@ -594,9 +600,9 @@ components: 503 SERVICE UNAVAILABLE If 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 for the use of - the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" - structure may be omitted. + it should respond with this response code, following the provisions in IETF RFC 9110 for the use of + the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" + structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. @@ -631,7 +637,8 @@ components: If the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond - with this response code. + with this response code. More details are defined in IETF RFC 9110. The "ProblemDetails" structure + may be provided. headers: Content-Type: description: The MIME type of the body of the response.