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,33 +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.
description:OK, return the UUID of the Trackable defined by the world storage.
content:
text/plain:
schema:
@@ -90,13 +91,14 @@ paths:
'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:
@@ -112,12 +114,13 @@ paths:
get:
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 +137,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,23 +163,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.
description:OK, return the UUID of the World Anchor defined by the world storage.
content:
text/plain:
schema:
@@ -189,13 +191,14 @@ paths:
'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 +212,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 +237,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 +263,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 +275,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:
@@ -288,13 +291,14 @@ paths:
'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 +312,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 +337,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.