diff --git a/SubmodelRegistryServiceSpecification/V3.0_SSP-001.yaml b/SubmodelRegistryServiceSpecification/V3.0_SSP-001.yaml new file mode 100644 index 00000000..171f4bb9 --- /dev/null +++ b/SubmodelRegistryServiceSpecification/V3.0_SSP-001.yaml @@ -0,0 +1,190 @@ +openapi: 3.0.3 +info: + title: DotAAS Part 2 | HTTP/REST | Submodel Registry Service Specification + description: >- + The Full Profile of the Submodel Registry Service Specification as part of the [Specification of the Asset Administration Shell: Part 2](http://industrialdigitaltwin.org/en/content-hub). + + Publisher: Industrial Digital Twin Association (IDTA) April 2023 + contact: + name: Industrial Digital Twin Association (IDTA) + email: info@idtwin.org + license: + name: CC BY 4.0 + url: https://creativecommons.org/licenses/by/4.0/ + version: V3.0.1_SSP-001 +servers: +- url: '{protocol}://{host_name}:{port}/api/{version_prefix}' + variables: + protocol: + description: 'Allows access through http and https (recommended)' + enum: + - 'http' + - 'https' + default: 'https' + host_name: + default: admin-shell.io + description: 'Hostname of server hosting the api' + port: + enum: + - '80' + - '443' + default: '443' + description: '80 is default for http, 443 for https' + version_prefix: + enum: + - 'v3.0' + default: v3.0 +paths: + /submodel-descriptors: + get: + tags: + - Submodel Registry API + summary: Returns all Submodel Descriptors + operationId: GetAllSubmodelDescriptors + x-semanticIds: + - https://admin-shell.io/aas/API/GetAllSubmodelDescriptors/3/0 + parameters: + - $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/parameters/Limit' + - $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/parameters/Cursor' + responses: + '200': + description: Requested Submodel Descriptors + content: + application/json: + schema: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/GetSubmodelDescriptorsResult' + '400': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request' + '403': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden' + '404': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/not-found' + '500': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/internal-server-error' + default: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default' + post: + tags: + - Submodel Registry API + summary: Creates a new Submodel Descriptor, i.e. registers a submodel + operationId: PostSubmodelDescriptor + x-semanticIds: + - https://admin-shell.io/aas/API/PostSubmodelDescriptor/3/0 + requestBody: + description: Submodel Descriptor object + content: + application/json: + schema: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/SubmodelDescriptor' + required: true + responses: + '201': + description: Submodel Descriptor created successfully + headers: + Location: + description: URL of the newly created resource + schema: + type: string + content: + application/json: + schema: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/SubmodelDescriptor' + '400': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request' + '403': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden' + '409': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/conflict' + default: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default' + /submodel-descriptors/{submodelIdentifier}: + parameters: + - $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/parameters/SubmodelIdentifier' + get: + tags: + - Submodel Registry API + summary: Returns a specific Submodel Descriptor + operationId: GetSubmodelDescriptorById + x-semanticIds: + - https://admin-shell.io/aas/API/GetSubmodelDescriptorById/3/0 + responses: + '200': + description: Requested Submodel Descriptor + content: + application/json: + schema: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/SubmodelDescriptor' + '400': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request' + '403': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden' + '404': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/not-found' + '500': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/internal-server-error' + default: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default' + put: + tags: + - Submodel Registry API + summary: Updates an existing Submodel Descriptor + operationId: PutSubmodelDescriptorById + x-semanticIds: + - https://admin-shell.io/aas/API/PutSubmodelDescriptorById/3/0 + requestBody: + description: Submodel Descriptor object + content: + application/json: + schema: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/SubmodelDescriptor' + required: true + responses: + '204': + description: Submodel Descriptor updated successfully + '400': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request' + '403': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden' + '404': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/not-found' + '500': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/internal-server-error' + default: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default' + delete: + tags: + - Submodel Registry API + summary: Deletes a Submodel Descriptor, i.e. de-registers a submodel + operationId: DeleteSubmodelDescriptorById + x-semanticIds: + - https://admin-shell.io/aas/API/DeleteSubmodelDescriptorById/3/0 + responses: + '204': + description: Submodel Descriptor deleted successfully + '400': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request' + '403': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden' + '404': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/not-found' + '500': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/internal-server-error' + /description: + get: + tags: + - Description API + summary: Returns the self-describing information of a network resource (ServiceDescription) + operationId: GetDescription + x-semanticIds: + - https://admin-shell.io/aas/API/Descriptor/GetDescription/3/0 + responses: + '200': + description: Requested Description + content: + application/json: + schema: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/ServiceDescription' + '403': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden' + default: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default' \ No newline at end of file diff --git a/SubmodelRegistryServiceSpecification/V3.0_SSP-002.yaml b/SubmodelRegistryServiceSpecification/V3.0_SSP-002.yaml new file mode 100644 index 00000000..af312c03 --- /dev/null +++ b/SubmodelRegistryServiceSpecification/V3.0_SSP-002.yaml @@ -0,0 +1,112 @@ +openapi: 3.0.3 +info: + title: DotAAS Part 2 | HTTP/REST | Submodel Registry Service Specification + description: >- + The Read Profile of the Submodel Registry Service Specification as part of the [Specification of the Asset Administration Shell: Part 2](http://industrialdigitaltwin.org/en/content-hub). + + Publisher: Industrial Digital Twin Association (IDTA) April 2023 + contact: + name: Industrial Digital Twin Association (IDTA) + email: info@idtwin.org + license: + name: CC BY 4.0 + url: https://creativecommons.org/licenses/by/4.0/ + version: V3.0.1_SSP-002 +servers: +- url: '{protocol}://{host_name}:{port}/api/{version_prefix}' + variables: + protocol: + description: 'Allows access through http and https (recommended)' + enum: + - 'http' + - 'https' + default: 'https' + host_name: + default: admin-shell.io + description: 'Hostname of server hosting the api' + port: + enum: + - '80' + - '443' + default: '443' + description: '80 is default for http, 443 for https' + version_prefix: + enum: + - 'v3.0' + default: v3.0 +paths: + /submodel-descriptors: + get: + tags: + - Submodel Registry API + summary: Returns all Submodel Descriptors + operationId: GetAllSubmodelDescriptors + x-semanticIds: + - https://admin-shell.io/aas/API/GetAllSubmodelDescriptors/3/0 + parameters: + - $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/parameters/Limit' + - $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/parameters/Cursor' + responses: + '200': + description: Requested Submodel Descriptors + content: + application/json: + schema: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/GetSubmodelDescriptorsResult' + '400': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request' + '403': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden' + '404': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/not-found' + '500': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/internal-server-error' + default: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default' + /submodel-descriptors/{submodelIdentifier}: + parameters: + - $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/parameters/SubmodelIdentifier' + get: + tags: + - Submodel Registry API + summary: Returns a specific Submodel Descriptor + operationId: GetSubmodelDescriptorById + x-semanticIds: + - https://admin-shell.io/aas/API/GetSubmodelDescriptorById/3/0 + responses: + '200': + description: Requested Submodel Descriptor + content: + application/json: + schema: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/SubmodelDescriptor' + '400': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request' + '403': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden' + '404': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/not-found' + '500': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/internal-server-error' + default: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default' + + /description: + get: + tags: + - Description API + summary: Returns the self-describing information of a network resource (ServiceDescription) + operationId: GetDescription + x-semanticIds: + - https://admin-shell.io/aas/API/Descriptor/GetDescription/3/0 + responses: + '200': + description: Requested Description + content: + application/json: + schema: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/ServiceDescription' + '403': + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden' + default: + $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default' \ No newline at end of file