Microsoft Azure Aoa Front End APIs

Microsoft Azure AOA front end APIs allow developers to easily interact with and manage their applications hosted on the Azure platform. These APIs provide a set of tools and functionalities that enable developers to build and customize user interfaces, integrate data and services, and automate processes. With Azure AOA front end APIs, developers can create responsive and user-friendly interfaces, streamline workflows, and enhance the overall user experience of their applications.

OpenAPI Specification

aoa-front-end-apis-openapi-original.yml Raw ↑
swagger: '2.0'
info:
  title: Microsoft Azure AOA front end APIs
  description: Azure Object Anchors front end APIs.
  version: 0.3-preview.1
paths:
  /accounts/{accountId}/jobs/{jobId}:
    put:
      tags:
        - IngestionJob
      summary: 'Microsoft Azure Creates A Job Request'
      operationId: microsoftAzureIngestionjobCreate
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/AccountIdParameter'
        - $ref: '#/parameters/JobIdParameter'
        - $ref: '#/parameters/ClientRequestCorrelationVectorParameter'
        - $ref: '#/parameters/ApiVersionParameter'
        - in: body
          name: body
          description: The Azure Object Anchors ingestion request.
          required: true
          schema:
            $ref: '#/definitions/IngestionProperties'
      responses:
        '201':
          description: Success
          schema:
            $ref: '#/definitions/IngestionProperties'
          headers:
            ms-cv:
              description: >-
                The service response correlation vector, which will be a new
                value for every response.
              type: string
        default:
          description: Error
          schema:
            $ref: '#/definitions/ErrorResponse'
          headers:
            x-ms-error-code:
              type: string
      x-ms-examples:
        IngestionJob_Create:
          $ref: examples/CreateAssetConversionJob.json
      description: Needs a more full description created.
    get:
      tags:
        - IngestionJob
      summary: 'Microsoft Azure Gets The Status Of A Job Request'
      operationId: microsoftAzureIngestionjobGet
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/AccountIdParameter'
        - $ref: '#/parameters/JobIdParameter'
        - $ref: '#/parameters/ClientRequestCorrelationVectorParameter'
        - $ref: '#/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/IngestionProperties'
          headers:
            ms-cv:
              description: >-
                The service response correlation vector, which will be a new
                value for every response.
              type: string
        default:
          description: Error
          schema:
            $ref: '#/definitions/ErrorResponse'
          headers:
            x-ms-error-code:
              type: string
      x-ms-examples:
        IngestionJob_Get:
          $ref: examples/GetAssetConversionJob.json
      description: Needs a more full description created.
  /accounts/{accountId}/blobUploadEndpoint:
    get:
      tags:
        - Storage
      summary: 'Microsoft Azure Gets A Blob Upload Uri'
      operationId: microsoftAzureBlobuploadendpointGet
      produces:
        - application/json
      parameters:
        - $ref: '#/parameters/AccountIdParameter'
        - $ref: '#/parameters/ClientRequestCorrelationVectorParameter'
        - $ref: '#/parameters/ApiVersionParameter'
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/UploadLocation'
          headers:
            ms-cv:
              description: >-
                The service response correlation vector, which will be a new
                value for every response.
              type: string
        default:
          description: Error
          schema:
            $ref: '#/definitions/ErrorResponse'
          headers:
            x-ms-error-code:
              type: string
      x-ms-examples:
        BlobUploadEndpoint_Get:
          $ref: examples/GetBlobUploadEndpoint.json
      description: Needs a more full description created.
definitions:
  ConversionErrorCode:
    description: The asset conversion error code.
    enum:
      - UNKNOWN
      - NO_ERROR
      - SERVICE_ERROR
      - INVALID_ASSET_URI
      - INVALID_JOB_ID
      - INVALID_GRAVITY
      - INVALID_SCALE
      - ASSET_SIZE_TOO_LARGE
      - ASSET_DIMENSIONS_OUT_OF_BOUNDS
      - ZERO_FACES
      - INVALID_FACE_VERTICES
      - ZERO_TRAJECTORIES_GENERATED
      - TOO_MANY_RIG_POSES
      - ASSET_CANNOT_BE_CONVERTED
    type: string
    x-ms-enum:
      name: ConversionErrorCode
      modelAsString: true
      values:
        - value: UNKNOWN
          description: Unknown.
          name: Unknown
        - value: NO_ERROR
          description: No error.
          name: NoError
        - value: SERVICE_ERROR
          description: An unknown service error occurred.
          name: ServiceError
        - value: INVALID_ASSET_URI
          description: >-
            The asset at the URI provided when starting the conversion job could
            not be found.
          name: InvalidAssetUri
        - value: INVALID_JOB_ID
          description: >-
            The provided ID for the asset conversion job to be created was set
            to the default all-zero GUID.
          name: InvalidJobId
        - value: INVALID_GRAVITY
          description: >-
            The gravity vector provided when creating the asset conversion job
            was a fully zeroed vector.
          name: InvalidGravity
        - value: INVALID_SCALE
          description: The provided scale factor was not a positive non-zero value.
          name: InvalidScale
        - value: ASSET_SIZE_TOO_LARGE
          description: >-
            The intermediate .PLY file generated from the asset or its
            serialized equivalent was too large.
          name: AssetSizeTooLarge
        - value: ASSET_DIMENSIONS_OUT_OF_BOUNDS
          description: >-
            The dimensions of the asset exceeded the physical dimension limit.
            This can be a sign of an improperly set scale for the asset when
            creating a job.
          name: AssetDimensionsOutOfBounds
        - value: ZERO_FACES
          description: >-
            The intermediate .PLY file generated from the asset was determined
            to have no faces, making it invalid for conversion.
          name: ZeroFaces
        - value: INVALID_FACE_VERTICES
          description: >-
            The intermediate .PLY file generated from the asset contained faces
            that referenced nonexistent vertices.
          name: InvalidFaceVertices
        - value: ZERO_TRAJECTORIES_GENERATED
          description: >-
            The camera trajectories generated from the uploaded asset were
            empty.
          name: ZeroTrajectoriesGenerated
        - value: TOO_MANY_RIG_POSES
          description: >-
            The number of rig poses in the intermediate .PLY asset file exceeded
            service limits.
          name: TooManyRigPoses
        - value: ASSET_CANNOT_BE_CONVERTED
          description: >-
            The provided asset was corrupted, malformed, or otherwise unable to
            be converted in its provided format.
          name: AssetCannotBeConverted
  JobStatus:
    description: Represents job status state.
    enum:
      - NotStarted
      - Running
      - Succeeded
      - Failed
      - Cancelled
    type: string
    x-ms-enum:
      name: JobStatus
      modelAsString: false
  Vector3:
    description: Represents a vector with three single-precision floating-point values.
    required:
      - x
      - 'y'
      - z
    type: object
    properties:
      x:
        format: float
        description: The x component of the vector.
        type: number
      'y':
        format: float
        description: The y component of the vector.
        type: number
      z:
        format: float
        description: The z component of the vector.
        type: number
  Quaternion:
    description: >-
      Represents a vector that is used to encode three-dimensional physical
      rotations.
    required:
      - x
      - 'y'
      - z
      - w
    type: object
    properties:
      x:
        format: float
        description: The x value of the vector component of the quaternion.
        type: number
      'y':
        format: float
        description: The y value of the vector component of the quaternion.
        type: number
      z:
        format: float
        description: The z value of the vector component of the quaternion.
        type: number
      w:
        format: float
        description: The rotation component of the quaternion.
        type: number
      isIdentity:
        description: >-
          Gets a value that indicates whether the current instance is the
          identity quaternion
        type: boolean
        readOnly: true
  Pose:
    description: Represents a pose.
    required:
      - rotation
      - translation
    type: object
    properties:
      rotation:
        description: The pose's rotation.
        $ref: '#/definitions/Quaternion'
      translation:
        description: The pose's translation.
        $ref: '#/definitions/Vector3'
  Vector4:
    description: Represents a vector with four single-precision floating-point values.
    required:
      - x
      - 'y'
      - z
      - w
    type: object
    properties:
      x:
        format: float
        description: The x component of the vector.
        type: number
      'y':
        format: float
        description: The y component of the vector.
        type: number
      z:
        format: float
        description: The z component of the vector.
        type: number
      w:
        format: float
        description: The w component of the vector.
        type: number
  IngestionConfiguration:
    description: Represents an ingestion configuration.
    required:
      - gravity
      - scale
    type: object
    properties:
      dimensions:
        description: Dimensions of the asset.
        $ref: '#/definitions/Vector3'
        x-nullable: true
      boundingBoxCenter:
        description: BoundingBoxCenter of the asset.
        $ref: '#/definitions/Vector3'
        x-nullable: true
      gravity:
        description: Gravity vector with respect to object's nominal position.
        $ref: '#/definitions/Vector3'
      keyFrameIndexes:
        description: Indices of Key Frames.
        type: array
        x-nullable: true
        items:
          format: int32
          type: integer
      gtTrajectory:
        description: Ground truth trajectory.
        type: array
        items:
          $ref: '#/definitions/Pose'
      principalAxis:
        description: Orientation of model's bounding box.
        $ref: '#/definitions/Quaternion'
        x-nullable: true
      scale:
        format: float
        description: Scale of transformation of asset units into meter space.
        type: number
      supportingPlane:
        description: Definition of supporting plane.
        $ref: '#/definitions/Vector4'
        x-nullable: true
      testTrajectory:
        description: Test Trajectory.
        type: array
        items:
          $ref: '#/definitions/Pose'
  IngestionProperties:
    description: Represents the status of an AOA asset conversion job.
    type: object
    properties:
      clientErrorDetails:
        description: Information about the cause of a ClientError JobStatus.
        type: string
        readOnly: true
      serverErrorDetails:
        description: Information about the cause of a ServerError JobStatus.
        type: string
        readOnly: true
      errorCode:
        description: The error code associated with the asset conversion job.
        $ref: '#/definitions/ConversionErrorCode'
        readOnly: true
      jobId:
        format: uuid
        description: Identifier for the AOA asset conversion job.
        type: string
        readOnly: true
      outputModelUri:
        format: uri
        description: The URI for downloading the generated AOA Model
        type: string
        readOnly: true
      jobStatus:
        description: Status of the asset conversion job.
        $ref: '#/definitions/JobStatus'
      assetFileType:
        description: >-
          The file type of the original 3D asset. Examples include: "ply",
          "obj", "fbx", "glb", "gltf", etc.
        type: string
      inputAssetUri:
        format: uri
        description: >-
          The Uri to the Asset to be ingested by the AOA asset conversion
          service. This asset needs to have been uploaded to the service using
          an endpoint provided from a call to the GetUploadUri API.
        type: string
      accountId:
        format: uuid
        description: Identifier for the Account owning the asset conversion job.
        type: string
        readOnly: true
      ingestionConfiguration:
        description: Configuration settings for the asset conversion job.
        $ref: '#/definitions/IngestionConfiguration'
      scaledAssetDimensions:
        description: The scaled dimensions of the asset.
        $ref: '#/definitions/Vector3'
        x-nullable: true
        readOnly: true
  InnerError:
    description: Inner error.
    type: object
    properties:
      code:
        description: A more specific error code than was provided by the containing error.
        type: string
      innererror:
        description: >-
          An object containing more specific information than the current object
          about the error.
        $ref: '#/definitions/InnerError'
  ErrorDetail:
    description: Represents an error.
    required:
      - code
      - message
    type: object
    properties:
      code:
        description: The error code.
        type: string
      message:
        description: The error message.
        type: string
      target:
        description: The target of the error.
        type: string
      details:
        type: array
        items:
          $ref: '#/definitions/ErrorDetail'
      innererror:
        description: >-
          An object containing more specific information than the current object
          about the error.
        $ref: '#/definitions/InnerError'
  ErrorResponse:
    description: Represents an error response.
    required:
      - error
    type: object
    properties:
      error:
        description: The Error object.
        $ref: '#/definitions/ErrorDetail'
  UploadLocation:
    description: Represents an upload location for model ingestion.
    required:
      - inputAssetUri
    type: object
    properties:
      inputAssetUri:
        format: uri
        description: >-
          The blob upload URI where a model should be uploaded to the service
          for ingestion.
        type: string
parameters:
  AccountIdParameter:
    in: path
    name: accountId
    description: Identifier for the Azure Object Anchors account.
    required: true
    type: string
    format: uuid
    x-ms-parameter-location: method
  JobIdParameter:
    in: path
    name: jobId
    description: Identifier for the Azure Object Anchors ingestion job.
    required: true
    type: string
    format: uuid
    x-ms-parameter-location: method
  ClientRequestCorrelationVectorParameter:
    in: header
    name: x-mrc-cv
    description: >-
      The client request correlation vector, which should be set to a new value
      for each request.
    type: string
    x-ms-parameter-location: method
  ApiVersionParameter:
    in: query
    name: api-version
    description: The API version.
    required: true
    type: string
tags:
  - name: IngestionJob
  - name: Storage