openapi: 3.0.0
info:
  version: v1.0.0
  title: Aura™️ Jobs API
  description: Aura™️ on Aura Rails
paths: 
  '/jobs':
    post:
      tags:
        - Jobs
      summary: Queue new Aura Job
      description: |
        Queue new Aura Job
      operationId: postJob
      requestBody:
        description: >-
          
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                source_url:
                  description: Source AWS presigned URL
                  type: string
                assets_url:
                  description: Assets AWS presigned URL
                  type: string
                job_type:
                  description: Job Type
                  type: string
                callback_url:
                  description: Callback URL
                  type: string
                update_callback_url:
                  description: Update Callback URL
                  type: string
                owner_token:
                  description: Studio Owner Token
                  type: string
                pipeline_config:
                  description: Config JSON
                  $ref: '#/components/schemas/ConfigObject'
      responses:
        '204':
          description: successful operation
        '405':
          description: Invalid input
      security:
        - basicAuth: []
components:
    schemas:
      AmbientOcclusionObject:
        description: Ambient Occlusion Settings. Currently only available for frontend.
        type: object
        properties:
          enabled:
            type: boolean
            description: Has Ambient Occlusion enabled?
          radius:
            type: number
            description: Radius of Ambient Occlusion in float
          intensity:
            type: number
            description: Intensity of Ambient Occlusion in float
      HotspotObject:
        type: object
        properties:
          version:
            type: number
            description: version of hotspot that describes the used Aura 3D / Hotspot Editor version
          name: 
            type: string
            description: string-identifier <ist bei source UPLOAD oder GENERATED read-only> // bei EDITOR sluggified title
          title: 
            type: string
            description: human-readable name
          description: 
            type: string
            description: used sometimes in apps
          path: 
            type: string
            description: /bla/blu/id <read-only>
          source: 
            type: string
            description: UPLOAD, GENERATED, EDITOR <read-only>
          source_resource_version: 
            type: number
            description: version number of resource in which the hotspots was added
          changed_in_editor: 
            type: boolean
            description: true|false
          removed: 
            type: boolean
            description: true|false
          removed_by: 
            type: string
            description: <from_resource,in_editor>
          position:
            $ref: '#/components/schemas/XYZObject'
          rotation: 
            description: 'x,y,z <Anmerkung: zeigt immer auf Kamera, wenn nicht definiert) => Optional>'
            $ref: '#/components/schemas/XYZObject'
          is_billboard:
            type: boolean
            default: false
            description: "Is billboarding activated? This will overwrite rotation if set to true."
          type: 
            type: string
            description: 'EGO | EVENT'
          texture: 
            type: string
            description: '<image item token>'
          color: 
            type: string
            description: 'r,g.b,a | hex'
          size: 
            type: number
            description: float
      XYZObject:
        type: object
        properties:
          x: 
            type: number
            description: X float
          y: 
            type: number
            description: Y float
          z: 
            type: number
            description: Z float
      ConfigObject:
        type: object
        properties:
          api_version: 
            type: number
            description: API version
          studio_owner_token: 
            type: string
            description: Studio Owner Token
          main_file_name:
            type: string
            description: Currently not implemented. Name of the main file. This option is needed to set the main file that includes other files within. We need this behavior for uploads of zip Archives (e.g. CATIA, Solidworks)
          scale:
            type: number
            description: Scale of 3D Model in float
          rotate_x:
            type: number
            description: X value of rotation in float
          rotate_y:
            type: number
            description: Y value of rotation in float
          rotate_z:
            type: number
            description: Z value of rotation in float
          positioning_x:  
            type: string 
            description: X value of positioning ("MIN|CENTER|MAX")
          positioning_y:  
            type: string 
            description: X value of positioning ("MIN|CENTER|MAX")
          positioning_z:  
            type: string 
            description: X value of positioning ("MIN|CENTER|MAX")
          offset_x:
            type: number 
            description: X value of offset in meter (Unity standard)
          offset_y:  
            type: number 
            description: X value of offset in meter (Unity standard)
          offset_z:  
            type: number 
            description: X value of offset in meter (Unity standard)
          flip_x: 
            type: boolean
            description: Should flip 3D model on X axis? 
          flip_y: 
            type: boolean
            description: Should flip 3D model on Y axis?           
          flip_z: 
            type: boolean
            description: Should flip 3D model on Z axis? 
          limit_uv_coordinates_for_seam: 
            type: boolean
            description: Limits the v-value for UV coordinates to 0.99 or lower for all objects whose name starts with the word "Seam". This is a customer-specific fix for Olymp.
          environment_asset:
            type: object
            properties:
              token:
                type: string
              uri:
                type: string
                description: URI with AWS URI or file uri
          addon_assets:
            type: array
            items:
              type: object
              properties:
                token: 
                  type: string
                uri:
                  type: string
                  description: URI with AWS URI or file uri
          ambient_occlusion:
            $ref: '#/components/schemas/AmbientOcclusionObject'
          hotspots:
            type: array
            items:
              $ref: '#/components/schemas/HotspotObject'
          ground_shadow: 
            type: boolean
            default: false
            description: "Should ground shadows get created?"
          generate_shadow:
            type: string
            default: off
            enum:
              - off
              - floor_shadow_only
              - full_shadow
            description: "Options for shadow generation. Only included in Frontend."
          uv_generation:
            type: string
            description: Options for UV generation. Only included in Frontend.
            default: off
            enum:
              - off
              - missing_only
              - force
          pipeline_optimization:
            type: boolean
            default: false
            description: Enables pipeline optimization.
    securitySchemes:
      basicAuth:
        type: http
        scheme: basic
security: 
  - basicAuth: []
servers:
  - description: Production SmartVu API
    url: https://aura.vuframe.com/api/v1