Cintoo Tag API

The Tag API from Cintoo — 3 operation(s) for tag.

Operations 3

GET /api/2/accounts/{accountRef}/projects/{projectRef}/tag-lists/{tagListRef}/tags Get tags #
POST /api/2/accounts/{accountRef}/projects/{projectRef}/tag-lists/{tagListRef}/tags/bulk Bulk operation on tags #
POST /api/2/accounts/{accountRef}/projects/{projectRef}/tag-lists/{tagListRef}/tags/bulk-move Move tags between tag lists #

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-tag-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-tag-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  title: Cintoo Open Tag 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: Tag
paths:
  /api/2/accounts/{accountRef}/projects/{projectRef}/tag-lists/{tagListRef}/tags:
    get:
      summary: Get tags
      operationId: getTagsOnList
      description: 'BETAGet tags from a tag list.


        Requires the permission `workzone:tags:read` on the work zone of the tag list.


        The project must have an active subscription.


        If the parameter `afterVersion` is not specified (or 0 or negative value), all tags of the tag list are returned.

        If it is specified, it will return all changes after the given version, including new tags, updated tags,

        but also deleted tags (with `isDeleted` set to true in the response).'
      tags:
      - Tag
      parameters:
      - $ref: '#/components/parameters/accountRef'
      - $ref: '#/components/parameters/projectRef'
      - $ref: '#/components/parameters/tagListRef'
      - $ref: '#/components/parameters/afterVersion'
      responses:
        '200':
          description: List of tags
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Tag'
        4XX:
          $ref: '#/components/responses/UnexpectedError'
      x-codeSamples:
      - lang: cURL
        source: "export TOKEN=...\nexport ACCOUNTUUID=...\nexport PROJECTUUID=...\nexport LISTUUID=...\n\ncurl --url \"https://aec.cintoo.com/api/2/accounts/$ACCOUNTUUID/projects/$PROJECTUUID/tag-lists/$LISTUUID?afterVersion=0\" \\\n  --header \"Authorization: Bearer $TOKEN\"\n"
      - lang: Python
        source: "import requests\n\nhost = \"aec.cintoo.com\"\naccountUUID = \"...\"\nprojectUUID = \"...\"\nlistUUID = \"...\"\ntoken = \"...\"\n\nresponse = requests.get(\n  \"https://%s/api/2/accounts/%s/projects/%s/tag-lists/%s?afterVersion=0\"\n    % (host, accountUUID, projectUUID, listUUID),\n  headers = { \"Authorization\": \"Bearer %s\" % token}\n)\nprint(response.status_code)\nprint(response.json())\n"
      - lang: TypeScript
        source: "\nconst host = \"aec.cintoo.com\";\nconst accountUUID = \"...\";\nconst projectUUID = \"...\";\nconst listUUID = \"...\";\nconst token = \"...\";\n\nconst url = `https://${host}/api/2/accounts/${accountUUID}/projects/${projectUUID}/tag-lists/${listUUID}?afterVersion=0`;\nconst res = await fetch(url, {\n  headers: {\n    \"Authorization\": `Bearer ${token}`,\n  },\n});\n\nconsole.log(res.status);\nconst data = await res.json();\nconsole.log(data);\n"
  /api/2/accounts/{accountRef}/projects/{projectRef}/tag-lists/{tagListRef}/tags/bulk:
    post:
      summary: Bulk operation on tags
      operationId: bulkTags
      description: 'BETABulk operation on tags inside a tag list.


        Requires the permission `workzone:tags:write` on the work zone of the tag list.

        The tag list must not be pending, and must not exceed the maximum number of tags for a tag list (50000).


        The bulk operation perform all requests together, if any fails nothing is done (no partial execution).'
      tags:
      - Tag
      parameters:
      - $ref: '#/components/parameters/accountRef'
      - $ref: '#/components/parameters/projectRef'
      - $ref: '#/components/parameters/tagListRef'
      requestBody:
        description: 'Operations to perform: tags to create, tags to update, and tags to delete.

          '
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/tagsBulkRequest'
      responses:
        '200':
          description: 'All the operations are successful.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tagsBulkResponse'
        4XX:
          $ref: '#/components/responses/UnexpectedError'
      x-codeSamples:
      - lang: cURL
        source: "export TOKEN=...\nexport ACCOUNTUUID=...\nexport PROJECTUUID=...\nexport TARGETTAGLISTUUID=...\nexport SOURCETAGLISTUUID=...\n\ncurl --request PUT --url \"https://aec.cintoo.com/api/2/accounts/$ACCOUNTUUID/projects/$PROJECTUUID/tag-lists/$TARGETTAGLISTUUID\" \\\n  --header \"Authorization: Bearer $TOKEN\" \\\n  --header \"Content-Type: application/json\" \\\n  --data \"[{\\\"sourceTagListId\\\":\\\"$SOURCETAGLISTUUID\\\",\\\"tagsIds\\\":[...]}\"\n"
      - lang: Python
        source: "import requests\n\nhost = \"aec.cintoo.com\"\naccountUUID = \"...\"\nprojectUUID = \"...\"\ntargetListUUID = \"...\"\ntoken = \"...\"\n\nresponse = requests.post(\n  \"https://%s/api/2/accounts/%s/projects/%s/tag-lists/%s\"\n    % (host, accountUUID, projectUUID, targetListUUID),\n  headers = { \"Authorization\": \"Bearer %s\" % token },\n  json = [{\n    \"sourceTagListId\": \"...\",\n    \"tagsIds\": [...]\n  }]\n)\nprint(response.status_code)\nprint(response.json())\n"
      - lang: TypeScript
        source: "\nconst host = \"aec.cintoo.com\";\nconst accountUUID = \"...\";\nconst projectUUID = \"...\";\nconst targetTagListUUID = \"...\";\nconst token = \"...\";\nconst sourceTagListUUID = \"...\";\n\nconst url = `https://${host}/api/2/accounts/${accountUUID}/projects/${projectUUID}/tag-lists/${targetTagListUUID}`;\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    [{\"sourceTagListId\":sourceTagListUUID,\"tagsIds\":[...]}]\n  ),\n});\n\nconsole.log(res.status);\nconst data = await res.json();\nconsole.log(data);\n"
  /api/2/accounts/{accountRef}/projects/{projectRef}/tag-lists/{tagListRef}/tags/bulk-move:
    post:
      summary: Move tags between tag lists
      operationId: bulkMoveTags
      description: 'BETAMove tags from different tag lists to a common target tag list.


        - Requires the permission `workzone:tags:write` on the work zones of all tag lists

        - The project must have a valid subscription

        - All tag lists must not be pending

        - The target tag list must not exceed the maximum number of tags for a tag list (50000)'
      tags:
      - Tag
      parameters:
      - $ref: '#/components/parameters/accountRef'
      - $ref: '#/components/parameters/projectRef'
      - $ref: '#/components/parameters/tagListRef'
      requestBody:
        description: 'For each source tag list, the tags to move.


          An optional metadata id mapping can be specified for each list, to update the metadata ids inside the tags to move.

          '
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/tagsMoveBulkRequest'
      responses:
        '200':
          description: 'The tags are successfully moved.


            The response returns for each tag list (including all source lists and the target list),

            the new state of the tag list together with the state of the updated tags.


            The target tag list contains all moved tags as new tags, while each source tag list contains the tags moved

            from it as deleted in the list.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tagsMoveBulkResponse'
        4XX:
          $ref: '#/components/responses/UnexpectedError'
      x-codeSamples:
      - lang: cURL
        source: "export TOKEN=...\nexport ACCOUNTUUID=...\nexport PROJECTUUID=...\nexport TARGETTAGLISTUUID=...\nexport SOURCETAGLISTUUID=...\n\ncurl --request PUT --url \"https://aec.cintoo.com/api/2/accounts/$ACCOUNTUUID/projects/$PROJECTUUID/tag-lists/$TARGETTAGLISTUUID\" \\\n  --header \"Authorization: Bearer $TOKEN\" \\\n  --header \"Content-Type: application/json\" \\\n  --data \"[{\\\"sourceTagListId\\\":\\\"$SOURCETAGLISTUUID\\\",\\\"tagsIds\\\":[...]}\"\n"
      - lang: Python
        source: "import requests\n\nhost = \"aec.cintoo.com\"\naccountUUID = \"...\"\nprojectUUID = \"...\"\ntargetListUUID = \"...\"\ntoken = \"...\"\n\nresponse = requests.post(\n  \"https://%s/api/2/accounts/%s/projects/%s/tag-lists/%s\"\n    % (host, accountUUID, projectUUID, targetListUUID),\n  headers = { \"Authorization\": \"Bearer %s\" % token },\n  json = [{\n    \"sourceTagListId\": \"...\",\n    \"tagsIds\": [...]\n  }]\n)\nprint(response.status_code)\nprint(response.json())\n"
      - lang: TypeScript
        source: "\nconst host = \"aec.cintoo.com\";\nconst accountUUID = \"...\";\nconst projectUUID = \"...\";\nconst targetTagListUUID = \"...\";\nconst token = \"...\";\nconst sourceTagListUUID = \"...\";\n\nconst url = `https://${host}/api/2/accounts/${accountUUID}/projects/${projectUUID}/tag-lists/${targetTagListUUID}`;\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    [{\"sourceTagListId\":sourceTagListUUID,\"tagsIds\":[...]}]\n  ),\n});\n\nconsole.log(res.status);\nconst data = await res.json();\nconsole.log(data);\n"
components:
  schemas:
    TagDataCustomFields:
      title: Tag Data Custom Fields
      type: array
      minItems: 0
      maxItems: 10
      items:
        type: object
        properties:
          name:
            type: string
            maxLength: 50
          value:
            type: string
            maxLength: 1000
        required:
        - name
        - value
        additionalProperties: false
    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
    tagsMoveBulkRequest:
      type: array
      items:
        type: object
        required:
        - sourceTagListId
        - tagsIds
        properties:
          sourceTagListId:
            $ref: '#/components/schemas/TagListRef'
          tagsIds:
            type: array
            items:
              $ref: '#/components/schemas/TagRef'
          metadataIdMapping:
            type:
            - array
            - 'null'
            items:
              type: object
              required:
              - sourceId
              - targetId
              properties:
                sourceId:
                  type: string
                  minLength: 1
                  maxLength: 255
                  description: metadata id in the source tag list
                targetId:
                  type: string
                  minLength: 1
                  maxLength: 255
                  description: metadata id in the target tag list
    tagsMoveBulkResponse:
      type: array
      items:
        type: object
        required:
        - tagList
        - updatedTags
        properties:
          tagList:
            $ref: '#/components/schemas/TagList'
          updatedTags:
            type: array
            items:
              $ref: '#/components/schemas/Tag'
    TagSharedOrientedBoundingBox:
      title: Tag Oriented Bounding Box List With Shared Orientation
      type: array
      minItems: 16
      maxItems: 505
      items:
        type: number
    Vector3:
      type: array
      minItems: 3
      maxItems: 3
      items:
        type: number
    ProjectId:
      allOf:
      - $ref: '#/components/schemas/Uuid'
      example: 8196e320-8a4d-4d29-b0a9-077cd7ed3368
    TagBoundingBox:
      title: Bounding Box
      description: '[xMin, yMin, zMin, xMax, yMax, zMax]:

        * (xMin, yMin, zMin) min position

        * (xMax, yMax, zMax) max position

        '
      type: array
      minItems: 6
      maxItems: 6
      items:
        type: number
        format: float
    Uuid:
      type: string
      description: UUIDv4
      format: uuid
      example: 156fff1a-0ef7-4335-891a-627928a19e29
    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'
    TagId:
      allOf:
      - $ref: '#/components/schemas/Uuid'
      example: 8196e320-8a4d-4d29-b0a9-077cd7ed3368
    TagListUrn:
      type: string
      description: '"urn:cintoo:tag-list:" followed by an UUIDv4

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

        '
    TagList:
      type: object
      x-tags:
      - Tag List
      required:
      - id
      - type
      - workzoneId
      - tagListType
      - name
      - description
      - color
      - metadataDefinition
      - attachments
      - pending
      - createdBy
      - createdAt
      - updatedBy
      - updatedAt
      - tagsVersion
      properties:
        id:
          $ref: '#/components/schemas/TagListUrn'
        type:
          type: string
          enum:
          - tag-list
        workzoneId:
          $ref: '#/components/schemas/WorkzoneUrn'
        tagListType:
          type: string
        name:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
          maxLength: 1000
        color:
          type: string
          maxLength: 20
        metadataDefinition:
          type: array
          minItems: 0
          maxItems: 50
          items:
            $ref: '#/components/schemas/TagListMetadataDefinition'
          description: 'Defines for each metadata id a displayable name.

            Note that tags inside the list may have metadata not defined in the list, but only those defined on the

            list will be displayed on the webapp.

            '
        attachments:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/TagListAttachment'
        pending:
          type: boolean
        createdBy:
          $ref: '#/components/schemas/UserUrn'
        createdAt:
          $ref: '#/components/schemas/DateTime'
        updatedBy:
          $ref: '#/components/schemas/UserUrn'
        updatedAt:
          $ref: '#/components/schemas/DateTime'
        tagsVersion:
          type: integer
    TagDataModelOrientedList:
      title: Tag Data Model Using Oriented Bounding Box List
      type: object
      required:
      - type
      properties:
        type:
          type: string
          enum:
          - OrientedList
        list:
          type: array
          maxItems: 500
          items:
            $ref: '#/components/schemas/TagBoundingBox'
        groupedOBBList:
          type: array
          maxItems: 500
          items:
            $ref: '#/components/schemas/TagSharedOrientedBoundingBox'
        orientedBoundingBoxList:
          type: array
          maxItems: 500
          items:
            $ref: '#/components/schemas/TagOrientedBoundingBox'
    TagDataModelAxisAlignedList:
      title: Tag Data Model Using Bounding Box List
      type: object
      required:
      - type
      - list
      properties:
        type:
          type: string
          enum:
          - AxisAlignedList
        list:
          type: array
          items:
            $ref: '#/components/schemas/TagBoundingBox'
          minItems: 2
          maxItems: 1000
      additionalProperties: false
    TagListMetadataDefinition:
      type: object
      required:
      - id
      - name
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 255
        name:
          type: string
          minLength: 1
          maxLength: 100
          pattern: ^[^\s](.*[^\s])?$
          description: 'must not start or end with a space, forbidden keywords are:

            - "id"

            - "description"

            - "cameraState"

            - "model"

            - "x"

            - "y"

            - "z"

            - "size"

            - "xMin"

            - "xMax"

            - "yMin"

            - "yMax"

            - "zMin"

            - "zMax"

            - "scanUuids"

            - "subId"

            - "nature"

            - "confidence"

            - "needValidation"

            '
          not:
            enum:
            - id
            - description
            - cameraState
            - model
            - x
            - y
            - z
            - size
            - xMin
            - xMax
            - yMin
            - yMax
            - zMin
            - zMax
            - scanUuids
            - subId
            - nature
            - confidence
            - needValidation
    TagOrientedBoundingBox:
      title: Oriented Bounding Box
      description: '[xPos, yPos, zPos, xQuat, yQuat, zQuat, wQuat, xScale, yScale, zScale]:

        * (xPos, yPos, zPos) position of the center of the box, in meters

        * (xQuat, yQuat, zQuat, wQuat) rotation (as a quaternion) of the box, using the center of the box as a pivot

        * (xScale, yScale, zScale) scale of the box, in meters

        '
      type: array
      minItems: 10
      maxItems: 10
      items:
        type: number
        format: float
    AccountUrn:
      type: string
      description: '"urn:cintoo:account:" followed by an UUIDv4

        '
    Tag:
      type: object
      x-tags:
      - Tag
      required:
      - id
      - type
      - tagListId
      - tagListType
      - createdBy
      - createdAt
      - updatedBy
      - updatedAt
      - isDeleted
      - deletedBy
      - deletedAt
      - tagsVersion
      - data
      properties:
        id:
          $ref: '#/components/schemas/TagUrn'
        type:
          type: string
          enum:
          - tag
        tagListId:
          $ref: '#/components/schemas/TagListUrn'
        tagListType:
          type: string
        createdBy:
          $ref: '#/components/schemas/UserUrn'
        createdAt:
          $ref: '#/components/schemas/DateTime'
        updatedBy:
          $ref: '#/components/schemas/UserUrn'
        updatedAt:
          $ref: '#/components/schemas/DateTime'
        isDeleted:
          type: boolean
        deletedBy:
          allOf:
          - $ref: '#/components/schemas/UserUrn'
          type:
          - string
          - 'null'
        deletedAt:
          allOf:
          - $ref: '#/components/schemas/DateTime'
          type:
          - string
          - 'null'
        tagsVersion:
          type: integer
        data:
          $ref: '#/components/schemas/TagData'
    TagDataNature:
      title: Tag Data Nature
      type: string
      enum:
      - AI
      - file
      - manual
      - model
    TagRef:
      oneOf:
      - $ref: '#/components/schemas/TagUrn'
      - $ref: '#/components/schemas/TagId'
    TagListId:
      allOf:
      - $ref: '#/components/schemas/Uuid'
      example: 8196e320-8a4d-4d29-b0a9-077cd7ed3368
    tagsBulkResponse:
      type: object
      required:
      - tagsVersion
      - created
      - updated
      - deleted
      properties:
        tagsVersion:
          type: integer
        created:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
        updated:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
        deleted:
          type: array
          items:
            $ref: '#/components/schemas/TagUrn'
    Vector4:
      type: array
      minItems: 4
      maxItems: 4
      items:
        type: number
    TagListRef:
      oneOf:
      - $ref: '#/components/schemas/TagListUrn'
      - $ref: '#/components/schemas/TagListId'
    TagDataCameraState:
      title: Camera State
      type: object
      properties:
        position:
          $ref: '#/components/schemas/Vector3'
        target:
          $ref: '#/components/schemas/Vector3'
        rotation:
          $ref: '#/components/schemas/Vector3'
        overviewAngle:
          type: string
          maxLength: 10
        viewDirection:
          type: string
          maxLength: 10
        rotationQuaternion:
          $ref: '#/components/schemas/Vector4'
        fov:
          type: number
        overviewScale:
          type: number
        ortho:
          type: boolean
        camType:
          type: string
          maxLength: 10
      additionalProperties: false
    AccountId:
      allOf:
      - $ref: '#/components/schemas/Uuid'
      example: 8196e320-8a4d-4d29-b0a9-077cd7ed3368
    TagUrn:
      type: string
      description: '"urn:cintoo:tag:" followed by an UUIDv4

        '
    TagDataMetadata:
      title: Tag Data Metadata
      type: array
      minItems: 0
      maxItems: 50
      items:
        type: object
        properties:
          id:
            type: string
            minLength: 1
            maxLength: 255
            description: 'Id of the metadata.

              It is not mandatory that the id exist on the tag list, however only those defined on the tag list

              will be displayed on the webapp.

              '
          value:
            type: string
            maxLength: 1000
        required:
        - id
        - value
        additionalProperties: false
    tagsBulkRequest:
      type: object
      properties:
        create:
          type:
          - array
          - 'null'
          items:
            type: object
            required:
            - data
            properties:
              data:
                $ref: '#/components/schemas/TagData'
        update:
          type:
          - array
          - 'null'
          items:
            type: object
            required:
            - id
            - data
            properties:
              id:
                $ref: '#/components/schemas/TagRef'
              data:
                $ref: '#/components/schemas/TagData'
        delete:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/TagRef'
    TagDataModel2DKonva:
      title: Tag 2d Data Model Using Konva Shapes
      type: object
      required:
      - type
      - data
      properties:
        type:
          type: string
          enum:
          - konva
        data:
          type: string
    UserUrn:
      type: string
      description: '"urn:cintoo:user:" followed by an UUIDv4

        '
    TagListAttachment:
      type: object
      description: 'Attachment as returned by the API. All fields are always present (nullable ones are returned as

        `null` when unset). The request shape used when creating/updating a tag list is

        `TagListAttachmentInput.yaml`.

        '
      required:
      - id
      - name
      - blob
      - pages
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 255
        name:
          type: string
          minLength: 1
          maxLength: 255
        blob:
          type:
          - string
          - 'null'
        pages:
          type: array
          items:
            type: object
            required:
            - id
            - index
            properties:
              id:
                type: string
                minLength: 1
                maxLength: 255
              index:
                type: integer
              scale:
                type: number
              width:
                type: number
              height:
                type: number
              name:
                type: string
                minLength: 1
                maxLength: 255
              hidden:
                type: boolean
    TagDataModelBinarizedAxisAlignedList:
      title: Tag Data Model Using Binary Bounding Box List
      type: object
      required:
      - type
      - binary
      properties:
        type:
          type: string
          enum:
          - BinarizedAxisAlignedList
        binary:
          type: string
          maxLength: 32000
      additionalProperties: false
    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

        '
    TagData:
      title: Tag Data
      description: For more information about how the geometry of a tag is represented, see the dedicated section [Understand Tag Data](#tag/understand_tag_data)
      type: object
      required:
      - id
      properties:
        id:
          description: Tag external ID, reference of the tag. Displayed in TagList
          type: string
          minLength: 1
          maxLength: 255
        subId:
          type: string
          minLength: 1
          maxLength: 50
        uuid:
          $ref: '#/components/schemas/Uuid'
        name:
          type: string
          minLength: 1
          maxLength: 50
        pageId:
          type: string
          minLength: 1
          maxLength: 255
        pageLinkId:
          type: string
          minLength: 1
          maxLength: 255
        tagLinkIds:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 255
        boundingBox:
          $ref: '#/components/schemas/TagBoundingBox'
        orientedBoundingBox:
          $ref: '#/components/schemas/TagOrientedBoundingBox'
        model:
          anyOf:
          - $ref: '#/components/schemas/TagDataModelAxisAlignedList'
          - $ref: '#/components/schemas/TagDataModelBinarizedAxisAlignedList'
          - $ref: '#/components/schemas/TagDataModelOrientedList'
          - $ref: '#/components/schemas/TagDataModel2DKonva'
        class:
          type: string
          maxLength: 50
          example: pump
        cameraState:
          $ref: '#/components/schemas/TagDataCameraState'
        unit:
          type: number
        functionalSystem:
          type: string
          maxLength: 50
        description:
          type: string
          maxLength: 1000
        url:
          type: string
          maxLength: 1000
          format: uri
        confidence:
          type: number
          format: float
        scanUuids:
          type: array
          items:
            $ref: '#/components/schemas/Uuid'
        needValidation:
          type: boolean
        nature:
          $ref: '#/components/schemas/TagDataNature'
        customFields:
          $ref: '#/components/schemas/TagDataCustomFields'
        metadata:
          $ref: '#/components/schemas/TagDataMetadata'
      additionalProperties: false
  parameters:
    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'
    tagListRef:
      name: tagListRef
      in: path
      required: true
      description: The Id or Urn of the tag list
      schema:
        oneOf:
        - $ref: '#/components/schemas/TagListUrn'
        - $ref: '#/components/schemas/TagListId'
    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'
    afterVersion:
      name: afterVersion
      in: query
      required: false
      description: 'If specified, return changes after the given version. A negative value or 0 is ignored.

        '
      schema:
        type: integer
        default: 0
  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