Asset Tags

Tags are a powerful way to manage and search for floors, rooms, and zones. The GraphQL API allows you to assign, manage, and query tags, efficiently categorizing spaces and retrieving relevant data.

Use Cases for Tags

  • Organizing Spaces: Categorize rooms, floors, and zones (e.g., meeting room, bathroom, kitchen) for better management.

  • Simplifying Search: Quickly locate assets by filtering tags like conference room or workstation.

  • Aggregating Data: Group assets with shared tags (e.g., windows, dual-monitor) for detailed analysis.

Creating a Tag

To create a new tag, use the createTag mutation. Tags are associated by their unique ID, allowing you to update tag names without affecting associations.

mutation CreateTag($input: CreateTagInput!) {
  createTag(input: $input) {
    name
    id
  }
}

input CreateTagInput {
  name: String!
}

Associating a Tag

After creating a tag, associate it with Zones, Rooms, or Floors using their IDs. Use the associateTag mutation to define these relationships.

mutation AssociateTag($input: AssociateTagInput!) {
  associateTag(input: $input) {
    tag {
      name
      id
    }
    zones {
      name
    }
    rooms {
      name
    }
    floors {
      name
    }
  }
}


input AssociateTagInput {
  # The list of ids to associate the tag with (any combination of floors/rooms/zones)
  ids: [String!]
  # The tag id
  tag_id: String!
}

The ids field is an array of Rooms, Zones and Floors that you want to tag, for example:

"ids": [
  "space_lvgwckxar9ddupm40768mkfq",
  "room_2mALGwh4NLWDyaY7ORteOICBNYK"
]

You can also disassociate a tag:

mutation DisassociateTag($input: DisassociateTagInput!) {
  disassociateTag(input: $input) {
    tag {
      name
      id
    }
    zones {
      name
    }
    rooms {
      name
    }
    floors {
      name
    }
  }
}


input DisassociateTagInput {
  # The list of ids to disassociate the tag with (any combination of floors/rooms/zones)
  ids: [String!]
  # The tag id
  tag_id: String!
}

Querying by Tag

Once tags are assigned, you can query for objects associated with specific tags, such as Floor, Rooms, or Zones.

query ItemsFromTags($tagIds: [String!]!) {
  tags(ids: $tagIds) {
      id
      name
      floors {
        # full floor object – can pull any field normally on a floor
        id
        name
      }
      rooms {
        # full room object
        id
        name
      }
      zones {
        # full zone object
        id
        name
      }
    }
}

Or you can get information about associated Tags from a Floor, Room, or Zone object:

query ItemsFromTags($tagIds: [String!]!) {
  floors {
    data {
      id
      name
      tags {
        id
        name
      }
    }
  }
}

Accessing Tag Details

Tags are accessible as objects containing a name and an id. From a tag object, you can retrieve the associated Zones, Rooms, and Floors.

Query for Tags

Retrieve all tags in your organization:

query Tags() {
  tags {
    id
    name
  }
}

Last updated