Cintoo Export Scene API

The Export Scene API from Cintoo — 1 operation(s) for export scene.

Operations 1

POST /api/2/accounts/{accountRef}/projects/{projectRef}/jobs/export-to-mesh Trigger Export to mesh job #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cintoo-export-scene-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cintoo-export-scene-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  title: Cintoo Open Export Scene API
  description: 'Cintoo Open API 1.x documentation: https://aec.cintoo.com/api


    BETA: API v2 endpoints tagged "BETA" are available in beta-version, meaning that changes may be done later on.'
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  contact:
    name: API Support
    email: support@cintoo.com
  x-logo:
    url: ./assets/logo_api.svg
    altText: Cintoo API
servers:
- url: https://aec.cintoo.com
security:
- oauth2: []
tags:
- name: Export Scene
paths:
  /api/2/accounts/{accountRef}/projects/{projectRef}/jobs/export-to-mesh:
    post:
      summary: Trigger Export to mesh job
      operationId: postExportToMesh
      description: 'BETALaunch an Export to mesh job.


        Requires the permissions:

        * `workzone:reality-data:read`

        * `workzone:export-jobs-reality-data:write`'
      tags:
      - Export Scene
      parameters:
      - $ref: '#/components/parameters/accountRef'
      - $ref: '#/components/parameters/projectRef'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/exportToMeshCreate'
      responses:
        '201':
          description: The job was successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportToMeshJobCreated'
        '503':
          description: The technical stack to launch the job failed
          $ref: '#/components/responses/UnexpectedError'
          examples:
            Technical Error:
              value:
                status: 503
                title: Service Unavailable
                detail: Service unavailable
        4XX:
          $ref: '#/components/responses/UnexpectedError'
      x-codeSamples:
      - lang: cURL
        source: "export TOKEN=...\nexport ACCOUNTUUID=...\nexport PROJECTUUID=...\n\ncurl --request POST --url \"https://aec.cintoo.com/api/2/accounts/$ACCOUNTUUID/projects/$PROJECTUUID/jobs/export-to-mesh\" \\\n  --header \"Authorization: Bearer $TOKEN\" \\\n  --header \"Content-Type: application/json\" \\\n  --data '{\n    \"items\": [{\"cropRegions\": [[[1.111, 1.112, 1.113, 1.114], [1.121, 1.122, 1.123, 1.124]], [[1.21, 1.22, 1.23, 1.24]]]}, {\"cropRegions\": [[[2.1, 2.2, 2.3, 2.4]]]}],\n    \"scans\": [\"64e0d1a7-8f1b-4a4d-8e37-f5ad1a83bb5d\"],\n    \"name\": \"destinationName\",\n    \"outputFormat\": \"obj\",\n    \"resolution\": 0.01,\n    \"workzoneId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n}'\n"
      - lang: Python
        source: "import requests\n\nhost = \"aec.cintoo.com\"\naccountUUID = \"...\"\nprojectUUID = \"...\"\ntoken = \"...\"\n\nresponse = requests.post(\n  \"https://%s/api/2/accounts/%s/projects/%s/jobs/export-to-mesh\"\n    % (host, accountUUID, projectUUID),\n  headers = { \"Authorization\": \"Bearer %s\" % token },\n  json = {\n    \"items\": [{\"cropRegions\": [[[1.111, 1.112, 1.113, 1.114], [1.121, 1.122, 1.123, 1.124]], [[1.21, 1.22, 1.23, 1.24]]]}, {\"cropRegions\": [[[2.1, 2.2, 2.3, 2.4]]]}],\n    \"scans\": [\"64e0d1a7-8f1b-4a4d-8e37-f5ad1a83bb5d\"],\n    \"name\": \"destinationName\",\n    \"outputFormat\": \"obj\",\n    \"resolution\": 0.01,\n    \"workzoneId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n}\n)\nprint(response.status_code)\nprint(response.json())\n"
      - lang: TypeScript
        source: "const host = \"aec.cintoo.com\";\nconst accountUUID = \"...\";\nconst projectUUID = \"...\";\nconst token = \"...\";\n\nconst url = `https://${host}/api/2/accounts/${accountUUID}/projects/${projectUUID}/jobs/export-to-mesh`;\nconst res = await fetch(url, {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": `Bearer ${token}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify(\n    {\n        \"items\": [{\"cropRegions\": [[[1.111, 1.112, 1.113, 1.114], [1.121, 1.122, 1.123, 1.124]], [[1.21, 1.22, 1.23, 1.24]]]}, {\"cropRegions\": [[[2.1, 2.2, 2.3, 2.4]]]}],\n        \"scans\": [\"64e0d1a7-8f1b-4a4d-8e37-f5ad1a83bb5d\"],\n        \"name\": \"destinationName\",\n        \"outputFormat\": \"obj\",\n        \"resolution\": 0.01,\n        \"workzoneId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n    }\n  ),\n});\n\nconsole.log(res.status);\nconst data = await res.json();\nconsole.log(data);\n"
components:
  schemas:
    WorkzoneUrn:
      type: string
      pattern: ^urn:cintoo:workzone:[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
      description: '"urn:cintoo:workzone:" followed by an UUIDv4

        '
    CropItem:
      type: object
      description: A given resource to be exported (typically a Tag, a Crop...)
      required:
      - cropRegions
      properties:
        cropRegions:
          type: array
          items:
            description: Definition of a Bounding Box
            type: array
            items:
              description: Definition of a Crop Plan
              type: array
              items:
                type: number
                format: double
                minItems: 4
                maxItems: 4
    AccountUrn:
      type: string
      description: '"urn:cintoo:account:" followed by an UUIDv4

        '
    Archive:
      allOf:
      - $ref: '#/components/schemas/FileBase'
      - $ref: '#/components/schemas/FileBlob'
      - type: object
        required:
        - type
        properties:
          type:
            $ref: '#/components/schemas/FileCategoryArchive'
    FilePlaced:
      type: object
      required:
      - translation
      properties:
        translation:
          type: object
          allOf:
          - $ref: '#/components/schemas/Vector3D'
          description: 'A vector representing the position of the image in the Workzone,

            with three components in meter: `x`, `y` and `z`

            '
        rotation:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/Quaternion'
          description: 'A quaternion representing the rotation of the image,

            with the pivot point being its current position defined by translation.

            It has four components: `x`, `y`, `z` and `w`

            '
    FileCategoryMiscFile:
      type: string
      enum:
      - miscfile
      description: Any other type of files
    FileBase:
      type: object
      required:
      - id
      - api1Id
      - projectId
      - workzoneId
      - name
      - formatId
      - size
      - createdAt
      - createdBy
      properties:
        id:
          $ref: '#/components/schemas/FileUrn'
        api1Id:
          $ref: '#/components/schemas/FileId'
        projectId:
          $ref: '#/components/schemas/ProjectUrn'
        workzoneId:
          $ref: '#/components/schemas/WorkzoneUrn'
        name:
          type: string
          example: fileName
        formatId:
          $ref: '#/components/schemas/FormatUrn'
        size:
          type: integer
          format: int64
          minimum: 0
          description: File size in Bytes
        createdAt:
          $ref: '#/components/schemas/DateTime'
        createdBy:
          $ref: '#/components/schemas/UserUrn'
        updatedAt:
          type:
          - string
          - 'null'
          allOf:
          - $ref: '#/components/schemas/DateTime'
        updatedBy:
          type:
          - string
          - 'null'
          allOf:
          - $ref: '#/components/schemas/UserUrn'
    FileBlob:
      type: object
      required:
      - blob
      - blobName
      - url
      properties:
        blob:
          type: string
          deprecated: true
          description: use `blobName` instead. `blob` will be removed the 1st of november 2025
          allOf:
          - $ref: '#/components/schemas/BlobName'
        blobName:
          $ref: '#/components/schemas/BlobName'
        url:
          $ref: '#/components/schemas/Url'
    MiscFile:
      allOf:
      - $ref: '#/components/schemas/FileBase'
      - $ref: '#/components/schemas/FileBlob'
      - type: object
        required:
        - type
        properties:
          type:
            $ref: '#/components/schemas/FileCategoryMiscFile'
    FileImported:
      type: object
      properties:
        importedAt:
          type:
          - string
          - 'null'
          allOf:
          - $ref: '#/components/schemas/DateTime'
    Dimension2d:
      type: object
      required:
      - w
      - h
      properties:
        w:
          type: integer
        h:
          type: integer
    DateTime:
      type: string
      format: date-time
      description: 'The date-time notation as defined by RFC 3339, section 5.6 (ex: 2017-08-18T12:41:31Z)'
      example: '2017-08-18T12:41:31Z'
    Video3d:
      allOf:
      - $ref: '#/components/schemas/FileBase'
      - $ref: '#/components/schemas/FileBlob'
      - type: object
        required:
        - type
        properties:
          type:
            $ref: '#/components/schemas/FileCategoryVideo3d'
    File:
      type: object
      x-tags:
      - File
      oneOf:
      - $ref: '#/components/schemas/Archive'
      - $ref: '#/components/schemas/Document'
      - $ref: '#/components/schemas/Gaussian'
      - $ref: '#/components/schemas/GeoImage'
      - $ref: '#/components/schemas/Media'
      - $ref: '#/components/schemas/MiscFile'
      - $ref: '#/components/schemas/Model'
      - $ref: '#/components/schemas/ModelReport'
      - $ref: '#/components/schemas/Scan'
      - $ref: '#/components/schemas/SiteMap'
      - $ref: '#/components/schemas/Video3d'
      discriminator:
        propertyName: type
        mapping:
          archive: '#/components/schemas/Archive'
          document: '#/components/schemas/Document'
          gaussian: '#/components/schemas/Gaussian'
          geoImage: '#/components/schemas/GeoImage'
          media: '#/components/schemas/Media'
          miscfile: '#/components/schemas/MiscFile'
          model: '#/components/schemas/Model'
          modelReport: '#/components/schemas/ModelReport'
          scan: '#/components/schemas/Scan'
          sitemap: '#/components/schemas/SiteMap'
          video3d: '#/components/schemas/Video3d'
    FileUrn:
      type: string
      description: '"urn:cintoo:file:" followed by an UUIDv4

        '
    SiteMap:
      allOf:
      - $ref: '#/components/schemas/FileBase'
      - $ref: '#/components/schemas/FileBlob'
      - type: object
        required:
        - type
        properties:
          type:
            $ref: '#/components/schemas/FileCategorySiteMap'
    Document:
      allOf:
      - $ref: '#/components/schemas/FileBase'
      - $ref: '#/components/schemas/FileBlob'
      - type: object
        required:
        - type
        properties:
          type:
            $ref: '#/components/schemas/FileCategoryDocument'
    FileCategoryDocument:
      type: string
      enum:
      - document
      description: 'Document files: `.doc[x]`, `.xls[x]`, `.ppt[x]`, `.txt`, `.rtf`, `.odt`, `.pdt`, `.pub`, `.csv`'
    FileTransformable:
      type: object
      properties:
        translation:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/Vector3D'
          description: 'A vector representing the position in the Workzone,

            with three components in meter: `x`, `y` and `z`

            '
        rotation:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/Quaternion'
          description: 'A quaternion representing the rotation,

            with the pivot point being its current position defined by translation.

            It has four components: `x`, `y`, `z` and `w`

            '
        scale:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/Vector3D'
          description: 'A vector representing a scale deformation along the three axis

            with three ratio components : `x`, `y` and `z`

            '
    ProjectUrn:
      type: string
      description: '"urn:cintoo:project:" followed by an UUIDv4

        '
    UserUrn:
      type: string
      description: '"urn:cintoo:user:" followed by an UUIDv4

        '
    AccountId:
      allOf:
      - $ref: '#/components/schemas/Uuid'
      example: 8196e320-8a4d-4d29-b0a9-077cd7ed3368
    WorkzoneId:
      allOf:
      - $ref: '#/components/schemas/Uuid'
      example: 8196e320-8a4d-4d29-b0a9-077cd7ed3368
    BlobName:
      type: string
      description: "A `BlobName`: the actual filename of the file in the blob storage.\n\nTo retrieve a blob, two methods are available:\n- using the unitary endpoint [Download a blob](#tag/Project/operation/getBlob), which will automatically forward\n  to the final URL, which is a pre-signed URL, expiring after 3 hours by default.\n- using the bulk endpoint [Get pre-signed urls for multiple blobs](#tag/Project/operation/getBlobs), which will\n  return the list of pre-signed URLs.\n\nWhile the first option is the easiest, as it forwards automatically to the final URL transparently,\nthe second option should be preferred as much as possible to improve performances.\n"
    WorkflowJobUrn:
      type: string
      description: '"urn:cintoo:workflowjob:" followed by an UUIDv4

        '
    FileName:
      type: string
      description: FileName. Excluded chars are <>:;,?"*|\/
      minLength: 1
      maxLength: 255
      pattern: ^[^<>:;,?"*|\\/]*$
    Gaussian:
      allOf:
      - $ref: '#/components/schemas/FileBase'
      - $ref: '#/components/schemas/FileBlob'
      - $ref: '#/components/schemas/FileImported'
      - $ref: '#/components/schemas/FilePlaced'
      - $ref: '#/components/schemas/FileScaled'
      - type: object
        required:
        - type
        properties:
          type:
            $ref: '#/components/schemas/FileCategoryGaussian'
          src:
            $ref: '#/components/schemas/FileSrcGaussian'
    Media:
      allOf:
      - $ref: '#/components/schemas/FileBase'
      - $ref: '#/components/schemas/FileBlob'
      - type: object
        required:
        - type
        properties:
          type:
            $ref: '#/components/schemas/FileCategoryMedia'
    FileCategoryModel:
      type: string
      enum:
      - model
      description: 'Model files: `.3ds`, `.dae`, `.dxf`, `.ifc`, `.dwg`, `.rvt`, etc.'
    FileCategoryGaussian:
      type: string
      enum:
      - gaussian
      description: 'Gaussian Splatting files: `.ply`, `.spz`'
    Scan:
      allOf:
      - $ref: '#/components/schemas/FileBase'
      - $ref: '#/components/schemas/FileBlob'
      - $ref: '#/components/schemas/FileImported'
      - $ref: '#/components/schemas/FileTransformable'
      - type: object
        required:
        - type
        - translation
        - rotation
        - resolution
        - urlPreview
        - panoramaWidth
        - panoramaHeight
        properties:
          translation: {}
          rotation: {}
          type:
            $ref: '#/components/schemas/FileCategoryScan'
          resolution:
            type: object
            allOf:
            - $ref: '#/components/schemas/Dimension2d'
            description: 'The scan''s resolution: has a `w` and a `h`, respectively for *width* and *height*. This is not the same as `PanoramaWidth` and `PanoramaHeight`

              '
          scanInfo:
            type: string
          blobPreview:
            type: string
            allOf:
            - $ref: '#/components/schemas/BlobName'
          urlPreview:
            type: string
            allOf:
            - $ref: '#/components/schemas/Url'
          panoramaWidth:
            type: number
            format: int
            description: The image's *width*, in pixels
          panoramaHeight:
            type: number
            format: int
            description: The image's *height*, in pixels
          azimuthLeft:
            type: number
            format: float
            description: 'The max left angle of a scan coverage on the azimuth, in radians.

              For instance, a scan with 360 degrees coverage will have -π if the `azimuthLeft` is π

              '
          azimuthRight:
            type: number
            format: float
            description: 'The max right angle of a scan coverage on the azimuth, in radians.

              For instance, a scan with 360 degrees coverage will have π if the `azimuthRight` is -π

              '
          elevationTop:
            type: number
            format: float
            description: 'The max top angle of a scan coverage on the elevation, in radians. For example, a scan with 180 degrees coverage will have π/2 if the `elevationBottom` is -π/2

              '
          elevationBottom:
            type: number
            format: float
            description: 'The max bottom angle of a scan coverage on the elevation, in radians. For example, a scan with 180 degrees coverage will have -π/2 if the `elevationTop` is π/2

              '
          appliedScaleFactor:
            type: number
            format: int
            description: 'Scale value applied while the scans are imported through Cintoo Connect. Mainly used for conversion unit between imperial system and metric system.

              '
          src:
            type: object
            description: Contains metadata usable by the Cintoo Viewer
    ModelReport:
      allOf:
      - $ref: '#/components/schemas/FileBase'
      - $ref: '#/components/schemas/FileBlobOptional'
      - type: object
        required:
        - type
        properties:
          type:
            $ref: '#/components/schemas/FileCategoryModelReport'
          src:
            $ref: '#/components/schemas/FileSrcModelReports'
    Vector3D:
      type: object
      required:
      - x
      - y
      - z
      properties:
        x:
          type: number
          format: double
        y:
          type: number
          format: double
        z:
          type: number
          format: double
    FileSrcGaussian:
      type: object
      required:
      - version
      - name
      - pipelineSha
      - numberOfSplats
      - training
      properties:
        version:
          type: string
          description: Version of the splatting format
          example: '1'
        name:
          type: string
          description: Name of the splatting
          example: splatting
        pipelineSha:
          type: string
          description: SHA hash of the pipeline used to generate the splatting
          example: 524ebd1c8d8a2ecdbc8b47d18cab116ac8b28ae7
        numberOfSplats:
          type: integer
          description: Total number of gaussian splats in the file
          example: 2497204
        training:
          type: object
          required:
          - backend
          - evalMetrics
          properties:
            backend:
              type: string
              description: Training backend used
              example: brush
            evalMetrics:
              type: object
              required:
              - psnr
              - ssim
              properties:
                psnr:
                  type: number
                  format: double
                  description: Peak Signal-to-Noise Ratio metric
                  example: 24.12155
                ssim:
                  type: number
                  format: double
                  description: Structural Similarity Index metric
                  example: 0.8322978
    Model:
      allOf:
      - $ref: '#/components/schemas/FileBase'
      - $ref: '#/components/schemas/FileBlob'
      - $ref: '#/components/schemas/FileImported'
      - $ref: '#/components/schemas/FileTransformable'
      - type: object
        required:
        - type
        - translation
        - contentId
        properties:
          type:
            $ref: '#/components/schemas/FileCategoryModel'
          translation: {}
          src:
            description: Metadata attached to the model. Could be present or not.
            anyOf:
            - type: object
              properties:
                mfi:
                  type: object
                  description: The MFI location and its format
                  required:
                  - blobName
                  - format
                  properties:
                    blobName:
                      $ref: '#/components/schemas/BlobName'
                    format:
                      enum:
                      - json-br-1
                      description: the format of the Model MFI
    FileCategoryGeoImage:
      type: string
      enum:
      - geoImage
      description: 'Geo Image files: `.idd`, `.360`'
    FileScaled:
      type: object
      properties:
        scale:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/Vector3D'
          description: 'A vector giving the scaling that we need to apply to make the object fit with other elements of the scene.

            It has ratios for the three directions: `x`, `y` and `z`

            '
    FileCategoryArchive:
      type: string
      enum:
      - archive
      description: 'Archive files: `zip`'
    FormatUrn:
      type: string
      description: '"urn:cintoo:format:" followed by a number

        '
    FileCategoryScan:
      type: string
      enum:
      - scan
      description: 'Scan files: `.fls`, `.e57`, etc.'
    FileId:
      allOf:
      - $ref: '#/components/schemas/Uuid'
      example: 8196e320-8a4d-4d29-b0a9-077cd7ed3368
    exportToMeshCreate:
      allOf:
      - $ref: '#/components/schemas/exportSceneCreate'
      - type: object
        required:
        - outputFormat
        - resolution
        - workzoneId
        properties:
          outputFormat:
            description: The output format of the mesh export
            type: string
            enum:
            - obj
            - fbx
            - stl
            - usd
          resolution:
            description: The resolution of the mesh export, in meters
            type: number
            format: double
            minimum: 0.02
            maximum: 0.2
          workzoneId:
            description: The workzone to export from
            $ref: '#/components/schemas/WorkzoneId'
    Url:
      type: string
      format: uri
      description: Link that will redirect to 302 signed link to download the corresponding file.
    exportSceneCreate:
      type: object
      required:
      - scans
      - name
      properties:
        items:
          description: List of Bounding Boxes in which you want to limit the export job
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/CropItem'
        scans:
          description: List of scans you want to export
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/FileId'
        name:
          allOf:
          - $ref: '#/components/schemas/FileName'
          description: The filename in which the result of the job will be saved into. Excluded chars are <>:;,?"*|\/
    ExportToMeshJobCreated:
      type: object
      required:
      - jobId
      - file
      x-tags:
      - Export Scene
      properties:
        jobId:
          $ref: '#/components/schemas/WorkflowJobUrn'
        file:
          description: The file that will contain the export result
          $ref: '#/components/schemas/File'
    FileCategorySiteMap:
      type: string
      enum:
      - sitemap
      description: 'Site Map files: `.map`'
    FileSrcModelReports:
      type: object
      required:
      - model
      - elements
      - scans
      - tolerance
      properties:
        model:
          $ref: '#/components/schemas/FileUrn'
        elements:
          type: array
          items:
            type: string
        scans:
          type: array
          items:
            $ref: '#/components/schemas/FileUrn'
        tolerance:
          type: number
    Error:
      type: object
      required:
      - status
      - title
      properties:
        status:
          type: integer
          format: int32
        title:
          type: string
        detail:
          type: string
          description: human readable description of the error in english
        errorCode:
          type: string
          description: detailed code describing error, can be used to map to a localized message
        errorValues:
          type: object
          description: values implied in the error, typically an input parameter, can be used to include in a localized message
    Quaternion:
      type: object
      required:
      - x
      - y
      - z
      - w
      properties:
        x:
          type: number
          format: float
        y:
          type: number
          format: float
        z:
          type: number
          format: float
        w:
          type: number
          format: float
    FileCategoryModelReport:
      type: string
      enum:
      - modelReport
      description: 'Model report files: `.cipm`'
    Uuid:
      type: string
      description: UUIDv4
      format: uuid
      example: 156fff1a-0ef7-4335-891a-627928a19e29
    FileCategoryMedia:
      type: string
      enum:
      - media
      description: 'Media files: `.png`, `.jp[e]g`, `.gif`, `.bmp`, `.tiff`'
    ProjectId:
      allOf:
      - $ref: '#/components/schemas/Uuid'
      example: 8196e320-8a4d-4d29-b0a9-077cd7ed3368
    GeoImage:
      allOf:
      - $ref: '#/components/schemas/FileBase'
      - $ref: '#/components/schemas/FileBlob'
      - $ref: '#/components/schemas/FileImported'
      - $ref: '#/components/schemas/FilePlaced'
      - type: object
        required:
        - type
        - resolution
        - urlPreview
        - panoramaWidth
        - panoramaHeight
        properties:
          type:
            $ref: '#/components/schemas/FileCategoryGeoImage'
          resolution:
            type: object
            allOf:
            - $ref: '#/components/schemas/Dimension2d'
            description: 'The image''s resolution: has a `w` and a `h`, respectively for *width* and *height*. This is not the same as `PanoramaWidth` and `PanoramaHeight`

              '
          scanInfo:
            type: string
          blobPreview:
            type: string
            allOf:
            - $ref: '#/components/schemas/BlobName'
          urlPreview:
            type: string
            allOf:
            - $ref: '#/components/schemas/Url'
          panoramaWidth:
            type: number
            format: int
            description: The image's *width*, in pixels
          panoramaHeight:
            type: number
            format: int
            description: The image's *height*, in pixels
          src:
            type: object
            description: Contains metadata usable by the Cintoo Viewer
            properties:
              idd:
                type: object
                properties:
                  scan_id:
                    type: string
                  scan_guid:
                    type: string
                    description: Optional external scan identifier, carried over from the import CSV.
                  idd_type:
                    type: string
                    example: Corrosion
              fileStatus:
                type: string
                enum:
                - pending
                - success
                - failure
                description: Cloud import job status of this IDD image (absent for legacy Connect imports, treated as success).
    FileBlobOptional:
      type: object
      properties:
        blob:
          type:
          - string
          - 'null'
          deprecated: true
          description: use `blobName` instead. `blob` will be removed the 1st of november 2025
          allOf:
          - $ref: '#/components/schemas/BlobName'
        blobName:
          type:
          - string
          - 'null'
          allOf:
          - $ref: '#/components/schemas/BlobName'
        url:
          type:
          - string
          - 'null'
          allOf:
          - $ref: '#/components/schemas/Url'
    FileCategoryVideo3d:
      type: string
      enum:
      - video3d
      description: 'Video3d files: `.mp4`'
  parameters:
    accountRef:
      name: accountRef
      in: path
      required: true
      description: The Id or Urn of the account
      schema:
        oneOf:
        - $ref: '#/components/schemas/AccountUrn'
        - $ref: '#/components/schemas/AccountId'
    projectRef:
      name: projectRef
      in: path
      required: true
      description: The Id or Urn of the project
      schema:
        oneOf:
        - $ref: '#/components/schemas/ProjectUrn'
        - $ref: '#/components/schemas/ProjectId'
  responses:
    UnexpectedError:
      description: unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            '400':
              value:
                status: 400
                title: Bad Request
            '401':
              value:
                status: 401
                title: Unauthorized
            '403':
              value:
                status: 403
                title: Forbidden
            '404':
              value:
                status: 404
                title: Not Found
            '405':
              value:
                status: 405
                title: Method Not Allowed
            '406':
              value:
                status: 406
                title: Not Acceptable
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://aec.cintoo.com/oauth/authorize
          tokenUrl: https://aec.cintoo.com/oauth/token
          scopes: {}
          refreshUrl: https://aec.cintoo.com/oauth/token
x-tagGroups:
- name: General
  tags:
  - errors_list
  - internal_information
  - token_management
  - Permissions
  - Authentication
- name: Resources
  tags:
  - Resources
- name: Tenant
  tags:
  - Tenant
- name: Account
  tags:
  - Account
  - Subscription
  - Role
  - User
  - Group
  - Trusted Device
- name: Subscription
  tags:
  - Usage Report
- name: Project
  tags:
  - Project
  - Members
  - Workzone
- name: Project Data
  tags:
  - File
  - Annotation
  - Saved View
  - Share Link
  - Crop
  - Measurement
  - Tag List
  - Tag
- name: Jobs
  tags:
  - Progress Monitoring
  - Import Model
  - Export Scene
  - Segmentation
  - Video360
  - Import IDD
- name: Integrations
  tags:
  - Integrations
  - Konekt
  - Autodesk
  - Procore
- name: Tutorials
  tags:
  - tuto_upload_file
  - understand_tag_data