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

# entities.entityFitnessIndicator

Read entity fitness indicator records with the entityFitnessIndicator repository, and change them with the entity fitness indicator mutations. Same records as the REST EntityFitnessIndicators entity.

REST: [EntityFitnessIndicators](https://developers.coevera.com/reference/rest/entity-fitness-indicators.md).

## Queries

- `getById(entityId: ID!): EntityFitnessIndicatorEntity` Returns the record with the given id, or null when there is none. Deleted records are returned as well.
- `getByIds(entityIds: [ID!]!): [EntityFitnessIndicatorEntity!]!` 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: EntityFitnessIndicatorFilterInput, orderBy: [EntityFitnessIndicatorOrderByInput!], includeDeleted: Boolean): [EntityFitnessIndicatorEntity!]!` Returns the records that match the filter, paged with limit and offset.
- `getByCriteria(filter: EntityFitnessIndicatorFilterInput, orderBy: [EntityFitnessIndicatorOrderByInput!], includeDeleted: Boolean, before: String, after: String, first: Int, last: Int): EntityFitnessIndicatorEntityConnection` 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.

## Mutations

- `createEntityFitnessIndicator(input: CreateEntityFitnessIndicatorInput!, validationLevel: [ValidationLevel!]): CreateEntityFitnessIndicatorPayload` Create one record.
- `updateEntityFitnessIndicator(input: UpdateEntityFitnessIndicatorInput!, validationLevel: [ValidationLevel!], sessionIdToUpdate: String): UpdateEntityFitnessIndicatorPayload` Update fields.
- `bulkUpdateEntityFitnessIndicator(input: [CreateOrUpdateEntityFitnessIndicatorInput!]!, deleteInput: [DeleteEntityFitnessIndicatorInput!], validationLevel: [ValidationLevel!], rollbackMethod: RollbackMethod, match: MatchingInput): BulkUpdateEntityFitnessIndicatorPayload` Create or update many; per-item results.
- `deleteEntityFitnessIndicator(input: DeleteEntityFitnessIndicatorInput!): DeleteEntityFitnessIndicatorPayload` Soft-delete.

## Types

### EntityFitnessIndicatorEntity (object)

Indicator of a fitness configuration: a rule that flags lead or opportunity records needing attention and suggests how to fix 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.
- `entityFitness: EntityFitnessEntity` Fitness configuration this indicator belongs to.
- `description: String!` Description of what the indicator measures, shown in the UI.
- `descriptionUseLang: Boolean!` When true, description is treated as a translation key and localized in the UI.
- `entityFitnessId: ID!` Id of the fitness configuration.
- `howToFix: String!` Suggested remediation text shown to the user when a record triggers this indicator.
- `howToFixUseLang: Boolean!` When true, howToFix is treated as a translation key and localized in the UI.
- `isEnabled: Boolean!` When false, the indicator is configured but not evaluated for records.
- `name: String!` Display name of the indicator.
- `nameUseLang: Boolean!` When true, name is treated as a translation key and localized in the UI; otherwise the literal text is shown.
- `settings: FitnessIndicatorSettings!` Indicator rules. For system indicators contains three thresholds (Notice, Warning, Error); for custom indicators contains user-defined filter rules. This payload conforms to the `FitnessIndicatorSettings` JSON Schema: GET /api/v100/rest/schemas/FitnessIndicatorSettings.json on your region's API host
- `type: FitnessIndicatorTypeEnum!` Rule the indicator evaluates. Custom indicators use user-defined filter rules and can be deleted; all other values are built-in system indicators with three threshold rules in settings that cannot be deleted.
- `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.

### EntityFitnessIndicatorEntityConnection (object)

Paginated list of EntityFitnessIndicator records.

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

### EntityFitnessIndicatorEntityEdge (object)

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

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

### EntityFitnessIndicatorFilterInput (input)

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

- `OR: [EntityFitnessIndicatorFilterInput!]` Matches records that meet at least one of the listed filters.
- `AND: [EntityFitnessIndicatorFilterInput!]` Matches records that meet all of the listed filters.
- `NOT: EntityFitnessIndicatorFilterInput` 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.
- `description: EntityFilterStringField` Description of what the indicator measures, shown in the UI.
- `descriptionUseLang: Boolean` When true, description is treated as a translation key and localized in the UI.
- `entityFitnessId: EntityFilterStringField` Id of the fitness configuration.
- `howToFix: EntityFilterStringField` Suggested remediation text shown to the user when a record triggers this indicator.
- `howToFixUseLang: Boolean` When true, howToFix is treated as a translation key and localized in the UI.
- `isEnabled: Boolean` When false, the indicator is configured but not evaluated for records.
- `name: EntityFilterStringField` Display name of the indicator.
- `nameUseLang: Boolean` When true, name is treated as a translation key and localized in the UI; otherwise the literal text is shown.
- `type: FitnessIndicatorTypeEnumFilterInput` Rule the indicator evaluates. Custom indicators use user-defined filter rules and can be deleted; all other values are built-in system indicators with three threshold rules in settings that cannot be deleted.
- `revision: EntityFilterNumberField` Revision when entity was lastly changed.
- `entityFitness: EntityFitnessFilterInput` Fitness configuration this indicator belongs to. Matches records where a related record meets these conditions.

### EntityFitnessIndicatorOrderByInput (input)

Sorting of EntityFitnessIndicator 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.
- `entityFitness: [EntityFitnessOrderByNestedInput!]` Fitness configuration this indicator belongs to. Sorts by fields of the related record, listed in order of priority.
- `description: OrderByEnum` Description of what the indicator measures, shown in the UI.
- `descriptionUseLang: OrderByEnum` When true, description is treated as a translation key and localized in the UI.
- `entityFitnessId: OrderByEnum` Id of the fitness configuration.
- `howToFix: OrderByEnum` Suggested remediation text shown to the user when a record triggers this indicator.
- `howToFixUseLang: OrderByEnum` When true, howToFix is treated as a translation key and localized in the UI.
- `isEnabled: OrderByEnum` When false, the indicator is configured but not evaluated for records.
- `name: OrderByEnum` Display name of the indicator.
- `nameUseLang: OrderByEnum` When true, name is treated as a translation key and localized in the UI; otherwise the literal text is shown.
- `type: OrderByEnum` Rule the indicator evaluates. Custom indicators use user-defined filter rules and can be deleted; all other values are built-in system indicators with three threshold rules in settings that cannot be deleted.
- `revision: OrderByEnum` Revision when entity was lastly changed.

### FitnessIndicatorTypeEnumFilterInput (input)

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

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

### CreateEntityFitnessIndicatorInput (input)

Field values of a new EntityFitnessIndicator 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.
- `description: String!` Description of what the indicator measures, shown in the UI.
- `descriptionUseLang: Boolean!` When true, description is treated as a translation key and localized in the UI.
- `entityFitnessId: ID!` Id of the fitness configuration.
- `howToFix: String!` Suggested remediation text shown to the user when a record triggers this indicator.
- `howToFixUseLang: Boolean!` When true, howToFix is treated as a translation key and localized in the UI.
- `isEnabled: Boolean!` When false, the indicator is configured but not evaluated for records.
- `name: String!` Display name of the indicator.
- `nameUseLang: Boolean!` When true, name is treated as a translation key and localized in the UI; otherwise the literal text is shown.
- `settings: FitnessIndicatorSettingsJSONString!` Indicator rules. For system indicators contains three thresholds (Notice, Warning, Error); for custom indicators contains user-defined filter rules. This payload conforms to the `FitnessIndicatorSettings` JSON Schema: GET /api/v100/rest/schemas/FitnessIndicatorSettings.json on your region's API host
- `type: FitnessIndicatorTypeEnum!` Rule the indicator evaluates. Custom indicators use user-defined filter rules and can be deleted; all other values are built-in system indicators with three threshold rules in settings that cannot be deleted.
- `revision: Int` Revision when entity was lastly changed.

### CreateOrUpdateEntityFitnessIndicatorInput (input)

Field values of an EntityFitnessIndicator 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.
- `description: String` Description of what the indicator measures, shown in the UI.
- `descriptionUseLang: Boolean` When true, description is treated as a translation key and localized in the UI.
- `entityFitnessId: ID` Id of the fitness configuration.
- `howToFix: String` Suggested remediation text shown to the user when a record triggers this indicator.
- `howToFixUseLang: Boolean` When true, howToFix is treated as a translation key and localized in the UI.
- `isEnabled: Boolean` When false, the indicator is configured but not evaluated for records.
- `name: String` Display name of the indicator.
- `nameUseLang: Boolean` When true, name is treated as a translation key and localized in the UI; otherwise the literal text is shown.
- `settings: FitnessIndicatorSettingsJSONString` Indicator rules. For system indicators contains three thresholds (Notice, Warning, Error); for custom indicators contains user-defined filter rules. This payload conforms to the `FitnessIndicatorSettings` JSON Schema: GET /api/v100/rest/schemas/FitnessIndicatorSettings.json on your region's API host
- `type: FitnessIndicatorTypeEnum` Rule the indicator evaluates. Custom indicators use user-defined filter rules and can be deleted; all other values are built-in system indicators with three threshold rules in settings that cannot be deleted.
- `revision: Int` Revision when entity was lastly changed.

### DeleteEntityFitnessIndicatorInput (input)

Id of the EntityFitnessIndicator 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.

### EntityFitnessOrderByNestedInput (input)

Sorting by a field of the related EntityFitness record. Set exactly one field in each item.

- `id: OrderByEnum` Unique identifier of entity.
- `isDeleted: OrderByEnum` Specifies if the entity is considered deleted.
- `modified: OrderByEnum` Last modification time.
- `created: OrderByEnum` Creation time.
- `leadTypeId: OrderByEnum` Id of the lead type this fitness configuration applies to. Set when configuring fitness for leads.
- `opptyTypeId: OrderByEnum` Id of the opportunity type.
- `revision: OrderByEnum` Revision when entity was lastly changed.

### UpdateEntityFitnessIndicatorInput (input)

Id of an EntityFitnessIndicator 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.
- `description: String` Description of what the indicator measures, shown in the UI.
- `descriptionUseLang: Boolean` When true, description is treated as a translation key and localized in the UI.
- `entityFitnessId: ID` Id of the fitness configuration.
- `howToFix: String` Suggested remediation text shown to the user when a record triggers this indicator.
- `howToFixUseLang: Boolean` When true, howToFix is treated as a translation key and localized in the UI.
- `isEnabled: Boolean` When false, the indicator is configured but not evaluated for records.
- `name: String` Display name of the indicator.
- `nameUseLang: Boolean` When true, name is treated as a translation key and localized in the UI; otherwise the literal text is shown.
- `settings: FitnessIndicatorSettingsJSONString` Indicator rules. For system indicators contains three thresholds (Notice, Warning, Error); for custom indicators contains user-defined filter rules. This payload conforms to the `FitnessIndicatorSettings` JSON Schema: GET /api/v100/rest/schemas/FitnessIndicatorSettings.json on your region's API host
- `type: FitnessIndicatorTypeEnum` Rule the indicator evaluates. Custom indicators use user-defined filter rules and can be deleted; all other values are built-in system indicators with three threshold rules in settings that cannot be deleted.
- `revision: Int` Revision when entity was lastly changed.

### BulkUpdateEntityFitnessIndicatorPayload (object)

Result of the bulkUpdateEntityFitnessIndicator mutation.

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

### CreateEntityFitnessIndicatorPayload (object)

Result of the createEntityFitnessIndicator mutation.

- `entityFitnessIndicator: EntityFitnessIndicatorEntity` 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).

### DeleteEntityFitnessIndicatorPayload (object)

Result of the deleteEntityFitnessIndicator mutation.

- `entityFitnessIndicator: EntityFitnessIndicatorEntity` 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).

### UpdateEntityFitnessIndicatorPayload (object)

Result of the updateEntityFitnessIndicator mutation.

- `entityFitnessIndicator: EntityFitnessIndicatorEntity` 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).

### FitnessCustomRule (object)

Rule of a custom fitness indicator: filter conditions that raise a warning level when a record matches them.

- `operator: FilterGroupOperator!` How the filter boxes combine — And or Or.
- `formula: String` Optional boolean formula combining the filter boxes by their number.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions.
- `filterSiblingBoxes: [FilterBox!]!` Additional condition groups, combined per operator/formula.
- `isEnabled: Boolean!` When false, this custom rule is configured but not evaluated for records.
- `state: WarningLevelEnum!` Warning level raised when a record matches this rule: Notice, Warning, or Error.

### FitnessIndicatorSettings (object)

Settings of a fitness indicator: the sales steps it applies to and its rules per warning level.

- `stepIds: [ID!]` Sales steps this indicator applies to; when empty, it applies to all steps.
- `customRules: [FitnessCustomRule!]` User-defined filter rules for a custom indicator, one per warning level. Null for system indicators.
- `systemRules: [FitnessSystemRule!]` Threshold rules for a system indicator, one per warning level (Notice, Warning, Error). Null for custom indicators.

### FitnessIndicatorTypeEnum (enum)

Rule a lead or opportunity fitness indicator evaluates to raise a warning.

- `Custom` User-defined filter conditions; each matching condition sets its configured warning level.
- `LowEmailOutreach` Too few emails sent to the record, its accounts or contacts within the configured number of days.
- `LowEmailEngagement` Too few emails received from the record, its accounts or contacts within the configured number of days.
- `TasksOverdue` A related task is overdue by the configured number of days, optionally limited to selected task types.
- `NoFollowUp` The record has no scheduled activity, optionally limited to selected activity types.
- `ClosingDateOverdue` The opportunity's closing date is in the past.
- `SalesStepVelocityOverdue` The opportunity has stayed in its current sales step longer than the step's time frame.
- `SalesCycleOverdue` The opportunity is older than the configured number of days.
- `ManyClosingDateUpdates` The opportunity's closing date has been changed at least the configured number of times.
- `MovedToPreviousStep` The opportunity was moved back to an earlier sales step than one it had already reached.
- `RankingDecrease` The opportunity's ranking decreased within the configured period.
- `ValueDecrease` The opportunity's value decreased within the configured period, by amount or percentage.

### FitnessPeriodEnum (enum)

Period over which a trend-based fitness indicator measures a decrease.

- `CurrentWeek` The current calendar week.
- `LastTwoWeeks` The last two weeks.
- `CurrentMonth` The current calendar month.

### FitnessSystemRule (object)

Threshold of a built-in fitness indicator for one warning level.

- `isEnabled: Boolean!` When false, this threshold is configured but not evaluated for records.
- `state: WarningLevelEnum!` Warning level reached when this threshold is met: Notice, Warning, or Error (Ok means no issue).
- `value: Int` Numeric threshold the indicator compares against, interpreted per indicator type (for example a count or a percentage).
- `days: Int` Time window in days over which the indicator is measured, when the indicator type uses one.
- `entityTypes: [ID!]` Activity or related entity types this threshold applies to, when the indicator type is scoped to specific types.
- `period: FitnessPeriodEnum` Period over which a change is measured for trend-based indicators: current week, last two weeks, or current month.

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 FirstEntityFitnessIndicators {
  entities {
    entityFitnessIndicator {
      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 FirstEntityFitnessIndicators { entities { entityFitnessIndicator { getByCriteria(first: 3, orderBy: [{ modified: Desc }]) { totalCount edges { node { id name modified } } } } } }"}'
```
