---
title: entities.tag
description: Read tag records with the tag repository, and change them with the tag mutations. Same records as the REST Tags entity.
canonical: https://developers.coevera.com/reference/graphql/tag/
section: graphql
verification: schema
generatedFrom: schema f155746 (2026-10-20)
publisher: Coevera
---

# entities.tag

Read tag records with the tag repository, and change them with the tag mutations. Same records as the REST Tags entity.

REST: [Tags](https://developers.coevera.com/reference/rest/tags.md).

## Queries

- `getById(entityId: ID!): TagEntity` Returns the record with the given id, or null when there is none. Deleted records are returned as well.
- `getByIds(entityIds: [ID!]!): [TagEntity!]!` Returns the records with the given ids; ids without a record are left out. Deleted records are returned as well.
- `getAll(limit: Int, offset: Int, filter: TagFilterInput, orderBy: [TagOrderByInput!], includeDeleted: Boolean): [TagEntity!]!` Returns the records that match the filter, paged with limit and offset.
- `getByCriteria(filter: TagFilterInput, orderBy: [TagOrderByInput!], includeDeleted: Boolean, before: String, after: String, first: Int, last: Int): TagEntityConnection` Returns the records that match the filter as a cursor-paginated connection.
- `getChangedFieldsSinceRevision(id: UUID!, revision: Int!): [UUID!]!` Returns the ids of the fields of a record that changed after the given revision. Returns an empty list for entities without change tracking.
- `getByEntityType(entityType: BaseEntityTypeEnum!, includeDeleted: Boolean): [TagEntity!]!` Returns the tags available for the given record type.
- `getByCustomCriteria(listingOptions: TagTabDataGridViewOptionsParams!, filter: TagFilterInput, orderBy: [TagOrderByInput!], before: String, after: String, first: Int, last: Int): TagEntityConnection` Returns a page of tags that can be used on any of the given record types, in addition to the regular filter. Tags not limited to specific types are always included.

## Mutations

- `createTag(input: CreateTagInput!, validationLevel: [ValidationLevel!]): CreateTagPayload` Create one record.
- `updateTag(input: UpdateTagInput!, validationLevel: [ValidationLevel!], sessionIdToUpdate: String): UpdateTagPayload` Update fields.
- `bulkUpdateTag(input: [CreateOrUpdateTagInput!]!, deleteInput: [DeleteTagInput!], validationLevel: [ValidationLevel!], rollbackMethod: RollbackMethod, match: MatchingInput): BulkUpdateTagPayload` Create or update many; per-item results.
- `deleteTag(input: DeleteTagInput!): DeleteTagPayload` Soft-delete.

## Types

### TagEntity (object)

Label that users attach to records such as accounts, contacts or opportunities to categorize them.

- `isDeleteProtected: Boolean!` True when the record is protected against deletion because it must always exist in the space. Deleting a record that is not protected can still fail on other checks. Read-only.
- `id: ID!` Unique identifier of entity.
- `isDeleted: Boolean` Specifies if the entity is considered deleted.
- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `creator: ClientEntity` User who created the tag.
- `allowedEntityTypeIds: [UUID]` For tags scoped to specific record types (e.g. specific Account types), the list of type ids the tag can be assigned to. Empty/null means no per-type restriction.
- `color: Int!` Display color of the tag, encoded as a 24-bit RGB integer: (red << 16) | (green << 8) | blue.
- `creatorId: ID` Id of the creating user.
- `entityApiName: String` For tags scoped to custom entities, the api name of the custom entity the tag belongs to. Required for custom-entity tags and must be empty for all other tags.
- `isEnabled: Boolean` When false, the tag is hidden in pickers and cannot be assigned to new records.
- `name: String!` Name of the entity and its default text representation.
- `supportedEntities: Int` Bit flags of the entities the tag can be attached to, added together: Contact 1, Account 2, Opportunity 4, Lead 8, Project 16, Email 32, Process 64, Appointment 128, Task 256, Quote 512, CustomEntity 1024, Solution 2048.
- `useLang: Boolean` When true, the tag name is treated as a translation key and localized in the UI; otherwise the literal name is shown.
- `revision: Int` Revision when entity was lastly changed.
- `instancePermissions: [EntityPermsEnum!]! (1 args)` Permissions the current user has on this record, out of the requested ones.

### TagEntityConnection (object)

Paginated list of Tag records.

- `pageInfo: PageInfo!` Pagination data for this connection.
- `edges: [TagEntityEdge]!` Contains the nodes in this connection.
- `totalCount: Int` Total number of items in the connection.

### TagEntityEdge (object)

A Relay edge containing a `TagEntity` and its cursor.

- `node: TagEntity` The item at the end of the edge
- `cursor: String!` A cursor for use in pagination

### TagFilterInput (input)

Filter conditions for Tag records. Conditions on different fields are combined with AND; use OR, AND and NOT for other combinations.

- `OR: [TagFilterInput!]` Matches records that meet at least one of the listed filters.
- `AND: [TagFilterInput!]` Matches records that meet all of the listed filters.
- `NOT: TagFilterInput` Matches records that do not meet this filter.
- `globalSearchQuery: String` Search term matched against the fields that the global search covers for this entity.
- `id: EntityFilterStringField` Unique identifier of entity.
- `isDeleted: Boolean` Specifies if the entity is considered deleted.
- `modified: EntityFilterDateTimeField` Last modification time.
- `created: EntityFilterDateTimeField` Creation time.
- `color: EntityFilterNumberField` Display color of the tag, encoded as a 24-bit RGB integer: (red << 16) | (green << 8) | blue.
- `creatorId: EntityFilterStringField` Id of the creating user.
- `entityApiName: EntityFilterStringField` For tags scoped to custom entities, the api name of the custom entity the tag belongs to. Required for custom-entity tags and must be empty for all other tags.
- `isEnabled: Boolean` When false, the tag is hidden in pickers and cannot be assigned to new records.
- `name: EntityFilterStringField` Name of the entity and its default text representation.
- `supportedEntities: TagSupportedEntitiesEnumFilterInput` Bit flags of the entities the tag can be attached to, added together: Contact 1, Account 2, Opportunity 4, Lead 8, Project 16, Email 32, Process 64, Appointment 128, Task 256, Quote 512, CustomEntity 1024, Solution 2048.
- `useLang: Boolean` When true, the tag name is treated as a translation key and localized in the UI; otherwise the literal name is shown.
- `revision: EntityFilterNumberField` Revision when entity was lastly changed.
- `creator: ClientFilterInput` User who created the tag. Matches records where a related record meets these conditions.

### TagOrderByInput (input)

Sorting of Tag records. Set exactly one field in each item; list several items to sort by more fields, in order of priority.

- `id: OrderByEnum` Unique identifier of entity.
- `isDeleted: OrderByEnum` Specifies if the entity is considered deleted.
- `modified: OrderByEnum` Last modification time.
- `created: OrderByEnum` Creation time.
- `creator: [ClientOrderByNestedInput!]` User who created the tag. Sorts by fields of the related record, listed in order of priority.
- `color: OrderByEnum` Display color of the tag, encoded as a 24-bit RGB integer: (red << 16) | (green << 8) | blue.
- `creatorId: OrderByEnum` Id of the creating user.
- `entityApiName: OrderByEnum` For tags scoped to custom entities, the api name of the custom entity the tag belongs to. Required for custom-entity tags and must be empty for all other tags.
- `isEnabled: OrderByEnum` When false, the tag is hidden in pickers and cannot be assigned to new records.
- `name: OrderByEnum` Name of the entity and its default text representation.
- `supportedEntities: OrderByEnum` Bit flags of the entities the tag can be attached to, added together: Contact 1, Account 2, Opportunity 4, Lead 8, Project 16, Email 32, Process 64, Appointment 128, Task 256, Quote 512, CustomEntity 1024, Solution 2048.
- `useLang: OrderByEnum` When true, the tag name is treated as a translation key and localized in the UI; otherwise the literal name is shown.
- `revision: OrderByEnum` Revision when entity was lastly changed.

### TagSupportedEntitiesEnumFilterInput (input)

Conditions on an enumeration field. Several conditions given together must all match.

- `eq: [TagSupportedEntitiesEnum!]` Matches any of the listed values.
- `NOT: TagSupportedEntitiesEnumFilterInput` Matches values that do not meet this condition.

### CreateOrUpdateTagInput (input)

Field values of a Tag record to create, or to update when its id is set.

- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).
- `id: ID` Unique identifier of entity.
- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `allowedEntityTypeIds: JSONString` For tags scoped to specific record types (e.g. specific Account types), the list of type ids the tag can be assigned to. Empty/null means no per-type restriction.
- `color: Int` Display color of the tag, encoded as a 24-bit RGB integer: (red << 16) | (green << 8) | blue.
- `creatorId: ID` Id of the creating user.
- `entityApiName: String` For tags scoped to custom entities, the api name of the custom entity the tag belongs to. Required for custom-entity tags and must be empty for all other tags.
- `isEnabled: Boolean` When false, the tag is hidden in pickers and cannot be assigned to new records.
- `name: String` Name of the entity and its default text representation.
- `supportedEntities: Int` Bit flags of the entities the tag can be attached to, added together: Contact 1, Account 2, Opportunity 4, Lead 8, Project 16, Email 32, Process 64, Appointment 128, Task 256, Quote 512, CustomEntity 1024, Solution 2048.
- `useLang: Boolean` When true, the tag name is treated as a translation key and localized in the UI; otherwise the literal name is shown.
- `revision: Int` Revision when entity was lastly changed.

### CreateTagInput (input)

Field values of a new Tag record.

- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).
- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `allowedEntityTypeIds: JSONString` For tags scoped to specific record types (e.g. specific Account types), the list of type ids the tag can be assigned to. Empty/null means no per-type restriction.
- `color: Int!` Display color of the tag, encoded as a 24-bit RGB integer: (red << 16) | (green << 8) | blue.
- `creatorId: ID` Id of the creating user.
- `entityApiName: String` For tags scoped to custom entities, the api name of the custom entity the tag belongs to. Required for custom-entity tags and must be empty for all other tags.
- `isEnabled: Boolean` When false, the tag is hidden in pickers and cannot be assigned to new records.
- `name: String!` Name of the entity and its default text representation.
- `supportedEntities: Int` Bit flags of the entities the tag can be attached to, added together: Contact 1, Account 2, Opportunity 4, Lead 8, Project 16, Email 32, Process 64, Appointment 128, Task 256, Quote 512, CustomEntity 1024, Solution 2048.
- `useLang: Boolean` When true, the tag name is treated as a translation key and localized in the UI; otherwise the literal name is shown.
- `revision: Int` Revision when entity was lastly changed.

### DeleteTagInput (input)

Id of the Tag record to delete.

- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).
- `id: ID!` Unique identifier of entity.

### TagTabDataGridViewOptionsParams (input)

Filter for listing the tags that can be assigned to records of the given types (for example specific account types).

- `allowedEntityTypeIds: [UUID!]` List of allowed entity type ids for which the user wants to filter tags for

### UpdateTagInput (input)

Id of a Tag record and the field values to change.

- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).
- `id: ID!` Unique identifier of entity.
- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `allowedEntityTypeIds: JSONString` For tags scoped to specific record types (e.g. specific Account types), the list of type ids the tag can be assigned to. Empty/null means no per-type restriction.
- `color: Int` Display color of the tag, encoded as a 24-bit RGB integer: (red << 16) | (green << 8) | blue.
- `creatorId: ID` Id of the creating user.
- `entityApiName: String` For tags scoped to custom entities, the api name of the custom entity the tag belongs to. Required for custom-entity tags and must be empty for all other tags.
- `isEnabled: Boolean` When false, the tag is hidden in pickers and cannot be assigned to new records.
- `name: String` Name of the entity and its default text representation.
- `useLang: Boolean` When true, the tag name is treated as a translation key and localized in the UI; otherwise the literal name is shown.
- `revision: Int` Revision when entity was lastly changed.

### BulkUpdateTagPayload (object)

Result of the bulkUpdateTag mutation.

- `result: BulkUpdateResults!` Ids of the created, updated and deleted records, and the items that failed.

### CreateTagPayload (object)

Result of the createTag mutation.

- `tag: TagEntity` The created record.
- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).

### DeleteTagPayload (object)

Result of the deleteTag mutation.

- `tag: TagEntity` The deleted record.
- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).

### UpdateTagPayload (object)

Result of the updateTag mutation.

- `tag: TagEntity` The updated record.
- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).

### TagSupportedEntitiesEnum (enum)

Entity a tag can be attached to; used to filter tags by the entities they support.

- `Contact` Person the sales team works with, usually linked to one or more accounts, leads and opportunities.
- `Account` Company or organization the sales team works with; contacts, leads, opportunities and activities are linked to it.
- `Opportunity` Potential deal with a value and closing date that moves through the steps of a sales pipeline until it is won or lost.
- `Lead` Potential sale in its early stage that moves through a lead process until it is qualified into an opportunity or lost.
- `Project` Project delivered for an account or run internally, with its objectives, activities and progress.
- `Email` Email message sent or received by users of the space, linked to the contacts, accounts and other records it concerns.
- `Process` Automation processes.
- `Appointment` Meeting or call scheduled in the calendar, with its invited users and contacts, linked to the records it concerns.
- `Task` Task (e.g. a to-do or a call) owned by a user, with an optional due date, and linked to records.
- `Quote` Price offer for a customer, usually prepared from an opportunity, with product line items; it moves through a quote process.
- `CustomEntity` Record of a custom entity, a kind of record the space defines (such as Vehicle or Contract) in addition to the built-in entities.
- `Solution` Canvas that groups related automation tools (Automatizer processes, email sequences, online forms) and tracks their status and activity.

Types several repositories share, such as `PageInfo` and the filter fields, are in the [types index](https://developers.coevera.com/reference/graphql/types.md). The [SDL](https://developers.coevera.com/graphql/schema.graphql) has the whole schema in one file.

## Example

```graphql
query FirstTags {
  entities {
    tag {
      getByCriteria(first: 3, orderBy: [{ modified: Desc }]) {
        totalCount
        edges { node { id name modified } }
      }
    }
  }
}
```

```bash
curl 'https://{region}.api.coevera.com/api/v100/app/space/{space_id}/graphql/public' \
  --user "$COEVERA_API_KEY:$COEVERA_API_SECRET" \
  --header 'Content-Type: application/json' \
  --data '{"query":"query FirstTags { entities { tag { getByCriteria(first: 3, orderBy: [{ modified: Desc }]) { totalCount edges { node { id name modified } } } } } }"}'
```
