description:API ensuring interoperability between an authoring tool and a World Storage service
license:
name:BSD-3-clause
name:Copyright 2022 ETSI. Licensed under the BSD-3-Clause license
url:https://opensource.org/licenses/BSD-3-Clause
servers:
-url:http://localhost:8080
tags:
-name:default
description:Default operations to test the current server's state
-name:Trackables
description:Trackables are models of parts of the real world. <br>Trackables are elements of the real world of which features are available and/or could be extracted.<br> Trackables provide a Coordinate Reference System in which a pose can be expressed.
-name:World Anchors
description:A World Anchor represents a fixed position in relation to one or more elements of the real world. <br>It has a Coordinate Reference System in which AR Assets stay spatially-registered.
-name:World Links
description:A World Link represents and defines the relative 3D position and orientation between elements (Trackables and/or World Anchors).
paths:
/ping:
get:
@@ -39,10 +50,6 @@ paths:
responses:
'200':
description:OK, world storage server ready.
content:
text/plain:
schema:
type:string
/version:
get:
summary:Get the version of the ARF API.
@@ -50,37 +57,27 @@ paths:
responses:
'200':
description:Current version.
content:
text/plain:
schema:
type:string
##############
# TRACKABLES #
##############
/trackables:
post:
summary:Create a trackable.
summary:Create a Trackable.
operationId:addTrackable
description:Create a new Trackable from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created Trackable.
tags:
-trackables
-Trackables
requestBody:
description:The trackable to be added to the world storage.
description:The Trackable to be added to the world storage.
required:true
content:
application/json:
schema:
$ref:'#/components/schemas/Trackable'
#application/xml:
# schema:
# $ref: '#/components/schemas/Trackable'
responses:
'200':
description:OK, returns the UUID of the Trackable defined by the world storage.
content:
text/plain:
schema:
type:string
description:OK, return the UUID of the Trackable defined by the world storage.
'201':
description:Null response.
'400':
@@ -89,14 +86,37 @@ paths:
$ref:'#/components/responses/409_NotEmptyUUID'
'default':
$ref:'#/components/responses/4xx_UnexpectedError'
put:
summary:Modify a Trackable.
operationId:modifyTrackable
description:Modify an existing Trackable given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
tags:
-Trackables
requestBody:
description:The Trackable to be modified in the world storage.
required:true
content:
application/json:
schema:
$ref:'#/components/schemas/Trackable'
responses:
'200':
description:OK, return the UUID of the modified Trackable.
'400':
$ref:'#/components/responses/400_BadRequest'
'404':
$ref:'#/components/responses/404_NotFoundUUID'
'default':
$ref:'#/components/responses/4xx_UnexpectedError'
get:
summary:Returns the list of all trackables defined by the world storage.
summary:Return all the Trackables.
operationId:getTrackables
description:Get all the Trackables currently being stored in the world storage.
tags:
-trackables
-Trackables
responses:
'200':
description:OK, returns all the Trackables defined by the world storage.
description:OK, return all the Trackables defined by the world storage.
content:
application/json:
schema:
@@ -110,14 +130,15 @@ paths:
/trackables/{trackableUUID}:
get:
summary:Find a trackable by its UUID.
summary:Find a Trackable by its UUID.
operationId:getTrackableById
description:Get a single Trackable stored in the world storage from its ID.
tags:
-trackables
-Trackables
parameters:
-name:trackableUUID
in:path
description:UUID of the trackable to retrieve.
description:UUID of the Trackable to retrieve.
required:true
schema:
type:string
@@ -134,10 +155,11 @@ paths:
'404':
$ref:'#/components/responses/404_NotFoundUUID'
delete:
summary:Deletes a trackable.
summary:Delete a Trackable.
operationId:deleteTrackable
description:Delete a single Trackable stored in the world storage from its ID.
tags:
-trackables
-Trackables
parameters:
-name:trackableUUID
in:path
@@ -159,27 +181,21 @@ paths:
#################
/worldAnchors:
post:
summary:Create a world anchor.
summary:Create a World Anchor.
operationId:addWorldAnchor
description:Create a new World Anchor from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Anchor.
tags:
-world anchors
-World Anchors
requestBody:
description:The world anchor to be added to the world storage.
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
description:OK, return the UUID of the World Anchor defined by the world storage.
'201':
description:Null response.
'400':
@@ -188,14 +204,37 @@ paths:
$ref:'#/components/responses/409_NotEmptyUUID'
'default':
$ref:'#/components/responses/4xx_UnexpectedError'
put:
summary:Modify a World Anchor.
operationId:modifyWorldAnchor
description:Modify an existing World Anchor given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
tags:
-World Anchors
requestBody:
description:The World Anchor to be modified in the world storage.
required:true
content:
application/json:
schema:
$ref:'#/components/schemas/WorldAnchor'
responses:
'200':
description:OK, return the UUID of the modified World Anchor.
'400':
$ref:'#/components/responses/400_BadRequest'
'404':
$ref:'#/components/responses/404_NotFoundUUID'
'default':
$ref:'#/components/responses/4xx_UnexpectedError'
get:
summary:Returns the list of all world anchors defined by the world storage.
summary:Return all the World Anchors.
operationId:getWorldAnchors
description:Get all the World Anchors currently being stored in the world storage.
tags:
-world anchors
-World Anchors
responses:
'200':
description:OK, returns all the world anchors defined by the world storage.
description:OK, return all the World Anchors defined by the world storage.
content:
application/json:
schema:
@@ -209,14 +248,15 @@ paths:
/worldAnchors/{worldAnchorUUID}:
get:
summary:Find a world anchor by its UUID.
summary:Find a World Anchor by its UUID.
operationId:getWorldAnchorById
description:Get a single World Anchor stored in the world storage from its ID.
tags:
-world anchors
-World Anchors
parameters:
-name:worldAnchorUUID
in:path
description:UUID of the world anchor to retrieve.
description:UUID of the World Anchor to retrieve.
required:true
schema:
type:string
@@ -233,14 +273,15 @@ paths:
'404':
$ref:'#/components/responses/404_NotFoundUUID'
delete:
summary:Deletes a world anchor.
summary:Delete a World Anchor.
operationId:deleteWorldAnchor
description:Delete a single World Anchor stored in the world storage from its ID.
tags:
-world anchors
-World Anchors
parameters:
-name:worldAnchorUUID
in:path
description:World anchor UUID to delete.
description:World Anchor UUID to delete.
required:true
schema:
type:string
@@ -258,10 +299,11 @@ paths:
###############
/worldLinks:
post:
summary:Create a link between world anchors and trackables.
summary:Create a World Link between elements (world anchors and/or trackables).
operationId:addWorldLink
description:Create a new World Link from a json object containing all the required informations and add it to the world storage. <br>As a result you will get the ID of the newly created World Link.
tags:
-world links
-World Links
requestBody:
description:The link to be added to the world storage.
required:true
@@ -269,12 +311,9 @@ paths:
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.
description:OK, return the UUID of the World Link defined by the world storage.
content:
text/plain:
schema:
@@ -287,14 +326,37 @@ paths:
$ref:'#/components/responses/409_NotEmptyUUID'
'default':
$ref:'#/components/responses/4xx_UnexpectedError'
put:
summary:Modify a World Link.
operationId:modifyWorldLink
description:Modify an existing World Link given a json object containing all the required informations. <br> **Please note that ID of the object is required in the JSON**
tags:
-World Links
requestBody:
description:The World Link to be modified in the world storage.
required:true
content:
application/json:
schema:
$ref:'#/components/schemas/WorldLink'
responses:
'200':
description:OK, return the UUID of the modified World Link.
'400':
$ref:'#/components/responses/400_BadRequest'
'404':
$ref:'#/components/responses/404_NotFoundUUID'
'default':
$ref:'#/components/responses/4xx_UnexpectedError'
get:
summary:Returns the list of all links defined by the world storage.
summary:Return all World Links.
description:Get all the World Links currently being stored in the world storage.
operationId:getWorldLinks
tags:
-world links
-World Links
responses:
'200':
description:OK returns all the worldLinks defined by the world storage.
description:OK return all the WorldLinks defined by the world storage.
content:
application/json:
schema:
@@ -308,14 +370,15 @@ paths:
/worldLinks/{worldLinkUUID}:
get:
summary:Find a link by its UUID.
summary:Find a World Link by its UUID.
operationId:getWorldLinkById
description:Get a single World Link stored in the world storage from its ID.
tags:
-world links
-World Links
parameters:
-name:worldLinkUUID
in:path
description:UUID of the link to retrieve.
description:UUID of the World Link to retrieve.
required:true
schema:
type:string
@@ -332,14 +395,15 @@ paths:
'404':
$ref:'#/components/responses/404_NotFoundUUID'
delete:
summary:Deletes a worldLink.
summary:Delete a WorldLink.
operationId:deleteWorldLink
description:Delete a single World Link stored in the world storage from its ID.