Loading API/openapi.yaml +335 −43 Original line number Diff line number Diff line Loading @@ -38,10 +38,10 @@ paths: content: application/json: schema: $ref: '#/components/schemas/trackable' $ref: '#/components/schemas/Trackable' application/xml: schema: $ref: '#/components/schemas/trackable' $ref: '#/components/schemas/Trackable' responses: '200': description: OK returns the UUID of the Trackable defined by the world storage. Loading Loading @@ -70,7 +70,7 @@ paths: schema: type : array items : $ref: "#/components/schemas/trackable" $ref: "#/components/schemas/Trackable" 201: description: Null response default: Loading @@ -94,15 +94,15 @@ paths: type: string responses: '200': description: "successful operation" description: Successful operation content: application/json: schema: $ref: '#/components/schemas/trackable' $ref: '#/components/schemas/Trackable' '400': description: "Invalid ID supplied" description: Invalid ID supplied '404': description: "Trackable not found" description: Trackable not found delete: summary: Deletes a trackable operationId: deleteTrackable Loading @@ -122,17 +122,209 @@ paths: description: Invalid ID supplied '404': description: trackable not found /worldAnchors: post: summary: Create a world anchor operationId: addWorldAnchor tags: - world anchors requestBody: description: the world anchor to be added to the world storage required: true content: application/json: schema: $ref: '#/components/schemas/WorldAnchor' application/xml: schema: $ref: '#/components/schemas/WorldAnchor' responses: '200': description: OK returns the UUID of the World Anchor defined by the world storage. content: text/plain: schema: type: string '201': description: Null response default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' get: summary: returns the list of all world anchors defined by the world storage. operationId: getWorldAnchors tags: - world anchors responses: 200: description: OK returns all the world anchors defined by the world storage. content: application/json: schema: type : array items : $ref: "#/components/schemas/WorldAnchor" 201: description: Null response default: description: unexpected error content: application/json: schema: $ref: "#/components/schemas/Error" /worldAnchors/{worldAnchorId}: get: summary: Find a world anchor by his ID operationId: getWorldAnchorById tags: - world anchors parameters: - name: worldAnchorId in: path description: ID of the world anchor to retrieve required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/WorldAnchor' '400': description: Invalid ID supplied '404': description: World Anchor not found delete: summary: Deletes a world anchor operationId: deleteWorldAnchor tags: - world anchors parameters: - name: worldAnchorId in: path description: world anchor id to delete required: true schema: type: string responses: '200': description: OK '400': description: Invalid ID supplied '404': description: World anchor not found /worldLinks: post: summary: Create a link between world anchors and trackables operationId: addWorldLink tags: - world links requestBody: description: the link to be added to the world storage required: true content: application/json: schema: $ref: '#/components/schemas/WorldLink' application/xml: schema: $ref: '#/components/schemas/WorldLink' responses: '200': description: OK returns the UUID of the link defined by the world storage. content: text/plain: schema: type: string '201': description: Null response default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' get: summary: returns the list of all links defined by the world storage. operationId: getWorldLinks tags: - world links responses: 200: description: OK returns all the worldLinks defined by the world storage. content: application/json: schema: type : array items : $ref: "#/components/schemas/WorldLink" 201: description: Null response default: description: unexpected error content: application/json: schema: $ref: "#/components/schemas/Error" /worldLinks/{linkId}: get: summary: Find a link by his ID operationId: getWorldLinkById tags: - world links parameters: - name: worldLinkId in: path description: ID of the link to retrieve required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/WorldLink' '400': description: Invalid ID supplied '404': description: World Link not found delete: summary: Deletes a worldLink operationId: deleteWorldLink tags: - world links parameters: - name: linkId in: path description: link id to delete required: true schema: type: string responses: '200': description: OK '400': description: Invalid ID supplied '404': description: link not found components: schemas: trackable: Trackable: type: object required: - creatorUID - trackableType - trackableEncodingInformation - trackablePayload - unitSystem - localCRS - unit - trackableDimension - keyvalueTagList properties: Loading @@ -153,48 +345,118 @@ components: example: FIDUCIAL_MARKER trackableEncodingInformation: description: Identifies targeted framework and version of the format. $ref: '#/components/schemas/encodingInformationStructure' $ref: '#/components/schemas/EncodingInformationStructure' trackablePayload: description: The data provided to create the trackable in a specific format handled by the World Storage service. type: string format: byte example: "10110101" localCRS: description: Coordinate reference system of the trackable, a 4*4 matrix (rowmajor) represented by a float vector type: array minItems: 16 maxItems: 16 items: type: number format: float description: Coordinate reference system $ref: '#/components/schemas/CRS' example: [-2, 1, -3, 4, 4, 4, 4, 2, 1, 0, -2, 1, -1, -2, 0, 0] unitSystem: unit: description: Unit of length type: string enum: [MM, CM, DM, M, DAM, HM, KM, INCH, FOOT, YARD, MILE] example: M $ref: '#/components/schemas/UnitSystem' trackableDimension: description: Bounding box of the Trackable, {width, length, 0} for 2D trackables, {width, length, depth} for 3D trackables type: array items: type: number format: double minItems: 3 maxItems: 3 $ref: '#/components/schemas/Dimension' example: [1,5,0] keyvalueTagList: description: List of additional parameters to be stored with the trackable. keyvalueTags: description: List of additional parameters to be stored $ref: '#/components/schemas/KeyvalueTagList' example: { "author" : ["james","donovan"], "image" : ["skater"]} WorldAnchor: type: object additionalProperties: type: array items: required: - creatorUID - localCRS - unit - worldAnchorDimension - keyvalueTagList properties: UID: description: A Universally Unique IDentifier identifying the world anchor type: string minItems: 1 example: { "author" : ["james","donovan"], "image" : ["skater"]} encodingInformationStructure: format: uuid example: ce8ccd80-56ee-2a5c-a8a3-0242ac150d002 creatorUID: description: A Universally Unique IDentifier identifying the creator of the world anchor type: string format: uuid example: c75f6324-77a0-11ec-90d6-0242ac120003 localCRS: description: Coordinate reference system $ref: '#/components/schemas/CRS' example: [-2, 1, -3, 4, 4, 4, 4, 2, 1, 0, -2, 1, -1, -2, 0, 0] unit: description: Unit of length $ref: '#/components/schemas/UnitSystem' worldAnchorDimension: description: Bounding box {width, length, depth} $ref: '#/components/schemas/Dimension' example: [1,5,0] keyvalueTags: description: List of additional parameters to be stored $ref: '#/components/schemas/KeyvalueTagList' example: { "Place" : ["Museum 1"], "room" : ["B4"]} WorldLink: type: object required: - creatorUID - UIDA - UIDB - localCRS - unit - linkDimension - keyvalueTags properties: UID: description: A Universally Unique IDentifier identifying the link type: string format: uuid example: ce8ccd80-56ee-2a5c-a8a3-0242ac150d002 creatorUID: description: A Universally Unique IDentifier identifying the creator of the link type: string format: uuid example: c75f6324-77a0-11ec-90d6-0242ac120003 UIDA: description: A Universally Unique IDentifier identifying a world anchor or trackable type: string format: uuid example: ce8ccd80-56ee-2a5c-a8a3-0242ac150d002 UIDB: description: A Universally Unique IDentifier identifying a world anchor or trackable type: string format: uuid example: ce8ccd80-56ee-2a5c-a8a3-0242ac150d002 localCRS: description: Coordinate reference system $ref: '#/components/schemas/CRS' example: [-2, 1, -3, 4, 4, 4, 4, 2, 1, 0, -2, 1, -1, -2, 0, 0] unit: description: Unit of length $ref: '#/components/schemas/UnitSystem' example: M linkDimension: description: Bounding box $ref: '#/components/schemas/Dimension' example: [1,5,0] keyvalueTags: description: List of additional parameters to be stored $ref: '#/components/schemas/KeyvalueTagList' example: { "LinkType" : ["Hierarchy"]} EncodingInformationStructure: required: - dataFormat - version Loading @@ -208,6 +470,36 @@ components: description: The version of the format type: string example : "1.01" CRS: description: Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector type: array minItems: 16 maxItems: 16 items: type: number format: float UnitSystem: description: Unit of length type: string enum: [MM, CM, DM, M, DAM, HM, KM, INCH, FOOT, YARD, MILE] Dimension: description: Bounding box {width, length, depth} type: array items: type: number format: double minItems: 3 maxItems: 3 example: [1,5,0] KeyvalueTagList: description: List of additional parameters to be stored with the trackable. type: object additionalProperties: type: array items: type: string minItems: 1 example: { "Place" : ["Museum 1"], "room" : ["B4"]} Error: required: - code Loading Loading
API/openapi.yaml +335 −43 Original line number Diff line number Diff line Loading @@ -38,10 +38,10 @@ paths: content: application/json: schema: $ref: '#/components/schemas/trackable' $ref: '#/components/schemas/Trackable' application/xml: schema: $ref: '#/components/schemas/trackable' $ref: '#/components/schemas/Trackable' responses: '200': description: OK returns the UUID of the Trackable defined by the world storage. Loading Loading @@ -70,7 +70,7 @@ paths: schema: type : array items : $ref: "#/components/schemas/trackable" $ref: "#/components/schemas/Trackable" 201: description: Null response default: Loading @@ -94,15 +94,15 @@ paths: type: string responses: '200': description: "successful operation" description: Successful operation content: application/json: schema: $ref: '#/components/schemas/trackable' $ref: '#/components/schemas/Trackable' '400': description: "Invalid ID supplied" description: Invalid ID supplied '404': description: "Trackable not found" description: Trackable not found delete: summary: Deletes a trackable operationId: deleteTrackable Loading @@ -122,17 +122,209 @@ paths: description: Invalid ID supplied '404': description: trackable not found /worldAnchors: post: summary: Create a world anchor operationId: addWorldAnchor tags: - world anchors requestBody: description: the world anchor to be added to the world storage required: true content: application/json: schema: $ref: '#/components/schemas/WorldAnchor' application/xml: schema: $ref: '#/components/schemas/WorldAnchor' responses: '200': description: OK returns the UUID of the World Anchor defined by the world storage. content: text/plain: schema: type: string '201': description: Null response default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' get: summary: returns the list of all world anchors defined by the world storage. operationId: getWorldAnchors tags: - world anchors responses: 200: description: OK returns all the world anchors defined by the world storage. content: application/json: schema: type : array items : $ref: "#/components/schemas/WorldAnchor" 201: description: Null response default: description: unexpected error content: application/json: schema: $ref: "#/components/schemas/Error" /worldAnchors/{worldAnchorId}: get: summary: Find a world anchor by his ID operationId: getWorldAnchorById tags: - world anchors parameters: - name: worldAnchorId in: path description: ID of the world anchor to retrieve required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/WorldAnchor' '400': description: Invalid ID supplied '404': description: World Anchor not found delete: summary: Deletes a world anchor operationId: deleteWorldAnchor tags: - world anchors parameters: - name: worldAnchorId in: path description: world anchor id to delete required: true schema: type: string responses: '200': description: OK '400': description: Invalid ID supplied '404': description: World anchor not found /worldLinks: post: summary: Create a link between world anchors and trackables operationId: addWorldLink tags: - world links requestBody: description: the link to be added to the world storage required: true content: application/json: schema: $ref: '#/components/schemas/WorldLink' application/xml: schema: $ref: '#/components/schemas/WorldLink' responses: '200': description: OK returns the UUID of the link defined by the world storage. content: text/plain: schema: type: string '201': description: Null response default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' get: summary: returns the list of all links defined by the world storage. operationId: getWorldLinks tags: - world links responses: 200: description: OK returns all the worldLinks defined by the world storage. content: application/json: schema: type : array items : $ref: "#/components/schemas/WorldLink" 201: description: Null response default: description: unexpected error content: application/json: schema: $ref: "#/components/schemas/Error" /worldLinks/{linkId}: get: summary: Find a link by his ID operationId: getWorldLinkById tags: - world links parameters: - name: worldLinkId in: path description: ID of the link to retrieve required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/WorldLink' '400': description: Invalid ID supplied '404': description: World Link not found delete: summary: Deletes a worldLink operationId: deleteWorldLink tags: - world links parameters: - name: linkId in: path description: link id to delete required: true schema: type: string responses: '200': description: OK '400': description: Invalid ID supplied '404': description: link not found components: schemas: trackable: Trackable: type: object required: - creatorUID - trackableType - trackableEncodingInformation - trackablePayload - unitSystem - localCRS - unit - trackableDimension - keyvalueTagList properties: Loading @@ -153,48 +345,118 @@ components: example: FIDUCIAL_MARKER trackableEncodingInformation: description: Identifies targeted framework and version of the format. $ref: '#/components/schemas/encodingInformationStructure' $ref: '#/components/schemas/EncodingInformationStructure' trackablePayload: description: The data provided to create the trackable in a specific format handled by the World Storage service. type: string format: byte example: "10110101" localCRS: description: Coordinate reference system of the trackable, a 4*4 matrix (rowmajor) represented by a float vector type: array minItems: 16 maxItems: 16 items: type: number format: float description: Coordinate reference system $ref: '#/components/schemas/CRS' example: [-2, 1, -3, 4, 4, 4, 4, 2, 1, 0, -2, 1, -1, -2, 0, 0] unitSystem: unit: description: Unit of length type: string enum: [MM, CM, DM, M, DAM, HM, KM, INCH, FOOT, YARD, MILE] example: M $ref: '#/components/schemas/UnitSystem' trackableDimension: description: Bounding box of the Trackable, {width, length, 0} for 2D trackables, {width, length, depth} for 3D trackables type: array items: type: number format: double minItems: 3 maxItems: 3 $ref: '#/components/schemas/Dimension' example: [1,5,0] keyvalueTagList: description: List of additional parameters to be stored with the trackable. keyvalueTags: description: List of additional parameters to be stored $ref: '#/components/schemas/KeyvalueTagList' example: { "author" : ["james","donovan"], "image" : ["skater"]} WorldAnchor: type: object additionalProperties: type: array items: required: - creatorUID - localCRS - unit - worldAnchorDimension - keyvalueTagList properties: UID: description: A Universally Unique IDentifier identifying the world anchor type: string minItems: 1 example: { "author" : ["james","donovan"], "image" : ["skater"]} encodingInformationStructure: format: uuid example: ce8ccd80-56ee-2a5c-a8a3-0242ac150d002 creatorUID: description: A Universally Unique IDentifier identifying the creator of the world anchor type: string format: uuid example: c75f6324-77a0-11ec-90d6-0242ac120003 localCRS: description: Coordinate reference system $ref: '#/components/schemas/CRS' example: [-2, 1, -3, 4, 4, 4, 4, 2, 1, 0, -2, 1, -1, -2, 0, 0] unit: description: Unit of length $ref: '#/components/schemas/UnitSystem' worldAnchorDimension: description: Bounding box {width, length, depth} $ref: '#/components/schemas/Dimension' example: [1,5,0] keyvalueTags: description: List of additional parameters to be stored $ref: '#/components/schemas/KeyvalueTagList' example: { "Place" : ["Museum 1"], "room" : ["B4"]} WorldLink: type: object required: - creatorUID - UIDA - UIDB - localCRS - unit - linkDimension - keyvalueTags properties: UID: description: A Universally Unique IDentifier identifying the link type: string format: uuid example: ce8ccd80-56ee-2a5c-a8a3-0242ac150d002 creatorUID: description: A Universally Unique IDentifier identifying the creator of the link type: string format: uuid example: c75f6324-77a0-11ec-90d6-0242ac120003 UIDA: description: A Universally Unique IDentifier identifying a world anchor or trackable type: string format: uuid example: ce8ccd80-56ee-2a5c-a8a3-0242ac150d002 UIDB: description: A Universally Unique IDentifier identifying a world anchor or trackable type: string format: uuid example: ce8ccd80-56ee-2a5c-a8a3-0242ac150d002 localCRS: description: Coordinate reference system $ref: '#/components/schemas/CRS' example: [-2, 1, -3, 4, 4, 4, 4, 2, 1, 0, -2, 1, -1, -2, 0, 0] unit: description: Unit of length $ref: '#/components/schemas/UnitSystem' example: M linkDimension: description: Bounding box $ref: '#/components/schemas/Dimension' example: [1,5,0] keyvalueTags: description: List of additional parameters to be stored $ref: '#/components/schemas/KeyvalueTagList' example: { "LinkType" : ["Hierarchy"]} EncodingInformationStructure: required: - dataFormat - version Loading @@ -208,6 +470,36 @@ components: description: The version of the format type: string example : "1.01" CRS: description: Coordinate reference system of the world anchor, a 4*4 matrix (rowmajor) represented by a float vector type: array minItems: 16 maxItems: 16 items: type: number format: float UnitSystem: description: Unit of length type: string enum: [MM, CM, DM, M, DAM, HM, KM, INCH, FOOT, YARD, MILE] Dimension: description: Bounding box {width, length, depth} type: array items: type: number format: double minItems: 3 maxItems: 3 example: [1,5,0] KeyvalueTagList: description: List of additional parameters to be stored with the trackable. type: object additionalProperties: type: array items: type: string minItems: 1 example: { "Place" : ["Museum 1"], "room" : ["B4"]} Error: required: - code Loading