description:API ensuring interoperability between Scene Management and a World Analysis service
license:
name:BSD-3-clause
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 :Pose
description :Operations to collect poses of AR devices, Trackables and WorldAnchors from the World Analysis
-name :Capabilities
description :Operation to retrieves the supported capabilities of the World Analysis
paths:
## Default
/ping:
get:
summary:Test the server availability.
operationId:getPing
responses:
'200':
description:Ok, returns a string message.
content:
text/plain:
schema:
type:string
example:"pong"
/admin:
get:
summary:Get the state of the server.
operationId:getAdmin
responses:
'200':
description:OK, world storage server ready.
content:
text/plain:
schema:
type:string
example:"Serverupandrunning"
/version:
get:
summary:Get the version of the ARF API.
operationId:getVersion
responses:
'200':
description:Current version.
content:
text/plain:
schema:
type:string
example:"1.0.0"
/pose/configure/framerate:
post:
summary:Specify the a minimum frame rate for pose estimation for Trackable types
operationId:configureFramerate
description:Operation to set the minimum frame rate for pose estimation required for the different Trackable Types
tags:
-Pose
parameters:
-in:header
name:token
schema:
$ref:'#/components/schemas/Token'
requestBody:
required:true
content:
application/json:
schema:
$ref:'#/components/schemas/PoseConfiguration'
responses:
'200':
description:Successful operation.
'405':
$ref:'#/components/responses/405_NotSupported'
'default':
$ref:'#/components/responses/4xx_UnexpectedError'
/pose/{trackableOrAnchorUUID}:
get:
summary:Request the last pose of an AR device, an Anchor or a Trackable
operationId:getLastPose
description:Operation to retrieve the pose of an AR device in relation to a WorldAnchor or a Trackable (AR device pose), or conversely a Trackable or WorldAnchor in relation to the AR device (object pose).
tags:
-Pose
parameters:
-name:trackableOrAnchorUUID
in:path
description:UUID of the Trackable or Anchor to check support
required:true
schema:
type:string
format:uuid
-name:deviceToWorldAnchor
in:query
description:a boolean representing the context of the Relocalization information (AR device to WorldAnchor/Trackable or WorldAnchor/Trackable to AR device)
required:false
schema:
type:boolean
default:false
example:false
responses:
'200':
description:Successful operation.
content:
application/json:
schema:
$ref:'#/components/schemas/Pose'
'400':
$ref:'#/components/responses/400_InvalidUUID'
'403':
$ref:'#/components/responses/403_ForbiddenUUID'
'404':
$ref:'#/components/responses/404_NotFoundUUID'
'405':
$ref:'#/components/responses/405_NotSupported'
'default':
$ref:'#/components/responses/4xx_UnexpectedError'
/pose/{trackableOrAnchorUUID}/subscribe:
post:
summary:Subscribe to collect the pose of an AR device, an Anchor or a Trackable
operationId:subscribeToPose
description:Subscription to collect the pose of an AR device in relation to a WorldAnchor or a Trackable (AR device pose), or conversely a Trackable or WorldAnchor in relation to the AR device (object pose). Notifications are sent either using a provided webhook or a dynamically generated websocket endpoints.
tags:
-Pose
parameters:
-name:token
in:header
schema:
$ref:'#/components/schemas/Token'
-name:trackableOrAnchorUUID
in:path
description:UUID of the Trackable or Anchor to subscribe
required:true
schema:
type:string
format:uuid
-name:deviceToWorldAnchor
in:query
description:a boolean representing the context of the Relocalization information (AR device to WorldAnchor/Trackable or WorldAnchor/Trackable to AR device)
required:false
schema:
type:boolean
default:false
example:false
requestBody:
required:false
content:
application/json:
schema:
properties:
validity:
description:Subscription validity delay in millisecond
type:integer
example:20000
webhookUrl:
description:Optional URL of your listening webhook for collecting the poses
type:string
default:null
example:http://mySceneManagementServer.com/Poses"
responses:
'200':
description:Successful operation.
content:
application/json:
schema:
$ref:'#/components/schemas/Subscription'
'400':
$ref:'#/components/responses/400_InvalidUUID'
'403':
$ref:'#/components/responses/403_ForbiddenUUID'
'404':
$ref:'#/components/responses/404_NotFoundUUID'
'405':
$ref:'#/components/responses/405_NotSupported'
'default':
$ref:'#/components/responses/4xx_UnexpectedError'
/pose/unsubscribe/{subscriptionUUID}:
delete:
summary:Remove a subscription to a given pose
operationId:unSubscribeToPose
description:End the subscription and the associated callback for collecting a given pose
tags:
-Pose
parameters:
-in:header
name:token
schema:
$ref:'#/components/schemas/Token'
-name:subscriptionUUID
in:path
description:Subscription UUID to delete.
required:true
schema:
type:string
format:uuid
responses:
'200':
description:OK, unbscription successful.
content:
text/plain:
schema:
type:string
example:"Subscriptionsuccesfulydeleted"
'400':
$ref:'#/components/responses/400_InvalidUUID'
'404':
$ref:'#/components/responses/404_NotFoundUUID'
/capabilities:
get:
summary:Get the supported capabilities of the World Analysis
operationId:getCapabilities
description:Operation to retrieve information the capabilities of the World Analysis for pose estimation ( (e.g. frame rate, latency, accuracy or Trackable types supported for the pose estimation)
tags:
-Capabilities
parameters:
-in:header
name:token
schema:
$ref:'#/components/schemas/Token'
responses:
'200':
description:Successful operation.
content:
application/json:
schema:
type:object
properties:
capabilities:
type:array
items:
$ref:'#/components/schemas/Capability'
'default':
$ref:'#/components/responses/4xx_UnexpectedError'
/capabilities/{TrackableOrAnchorUUID}:
get:
summary:For a given trackable or anchor, get its support information
operationId:getSupport
description:Operation to retrieve information the capabilities of the World Analysis for pose estimation ( (e.g. frame rate, latency, accuracy or Trackable types supported for the pose estimation)
tags:
-Capabilities
parameters:
-in:header
name:token
schema:
$ref:'#/components/schemas/Token'
-name:TrackableOrAnchorUUID
in:path
description:UUID of the Trackable or Anchor to check support