openapi: 3.1.0
info:
  title: Converters
  summary: Tasks to import and export files into and from Evo
  description: Compute tasks for importing data from various file formats into Evo,
    and exporting data from Evo to various file formats.
  version: 0.1.19
paths:
  /compute/orgs/{org_id}/converter/obj-import:
    post:
      tags:
      - Tasks
      summary: Import OBJ (Wavefront) files as Triangle Mesh objects
      description: Import OBJ (Wavefront) files into Evo as Triangle Mesh geoscience
        objects. Supports triangles, quads (auto-triangulated), and multiple objects
        within a single file.
      operationId: obj-import
      parameters:
      - $ref: '#/components/parameters/orgIdParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OBJImportParameters'
      responses:
        '303':
          description: 303 response, see <a href='/docs/api/task/get-job-results'>Compute
            API Execute Task documentation</a> for more details
          headers:
            Location:
              description: The URL of the status endpoint for the newly created job
              schema:
                type: string
                format: uri
        '200':
          description: The task result returned by the <a href='/docs/api/task/get-job-results'>Compute
            API Result endpoint</a> when the task is done
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBJImportResults'
      x-api-preview: true
components:
  parameters:
    orgIdParam:
      description: The organisation identifier
      required: true
      schema:
        type: string
        pattern: '''^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$'''
        format: uuid
      name: org_id
      in: path
  schemas:
    OBJImportParameters:
      additionalProperties: false
      description: Parameters for the OBJ import compute task.
      properties:
        file:
          description: OBJ file to import.
          format: uri
          reference_to: file
          title: Input File
          type: string
          examples:
          - /geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/{object_id}
        coordinate_reference_system:
          default: null
          description: The coordinate reference system for the mesh coordinates, specified
            as either an EPSG code string (e.g., 'EPSG:4326') or a WKT2 coordinate
            reference system definition string. If not provided, the CRS will be marked
            as unspecified.
          title: Coordinate Reference System
          type:
          - string
          - 'null'
        target:
          additionalProperties: false
          description: Target specifying where to create or update the Triangle Mesh
            object. Contains 'reference' (File API URL) and optional 'overwrite' (boolean,
            only valid for path references).
          properties:
            reference:
              description: 'Reference to the targeted object.

                Supported schemas: `triangle-mesh/[>=2.2,<3]`'
              format: uri
              reference_to: geoscience-object
              supported_schemas:
              - triangle-mesh/[>=2.2,<3]
              title: Reference
              type: string
            overwrite:
              default: false
              description: Whether to overwrite the existing object.
              title: Overwrite
              type: boolean
            description:
              default: null
              description: Description to put into the target object.
              title: Description
              type:
              - string
              - 'null'
            tags:
              additionalProperties:
                type: string
              description: Tags to put into the target object.
              title: Tags
              type: object
          required:
          - reference
          target: geoscience-object
          title: Target
          type: object
          examples:
          - key: value
          - another_key: 123
      required:
      - file
      - target
      title: OBJImportParameters
      type: object
    OBJImportResults:
      additionalProperties: false
      description: Results for the OBJ import compute task.
      properties:
        object:
          additionalProperties: false
          output: geoscience-object
          properties:
            reference:
              description: 'Reference to a geoscience object.

                Supported schemas: `triangle-mesh/[>=2.2,<3]`'
              format: uri
              reference_to: geoscience-object
              supported_schemas:
              - triangle-mesh/[>=2.2,<3]
              title: Reference
              type: string
            name:
              description: The name of the geoscience object.
              title: Name
              type: string
            description:
              description: The description of the geoscience object.
              title: Description
              type:
              - string
              - 'null'
            schema_id:
              description: The ID of the Geoscience Object schema.
              title: Schema ID
              type: string
          required:
          - reference
          - name
          - description
          - schema_id
          type: object
          description: The Triangle Mesh object created from the input file.
          title: Output Triangle Mesh
          examples:
          - key: value
          - another_key: 123
      required:
      - object
      title: OBJImportResults
      type: object
tags:
- name: Tasks
  description: Collection of on-demand tasks
