Commit 94d807ec authored by Nathan Chambron's avatar Nathan Chambron
Browse files

added new api spec

parent 56f7cf69
Loading
Loading
Loading
Loading
+39 −8
Original line number Original line Diff line number Diff line
openapi: "3.0.0"
openapi: "3.0.0"
info: 
info: 
  version: 0.0.1
  version: 0.0.2
  title: World Storage API
  title: World Storage API
  description: API ensuring interoperability between an authoring tool and a World Storage service
  description: API ensuring interoperability between an authoring tool and a World Storage service
  license:
  license:
@@ -138,32 +138,61 @@ components:
        creatorUID:
        creatorUID:
          description: A Universally Unique IDentifier identifying the creator of the trackable
          description: A Universally Unique IDentifier identifying the creator of the trackable
          type: string
          type: string
          format: uuid
          example: c75f6324-77a0-11ec-90d6-0242ac120003
        trackableType:
        trackableType:
          description: Extensible list of trackable types possibly handled by complient World Storage implementation
          description: Extensible list of trackable types possibly handled by complient World Storage implementation
          type: string
          type: string
          enum: [FIDUCIAL_MARKER, IMAGE_MARKER, MAP, OTHER]
          enum: [FIDUCIAL_MARKER, IMAGE_MARKER, MAP, OTHER]
          example: FIDUCIAL_MARKER
        trackableEncodingInformation:         
        trackableEncodingInformation:         
          description: Identifies targeted framework and version of the format.
          description: Identifies targeted framework and version of the format.
          $ref: '#/components/schemas/trackableEncodingInformationStructure'
          $ref: '#/components/schemas/encodingInformationStructure'
        trackablePayload:
        trackablePayload:
          description: The data provided to create the trackable in a specific format handled by the World Storage service.
          description: The data provided to create the trackable in a specific format handled by the World Storage service.
          type: string
          type: string
          format: byte
          example: "10110101"
        localCRS:
          description: Coordinate reference system of the trackable
          type: array
          minItems: 4
          maxItems: 4
          items:
            type: array
            items: 
              type: number
              format: float
            minItems: 4
            maxItems: 4
          example: [[-2,  1,  -3, 4],
                    [4,   4,  4,  2],
                    [1,   0,  -2, 1],
                    [-1,  -2, 0,  0]]
        unitSystem:
        unitSystem:
          description: Unit of length
          description: Unit of length
          type: string
          type: string
          enum: [METERS, INCHES]
          enum: [MM,  CM,  DM,  M,  DAM,  HM,  KM,  INCH, FOOT, YARD, MILE]
          example: M
        trackableDimension:
        trackableDimension:
          description: Bounding box of the Trackable, {width, length, 0} for 2D trackables, {width, length, depth} for 3D trackables
          description: Bounding box of the Trackable, {width, length, 0} for 2D trackables, {width, length, depth} for 3D trackables
          type: array
          type: array
          items:
          items:
            type: number
            type: number
            format: double
            format: double
          minItems: 3
          maxItems: 3
          example: [1,5,0]
        keyvalueTagList:   
        keyvalueTagList:   
          description: List of additional parameters to be stored with the trackable.
          description: List of additional parameters to be stored with the trackable.
          type: object
          type: object
          additionalProperties:
          additionalProperties:
              type: array
              items:
                type: string
                type: string
    trackableEncodingInformationStructure:
              minItems: 1
          example: { "author" : ["james","donovan"], "image" : ["skater"]}
    encodingInformationStructure:
      required:
      required:
        - dataFormat
        - dataFormat
        - version
        - version
@@ -172,9 +201,11 @@ components:
          description: Identifier of the target framework
          description: Identifier of the target framework
          type: string
          type: string
          enum: [HOLOLENS, ARKIT, ARCORE]
          enum: [HOLOLENS, ARKIT, ARCORE]
          example : "HOLOLENS"
        version:
        version:
          description: The version of the format
          description: The version of the format
          type: string
          type: string
          example : "1.01"
    Error:
    Error:
      required:
      required:
        - code
        - code