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

# entities.forecast

Read forecast records with the forecast repository, and change them with the forecast mutations. Same records as the REST Forecasts entity.

REST: [Forecasts](https://developers.coevera.com/reference/rest/forecasts.md).

## Queries

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

- `createForecast(input: CreateForecastInput!, validationLevel: [ValidationLevel!]): CreateForecastPayload` Create one record.
- `updateForecast(input: UpdateForecastInput!, validationLevel: [ValidationLevel!], sessionIdToUpdate: String): UpdateForecastPayload` Update fields.
- `bulkUpdateForecast(input: [CreateOrUpdateForecastInput!]!, deleteInput: [DeleteForecastInput!], validationLevel: [ValidationLevel!], rollbackMethod: RollbackMethod, match: MatchingInput): BulkUpdateForecastPayload` Create or update many; per-item results.
- `deleteForecast(input: DeleteForecastInput!): DeleteForecastPayload` Soft-delete.

## Types

### ForecastEntity (object)

Sales forecast that sums an amount over the opportunities of a pipeline for a period, broken down by levels such as sales units and users.

- `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.
- `field: FieldEntity` Field whose value is summed when computing forecast amounts (typically a currency field on Opportunity).
- `owner: ClientEntity` User who owns the forecast.
- `pipeline: PipelineEntity` Pipeline whose opportunities the forecast aggregates.
- `description: String` Free-text description shown alongside the forecast.
- `endDate: Date!` Last date covered by the forecast period.
- `fieldId: ID!` Id of the aggregation field.
- `name: String!` Name of the entity and its default text representation.
- `ownerId: ID!` Id of the owning user.
- `pipelineId: ID!` Id of the pipeline whose opportunities the forecast aggregates.
- `settings: BetterForecastSchema!` Forecast configuration as a JSON object conforming to the BetterForecastSchema type: currency, period (year + quarter/month), breakdown levels (type), items and quotas, and column layout. Validated on write.
- `shareMode: ShareModeEnum` Who besides the owner can access the forecast. Updating it to AllEdit shares the forecast with the users and sales units it covers (see sharedClients and sharedUnits) and stores the mode as Standard.
- `shareModeParams: Int` Legacy additional sharing options; kept with the record but no longer applied.
- `startDate: Date!` First date covered by the forecast period.
- `type: JSONString!` Order of forecast levels as a JSON array (e.g. ["Units", "Users"]). Each level adds a grouping dimension to the breakdown.
- `revision: Int` Revision when entity was lastly changed.
- `lastType: ForecastType!` For multi-level forecasts (a "type" path like Pipeline/Step/Owner), the last element of the path identifying the current breakdown axis.
- `sharedClients: [ClientEntity!]!` Users granted shared access to this forecast (custom share mode).
- `sharedUnits: [SalesUnitEntity!]!` Sales units granted shared access to this forecast (custom share mode).
- `instancePermissions: [EntityPermsEnum!]! (1 args)` Permissions the current user has on this record, out of the requested ones.
- `targetGoal: Int! (1 args)` Goal value to reach within the selected period; when the period covers only part of the target or forecast period, only the matching months count.

### ForecastEntityConnection (object)

Paginated list of Forecast records.

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

### ForecastEntityEdge (object)

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

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

### ForecastFilterInput (input)

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

- `OR: [ForecastFilterInput!]` Matches records that meet at least one of the listed filters.
- `AND: [ForecastFilterInput!]` Matches records that meet all of the listed filters.
- `NOT: ForecastFilterInput` 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` Free-text description shown alongside the forecast.
- `fieldId: EntityFilterStringField` Id of the aggregation field.
- `name: EntityFilterStringField` Name of the entity and its default text representation.
- `ownerId: EntityFilterStringField` Id of the owning user.
- `pipelineId: EntityFilterStringField` Id of the pipeline whose opportunities the forecast aggregates.
- `shareMode: ShareModeEnumFilterInput` Who besides the owner can access the forecast. Updating it to AllEdit shares the forecast with the users and sales units it covers (see sharedClients and sharedUnits) and stores the mode as Standard.
- `shareModeParams: ShareModeParamsEnumFilterInput` Legacy additional sharing options; kept with the record but no longer applied.
- `revision: EntityFilterNumberField` Revision when entity was lastly changed.
- `lastType: ForecastType` For multi-level forecasts (a "type" path like Pipeline/Step/Owner), the last element of the path identifying the current breakdown axis.
- `field: FieldFilterInput` Field whose value is summed when computing forecast amounts (typically a currency field on Opportunity). Matches records where a related record meets these conditions.
- `owner: ClientFilterInput` User who owns the forecast. Matches records where a related record meets these conditions.
- `pipeline: PipelineFilterInput` Pipeline whose opportunities the forecast aggregates. Matches records where a related record meets these conditions.

### ForecastOrderByInput (input)

Sorting of Forecast 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.
- `field: [FieldOrderByNestedInput!]` Field whose value is summed when computing forecast amounts (typically a currency field on Opportunity). Sorts by fields of the related record, listed in order of priority.
- `owner: [ClientOrderByNestedInput!]` User who owns the forecast. Sorts by fields of the related record, listed in order of priority.
- `pipeline: [PipelineOrderByNestedInput!]` Pipeline whose opportunities the forecast aggregates. Sorts by fields of the related record, listed in order of priority.
- `description: OrderByEnum` Free-text description shown alongside the forecast.
- `endDate: OrderByEnum` Last date covered by the forecast period.
- `fieldId: OrderByEnum` Id of the aggregation field.
- `name: OrderByEnum` Name of the entity and its default text representation.
- `ownerId: OrderByEnum` Id of the owning user.
- `pipelineId: OrderByEnum` Id of the pipeline whose opportunities the forecast aggregates.
- `shareMode: OrderByEnum` Who besides the owner can access the forecast. Updating it to AllEdit shares the forecast with the users and sales units it covers (see sharedClients and sharedUnits) and stores the mode as Standard.
- `startDate: OrderByEnum` First date covered by the forecast period.
- `revision: OrderByEnum` Revision when entity was lastly changed.
- `lastType: OrderByEnum` For multi-level forecasts (a "type" path like Pipeline/Step/Owner), the last element of the path identifying the current breakdown axis.

### CreateForecastInput (input)

Field values of a new Forecast 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` Free-text description shown alongside the forecast.
- `name: String!` Name of the entity and its default text representation.
- `ownerId: ID!` Id of the owning user.
- `settings: JSONString!` Forecast configuration as a JSON object conforming to the BetterForecastSchema type: currency, period (year + quarter/month), breakdown levels (type), items and quotas, and column layout. Validated on write.
- `shareMode: ShareModeEnum` Who besides the owner can access the forecast. Updating it to AllEdit shares the forecast with the users and sales units it covers (see sharedClients and sharedUnits) and stores the mode as Standard.
- `shareModeParams: Int` Legacy additional sharing options; kept with the record but no longer applied.
- `revision: Int` Revision when entity was lastly changed.
- `sharedClients: [UUID!]!` Users granted shared access to this forecast (custom share mode).
- `sharedUnits: [UUID!]!` Sales units granted shared access to this forecast (custom share mode).

### CreateOrUpdateForecastInput (input)

Field values of a Forecast 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` Free-text description shown alongside the forecast.
- `name: String` Name of the entity and its default text representation.
- `ownerId: ID` Id of the owning user.
- `settings: JSONString` Forecast configuration as a JSON object conforming to the BetterForecastSchema type: currency, period (year + quarter/month), breakdown levels (type), items and quotas, and column layout. Validated on write.
- `shareMode: ShareModeEnum` Who besides the owner can access the forecast. Updating it to AllEdit shares the forecast with the users and sales units it covers (see sharedClients and sharedUnits) and stores the mode as Standard.
- `shareModeParams: Int` Legacy additional sharing options; kept with the record but no longer applied.
- `revision: Int` Revision when entity was lastly changed.
- `sharedClients: [UUID!]` Users granted shared access to this forecast (custom share mode).
- `sharedUnits: [UUID!]` Sales units granted shared access to this forecast (custom share mode).

### DeleteForecastInput (input)

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

### UpdateForecastInput (input)

Id of a Forecast 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` Free-text description shown alongside the forecast.
- `name: String` Name of the entity and its default text representation.
- `ownerId: ID` Id of the owning user.
- `settings: JSONString` Forecast configuration as a JSON object conforming to the BetterForecastSchema type: currency, period (year + quarter/month), breakdown levels (type), items and quotas, and column layout. Validated on write.
- `shareMode: ShareModeEnum` Who besides the owner can access the forecast. Updating it to AllEdit shares the forecast with the users and sales units it covers (see sharedClients and sharedUnits) and stores the mode as Standard.
- `shareModeParams: Int` Legacy additional sharing options; kept with the record but no longer applied.
- `revision: Int` Revision when entity was lastly changed.
- `sharedClients: [UUID!]` Users granted shared access to this forecast (custom share mode).
- `sharedUnits: [UUID!]` Sales units granted shared access to this forecast (custom share mode).

### BulkUpdateForecastPayload (object)

Result of the bulkUpdateForecast mutation.

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

### CreateForecastPayload (object)

Result of the createForecast mutation.

- `forecast: ForecastEntity` 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).

### DeleteForecastPayload (object)

Result of the deleteForecast mutation.

- `forecast: ForecastEntity` 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).

### UpdateForecastPayload (object)

Result of the updateForecast mutation.

- `forecast: ForecastEntity` 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).

### AccountFilterTab (object)

Filter conditions that select which accounts a saved profile or report includes, combining conditions on the account with conditions on related records.

- `isEnabled: Boolean!` Whether the filter is applied. When false, the filter conditions are ignored.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of filter conditions evaluated on related record types.
- `isCustom: Boolean!` True when the conditions are combined with a custom formula rather than a simple And/Or across all conditions.
- `operator: FilterGroupOperator!` How the conditions are combined: And applies all conditions, Or applies any, Custom evaluates the expression in the formula.
- `formula: String` Boolean expression combining the numbered conditions (for example "1 AND (2 OR 3)"). Used when the operator is Custom.

### AccountPivotReportProfile (object)

Settings of a pivot table that summarizes accounts: filter, ownership scope, quick filter and the pivot view.

- `filter: AccountFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewPivotReportTab!` View configuration of the pivot report, including its row and column dimensions, aggregation columns, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: AccountRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### AccountProfileInterface (interface)

Settings shared by the saved profiles and reports on accounts: the filter and the ownership scope of the accounts shown.

- `filter: AccountFilterTab!` Filter conditions that determine which records the profile includes.
- `role: AccountRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### AccountRoleTab (object)

Ownership scope of account reports and views: which accounts are included by their relation to the current user.

- `showMyItems: Boolean!` When true, includes records owned by the current user.
- `showMySharedItems: Boolean!` When true, includes records shared with the current user.
- `showManagingUnitItems: Boolean!` When true, includes records owned by users in the sales units the current user manages.

### AccountTableReportProfile (object)

Settings of a report table that lists accounts: filter, ownership scope, quick filter and the table view.

- `filter: AccountFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewTableReportTab!` View configuration of the table report, including its columns, sorting, grouping, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: AccountRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### ActivityFilterTab (object)

Filter conditions that select which activities (tasks and appointments) a saved profile or report includes, combining conditions on the activity with conditions on related records.

- `isEnabled: Boolean!` Whether the filter is applied. When false, the filter conditions are ignored.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of filter conditions evaluated on related record types.
- `isCustom: Boolean!` True when the conditions are combined with a custom formula rather than a simple And/Or across all conditions.
- `operator: FilterGroupOperator!` How the conditions are combined: And applies all conditions, Or applies any, Custom evaluates the expression in the formula.
- `formula: String` Boolean expression combining the numbered conditions (for example "1 AND (2 OR 3)"). Used when the operator is Custom.

### ActivityPivotReportProfile (object)

Settings of a pivot table that summarizes activities: filter, ownership scope, quick filter and the pivot view.

- `filter: ActivityFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewPivotReportTab!` View configuration of the pivot report, including its row and column dimensions, aggregation columns, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: ActivityRoleTab!` Ownership scope of the records shown, such as own, shared, managing-unit or unassigned items.

### ActivityProfileInterface (interface)

Settings shared by the saved profiles and reports on activities: the filter and the ownership scope of the activities shown.

- `filter: ActivityFilterTab!` Filter conditions that determine which records the profile includes.
- `role: ActivityRoleTab!` Ownership scope of the records shown, such as own, shared, managing-unit or unassigned items.

### ActivityRoleTab (object)

Ownership scope of activity reports and views: which activities are included by their relation to the current user.

- `showMyItems: Boolean!` When true, includes records owned by the current user.
- `showMySharedItems: Boolean!` When true, includes records shared with the current user.
- `showManagingUnitItems: Boolean!` When true, includes records owned by users in the sales units the current user manages.
- `showUnassignedItems: Boolean!` When true, includes records that have no owner assigned.

### ActivityTableReportProfile (object)

Settings of a report table that lists activities: filter, ownership scope, quick filter and the table view.

- `filter: ActivityFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewTableReportTab!` View configuration of the table report, including its columns, sorting, grouping, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: ActivityRoleTab!` Ownership scope of the records shown, such as own, shared, managing-unit or unassigned items.

### AggregationComparison (object)

Comparison of a pivot aggregation value with the row, column or grand total, or with another aggregation.

- `isEnabled: Boolean!` Whether the aggregation value is compared against another value in the pivot.
- `type: AggregationComparisonType!` What the value is compared against: the row total, the column total, the grand total, or another field's aggregation.
- `fieldId: UUID` Identifier of the field whose aggregation is compared against; set when the comparison type is Field.
- `operator: AggregationOperator!` How the comparison field's values are aggregated, such as Count, Sum, Average, Min or Max.

### AggregationComparisonType (enum)

Reference total that a pivot aggregation is expressed against as a percentage.

- `RowTotal` Each value as a percentage of its row total.
- `ColumnTotal` Each value as a percentage of its column total.
- `GrandTotal` Each value as a percentage of the grand total of the report.
- `Field` Each value as a percentage of another aggregated field, identified by fieldId.

### AggregationField (object)

Aggregation column of a pivot table: the field and the operation (such as count or sum) that produce each cell value.

- `id: UUID!` Unique identifier of this aggregation column in the pivot.
- `name: String` Display name of the aggregation column.
- `fieldId: UUID` ID of field used for aggregation, leave empty if aggregation is set to Count
- `operator: AggregationOperator!` Aggregation function that produces the column's values, such as Count, Sum or Average.
- `comparison: AggregationComparison!` Comparison applied to this aggregation column, such as comparing against a row, column or grand total.
- `columnWidth: Int` Width of the column; if Null the default width is used.
- `columnFormatting: ColumnFormatting` Conditional formatting applied to this column's cells based on their value.
- `columnColor: Int` RGB color code converted to integer, if value is Null uses no color

### BetterForecastSchema (object)

Settings of a saved forecast: its period, breakdown dimensions, the opportunities included, quotas and the options of its list, trend and pipeline views.

- `quickFilter: QuickFilterTab!` Quick-filter conditions applied on top of the forecast, letting the user narrow the included opportunities without changing the saved filter.
- `currencyId: UUID!` Currency used for all monetary values in the forecast.
- `period: ForecastPeriodKind!` Time granularity of the forecast — Monthly, Quarterly or Yearly.
- `startDate: Date!` First day of the forecast period.
- `endDate: Date!` Last day of the forecast period.
- `type: [ForecastType!]!` Breakdown dimension(s) the forecast is grouped by — Users, SalesUnits, Products, ProductCategories or Accounts.
- `items: [ForecastItem!]!` Forecast rows — one per entity in the breakdown, with per-period values and quotas.
- `quotaComparisonType: ForecastPerformanceComparisonType!` Baseline that performance is compared against — PreviousPeriod, AveragePerformance or WeightedAveragePerformance.
- `fieldId: ID!` Opportunity value field summed into the forecast.
- `dateFieldId: ID!` Opportunity date field used to place each opportunity into a period.
- `fieldFilter: FieldFilter!` Field-condition filter selecting which opportunities feed the forecast.
- `filter: OpportunityFilterTab!` Saved opportunity filter tab further scoping the forecast.
- `pipelineId: UUID!` Pipeline the forecast is computed over.
- `columns: [ForecastColumn!]!` Value columns shown in the forecast (prediction, open, comparison, …).
- `groupBy: UUID` Optional field the forecast values are additionally grouped by.
- `hideEmptyRows: Boolean!` When true, rows with no values are hidden.
- `listViewOptions: ForecastListViewOptions!` Display options for the list view of the forecast.
- `trendViewOptions: ForecastTrendViewOptions!` Display options for the trend view of the forecast.
- `pipelineViewOptions: ForecastPipelineViewOptions!` Display options for the pipeline view of the forecast.
- `quotaCustomMode: Boolean!` When true, quotas are entered manually rather than derived from targets.
- `quotaSplitType: OpportunityForecastQuotaSplitType!` How a parent quota is split across child rows (e.g. evenly).

### CalculatedField (object)

Value field of a report whose value is calculated by a formula.

- `id: UUID!` Unique identifier of this report value field.
- `name: String!` Display name of the value field as shown in the report.
- `advancedFormula: AdvancedFormulaProperty!` Formula definition that computes this field's value from other fields, conforming to the AdvancedFormulaProperty type.

### ColumnFormatting (object)

Conditional formatting of a report column: rules that color cells by their value.

- `isEnabled: Boolean!` Whether conditional formatting is applied to this column.
- `filterFields: [ColumnFormattingFieldFilterRule!]!` Conditional-formatting rules that decide which cells are highlighted and with what color.

### ColumnFormattingFieldFilterRule (object)

Conditional formatting rule: a condition on a field value and the color applied to the matching cells.

- `id: UUID` Unique identifier of this conditional-formatting rule.
- `field: String` Identifier of the field whose value the rule is evaluated against.
- `operator: FieldOperator` Comparison applied between the field value and the rule values, such as equals, contains or is between.
- `values: [[String]]` Values the field is compared against; grouped into lists so a single rule can match any of several values.
- `color: Int` Color applied to matching cells, given as an RGB color code encoded as an integer.
- `boxId: ID` Identifier of the report box that the compared field belongs to.

### ColumnFormattingFilterFieldRuleInterface (interface)

Condition of a conditional formatting rule, evaluated against a field value.

- `id: UUID` Identifier of this condition within the filter box. Used to reference the condition from the box formula.
- `field: String` Identifier of the field whose value the rule is evaluated against.
- `operator: FieldOperator` Comparison applied between the field and the supplied values (for example Is, IsNot, Contains, Between, IsEmpty).
- `values: [[String]]` Values the field is compared against. The outer list holds alternatives combined with OR; the inner list holds the parts of a single value (such as the two bounds of a Between comparison).

### ColumnPrintOverflow (enum)

How a report column handles content too long for the column width when printed.

- `Wrap` Content wraps onto more lines so all of it is printed.
- `Clip` Content is cut off at the column edge.

### ContactFilterTab (object)

Filter conditions that select which contacts a saved profile or report includes, combining conditions on the contact with conditions on related records.

- `isEnabled: Boolean!` Whether the filter is applied. When false, the filter conditions are ignored.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of filter conditions evaluated on related record types.
- `isCustom: Boolean!` True when the conditions are combined with a custom formula rather than a simple And/Or across all conditions.
- `operator: FilterGroupOperator!` How the conditions are combined: And applies all conditions, Or applies any, Custom evaluates the expression in the formula.
- `formula: String` Boolean expression combining the numbered conditions (for example "1 AND (2 OR 3)"). Used when the operator is Custom.

### ContactPivotReportProfile (object)

Settings of a pivot table that summarizes contacts: filter, ownership scope, quick filter and the pivot view.

- `filter: ContactFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewPivotReportTab!` View configuration of the pivot report, including its row and column dimensions, aggregation columns, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: ContactRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### ContactProfileInterface (interface)

Settings shared by the saved profiles and reports on contacts: the filter and the ownership scope of the contacts shown.

- `filter: ContactFilterTab!` Filter conditions that determine which records the profile includes.
- `role: ContactRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### ContactRoleTab (object)

Ownership scope of contact reports and views: which contacts are included by their relation to the current user.

- `showMyItems: Boolean!` When true, includes records owned by the current user.
- `showMySharedItems: Boolean!` When true, includes records shared with the current user.
- `showManagingUnitItems: Boolean!` When true, includes records owned by users in the sales units the current user manages.

### ContactTableReportProfile (object)

Settings of a report table that lists contacts: filter, ownership scope, quick filter and the table view.

- `filter: ContactFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewTableReportTab!` View configuration of the table report, including its columns, sorting, grouping, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: ContactRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### ConvertedCurrencyField (object)

Value field of a report that shows a foreign currency field converted into the report currency.

- `id: UUID!` Unique identifier of this converted-currency value field.
- `fieldId: UUID!` Identifier of the foreign-currency field whose value is converted into the report's currency.

### CustomEntityFilterTab (object)

Filter conditions that select which custom entity records a saved profile or report includes, combining conditions on the record with conditions on related records.

- `isEnabled: Boolean!` Whether the filter is applied. When false, the filter conditions are ignored.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of filter conditions evaluated on related record types.
- `isCustom: Boolean!` True when the conditions are combined with a custom formula rather than a simple And/Or across all conditions.
- `operator: FilterGroupOperator!` How the conditions are combined: And applies all conditions, Or applies any, Custom evaluates the expression in the formula.
- `formula: String` Boolean expression combining the numbered conditions (for example "1 AND (2 OR 3)"). Used when the operator is Custom.

### CustomEntityPivotReportProfile (object)

Settings of a pivot table that summarizes custom entity records: filter, ownership scope, quick filter and the pivot view.

- `filter: CustomEntityFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewPivotReportTab!` View configuration of the pivot report, including its row and column dimensions, aggregation columns, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: CustomEntityRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### CustomEntityProfileInterface (interface)

Settings shared by the saved profiles and reports on custom entity records: the filter and the ownership scope of the custom entity records shown.

- `filter: CustomEntityFilterTab!` Filter conditions that determine which records the profile includes.
- `role: CustomEntityRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### CustomEntityRoleTab (object)

Ownership scope of custom entity reports and views: which records are included by their relation to the current user.

- `showMyItems: Boolean!` When true, includes records owned by the current user.
- `showMySharedItems: Boolean!` When true, includes records shared with the current user.
- `showManagingUnitItems: Boolean!` When true, includes records owned by users in the sales units the current user manages.

### CustomEntityTableReportProfile (object)

Settings of a report table that lists custom entity records: filter, ownership scope, quick filter and the table view.

- `filter: CustomEntityFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewTableReportTab!` View configuration of the table report, including its columns, sorting, grouping, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: CustomEntityRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### DisplayFieldItem (object)

Column of a report box: the field shown and its display, width, color, alignment, conditional formatting and print options.

- `fieldId: ID!` Id of the field shown in this column: a field of the box entity, or a value field defined in the report (reportValueFields).
- `displayOptions: DisplayOption` Form in which the column's values are shown, such as the readable name or the raw value of a related record; Natural when not set.
- `columnWidth: Int` Size of the column width, if value is Null uses default
- `columnColor: Int` RGB color code converted to integer, if value is Null uses no color
- `columnAlignment: ColumnAlignment` Horizontal alignment of the values in the column: Left, Center or Right.
- `columnFormatting: ColumnFormatting` Conditional formatting applied to this column's cells based on their value.
- `columnPrintOverflow: ColumnPrintOverflow!` How cell content that doesn't fit the column width is handled when the report is printed: Wrap keeps the full content on multiple lines, Clip prints it cut off to a single line. Affects printing only, not the report detail.

### EmailFilterTab (object)

Filter conditions an email must meet to appear in an email list or report.

- `isEnabled: Boolean!` Whether the filter is applied. When false, the filter conditions are ignored.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of filter conditions evaluated on related record types.
- `isCustom: Boolean!` True when the conditions are combined with a custom formula rather than a simple And/Or across all conditions.
- `operator: FilterGroupOperator!` How the conditions are combined: And applies all conditions, Or applies any, Custom evaluates the expression in the formula.
- `formula: String` Boolean expression combining the numbered conditions (for example "1 AND (2 OR 3)"). Used when the operator is Custom.

### EmailPivotReportProfile (object)

Pivot report of emails: which emails it includes and how it groups and aggregates them in rows and columns.

- `filter: EmailFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewPivotReportTab!` View configuration of the pivot report, including its row and column dimensions, aggregation columns, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: EmailRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### EmailProfileInterface (interface)

Saved view of emails: the filter and ownership scope that decide which emails it shows.

- `filter: EmailFilterTab!` Filter conditions that determine which emails the profile shows.
- `role: EmailRoleTab!` Ownership scope of the emails shown, such as own, shared or managing-unit items.

### EmailRoleTab (object)

Ownership scope of an email list or report: whether own, shared and managing-unit emails are included.

- `showMyItems: Boolean!` When true, includes records owned by the current user.
- `showMySharedItems: Boolean!` When true, includes records shared with the current user.
- `showManagingUnitItems: Boolean!` When true, emails owned by other members of the current user managing unit are also included.

### EmailTableReportProfile (object)

Table report of emails: which emails it includes and the columns, sorting, grouping and totals it shows.

- `filter: EmailFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewTableReportTab!` View configuration of the table report, including its columns, sorting, grouping, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: EmailRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### FeedFilterTab (object)

Filter conditions that select which feed messages a report includes, combining conditions on the message with conditions on related records.

- `isEnabled: Boolean!` Whether the filter is applied. When false, the filter conditions are ignored.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of filter conditions evaluated on related record types.
- `isCustom: Boolean!` True when the conditions are combined with a custom formula rather than a simple And/Or across all conditions.
- `operator: FilterGroupOperator!` How the conditions are combined: And applies all conditions, Or applies any, Custom evaluates the expression in the formula.
- `formula: String` Boolean expression combining the numbered conditions (for example "1 AND (2 OR 3)"). Used when the operator is Custom.

### FeedPivotReportProfile (object)

Settings of a pivot table that summarizes feed messages: filter, ownership scope, quick filter and the pivot view.

- `filter: FeedFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewPivotReportTab!` View configuration of the pivot report, including its row and column dimensions, aggregation columns, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: FeedRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### FeedReportProfileInterface (interface)

Settings shared by the reports on feed messages: the filter and the ownership scope of the messages shown.

- `filter: FeedFilterTab!` Filter conditions that determine which records the profile includes.
- `role: FeedRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### FeedRoleTab (object)

Ownership scope of feed reports and views: which feed items are included by their relation to the current user.

- `showMyItems: Boolean!` When true, includes records owned by the current user.
- `showMySharedItems: Boolean!` When true, feed items shared with the current user are also included.

### FeedTableReportProfile (object)

Settings of a report table that lists feed messages: filter, ownership scope, quick filter and the table view.

- `filter: FeedFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewTableReportTab!` View configuration of the table report, including its columns, sorting, grouping, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: FeedRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### ForecastBaseValueEnum (enum)

Opportunity value a forecast column is based on.

- `Open` Value of open opportunities.
- `Won` Value of won opportunities.
- `WonOpen` Combined value of won and open opportunities.
- `Lost` Value of lost opportunities.
- `Prediction` Value predicted from opportunities won before the forecast period.

### ForecastColumn (object)

Value column of a forecast, such as the open, won or predicted value, or a comparison.

- `id: ID!` Id of the column.
- `baseValue: ForecastBaseValueEnum!` Underlying value the column shows — Open, Won, WonOpen, Lost or Prediction.
- `openValueType: ForecastOpenValueTypeEnum` For open-value columns, how the value is weighted — Unweighted, Weighted, Ranked or Balanced.
- `valueComparison: ForecastValueComparisonEnum` For comparison columns, the baseline compared against — Forecast, Quota, Prediction, PreviousPeriod or PreviousYear.

### ForecastItem (object)

Row of a forecast for one entity of the breakdown (user, sales unit, product, product category or account), with its values and quotas per period.

- `id: ID!` Id of this forecast row.
- `parentId: ID` Id of the parent row in the breakdown hierarchy; empty for top-level rows.
- `entityId: UUID!` Id of the entity (user, sales unit, product, product category or account) this row represents.
- `entityType: EntityNameEnum!` Type of the entity this row represents.
- `values: [ForecastItemValue!]!` Per-period value and quota entries for this row.
- `isActive: Boolean!` Whether this row is included in forecast totals.
- `quotaSplitType: OpportunityForecastQuotaSplitType!` How this row's quota is split across its child rows (e.g. evenly).

### ForecastItemValue (object)

Forecast value and quota of a forecast row for one period.

- `date: Date!` First day of the period this value applies to.
- `value: Float` Forecasted or actual value for the period.
- `quota: Float` Quota target for the period.

### ForecastListViewOptions (object)

Display options of the list view of a forecast: its columns and sorting.

- `columns: [GridColumnsOutput!]!` Columns shown in the forecast list view, each with its width and display options.
- `sortBy: ID!` Id of the field the list view is sorted by.
- `sortOrder: SortOrder!` Direction the list view is sorted in — Ascending or Descending.

### ForecastOpenValueTypeEnum (enum)

How the value of open opportunities is weighted in a forecast column.

- `Unweighted` Full opportunity value.
- `Weighted` Value multiplied by the pipeline step probability.
- `Ranked` Value multiplied by the opportunity ranking.
- `Balanced` Value multiplied by both the step probability and the ranking.

### ForecastPerformanceComparisonType (enum)

Historical baseline used to judge forecast performance or to split quota by historical performance.

- `PreviousPeriod` Performance in the same period of the previous year.
- `AveragePerformance` Average of past performance across all earlier periods.
- `WeightedAveragePerformance` Average of past performance with more recent periods weighted more heavily.

### ForecastPeriodKind (enum)

Length of each period in a forecast.

- `Monthly` Each period is one month.
- `Quarterly` Each period is one quarter.
- `Yearly` Each period is one year.

### ForecastPipelineViewOptions (object)

Display options of a pipeline board of opportunity cards: sorting, how the cards are grouped and which details each card shows.

- `sortBy: ID!` Identifier of the field the records are sorted by.
- `sortOrder: SortOrder!` Sort direction: Asc for ascending, Desc for descending.
- `groupBy: OpportunityGroupBy!` How opportunity cards are grouped on the pipeline board: NoGrouping, Owner, Account, Contact, Unit, or ClosingDate.
- `showCardValue: Boolean!` When true, shows the opportunity value on each card.
- `showCardRanking: Boolean!` When true, shows the opportunity ranking on each card.
- `showCardLabels: Boolean!` When true, shows the assigned labels on each card.
- `showCardVelocity: Boolean!` When true, shows the opportunity velocity on each card.
- `showCardFitness: Boolean!` When true, shows the fitness indicator on each card.
- `showExtraFieldIds: [UUID!]` Identifiers of additional fields to display on each card.

### ForecastTrendViewOptions (object)

Display options of the trend view of a forecast.

- `runningTotal: Boolean!` When true, the trend view shows cumulative running totals rather than the value for each period in isolation.

### ForecastType (enum)

Dimension a forecast is broken down by.

- `Users` One row per opportunity owner.
- `SalesUnits` One row per sales unit.
- `Products` One row per product on the opportunities.
- `ProductCategories` One row per product category.
- `Accounts` One row per account.

### ForecastValueComparisonEnum (enum)

Baseline a forecast column's value is compared against.

- `NoComparison` No comparison is shown.
- `Forecast` The forecast value entered for the row.
- `Quota` The quota set for the row.
- `Prediction` The value predicted from opportunities won before the forecast period.
- `PreviousPeriod` The same value for the period of equal length immediately before.
- `PreviousYear` The same value for the same period one year earlier.

### FrozenPaneType (enum)

Which leading rows and columns of a report table stay visible while scrolling.

- `NoRowCol` Nothing is frozen.
- `FirstRow` The first row is frozen.
- `FirstCol` The first column is frozen.
- `FirstRowCol` The first row and the first column are frozen.

### GridColumnsOutput (object)

Column of a grid: the field shown, its width (relative or in pixels) and whether it is frozen.

- `fieldId: String!` Identifier of the field shown in this grid column.
- `width: Float!` Column width. Interpreted as an exact pixel count when pixels is true, otherwise as a relative weight.
- `frozen: Boolean!` True when the column is pinned to the left edge so it stays visible while the grid scrolls horizontally.
- `pixels: Boolean!` True when width is given in absolute pixels; false when it is a relative weight.

### GroupField (object)

Field a table report groups its rows by.

- `boxId: ID!` Identifier of the report box that the field belongs to.
- `fieldId: ID!` Identifier of the field being referenced.
- `groupOption: GroupOption` How records are grouped on this field, for example by day, week, month, quarter or year for dates, by first letter for text, or by manual or automatic intervals for numbers.
- `groupIntervals: [GroupInterval!]` Custom numeric intervals used to group records when the group option is set to manual intervals.

### GroupInterval (object)

Numeric interval used to group the rows of a report.

- `start: Float` Lower bound of the numeric interval, inclusive.
- `end: Float` Upper bound of the numeric interval, exclusive.

### LeadOpportunityFilterTab (object)

Filter conditions that select which leads and opportunities a saved profile or report includes, combining conditions on the record with conditions on related records.

- `isEnabled: Boolean!` Whether the filter is applied. When false, the filter conditions are ignored.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of filter conditions evaluated on related record types.
- `isCustom: Boolean!` True when the conditions are combined with a custom formula rather than a simple And/Or across all conditions.
- `operator: FilterGroupOperator!` How the conditions are combined: And applies all conditions, Or applies any, Custom evaluates the expression in the formula.
- `formula: String` Boolean expression combining the numbered conditions (for example "1 AND (2 OR 3)"). Used when the operator is Custom.

### LeadOpportunityPivotReportProfile (object)

Settings of a pivot table that summarizes leads and opportunities: filter, sales pipelines, lead processes, ownership scope, target, quick filter and the pivot view.

- `filter: LeadOpportunityFilterTab!` Filter tab restricting which leads and opportunities the report shows.
- `view: ViewPivotReportTab!` View configuration of the pivot report, including its row and column dimensions, aggregation columns, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `salesPipeline: [ID!]` Identifiers of the sales pipelines the profile is restricted to. Null includes all pipelines.
- `role: LeadOpportunityRoleTab!` Ownership scope of the records shown (own, shared, managing-unit, or unassigned items).
- `target: OpportunityReportTargetTab!` Target tab defining the goal, measured period and comparison for the report.
- `leadProcess: [UUID!]` Identifiers of the lead processes the profile is restricted to. Null includes all lead processes.

### LeadOpportunityReportProfileInterface (interface)

Settings shared by the reports on leads and opportunities: the filter, sales pipelines, lead processes and the ownership scope of the records shown.

- `leadProcess: [UUID!]` Identifiers of the lead processes the profile is restricted to. Null includes all lead processes.
- `filter: LeadOpportunityFilterTab!` Filter tab restricting which leads and opportunities the report shows.
- `salesPipeline: [ID!]` Identifiers of the sales pipelines the profile is restricted to. Null includes all pipelines.
- `role: LeadOpportunityRoleTab!` Ownership scope of the records shown (own, shared, managing-unit, or unassigned items).

### LeadOpportunityRoleTab (object)

Ownership scope of lead and opportunity reports and views: which records are included by their relation to the current user.

- `showMyItems: Boolean!` When true, includes records owned by the current user.
- `showMySharedItems: Boolean!` When true, includes records shared with the current user.
- `showManagingUnitItems: Boolean!` When true, includes records owned by users in the sales units the current user manages.
- `showUnassignedItems: Boolean!` When true, includes records that have no owner assigned.

### LeadOpportunityTableReportProfile (object)

Settings of a report table that lists leads and opportunities: filter, sales pipelines, lead processes, ownership scope, target, quick filter and the table view.

- `filter: LeadOpportunityFilterTab!` Filter tab restricting which leads and opportunities the report shows.
- `view: ViewTableReportTab!` View configuration of the table report, including its columns, sorting, grouping, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `salesPipeline: [ID!]` Identifiers of the sales pipelines the profile is restricted to. Null includes all pipelines.
- `role: LeadOpportunityRoleTab!` Ownership scope of the records shown (own, shared, managing-unit, or unassigned items).
- `target: OpportunityReportTargetTab!` Target tab defining the goal, measured period and comparison for the report.
- `leadProcess: [UUID!]` Identifiers of the lead processes the profile is restricted to. Null includes all lead processes.

### NoteFilterTab (object)

Filter conditions that select which notes a saved profile or report includes, combining conditions on the note with conditions on related records.

- `isEnabled: Boolean!` Whether the filter is applied. When false, the filter conditions are ignored.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of filter conditions evaluated on related record types.
- `isCustom: Boolean!` True when the conditions are combined with a custom formula rather than a simple And/Or across all conditions.
- `operator: FilterGroupOperator!` How the conditions are combined: And applies all conditions, Or applies any, Custom evaluates the expression in the formula.
- `formula: String` Boolean expression combining the numbered conditions (for example "1 AND (2 OR 3)"). Used when the operator is Custom.

### NotePivotReportProfile (object)

Settings of a pivot table that summarizes notes: filter, quick filter and the pivot view.

- `filter: NoteFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewPivotReportTab!` View configuration of the pivot report, including its row and column dimensions, aggregation columns, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.

### NoteProfileInterface (interface)

Settings shared by the saved profiles and reports on notes, consisting of the filter that selects the notes shown.

- `filter: NoteFilterTab!` Filter conditions that determine which records the profile includes.

### NoteTableReportProfile (object)

Settings of a report table that lists notes: filter, quick filter and the table view.

- `filter: NoteFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewTableReportTab!` View configuration of the table report, including its columns, sorting, grouping, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.

### OpportunityFilterTab (object)

Filter conditions that select which opportunities a saved profile, forecast or dashboard item includes, combining conditions on the opportunity with conditions on related records.

- `isEnabled: Boolean!` Whether the filter is applied. When false, the filter conditions are ignored.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of filter conditions evaluated on related record types.
- `isCustom: Boolean!` True when the conditions are combined with a custom formula rather than a simple And/Or across all conditions.
- `operator: FilterGroupOperator!` How the conditions are combined: And applies all conditions, Or applies any, Custom evaluates the expression in the formula.
- `formula: String` Boolean expression combining the numbered conditions (for example "1 AND (2 OR 3)"). Used when the operator is Custom.

### OpportunityForecastQuotaSplitType (enum)

How a forecast quota is distributed across its periods.

- `Evenly` The quota is split equally across all periods.
- `HistoricalPerformance` The quota is split in proportion to historical performance in each period.
- `Custom` The quota for each period is entered manually.

### OpportunityGroupBy (enum)

How opportunity cards are grouped on a pipeline or archive board.

- `NoGrouping` Cards are not grouped.
- `Owner` Grouped by opportunity owner.
- `Account` Grouped by related account.
- `Contact` Grouped by related contact.
- `Unit` Grouped by sales unit.
- `ClosingDate` Grouped by closing date.

### OpportunityReportTargetTab (object)

Target shown in lead and opportunity reports and dashboards: the goal, the field summed toward it, the period it is measured over and the period it is compared with.

- `targetValueFieldId: ID!` Identifier of the field whose values are summed and compared against the target goal.
- `targetPeriodCurrent: PeriodOption!` Period the target is measured over.
- `targetSource: TargetSourceKind!` Whose records contribute to the target: My counts only the current user, All counts every matching record.
- `goal: Float!` Numeric target value the accumulated field total is measured against.
- `isVisible: Boolean!` Defines if target should be displayed in report
- `targetPeriodCompare: PeriodCompareOption!` Reference period the current target period is compared against.
- `showTargetOnTop: Boolean` When true, the target row is pinned above the data instead of below it.

### OpportunityRoleTab (object)

Ownership scope of opportunity reports and views: which opportunities are included by their relation to the current user.

- `showMyItems: Boolean!` When true, includes records owned by the current user.
- `showMySharedItems: Boolean!` When true, includes records shared with the current user.
- `showManagingUnitItems: Boolean!` When true, includes records owned by users in the sales units the current user manages.

### PeriodCompareKind (enum)

Period a KPI or chart value is compared against.

- `DoNotCompare` No comparison is made.
- `PreviousPeriod` The period immediately before the current one, of the same kind (for example the previous month for MonthCurrent).
- `PreviousYear` The same period one year earlier.
- `Custom` Explicit range given by periodCustomFrom and periodCustomTo.

### PeriodCompareOption (object)

Reference period another period is compared with: none, the previous period, the previous year or a custom date range.

- `periodCustomFrom: Date` Set only if period set to Custom
- `periodCustomTo: Date` Set only if period set to Custom
- `period: PeriodCompareKind!` Reference period the current period is compared against: DoNotCompare, PreviousPeriod, PreviousYear, or Custom. When Custom, periodCustomFrom and periodCustomTo define the bounds.

### PipelineProfileInterface (interface)

Saved profile restricted to selected sales pipelines.

- `filter: ProfileFilterBaseInterface!` Filter conditions that determine which records the profile includes.
- `salesPipeline: [ID!]` Identifiers of the sales pipelines the profile is restricted to. Null includes all pipelines.

### PivotField (object)

Row or column dimension of a pivot table: the field the values are grouped by and how the groups are sorted.

- `fieldId: ID!` Identifier of the field used as a pivot row or column dimension.
- `groupOption: GroupOption` How the field's values are grouped, for example by month or by interval.
- `sortFieldId: ID` Id of the value field whose totals this dimension's groups are sorted by, in sortOrder; when null, the groups are sorted by their own values.
- `sortOrder: SortOrder` Sort direction applied to this dimension's values, either ascending (Asc) or descending (Desc).
- `groupIntervals: [GroupInterval!]` Custom numeric intervals used to group records when the group option is set to manual intervals.

### PivotReportTabsInterface (interface)

Filter and view settings of a pivot table; the variant depends on the record type the pivot summarizes.

- `filter: ProfileFilterBaseInterface!` Filter conditions that determine which records the pivot report includes.
- `view: ViewPivotReportTab!` View configuration of the pivot report, including its row and column dimensions, aggregation columns, totals and chart.

### PivotReportTotal (object)

Totals of a pivot table: whether they are shown and where.

- `isEnabled: Boolean!` Whether totals are shown for the pivot table.
- `position: ReportTotalPosition!` Whether the totals appear above the values they summarise (Top) or below them (Bottom).

### ProductFilterTab (object)

Filter conditions that select which products a saved profile or report includes, combining conditions on the product with conditions on related records.

- `isEnabled: Boolean!` Whether the filter is applied. When false, the filter conditions are ignored.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of filter conditions evaluated on related record types.
- `isCustom: Boolean!` True when the conditions are combined with a custom formula rather than a simple And/Or across all conditions.
- `operator: FilterGroupOperator!` How the conditions are combined: And applies all conditions, Or applies any, Custom evaluates the expression in the formula.
- `formula: String` Boolean expression combining the numbered conditions (for example "1 AND (2 OR 3)"). Used when the operator is Custom.

### ProductPivotReportProfile (object)

Settings of a pivot table that summarizes products: filter, ownership scope, quick filter and the pivot view.

- `filter: ProductFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewPivotReportTab!` View configuration of the pivot report, including its row and column dimensions, aggregation columns, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: OpportunityRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### ProductProfileInterface (interface)

Settings shared by the saved profiles and reports on products, consisting of the filter that selects the products shown.

- `filter: ProductFilterTab!` Filter conditions that determine which records the profile includes.

### ProductTableReportProfile (object)

Settings of a report table that lists products: filter, quick filter and the table view.

- `filter: ProductFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewTableReportTab!` View configuration of the table report, including its columns, sorting, grouping, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.

### ProfileFilterBoxTabsInterface (interface)

Saved profile or report whose filter is built from filter boxes.

- `filter: ProfileFilterBoxTabInterface!` Filter conditions that determine which records the profile includes.

### ProfileTabsInterface (interface)

Settings shared by every saved profile, report and dashboard, starting with the filter that selects its records.

- `filter: ProfileFilterBaseInterface!` Filter conditions that determine which records the profile includes.

### ProjectFilterTab (object)

Filter conditions that select which projects a saved profile or report includes, combining conditions on the project with conditions on related records.

- `isEnabled: Boolean!` Whether the filter is applied. When false, the filter conditions are ignored.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of filter conditions evaluated on related record types.
- `isCustom: Boolean!` True when the conditions are combined with a custom formula rather than a simple And/Or across all conditions.
- `operator: FilterGroupOperator!` How the conditions are combined: And applies all conditions, Or applies any, Custom evaluates the expression in the formula.
- `formula: String` Boolean expression combining the numbered conditions (for example "1 AND (2 OR 3)"). Used when the operator is Custom.

### ProjectPivotReportProfile (object)

Settings of a pivot table that summarizes projects: filter, ownership scope, quick filter and the pivot view.

- `filter: ProjectFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewPivotReportTab!` View configuration of the pivot report, including its row and column dimensions, aggregation columns, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: ProjectRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### ProjectProfileInterface (interface)

Settings shared by the saved profiles and reports on projects: the filter and the ownership scope of the projects shown.

- `filter: ProjectFilterTab!` Filter conditions that determine which records the profile includes.
- `role: ProjectRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### ProjectRoleTab (object)

Ownership scope of project reports and views: which projects are included by their relation to the current user.

- `showMyItems: Boolean!` When true, includes records owned by the current user.
- `showMySharedItems: Boolean!` When true, includes records shared with the current user.
- `showManagingUnitItems: Boolean!` When true, includes records owned by users in the sales units the current user manages.

### ProjectTableReportProfile (object)

Settings of a report table that lists projects: filter, ownership scope, quick filter and the table view.

- `filter: ProjectFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewTableReportTab!` View configuration of the table report, including its columns, sorting, grouping, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `role: ProjectRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### QuickFilterInterface (interface)

Saved profile or report that supports a quick filter on top of its saved filter.

- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.

### QuickFilterTab (object)

Ad-hoc filter applied on top of the saved filter of a profile or report to narrow the records shown without changing the saved filter.

- `filterMainBox: MainFilterBox!` Primary group of quick-filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of quick-filter conditions evaluated on related record types.
- `filterFieldOrder: [UUID!]!` Identifiers of the filtered fields in the order they are shown in the quick filter.

### QuoteFilterTab (object)

Filter conditions that select which quotes a saved profile or report includes, combining conditions on the quote with conditions on related records.

- `isEnabled: Boolean!` Whether the filter is applied. When false, the filter conditions are ignored.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of filter conditions evaluated on related record types.
- `isCustom: Boolean!` True when the conditions are combined with a custom formula rather than a simple And/Or across all conditions.
- `operator: FilterGroupOperator!` How the conditions are combined: And applies all conditions, Or applies any, Custom evaluates the expression in the formula.
- `formula: String` Boolean expression combining the numbered conditions (for example "1 AND (2 OR 3)"). Used when the operator is Custom.

### QuotePivotReportProfile (object)

Settings of a pivot table that summarizes quotes: filter, quote processes, ownership scope, quick filter and the pivot view.

- `filter: QuoteFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewPivotReportTab!` View configuration of the pivot report, including its row and column dimensions, aggregation columns, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `quoteProcess: [UUID!]` Identifiers of the quote processes the profile is restricted to. Null includes all quote processes.
- `role: QuoteRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### QuoteProfileInterface (interface)

Settings shared by the saved profiles and reports on quotes: the filter and the quote processes the quotes belong to.

- `filter: QuoteFilterTab!` Filter conditions that determine which records the profile includes.
- `quoteProcess: [UUID!]` Identifiers of the quote processes the profile is restricted to. Null includes all quote processes.

### QuoteReportProfileInterface (interface)

Settings shared by the reports on quotes: the filter, the quote processes and the ownership scope of the quotes shown.

- `filter: QuoteFilterTab!` Filter conditions that determine which records the profile includes.
- `quoteProcess: [UUID!]` Identifiers of the quote processes the profile is restricted to. Null includes all quote processes.
- `role: QuoteRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### QuoteRoleTab (object)

Ownership scope of quote reports and views: which quotes are included by their relation to the current user.

- `showMyItems: Boolean!` When true, includes records owned by the current user.
- `showMySharedItems: Boolean!` When true, includes records shared with the current user.
- `showManagingUnitItems: Boolean!` When true, includes records owned by users in the sales units the current user manages.

### QuoteTableReportProfile (object)

Settings of a report table that lists quotes: filter, quote processes, ownership scope, quick filter and the table view.

- `filter: QuoteFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewTableReportTab!` View configuration of the table report, including its columns, sorting, grouping, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.
- `quoteProcess: [UUID!]` Identifiers of the quote processes the profile is restricted to. Null includes all quote processes.
- `role: QuoteRoleTab!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### ReportComparisonDatesHistory (object)

History settings that compare the values of tracked fields at selected dates.

- `trackedFieldIds: [UUID]!` Identifiers of the fields whose historical values are tracked and made available to the report.
- `fields: [ReportHistoryField!]!` History value fields produced by the report, each tied to a tracked field and, for comparison reports, a comparison date.
- `comparisonDates: [ReportHistoryComparisonDate!]!` Dates the tracked field values are compared against in this comparison-type history report.

### ReportField (interface)

Reference to a field of a report box, used for sorting and grouping.

- `boxId: ID!` Identifier of the report box that the field belongs to.
- `fieldId: ID!` Identifier of the field being referenced.

### ReportHistoricalTrendHistory (object)

History settings that plot the values of tracked fields as a trend over a period.

- `trackedFieldIds: [UUID]!` Identifiers of the fields whose historical values are tracked and made available to the report.
- `fields: [ReportHistoryField!]!` History value fields produced by the report, each tied to a tracked field and, for comparison reports, a comparison date.
- `period: PeriodOption!` Time span over which the historical trend is plotted.
- `periodGranularity: PeriodGranularity!` Interval at which trend data points are sampled across the period, such as Day, Week, Month, Quarter or Year.

### ReportHistory (union)

History settings of a report that shows past values of tracked fields: comparison dates or a historical trend.

ReportComparisonDatesHistory | ReportHistoricalTrendHistory

### ReportHistoryCommon (interface)

History settings shared by both history modes: the tracked fields and the history value fields the report produces.

- `trackedFieldIds: [UUID]!` Identifiers of the fields whose historical values are tracked and made available to the report.
- `fields: [ReportHistoryField!]!` History value fields produced by the report, each tied to a tracked field and, for comparison reports, a comparison date.

### ReportHistoryComparisonDate (object)

Date at which tracked field values are compared: a fixed date, a special value or a date relative to today.

- `id: UUID!` Unique identifier of this comparison date.
- `date: Date` Fixed calendar date to compare against; set when neither a dynamic date nor a special value is used.
- `dynamicDate: [ReportHistoryDynamicDate!]` Ordered date operations evaluated against today to produce a relative comparison date, such as the start of the previous quarter.
- `isDynamicDateCustom: Boolean!` Whether the dynamic date was built from custom operations rather than chosen from a predefined relative-date option.
- `specialValue: ReportHistorySpecialValue` Special comparison value instead of a date: FirstValue compares against the first recorded value and PreviousValue against the preceding one.

### ReportHistoryDynamicDate (object)

Date operation, such as subtracting one month or moving to the start of the quarter, used to compute a relative comparison date.

- `operation: ReportHistoryDynamicDateOperation!` Operation applied to the reference date: add or subtract an amount, set a specific value, or snap to the start or end of the unit.
- `value: Int` Amount the operation uses; required for Add, Subtract and Set, and omitted for StartOf and EndOf.
- `unit: ReportHistoryDynamicDateUnit!` Calendar unit the operation works on, such as Day, Week, Month, Quarter or Year.

### ReportHistoryDynamicDateOperation (enum)

Operation applied to a reference date to compute a dynamic date for historical report values.

- `Add` Adds value units to the date.
- `Subtract` Subtracts value units from the date.
- `Set` Sets the unit part of the date to value, for example month 3 or week 10.
- `StartOf` Moves the date to the first day of its unit, such as the start of the week or month.
- `EndOf` Moves the date to the last day of its unit, such as the end of the week or month.

### ReportHistoryDynamicDateUnit (enum)

Calendar unit a dynamic date operation works on.

- `Day` Days; with Set, the day of the month (1 to 31).
- `Week` Weeks; with Set, the ISO week number (1 to 53).
- `Month` Months; with Set, the month number (1 to 12).
- `Quarter` Quarters; with Set, the quarter number (1 to 4).
- `Year` Years; with Set, the year (1970 to 2070).

### ReportHistoryField (object)

History value field of a report: a tracked field's past value at a comparison date, or a record count.

- `id: UUID!` Unique identifier of this history field within the report.
- `fieldId: UUID` Identifier of the tracked field whose historical value is reported; left empty when the history field counts records.
- `comparisonDateId: UUID` Identifier of the comparison date this history value is taken at, for comparison-date history reports.

### ReportHistorySpecialValue (enum)

Special reference used instead of a date when comparing historical field values.

- `FirstValue` Compares against the first recorded value of the field.
- `PreviousValue` Compares against the value the field had before its latest change.

### ReportTabInterface (interface)

Filter and view settings of a report table or pivot table.

- `filter: ProfileFilterBaseInterface!` Filter conditions that determine which records the profile includes.

### ReportTotalPosition (enum)

Where totals are placed relative to the values they summarize.

- `Top` Totals appear above the rows.
- `Bottom` Totals appear below the rows.

### ReportValueField (union)

Value field computed for a report: a calculated formula, a rollup summary or a currency conversion.

CalculatedField | SummaryField | ConvertedCurrencyField

### ReportValueFieldInterface (interface)

Value field computed for a report, identified by its id and name.

- `id: UUID!` Unique identifier of this report value field.
- `name: String!` Display name of the value field as shown in the report.

### RoleProfileInterface (interface)

Saved profile or report that restricts the records shown by ownership scope, such as own, shared or managing-unit items.

- `filter: ProfileFilterBaseInterface!` Filter conditions that determine which records the profile includes.
- `role: RoleTabInterface!` Ownership scope of the records shown, such as own, shared or managing-unit items.

### SortField (object)

Field a table report sorts its rows by, with the sort direction.

- `boxId: ID!` Identifier of the report box that the field belongs to.
- `fieldId: ID!` Identifier of the field being referenced.
- `direction: SortOrder!` Sort direction for this field, either ascending (Asc) or descending (Desc).

### SummaryField (object)

Value field of a report that aggregates values of related records, like a rollup field.

- `id: UUID!` Unique identifier of this report value field.
- `name: String!` Display name of the value field as shown in the report.
- `rollup: RollupProperty!` Rollup definition that aggregates values from related records into this field, conforming to the RollupProperty type.

### TableReportTabsInterface (interface)

Filter and view settings of a report table; the variant depends on the record type of the table's main box.

- `filter: ProfileFilterBaseInterface!` Filter conditions that determine which records the table report includes.
- `view: ViewTableReportTab!` View configuration of the table report, including its columns, sorting, grouping, totals and chart.

### TableReportTotal (object)

Totals of a report table: which totals (sum, average, minimum, maximum, status) are shown and where.

- `isEnabled: Boolean!` Whether the totals row is shown for each group in a table report. Has no effect unless at least one of the individual total values below is enabled.
- `showGrandTotal: Boolean!` Whether a grand total covering all rows is shown in addition to the per-group totals.
- `position: ReportTotalPosition!` Whether the totals appear above the rows they summarise (Top) or below them (Bottom).
- `showSum: Boolean!` Whether the sum of each numeric column is shown in the totals.
- `showAverage: Boolean!` Whether the average of each numeric column is shown in the totals.
- `showMin: Boolean!` Whether the minimum value of each numeric column is shown in the totals.
- `showMax: Boolean!` Whether the maximum value of each numeric column is shown in the totals.
- `showStatus: Boolean!` Whether a status breakdown (such as won, lost and open counts for opportunities or leads) is shown in the totals.

### TargetProfileInterface (interface)

Saved profile, report or dashboard that shows a target: a goal measured over a period.

- `filter: ProfileFilterBaseInterface!` Filter conditions that determine which records the profile includes.
- `target: TargetTabInterface!` Target settings of the profile: the field whose values are summed and the period they are measured over.

### TargetSourceKind (enum)

Whose records count toward an opportunity board target.

- `My` Only the current user's records.
- `All` All matching records.

### TargetTabInterface (interface)

Target settings of a saved profile: the field summed toward the goal and the period it is measured over.

- `targetValueFieldId: ID!` Identifier of the field whose values are summed and compared against the target goal.
- `targetPeriodCurrent: PeriodOption!` Period the target is measured over.

### TimeframeFilterTab (object)

Filter conditions that select which timeframes (periods a lead or opportunity spent in a pipeline step) a saved profile or report includes, combining conditions on the timeframe with conditions on related records.

- `isEnabled: Boolean!` Whether the filter is applied. When false, the filter conditions are ignored.
- `filterMainBox: MainFilterBox!` Primary group of filter conditions evaluated on the main record type.
- `filterSiblingBoxes: [FilterBox!]!` Additional groups of filter conditions evaluated on related record types.
- `isCustom: Boolean!` True when the conditions are combined with a custom formula rather than a simple And/Or across all conditions.
- `operator: FilterGroupOperator!` How the conditions are combined: And applies all conditions, Or applies any, Custom evaluates the expression in the formula.
- `formula: String` Boolean expression combining the numbered conditions (for example "1 AND (2 OR 3)"). Used when the operator is Custom.

### TimeframePivotReportProfile (object)

Settings of a pivot table that summarizes timeframes: filter, quick filter and the pivot view.

- `filter: TimeframeFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewPivotReportTab!` View configuration of the pivot report, including its row and column dimensions, aggregation columns, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.

### TimeframeProfileInterface (interface)

Settings shared by the saved profiles and reports on timeframes, consisting of the filter that selects the timeframes shown.

- `filter: TimeframeFilterTab!` Filter conditions that determine which records the profile includes.

### TimeframeTableReportProfile (object)

Settings of a report table that lists timeframes: filter, quick filter and the table view.

- `filter: TimeframeFilterTab!` Filter conditions that determine which records the report includes.
- `view: ViewTableReportTab!` View configuration of the table report, including its columns, sorting, grouping, totals and chart.
- `quickFilter: QuickFilterTab!` Ad-hoc filter applied on top of the saved filter, narrowing the visible records without changing the profile.

### ViewPivotReportTab (object)

View settings of a pivot table: row and column dimensions, aggregation columns, totals, chart and drilldown.

- `frozenPanes: FrozenPaneType!` Which leading rows and columns stay frozen while scrolling: none, the first row, the first column, or the first row and column.
- `chart: ReportChart!` Chart configuration for this report tab.
- `reportValueFields: [ReportValueField!]!` Additional value fields computed for the report, such as calculated formula fields, rollup summary fields and converted-currency fields.
- `history: ReportHistory` History configuration when the report tracks field values over time, either as a comparison against specific dates or as a trend over a period.
- `currencyId: UUID!` Identifier of the currency that monetary values in the report are displayed in.
- `total: PivotReportTotal!` Configuration of the totals shown for the pivot table.
- `rowFields: [PivotField!]!` List of the field IDs that are reported as pivot rows, beware if depth is very big report generates an Out of size error report
- `rowNumberColumnWidth: Int` Width of the leading row-number column; if Null the default width is used.
- `rowValueColumnWidth: Int` Width of the row-label value columns; if Null the default width is used.
- `columnFields: [PivotField!]!` List of the field IDs that are reported as pivot columns, beware if depth is very big report generates an Out of size error report
- `aggregationFields: [AggregationField!]!` Value columns aggregated for each cell of the pivot, each with its aggregation operator and optional comparison.
- `isDrilldownEnabled: Boolean!` Whether users can drill down from a pivot cell into the underlying records.
- `drilldownFields: [DisplayFieldItem!]!` List of fields to display as drilldown table

### ViewReportTab (interface)

View settings shared by report tables and pivot tables: frozen panes, chart, computed value fields, history and currency.

- `frozenPanes: FrozenPaneType!` Which leading rows and columns stay frozen while scrolling: none, the first row, the first column, or the first row and column.
- `chart: ReportChart!` Chart configuration for this report tab.
- `reportValueFields: [ReportValueField!]!` Additional value fields computed for the report, such as calculated formula fields, rollup summary fields and converted-currency fields.
- `history: ReportHistory` History configuration when the report tracks field values over time, either as a comparison against specific dates or as a trend over a period.
- `currencyId: UUID!` Identifier of the currency that monetary values in the report are displayed in.

### ViewTableReportTab (object)

View settings of a report table: sorting, grouping, totals, chart and computed value fields.

- `frozenPanes: FrozenPaneType!` Which leading rows and columns stay frozen while scrolling: none, the first row, the first column, or the first row and column.
- `chart: ReportChart!` Chart configuration for this report tab.
- `reportValueFields: [ReportValueField!]!` Additional value fields computed for the report, such as calculated formula fields, rollup summary fields and converted-currency fields.
- `history: ReportHistory` History configuration when the report tracks field values over time, either as a comparison against specific dates or as a trend over a period.
- `currencyId: UUID!` Identifier of the currency that monetary values in the report are displayed in.
- `sortFields: [SortField!]!` Fields the table rows are sorted by, in priority order, each with its sort direction.
- `groupFields: [GroupField!]!` Fields the table rows are grouped by, in nesting order.
- `total: TableReportTotal!` Configuration of the totals rows shown for groups and the whole table.
- `keepLineBreaks: Boolean!` Whether line breaks within text values are preserved when the table is rendered.

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