blob: 151621c90a3a2a72b99d32cbd81908f63355584c [file] [log] [blame]
Constantin Zieschee9d0b542020-10-13 16:38:29 +02001{
2 "openapi": "3.0.1",
3 "info": {
4 "title": "BaSyx Registry HTTP REST-API",
5 "description": "The full description of the BaSyx Registry HTTP REST-API",
6 "contact": {
7 "name": "Constantin Ziesche",
8 "url": "https://www.bosch.com/de/",
9 "email": "constantin.ziesche@bosch.com"
10 },
11 "license": {
12 "name": "EPL-2.0",
13 "url": "https://www.eclipse.org/legal/epl-2.0/"
14 },
15 "version": "v1"
16 },
17 "paths": {
18 "/api/v1/registry": {
19 "get": {
20 "tags": [
21 "AssetAdministrationShellRegistry"
22 ],
23 "summary": "Retrieves all registered Asset Administration Shells within system (e.g. Station, Line, Plant, Area, etc.) defined by the Registry",
24 "operationId": "GetAllAssetAdministrationShellDescriptors",
25 "responses": {
26 "200": {
27 "description": "Returns a list of found Asset Administration Shell Descriptors",
28 "content": {
29 "application/json": {
30 "schema": {
31 "type": "array",
32 "items": {
33 "$ref": "#/components/schemas/AssetAdministrationShellDescriptor"
34 }
35 }
36 }
37 }
38 }
39 }
40 }
41 },
42 "/api/v1/registry/{aasId}": {
43 "get": {
44 "tags": [
45 "AssetAdministrationShellRegistry"
46 ],
47 "summary": "Retrieves a specific Asset Administration Shell registration",
48 "operationId": "GetAssetAdministrationShellDescriptor",
49 "parameters": [
50 {
51 "name": "aasId",
52 "in": "path",
53 "description": "The Asset Administration Shell's unique id",
54 "required": true,
55 "schema": {
56 "type": "string",
57 "description": "The Asset Administration Shell's unique id",
58 "nullable": true
59 }
60 }
61 ],
62 "responses": {
63 "200": {
64 "description": "Returns the requested Asset Administration Shell",
65 "content": {
66 "application/json": {
67 "schema": {
68 "$ref": "#/components/schemas/AssetAdministrationShellDescriptor"
69 }
70 }
71 }
72 },
73 "400": {
74 "description": "Bad Request"
75 },
76 "404": {
77 "description": "No Asset Administration Shell with passed id found"
78 }
79 }
80 },
81 "put": {
82 "tags": [
83 "AssetAdministrationShellRegistry"
84 ],
85 "summary": "Creates a new or updates an existing Asset Administration Shell registration at the Registry",
86 "operationId": "RegisterAssetAdministrationShell",
87 "parameters": [
88 {
89 "name": "aasId",
90 "in": "path",
91 "description": "The Asset Administration Shell's unique id",
92 "required": true,
93 "schema": {
94 "type": "string",
95 "description": "The Asset Administration Shell's unique id",
96 "nullable": true
97 }
98 }
99 ],
100 "requestBody": {
101 "description": "The Asset Administration Shell Descriptor",
102 "content": {
103 "application/json": {
104 "schema": {
105 "$ref": "#/components/schemas/AssetAdministrationShellDescriptor"
106 }
107 }
108 }
109 },
110 "responses": {
111 "204": {
112 "description": "Success",
113 "content": {
114 "application/json": {
115 "schema": {
116 "$ref": "#/components/schemas/Result"
117 }
118 }
119 }
120 },
121 "200": {
122 "description": "The Asset Administration Shell's registration was successfully renewed"
123 },
124 "400": {
125 "description": "The syntax of the passed Asset Administration Shell is not valid or malformed request"
126 },
127 "404": {
128 "description": "No Asset Administration Shell with passed id found"
129 }
130 }
131 },
132 "delete": {
133 "tags": [
134 "AssetAdministrationShellRegistry"
135 ],
136 "summary": "Deletes the Asset Administration Shell registration from the Registry",
137 "operationId": "UnregisterAssetAdministrationShell",
138 "parameters": [
139 {
140 "name": "aasId",
141 "in": "path",
142 "description": "The Asset Administration Shell's unique id",
143 "required": true,
144 "schema": {
145 "type": "string",
146 "description": "The Asset Administration Shell's unique id",
147 "nullable": true
148 }
149 }
150 ],
151 "responses": {
152 "204": {
153 "description": "Success",
154 "content": {
155 "application/json": {
156 "schema": {
157 "$ref": "#/components/schemas/Result"
158 }
159 }
160 }
161 },
162 "200": {
163 "description": "The Asset Administration Shell was deleted successfully"
164 },
165 "400": {
166 "description": "Bad Request"
167 },
168 "404": {
169 "description": "No Asset Administration Shell with passed id found"
170 }
171 }
172 }
173 },
174 "/api/v1/registry/{aasId}/submodels/{submodelId}": {
175 "put": {
176 "tags": [
177 "AssetAdministrationShellRegistry"
178 ],
179 "summary": "Creates a new or updates an existing Submodel registration at a specific Asset Administration Shell registered at the Registry",
180 "operationId": "RegisterSubmodelAtAssetAdministrationShell",
181 "parameters": [
182 {
183 "name": "aasId",
184 "in": "path",
185 "description": "The Asset Administration Shell's unique id",
186 "required": true,
187 "schema": {
188 "type": "string",
189 "description": "The Asset Administration Shell's unique id",
190 "nullable": true
191 }
192 },
193 {
194 "name": "submodelId",
195 "in": "path",
196 "description": "The Submodel's unique id",
197 "required": true,
198 "schema": {
199 "type": "string",
200 "description": "The Submodel's unique id",
201 "nullable": true
202 }
203 }
204 ],
205 "requestBody": {
206 "description": "The Submodel Descriptor",
207 "content": {
208 "application/json": {
209 "schema": {
210 "$ref": "#/components/schemas/SubmodelDescriptor"
211 }
212 }
213 }
214 },
215 "responses": {
216 "201": {
217 "description": "The Submodel was created successfully",
218 "content": {
219 "application/json": {
220 "schema": {
221 "$ref": "#/components/schemas/SubmodelDescriptor"
222 }
223 }
224 }
225 },
226 "400": {
227 "description": "The syntax of the passed Submodel is not valid or malformed request"
228 },
229 "404": {
230 "description": "No Asset Administration Shell with passed id found"
231 }
232 }
233 },
234 "get": {
235 "tags": [
236 "AssetAdministrationShellRegistry"
237 ],
238 "summary": "Retrieves the Submodel registration from a specific Asset Administration Shell registered at the Registry",
239 "operationId": "GetSubmodelDescriptorFromAssetAdministrationShell",
240 "parameters": [
241 {
242 "name": "aasId",
243 "in": "path",
244 "description": "The Asset Administration Shell's unique id",
245 "required": true,
246 "schema": {
247 "type": "string",
248 "description": "The Asset Administration Shell's unique id",
249 "nullable": true
250 }
251 },
252 {
253 "name": "submodelId",
254 "in": "path",
255 "description": "The Submodel's unique id",
256 "required": true,
257 "schema": {
258 "type": "string",
259 "description": "The Submodel's unique id",
260 "nullable": true
261 }
262 }
263 ],
264 "responses": {
265 "200": {
266 "description": "Returns the requested Submodels Descriptor",
267 "content": {
268 "application/json": {
269 "schema": {
270 "$ref": "#/components/schemas/SubmodelDescriptor"
271 }
272 }
273 }
274 },
275 "400": {
276 "description": "Bad Request"
277 },
278 "404": {
279 "description": "No Asset Administration Shell / Submodel with passed id found"
280 }
281 }
282 },
283 "delete": {
284 "tags": [
285 "AssetAdministrationShellRegistry"
286 ],
287 "summary": "Unregisters the Submodel from a specific Asset Administration Shell registered at the Registry",
288 "operationId": "DeleteSubmodelDescriptorFromAssetAdministrationShell",
289 "parameters": [
290 {
291 "name": "aasId",
292 "in": "path",
293 "description": "The Asset Administration Shell's unique id",
294 "required": true,
295 "schema": {
296 "type": "string",
297 "description": "The Asset Administration Shell's unique id",
298 "nullable": true
299 }
300 },
301 {
302 "name": "submodelId",
303 "in": "path",
304 "description": "The Submodel's unique id",
305 "required": true,
306 "schema": {
307 "type": "string",
308 "description": "The Submodel's unique id",
309 "nullable": true
310 }
311 }
312 ],
313 "responses": {
314 "204": {
315 "description": "Success",
316 "content": {
317 "application/json": {
318 "schema": {
319 "$ref": "#/components/schemas/Result"
320 }
321 }
322 }
323 },
324 "200": {
325 "description": "The Submodel Descriptor was successfully unregistered"
326 },
327 "400": {
328 "description": "Bad Request"
329 },
330 "404": {
331 "description": "No Asset Administration Shell / Submodel with passed id found"
332 }
333 }
334 }
335 },
336 "/api/v1/registry/{aasId}/submodels": {
337 "get": {
338 "tags": [
339 "AssetAdministrationShellRegistry"
340 ],
341 "summary": "Retrieves all Submodel registrations from a specific Asset Administration Shell registered at the Registry",
342 "operationId": "GetAllSubmodelDescriptorsFromAssetAdministrationShell",
343 "parameters": [
344 {
345 "name": "aasId",
346 "in": "path",
347 "description": "The Asset Administration Shell's unique id",
348 "required": true,
349 "schema": {
350 "type": "string",
351 "description": "The Asset Administration Shell's unique id",
352 "nullable": true
353 }
354 }
355 ],
356 "responses": {
357 "200": {
358 "description": "Returns a list of found Submodels Descriptors",
359 "content": {
360 "application/json": {
361 "schema": {
362 "type": "array",
363 "items": {
364 "$ref": "#/components/schemas/SubmodelDescriptor"
365 }
366 }
367 }
368 }
369 },
370 "400": {
371 "description": "Bad Request"
372 },
373 "404": {
374 "description": "No Asset Administration Shell with passed id found"
375 }
376 }
377 }
378 }
379 },
380 "components": {
381 "schemas": {
382 "KeyType": {
383 "enum": [
384 "Undefined",
385 "Custom",
386 "IRI",
387 "URI",
388 "IRDI",
389 "IdShort",
390 "FragmentId"
391 ],
392 "type": "string"
393 },
394 "Identifier": {
395 "required": [
396 "id",
397 "idType"
398 ],
399 "type": "object",
400 "properties": {
401 "id": {
402 "type": "string"
403 },
404 "idType": {
405 "$ref": "#/components/schemas/KeyType"
406 }
407 }
408 },
409 "AdministrativeInformation": {
410 "type": "object",
411 "properties": {
412 "version": {
413 "type": "string",
414 "nullable": true
415 },
416 "revision": {
417 "type": "string",
418 "nullable": true
419 }
420 }
421 },
422 "LangString": {
423 "type": "object",
424 "properties": {
425 "language": {
426 "type": "string",
427 "nullable": true
428 },
429 "text": {
430 "type": "string",
431 "nullable": true
432 }
433 }
434 },
435 "IEndpointSecurity": {
436 "type": "object"
437 },
438 "IEndpoint": {
439 "type": "object",
440 "properties": {
441 "address": {
442 "type": "string",
443 "nullable": true,
444 "readOnly": true
445 },
446 "type": {
447 "type": "string",
448 "nullable": true,
449 "readOnly": true
450 },
451 "security": {
452 "$ref": "#/components/schemas/IEndpointSecurity"
453 }
454 }
455 },
456 "ModelType": {
457 "type": "object",
458 "properties": {
459 "name": {
460 "type": "string",
461 "nullable": true,
462 "readOnly": true
463 }
464 }
465 },
466 "AssetKind": {
467 "enum": [
468 "Type",
469 "Instance"
470 ],
471 "type": "string"
472 },
473 "KeyElements": {
474 "enum": [
475 "Undefined",
476 "GlobalReference",
477 "FragmentReference",
478 "AccessPermissionRule",
479 "AnnotatedRelationshipElement",
480 "BasicEvent",
481 "Blob",
482 "Capability",
483 "ConceptDictionary",
484 "DataElement",
485 "File",
486 "Entity",
487 "Event",
488 "MultiLanguageProperty",
489 "Operation",
490 "Property",
491 "Range",
492 "ReferenceElement",
493 "RelationshipElement",
494 "SubmodelElement",
495 "SubmodelElementCollection",
496 "View",
497 "Asset",
498 "AssetAdministrationShell",
499 "ConceptDescription",
500 "Submodel"
501 ],
502 "type": "string"
503 },
504 "Key": {
505 "required": [
506 "idType",
507 "local",
508 "type",
509 "value"
510 ],
511 "type": "object",
512 "properties": {
513 "type": {
514 "$ref": "#/components/schemas/KeyElements"
515 },
516 "idType": {
517 "$ref": "#/components/schemas/KeyType"
518 },
519 "value": {
520 "type": "string"
521 },
522 "local": {
523 "type": "boolean"
524 }
525 }
526 },
527 "SubmodelReference": {
528 "type": "object",
529 "properties": {
530 "keys": {
531 "type": "array",
532 "items": {
533 "$ref": "#/components/schemas/Key"
534 },
535 "nullable": true
536 }
537 }
538 },
539 "Reference": {
540 "type": "object",
541 "properties": {
542 "keys": {
543 "type": "array",
544 "items": {
545 "$ref": "#/components/schemas/Key"
546 },
547 "nullable": true
548 }
549 }
550 },
551 "IDataSpecificationContent": {
552 "type": "object"
553 },
554 "IEmbeddedDataSpecification": {
555 "type": "object",
556 "properties": {
557 "hasDataSpecification": {
558 "$ref": "#/components/schemas/Reference"
559 },
560 "dataSpecificationContent": {
561 "$ref": "#/components/schemas/IDataSpecificationContent"
562 }
563 }
564 },
565 "Asset": {
566 "type": "object",
567 "properties": {
568 "idShort": {
569 "type": "string",
570 "nullable": true
571 },
572 "kind": {
573 "$ref": "#/components/schemas/AssetKind"
574 },
575 "assetIdentificationModel": {
576 "$ref": "#/components/schemas/SubmodelReference"
577 },
578 "billOfMaterial": {
579 "$ref": "#/components/schemas/SubmodelReference"
580 },
581 "embeddedDataSpecifications": {
582 "type": "array",
583 "items": {
584 "$ref": "#/components/schemas/IEmbeddedDataSpecification"
585 },
586 "nullable": true,
587 "readOnly": true
588 },
589 "modelType": {
590 "$ref": "#/components/schemas/ModelType"
591 },
592 "identification": {
593 "$ref": "#/components/schemas/Identifier"
594 },
595 "administration": {
596 "$ref": "#/components/schemas/AdministrativeInformation"
597 },
598 "category": {
599 "type": "string",
600 "nullable": true
601 },
602 "description": {
603 "type": "array",
604 "items": {
605 "$ref": "#/components/schemas/LangString"
606 },
607 "nullable": true
608 }
609 }
610 },
611 "SubmodelDescriptor": {
612 "type": "object",
613 "properties": {
614 "idShort": {
615 "type": "string",
616 "nullable": true
617 },
618 "identification": {
619 "$ref": "#/components/schemas/Identifier"
620 },
621 "administration": {
622 "$ref": "#/components/schemas/AdministrativeInformation"
623 },
624 "description": {
625 "type": "array",
626 "items": {
627 "$ref": "#/components/schemas/LangString"
628 },
629 "nullable": true
630 },
631 "semanticId": {
632 "$ref": "#/components/schemas/Reference"
633 },
634 "endpoints": {
635 "type": "array",
636 "items": {
637 "$ref": "#/components/schemas/IEndpoint"
638 },
639 "nullable": true
640 },
641 "category": {
642 "type": "string",
643 "nullable": true,
644 "readOnly": true
645 },
646 "modelType": {
647 "$ref": "#/components/schemas/ModelType"
648 }
649 }
650 },
651 "AssetAdministrationShellDescriptor": {
652 "type": "object",
653 "properties": {
654 "idShort": {
655 "type": "string",
656 "nullable": true
657 },
658 "identification": {
659 "$ref": "#/components/schemas/Identifier"
660 },
661 "administration": {
662 "$ref": "#/components/schemas/AdministrativeInformation"
663 },
664 "description": {
665 "type": "array",
666 "items": {
667 "$ref": "#/components/schemas/LangString"
668 },
669 "nullable": true
670 },
671 "endpoints": {
672 "type": "array",
673 "items": {
674 "$ref": "#/components/schemas/IEndpoint"
675 },
676 "nullable": true
677 },
678 "category": {
679 "type": "string",
680 "nullable": true,
681 "readOnly": true
682 },
683 "modelType": {
684 "$ref": "#/components/schemas/ModelType"
685 },
686 "asset": {
687 "$ref": "#/components/schemas/Asset"
688 },
689 "submodels": {
690 "type": "array",
691 "items": {
692 "$ref": "#/components/schemas/SubmodelDescriptor"
693 },
694 "nullable": true
695 }
696 }
697 },
698 "ModelingKind": {
699 "enum": [
700 "Instance",
701 "Template"
702 ],
703 "type": "string"
704 },
705 "IConstraint": {
706 "type": "object",
707 "properties": {
708 "modelType": {
709 "$ref": "#/components/schemas/ModelType"
710 }
711 }
712 },
713 "ISubmodelElement": {
714 "type": "object",
715 "properties": {
716 "idShort": {
717 "type": "string",
718 "nullable": true,
719 "readOnly": true
720 },
721 "semanticId": {
722 "$ref": "#/components/schemas/Reference"
723 },
724 "constraints": {
725 "type": "array",
726 "items": {
727 "$ref": "#/components/schemas/IConstraint"
728 },
729 "nullable": true,
730 "readOnly": true
731 },
732 "description": {
733 "type": "array",
734 "items": {
735 "$ref": "#/components/schemas/LangString"
736 },
737 "nullable": true,
738 "readOnly": true
739 },
740 "category": {
741 "type": "string",
742 "nullable": true,
743 "readOnly": true
744 },
745 "kind": {
746 "$ref": "#/components/schemas/ModelingKind"
747 },
748 "modelType": {
749 "$ref": "#/components/schemas/ModelType"
750 },
751 "embeddedDataSpecifications": {
752 "type": "array",
753 "items": {
754 "$ref": "#/components/schemas/IEmbeddedDataSpecification"
755 },
756 "nullable": true,
757 "readOnly": true
758 }
759 }
760 },
761 "Submodel": {
762 "type": "object",
763 "properties": {
764 "idShort": {
765 "type": "string",
766 "nullable": true
767 },
768 "kind": {
769 "$ref": "#/components/schemas/ModelingKind"
770 },
771 "semanticId": {
772 "$ref": "#/components/schemas/Reference"
773 },
774 "submodelElements": {
775 "type": "array",
776 "items": {
777 "$ref": "#/components/schemas/ISubmodelElement"
778 },
779 "nullable": true
780 },
781 "modelType": {
782 "$ref": "#/components/schemas/ModelType"
783 },
784 "embeddedDataSpecifications": {
785 "type": "array",
786 "items": {
787 "$ref": "#/components/schemas/IEmbeddedDataSpecification"
788 },
789 "nullable": true
790 },
791 "qualifiers": {
792 "type": "array",
793 "items": {
794 "$ref": "#/components/schemas/IConstraint"
795 },
796 "nullable": true
797 },
798 "identification": {
799 "$ref": "#/components/schemas/Identifier"
800 },
801 "administration": {
802 "$ref": "#/components/schemas/AdministrativeInformation"
803 },
804 "category": {
805 "type": "string",
806 "nullable": true
807 },
808 "description": {
809 "type": "array",
810 "items": {
811 "$ref": "#/components/schemas/LangString"
812 },
813 "nullable": true
814 }
815 }
816 },
817 "MessageType": {
818 "enum": [
819 "Unspecified",
820 "Debug",
821 "Information",
822 "Warning",
823 "Error",
824 "Fatal",
825 "Exception"
826 ],
827 "type": "string"
828 },
829 "Message": {
830 "type": "object",
831 "properties": {
832 "messageType": {
833 "$ref": "#/components/schemas/MessageType"
834 },
835 "text": {
836 "type": "string",
837 "nullable": true
838 },
839 "code": {
840 "type": "string",
841 "nullable": true
842 }
843 }
844 },
845 "Result": {
846 "type": "object",
847 "properties": {
848 "success": {
849 "type": "boolean"
850 },
851 "isException": {
852 "type": "boolean",
853 "nullable": true,
854 "readOnly": true
855 },
856 "entity": {
857 "type": "object",
858 "nullable": true
859 },
860 "entityType": {
861 "type": "string",
862 "nullable": true
863 },
864 "messages": {
865 "type": "array",
866 "items": {
867 "$ref": "#/components/schemas/Message"
868 },
869 "nullable": true
870 }
871 }
872 },
873 "SubmodelElement": {
874 "type": "object",
875 "properties": {
876 "idShort": {
877 "type": "string",
878 "nullable": true
879 },
880 "semanticId": {
881 "$ref": "#/components/schemas/Reference"
882 },
883 "qualifiers": {
884 "type": "array",
885 "items": {
886 "$ref": "#/components/schemas/IConstraint"
887 },
888 "nullable": true
889 },
890 "kind": {
891 "$ref": "#/components/schemas/ModelingKind"
892 },
893 "modelType": {
894 "$ref": "#/components/schemas/ModelType"
895 },
896 "embeddedDataSpecifications": {
897 "type": "array",
898 "items": {
899 "$ref": "#/components/schemas/IEmbeddedDataSpecification"
900 },
901 "nullable": true
902 },
903 "category": {
904 "type": "string",
905 "nullable": true
906 },
907 "description": {
908 "type": "array",
909 "items": {
910 "$ref": "#/components/schemas/LangString"
911 },
912 "nullable": true
913 }
914 }
915 },
916 "ElementValue": {
917 "type": "object",
918 "properties": {
919 "value": {
920 "type": "object",
921 "nullable": true
922 }
923 }
924 },
925 "OperationVariable": {
926 "type": "object",
927 "properties": {
928 "modelType": {
929 "$ref": "#/components/schemas/ModelType"
930 },
931 "value": {
932 "$ref": "#/components/schemas/ISubmodelElement"
933 }
934 }
935 },
936 "InvocationRequest": {
937 "type": "object",
938 "properties": {
939 "requestId": {
940 "type": "string",
941 "nullable": true
942 },
943 "inputArguments": {
944 "type": "array",
945 "items": {
946 "$ref": "#/components/schemas/OperationVariable"
947 },
948 "nullable": true
949 },
950 "inoutputArguments": {
951 "type": "array",
952 "items": {
953 "$ref": "#/components/schemas/OperationVariable"
954 },
955 "nullable": true
956 },
957 "timeout": {
958 "type": "integer",
959 "format": "int32",
960 "nullable": true
961 }
962 }
963 },
964 "OperationResult": {
965 "type": "object",
966 "properties": {
967 "success": {
968 "type": "boolean"
969 },
970 "isException": {
971 "type": "boolean",
972 "nullable": true,
973 "readOnly": true
974 },
975 "entity": {
976 "type": "object",
977 "nullable": true
978 },
979 "entityType": {
980 "type": "string",
981 "nullable": true
982 },
983 "messages": {
984 "type": "array",
985 "items": {
986 "$ref": "#/components/schemas/Message"
987 },
988 "nullable": true
989 }
990 }
991 },
992 "ExecutionState": {
993 "enum": [
994 "Initiated",
995 "Running",
996 "Completed",
997 "Canceled",
998 "Failed",
999 "Timeout"
1000 ],
1001 "type": "string"
1002 },
1003 "InvocationResponse": {
1004 "type": "object",
1005 "properties": {
1006 "requestId": {
1007 "type": "string",
1008 "nullable": true
1009 },
1010 "inoutputArguments": {
1011 "type": "array",
1012 "items": {
1013 "$ref": "#/components/schemas/OperationVariable"
1014 },
1015 "nullable": true
1016 },
1017 "outputArguments": {
1018 "type": "array",
1019 "items": {
1020 "$ref": "#/components/schemas/OperationVariable"
1021 },
1022 "nullable": true
1023 },
1024 "operationResult": {
1025 "$ref": "#/components/schemas/OperationResult"
1026 },
1027 "executionState": {
1028 "$ref": "#/components/schemas/ExecutionState"
1029 }
1030 }
1031 },
1032 "AssetAdministrationShellReference": {
1033 "type": "object",
1034 "properties": {
1035 "keys": {
1036 "type": "array",
1037 "items": {
1038 "$ref": "#/components/schemas/Key"
1039 },
1040 "nullable": true
1041 }
1042 }
1043 },
1044 "View": {
1045 "type": "object",
1046 "properties": {
1047 "idShort": {
1048 "type": "string",
1049 "nullable": true
1050 },
1051 "containedElements": {
1052 "type": "array",
1053 "items": {
1054 "$ref": "#/components/schemas/Reference"
1055 },
1056 "nullable": true
1057 },
1058 "semanticId": {
1059 "$ref": "#/components/schemas/Reference"
1060 },
1061 "category": {
1062 "type": "string",
1063 "nullable": true
1064 },
1065 "description": {
1066 "type": "array",
1067 "items": {
1068 "$ref": "#/components/schemas/LangString"
1069 },
1070 "nullable": true
1071 },
1072 "modelType": {
1073 "$ref": "#/components/schemas/ModelType"
1074 }
1075 }
1076 },
1077 "ConceptDescriptionReference": {
1078 "type": "object",
1079 "properties": {
1080 "keys": {
1081 "type": "array",
1082 "items": {
1083 "$ref": "#/components/schemas/Key"
1084 },
1085 "nullable": true
1086 }
1087 }
1088 },
1089 "ConceptDictionary": {
1090 "type": "object",
1091 "properties": {
1092 "idShort": {
1093 "type": "string",
1094 "nullable": true
1095 },
1096 "category": {
1097 "type": "string",
1098 "nullable": true
1099 },
1100 "description": {
1101 "type": "array",
1102 "items": {
1103 "$ref": "#/components/schemas/LangString"
1104 },
1105 "nullable": true
1106 },
1107 "metaData": {
1108 "type": "object",
1109 "additionalProperties": {
1110 "type": "string"
1111 },
1112 "nullable": true
1113 },
1114 "conceptDescriptions": {
1115 "type": "array",
1116 "items": {
1117 "$ref": "#/components/schemas/ConceptDescriptionReference"
1118 },
1119 "nullable": true
1120 },
1121 "modelType": {
1122 "$ref": "#/components/schemas/ModelType"
1123 }
1124 }
1125 },
1126 "AssetAdministrationShell": {
1127 "type": "object",
1128 "properties": {
1129 "idShort": {
1130 "type": "string",
1131 "nullable": true
1132 },
1133 "asset": {
1134 "$ref": "#/components/schemas/Asset"
1135 },
1136 "submodels": {
1137 "type": "array",
1138 "items": {
1139 "$ref": "#/components/schemas/Submodel"
1140 },
1141 "nullable": true
1142 },
1143 "derivedFrom": {
1144 "$ref": "#/components/schemas/AssetAdministrationShellReference"
1145 },
1146 "views": {
1147 "type": "array",
1148 "items": {
1149 "$ref": "#/components/schemas/View"
1150 },
1151 "nullable": true
1152 },
1153 "modelType": {
1154 "$ref": "#/components/schemas/ModelType"
1155 },
1156 "embeddedDataSpecifications": {
1157 "type": "array",
1158 "items": {
1159 "$ref": "#/components/schemas/IEmbeddedDataSpecification"
1160 },
1161 "nullable": true,
1162 "readOnly": true
1163 },
1164 "conceptDictionaries": {
1165 "type": "array",
1166 "items": {
1167 "$ref": "#/components/schemas/ConceptDictionary"
1168 },
1169 "nullable": true
1170 },
1171 "identification": {
1172 "$ref": "#/components/schemas/Identifier"
1173 },
1174 "administration": {
1175 "$ref": "#/components/schemas/AdministrativeInformation"
1176 },
1177 "category": {
1178 "type": "string",
1179 "nullable": true
1180 },
1181 "description": {
1182 "type": "array",
1183 "items": {
1184 "$ref": "#/components/schemas/LangString"
1185 },
1186 "nullable": true
1187 }
1188 }
1189 }
1190 }
1191 }
1192}