Loading src/SOL002/VNFConfiguration/VNFConfiguration.yaml +132 −79 Original line number Diff line number Diff line swagger: "2.0" info: version: "1.1.1" title: SOL002 - VNF Configuration interface version: "1.1.0" title: "SOL002 - VNF Configuration interface" description: > VNF Configuration interface of ETSI NFV SOL002 SOL002 - VNF Configuration Interface IMPORTANT: 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. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt contact: name: "NFV-SOL WG" externalDocs: description: ETSI GS NFV-SOL 002 V2.4.1 url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf description: ETSI GS NFV-SOL 002 V2.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: /vnfconfig/v1 schemes: - http - https consumes: - application/json produces: - application/json paths: ############################################################################### # API Versions # ############################################################################### '/api-versions': get: summary: Retrieve API version information description: > The GET method reads API version information. This method shall follow the provisions specified in table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not supported. responses: 200: description: > API version information was read successfully. The response body shall contain 4.4 API version information, as defined in clause 4.4.1.13. schema: $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } /configuration: ############################################################################### # VNF Configuration # ############################################################################### '/configuration': get: summary: Read VNF/VNFC configuration from VNF. summary: Read VNF/VNFC configuration from VNF description: > The client can use this method to read configuration information about a VNF instance and/or its VNFC instances. responses: 200: description: > OK Configuration information about a VNF instance was read successfully. The response body shall contain a representation of the configuration resource. schema: $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfiguration' headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } Loading @@ -56,16 +94,22 @@ paths: 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } 409: { $ref: 'responses/VNFConfiguration_resp.yaml#/responses/409' } 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } patch: summary: Modify VNF/VNFC configuration. description: This method sets or modifies a configuration resource. parameters: - name: configModifications description: The parameter for the configuration modification. description: > The parameter for the configuration modification, as defined in clause 9.5.2.2. required: true in: body schema: Loading @@ -79,17 +123,26 @@ paths: of the configuration modification that was applied to the configuration resource. schema: $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfigModifications' 412: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/412' } headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } 409: { $ref: 'responses/VNFConfiguration_resp.yaml#/responses/409' } 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } src/definitions/SOL002SOL003_def.yaml +108 −33 Original line number Diff line number Diff line Loading @@ -83,16 +83,35 @@ definitions: Link: description: > This type represents a link to a resource. This type represents a link to a resource. using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: > URI of the referenced resource. type: string format: url URI of another resource referenced from a resource. Shall be an absolute URI (i.e. a UTI that contains {apiRoot}. $ref: "#/definitions/Uri" NotificationLink: description: > This type represents a link to a resource in a notification, using an absolute or relative URI. It shall comply with the provisions defined in table 4.4.1.3a-1. type: object required: - href properties: href: description: > URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available. $ref: "#/definitions/Uri" Version: description: > Loading Loading @@ -806,3 +825,59 @@ definitions: type: array items: type: string ApiVersionInformation: description: > This type represents API version information. It shall comply with the provisions defined in table 4.4.1.6-1. type: object required: - uriPrefix - apiVersions properties: uriPrefix: description: > Specifies the URI prefix for the API, in the following form {apiRoot}/{apiName}/{apiMajorVersion}/ type: string apiVersions: description: > Version(s) supported for the API signaled by the uriPrefix attribute. type: array items: type: object required: - version properties: version: description: > Identifies a supported version. The value of the version attribute shall be a version identifier as specified in clause 4.6.1. type: string isDeprecated: description: > If such information is available, this attribute indicates whether use of the version signaled by the version attribute is deprecated (true) or not (false). A deprecated version is still supported by the API producer but is recommended not to be used any longer. When a version is no longer supported, it does not appear in the response body. type: boolean retirementDate: description: > The date and time after which the API version will no longer be supported. This attribute may be included if the value of the isDeprecated attribute is set to true and shall be absent otherwise. $ref: "#/definitions/DateTime" src/responses/SOL002SOL003_resp.yaml +103 −18 Original line number Diff line number Diff line Loading @@ -61,22 +61,28 @@ responses: Bad Request If 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. request URI contains incorrect query parameters or a payload body contains a syntactically incorrect payload bodydata 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. 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. 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. 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. headers: Content-Type: description: The MIME type of the body of the response. Loading Loading @@ -243,6 +249,12 @@ responses: In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. 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 headers: Content-Type: description: The MIME type of the body of the response. Loading Loading @@ -365,6 +377,41 @@ responses: minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 413: description: > 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 headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 414: description: > URI Too Long 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 headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 416: description: > Requested Range Not Satisfiable Loading @@ -390,7 +437,7 @@ responses: "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods NOTE: This error response code is only applicable for methods that have a request body. headers: Content-Type: Loading @@ -400,6 +447,29 @@ responses: minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 429: description: > Too many requests 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 [8] 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 SOL002. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 500: description: > Internal Server Error Loading Loading @@ -435,3 +505,18 @@ responses: minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 504: description: > Gateway Timeout 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. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" No newline at end of file Loading
src/SOL002/VNFConfiguration/VNFConfiguration.yaml +132 −79 Original line number Diff line number Diff line swagger: "2.0" info: version: "1.1.1" title: SOL002 - VNF Configuration interface version: "1.1.0" title: "SOL002 - VNF Configuration interface" description: > VNF Configuration interface of ETSI NFV SOL002 SOL002 - VNF Configuration Interface IMPORTANT: 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. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=--- version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt contact: name: "NFV-SOL WG" externalDocs: description: ETSI GS NFV-SOL 002 V2.4.1 url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf description: ETSI GS NFV-SOL 002 V2.5.1 url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf basePath: /vnfconfig/v1 schemes: - http - https consumes: - application/json produces: - application/json paths: ############################################################################### # API Versions # ############################################################################### '/api-versions': get: summary: Retrieve API version information description: > The GET method reads API version information. This method shall follow the provisions specified in table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not supported. responses: 200: description: > API version information was read successfully. The response body shall contain 4.4 API version information, as defined in clause 4.4.1.13. schema: $ref: '../../definitions/SOL002SOL003_def.yaml#/definitions/ApiVersionInformation' headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } /configuration: ############################################################################### # VNF Configuration # ############################################################################### '/configuration': get: summary: Read VNF/VNFC configuration from VNF. summary: Read VNF/VNFC configuration from VNF description: > The client can use this method to read configuration information about a VNF instance and/or its VNFC instances. responses: 200: description: > OK Configuration information about a VNF instance was read successfully. The response body shall contain a representation of the configuration resource. schema: $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfiguration' headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } Loading @@ -56,16 +94,22 @@ paths: 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } 409: { $ref: 'responses/VNFConfiguration_resp.yaml#/responses/409' } 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' } patch: summary: Modify VNF/VNFC configuration. description: This method sets or modifies a configuration resource. parameters: - name: configModifications description: The parameter for the configuration modification. description: > The parameter for the configuration modification, as defined in clause 9.5.2.2. required: true in: body schema: Loading @@ -79,17 +123,26 @@ paths: of the configuration modification that was applied to the configuration resource. schema: $ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfigModifications' 412: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/412' } headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 400: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/400' } 401: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/403' } 404: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/404' } 405: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/405' } 406: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/406' } 409: { $ref: 'responses/VNFConfiguration_resp.yaml#/responses/409' } 413: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/413' } 414: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/414' } 416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' } 422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' } 429: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/429' } 500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' } 504: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/504' }
src/definitions/SOL002SOL003_def.yaml +108 −33 Original line number Diff line number Diff line Loading @@ -83,16 +83,35 @@ definitions: Link: description: > This type represents a link to a resource. This type represents a link to a resource. using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: > URI of the referenced resource. type: string format: url URI of another resource referenced from a resource. Shall be an absolute URI (i.e. a UTI that contains {apiRoot}. $ref: "#/definitions/Uri" NotificationLink: description: > This type represents a link to a resource in a notification, using an absolute or relative URI. It shall comply with the provisions defined in table 4.4.1.3a-1. type: object required: - href properties: href: description: > URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available. $ref: "#/definitions/Uri" Version: description: > Loading Loading @@ -806,3 +825,59 @@ definitions: type: array items: type: string ApiVersionInformation: description: > This type represents API version information. It shall comply with the provisions defined in table 4.4.1.6-1. type: object required: - uriPrefix - apiVersions properties: uriPrefix: description: > Specifies the URI prefix for the API, in the following form {apiRoot}/{apiName}/{apiMajorVersion}/ type: string apiVersions: description: > Version(s) supported for the API signaled by the uriPrefix attribute. type: array items: type: object required: - version properties: version: description: > Identifies a supported version. The value of the version attribute shall be a version identifier as specified in clause 4.6.1. type: string isDeprecated: description: > If such information is available, this attribute indicates whether use of the version signaled by the version attribute is deprecated (true) or not (false). A deprecated version is still supported by the API producer but is recommended not to be used any longer. When a version is no longer supported, it does not appear in the response body. type: boolean retirementDate: description: > The date and time after which the API version will no longer be supported. This attribute may be included if the value of the isDeprecated attribute is set to true and shall be absent otherwise. $ref: "#/definitions/DateTime"
src/responses/SOL002SOL003_resp.yaml +103 −18 Original line number Diff line number Diff line Loading @@ -61,22 +61,28 @@ responses: Bad Request If 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. request URI contains incorrect query parameters or a payload body contains a syntactically incorrect payload bodydata 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. 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. 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. 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. headers: Content-Type: description: The MIME type of the body of the response. Loading Loading @@ -243,6 +249,12 @@ responses: In this case, the response body shall be present, and shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. 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 headers: Content-Type: description: The MIME type of the body of the response. Loading Loading @@ -365,6 +377,41 @@ responses: minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 413: description: > 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 headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 414: description: > URI Too Long 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 headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 416: description: > Requested Range Not Satisfiable Loading @@ -390,7 +437,7 @@ responses: "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods NOTE: This error response code is only applicable for methods that have a request body. headers: Content-Type: Loading @@ -400,6 +447,29 @@ responses: minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 429: description: > Too many requests 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 [8] 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 SOL002. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 500: description: > Internal Server Error Loading Loading @@ -435,3 +505,18 @@ responses: minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" 504: description: > Gateway Timeout 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. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 schema: $ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" No newline at end of file