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

# entities.quote

Read quote records with the quote repository, and change them with the quote mutations. Same records as the REST Quotes entity.

REST: [Quotes](https://developers.coevera.com/reference/rest/quotes.md).

## Queries

- `getById(entityId: ID!): QuoteEntity` Returns the record with the given id, or null when there is none. Deleted records are returned as well.
- `getByIds(entityIds: [ID!]!): [QuoteEntity!]!` 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: QuoteFilterInput, orderBy: [QuoteOrderByInput!], includeDeleted: Boolean): [QuoteEntity!]!` Returns the records that match the filter, paged with limit and offset.
- `getByCriteria(filter: QuoteFilterInput, orderBy: [QuoteOrderByInput!], includeDeleted: Boolean, before: String, after: String, first: Int, last: Int): QuoteEntityConnection` 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.
- `getBySession(includedIds: [UUID!]!, excludedIds: [UUID!]!, sessionId: String!, before: String, after: String, first: Int, last: Int): QuoteEntityConnection` Returns a page of records selected in a list or report: all records of the given result plus the explicitly included ids, minus the excluded ids.
- `getByIdFormatted(id: UUID!, fieldIds: [UUID!]): JSONString` Returns the values of a record's fields formatted for display, keyed by field id.
- `autoPrefill(mappingId: UUID!, entityId: UUID!, targetEntityTypeId: UUID): QuoteEntity!` Returns a new, unsaved record pre-filled from a source record according to a field mapping. Nothing is saved; the returned values can be used as input for create.

## Mutations

- `changeOwnershipQuote(input: ChangeOwnershipQuoteInput!): ChangeOwnershipQuotePayload` Change owner. GraphQL only.
- `manageSharingQuote(input: ManageSharingQuoteInput!): ManageSharingQuotePayload` Change who it is shared with. GraphQL only.
- `restoreQuote(input: RestoreQuoteInput!): RestoreQuotePayload` Restore a deleted record.
- `archiveQuote(input: ArchiveQuoteInput!): ArchiveQuotePayload` Archive. GraphQL only.
- `reactivateQuote(input: ReactivateQuoteInput!): ReactivateQuotePayload` Undo archive. GraphQL only.
- `moveQuote(input: MoveQuoteInput!): MoveQuotePayload` Move to another step. GraphQL only.
- `changePipelineQuote(input: ChangePipelineQuoteInput!): ChangePipelineQuotePayload` Move to another pipeline. GraphQL only.
- `createQuote(input: CreateQuoteInput!, validationLevel: [ValidationLevel!]): CreateQuotePayload` Create one record.
- `updateQuote(input: UpdateQuoteInput!, validationLevel: [ValidationLevel!], sessionIdToUpdate: String): UpdateQuotePayload` Update fields.
- `bulkUpdateQuote(input: [CreateOrUpdateQuoteInput!]!, deleteInput: [DeleteQuoteInput!], validationLevel: [ValidationLevel!], rollbackMethod: RollbackMethod, match: MatchingInput): BulkUpdateQuotePayload` Create or update many; per-item results.
- `deleteQuote(input: DeleteQuoteInput!): DeleteQuotePayload` Soft-delete.
- `bulkArchiveQuote(input: BulkArchiveQuoteInput!): BulkArchiveQuotePayload` Archive many. GraphQL only.
- `bulkReactivateQuote(input: BulkReactivateQuoteInput!): BulkReactivateQuotePayload` Undo archive for many. GraphQL only.
- `bulkMoveQuote(input: BulkMoveQuoteInput!): BulkMoveQuotePayload` Move many to another step. GraphQL only.
- `convertQuote(input: CreateQuoteInput!, sourceEntity: EntityNameEnum!, sourceEntityId: UUID!, operation: RecordConversionOperationEnum!, options: RecordConversionOptions!, sourceEntityApiName: String, validationLevel: [ValidationLevel!]): ConvertQuotePayload` Create from another record. GraphQL only.

## Types

### QuoteEntity (object)

Price offer for a customer, usually prepared from an opportunity, with product line items; it moves through a quote process.

- `customFields: JSONString! (1 args)` Values of the record's custom fields as a JSON object keyed by custom field apiName (camelCase).
- `pendingScheduledActions: Int` Filled only when a single record is read by its id; otherwise null or an empty list.
- `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.
- `currencyExchangeRatesList: CurrencyExchangeRatesListEntity` Currency exchange rate list used to convert monetary fields linked to this quote. Empty to inherit the team space default.
- `oppty: OpportunityEntity` Opportunity this quote was prepared for. Empty for standalone quotes.
- `owner: ClientEntity` Sales user who owns this quote.
- `productCurrency: CurrencyEntity` Currency used for product line-item prices on this quote.
- `productPriceList: ProductPriceListEntity` Product price list used to populate prices for product line items added to this quote. Empty to use catalog defaults.
- `quoteType: QuoteTypeEntity` Quote type that classifies this quote. Each type maps to one quote process and drives which form, fields and stages apply.
- `reasonOfClose: DataEntity` Configurable reason recorded when the quote is archived (lost). Required when the lost form mandates it.
- `step: StepEntity` Quote-process step the quote is currently sitting in. Reaching the last step in the process marks the quote as accepted.
- `unit: SalesUnitEntity` Sales unit this quote is assigned to. Determines which team members can see the record under unit-based sharing.
- `currencyExchangeRatesListId: ID` Id of the currency exchange rate list applied to this quote.
- `description: String` Free-form description of the quote.
- `expirationDate: Date` Date after which the quote is no longer considered valid.
- `isArchived: Boolean` True when the quote has been archived (lost). Archived quotes remain readable but are hidden from active lists and cannot be edited until reactivated.
- `name: String!` Name of the entity and its default text representation.
- `opptyId: ID` Id of the opportunity.
- `ownerId: ID!` Id of the quote owner.
- `productCurrencyId: ID` Id of the currency used for product line-item prices on this quote.
- `productPriceListId: ID` Id of the price list that supplies prices for product line items added to this quote, or empty to use catalog defaults.
- `productSections: [ProductSection!]` Product sections grouping the record's line items, as a JSON array of {"id": <UUID>, "name": <string>} objects. Validated on write.
- `quickAccountEmail: String` Free-text company email captured at quote creation when no Account record has been linked yet.
- `quickAccountName: String` Free-text company name captured at quote creation when no Account record has been linked yet.
- `quickAccountPhone: String` Free-text company phone captured at quote creation when no Account record has been linked yet.
- `quickContactName: String` Free-text contact name captured at quote creation when no Contact record has been linked yet.
- `quickEmail: String` Free-text contact email captured at quote creation when no Contact record has been linked yet.
- `quickPhone: String` Free-text contact phone captured at quote creation when no Contact record has been linked yet.
- `quoteNumber: String` Auto-generated sequential identifier of the quote, used for human-readable reference.
- `quoteTypeId: ID` Id of the quote type that classifies this quote.
- `reasonOfCloseDescription: String` Free-form note explaining why the quote was archived (lost).
- `reasonOfCloseId: ID` Id of the reason of close option selected when the quote was archived (lost).
- `shareMode: ShareModeEnum` Sharing model applied on top of the owner/unit visibility (e.g. shared with selected sales units or selected users). The matching sharingUnits / sharingClients lists control who is granted access.
- `stepId: ID!` Id of the quote-process step.
- `unitId: ID` Id of the sales unit.
- `version: Int` Revision number of the quote, incremented when a new version of the same quote is created.
- `revision: Int` Revision when entity was lastly changed.
- `totalAmount: CurrencyForeignField` Total monetary value of the quote in the team space base currency, with the foreign value and currency code preserved alongside.
- `productRelations: OpptyProductRelationEntityConnection (8 args)` Product line items on this quote. Each entry holds the product, quantity, price and discount that contribute to totalAmount.
- `primaryContact: ContactEntity` Primary contact of this quote. Set automatically from the contact relation marked as primary.
- `primaryAccount: AccountEntity` Primary account of this quote. Set automatically from the account relation marked as primary.
- `contactRelations: QuoteContactRelationEntityConnection (8 args)` Contacts linked to this quote.
- `accountRelations: QuoteAccountRelationEntityConnection (8 args)` Accounts linked to this quote, including the primary-account flag.
- `documents: CloudObjectRelationEntityConnection (8 args)` Documents linked to this quote.
- `sharingUnits: QuoteSharingSalesUnitRelationEntityConnection (8 args)` Sales units that have been granted shared access to this quote. Editable only when shareMode allows unit sharing.
- `sharingClients: QuoteSharingClientRelationEntityConnection (8 args)` Users that have been granted shared access to this quote. Editable only when shareMode allows user sharing.
- `status: QuoteStatusEnum!` Current status of the quote (Open, Lost, Accepted). Read-only; derived from the current step and the archived flag.
- `formattedName: String!` Display version of the quote name, used in lists and references.
- `isFavorite: Boolean!` True when the current authenticated user has marked this quote as favorite. Per-user.
- `isActiveInOpportunity: Boolean` If quote is set as active in opportunity.
- `viewerIdsPerSalesUnit: [UUID!]!` Filled only when a single record is read by its id; otherwise null or an empty list.
- `modifiedByUser: DateTime` Timestamp of the most recent modification made by an end user (excluding system changes). Read-only; computed by Coevera.
- `staticProfiles: ProfileRelationEntityConnection (8 args)` Saved view profiles this quote currently matches.
- `tags: TagRelationEntityConnection (8 args)` Tag labels applied to this quote.
- `instancePermissions: [EntityPermsEnum!]! (1 args)` Permissions the current user has on this record, out of the requested ones.
- `relatedEntitiesDrilldown: CompactViewDrilldownModel! (1 args)` Records of the given entity type that are related to this record, as a drilldown list.
- `charts: [DashboardChartData!] (1 args)` Data of the given preview pane charts and lists, computed for this record.
- `chartsDrilldown: CompactViewDrilldownModel! (3 args)` Records behind one preview pane chart of this record: all records of a list chart, or the records of a single data point of a report chart.
- `fields: [InterfaceFieldData]! (2 args)` Values of the fields shown in the record's preview pane, as configured for the record's type.
- `projectObjectiveActivitiesDrilldown: CompactViewDrilldownModel! (1 args)` Activities of this project linked to the given project objective.
- `stepChecklists: [StepChecklistActivityItem]! (1 args)` Checklist items of the steps of the record's quote process, with the completion state of each item for this record.
- `approval: ApprovalEntity` Approval request of this record that is pending or was rejected; null when there is none or it was approved.

### QuoteEntityConnection (object)

Paginated list of Quote records.

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

### QuoteEntityEdge (object)

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

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

### QuoteFilterInput (input)

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

- `OR: [QuoteFilterInput!]` Matches records that meet at least one of the listed filters.
- `AND: [QuoteFilterInput!]` Matches records that meet all of the listed filters.
- `NOT: QuoteFilterInput` 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.
- `currencyExchangeRatesListId: EntityFilterStringField` Id of the currency exchange rate list applied to this quote.
- `description: EntityFilterStringField` Free-form description of the quote.
- `isArchived: Boolean` True when the quote has been archived (lost). Archived quotes remain readable but are hidden from active lists and cannot be edited until reactivated.
- `name: EntityFilterStringField` Name of the entity and its default text representation.
- `opptyId: EntityFilterStringField` Id of the opportunity.
- `ownerId: EntityFilterStringField` Id of the quote owner.
- `productCurrencyId: EntityFilterStringField` Id of the currency used for product line-item prices on this quote.
- `productPriceListId: EntityFilterStringField` Id of the price list that supplies prices for product line items added to this quote, or empty to use catalog defaults.
- `quickAccountEmail: EntityFilterStringField` Free-text company email captured at quote creation when no Account record has been linked yet.
- `quickAccountName: EntityFilterStringField` Free-text company name captured at quote creation when no Account record has been linked yet.
- `quickAccountPhone: EntityFilterStringField` Free-text company phone captured at quote creation when no Account record has been linked yet.
- `quickContactName: EntityFilterStringField` Free-text contact name captured at quote creation when no Contact record has been linked yet.
- `quickEmail: EntityFilterStringField` Free-text contact email captured at quote creation when no Contact record has been linked yet.
- `quickPhone: EntityFilterStringField` Free-text contact phone captured at quote creation when no Contact record has been linked yet.
- `quoteNumber: EntityFilterStringField` Auto-generated sequential identifier of the quote, used for human-readable reference.
- `quoteTypeId: EntityFilterStringField` Id of the quote type that classifies this quote.
- `reasonOfCloseDescription: EntityFilterStringField` Free-form note explaining why the quote was archived (lost).
- `reasonOfCloseId: EntityFilterStringField` Id of the reason of close option selected when the quote was archived (lost).
- `shareMode: ShareModeEnumFilterInput` Sharing model applied on top of the owner/unit visibility (e.g. shared with selected sales units or selected users). The matching sharingUnits / sharingClients lists control who is granted access.
- `stepId: EntityFilterStringField` Id of the quote-process step.
- `unitId: EntityFilterStringField` Id of the sales unit.
- `version: EntityFilterNumberField` Revision number of the quote, incremented when a new version of the same quote is created.
- `revision: EntityFilterNumberField` Revision when entity was lastly changed.
- `pipelineId: EntityFilterStringField` Id of the quote process the quote runs in. Read-only; derived from the quote type. Useful as a filter when listing quotes by process.
- `status: QuoteStatusEnumFilterInput` Current status of the quote (Open, Lost, Accepted). Read-only; derived from the current step and the archived flag.
- `withCustom: [CustomField!]` Conditions on custom fields, each identified by its api name. All listed conditions must match.
- `currencyExchangeRatesList: CurrencyExchangeRatesListFilterInput` Currency exchange rate list used to convert monetary fields linked to this quote. Empty to inherit the team space default. Matches records where a related record meets these conditions.
- `oppty: OpportunityFilterInput` Opportunity this quote was prepared for. Empty for standalone quotes. Matches records where a related record meets these conditions.
- `owner: ClientFilterInput` Sales user who owns this quote. Matches records where a related record meets these conditions.
- `productCurrency: CurrencyFilterInput` Currency used for product line-item prices on this quote. Matches records where a related record meets these conditions.
- `productPriceList: ProductPriceListFilterInput` Product price list used to populate prices for product line items added to this quote. Empty to use catalog defaults. Matches records where a related record meets these conditions.
- `quoteType: QuoteTypeFilterInput` Quote type that classifies this quote. Each type maps to one quote process and drives which form, fields and stages apply. Matches records where a related record meets these conditions.
- `reasonOfClose: DataFilterInput` Configurable reason recorded when the quote is archived (lost). Required when the lost form mandates it. Matches records where a related record meets these conditions.
- `step: StepFilterInput` Quote-process step the quote is currently sitting in. Reaching the last step in the process marks the quote as accepted. Matches records where a related record meets these conditions.
- `unit: SalesUnitFilterInput` Sales unit this quote is assigned to. Determines which team members can see the record under unit-based sharing. Matches records where a related record meets these conditions.
- `productRelations: OpptyProductRelationFilterInput` Product line items on this quote. Each entry holds the product, quantity, price and discount that contribute to totalAmount. Matches records where a related record meets these conditions.
- `primaryContact: ContactFilterInput` Primary contact of this quote. Set automatically from the contact relation marked as primary. Matches records where a related record meets these conditions.
- `primaryAccount: AccountFilterInput` Primary account of this quote. Set automatically from the account relation marked as primary. Matches records where a related record meets these conditions.
- `contactRelations: QuoteContactRelationFilterInput` Contacts linked to this quote. Matches records where a related record meets these conditions.
- `accountRelations: QuoteAccountRelationFilterInput` Accounts linked to this quote, including the primary-account flag. Matches records where a related record meets these conditions.
- `documents: CloudObjectRelationFilterInput` Documents linked to this quote. Matches records where a related record meets these conditions.
- `sharingUnits: QuoteSharingSalesUnitRelationFilterInput` Sales units that have been granted shared access to this quote. Editable only when shareMode allows unit sharing. Matches records where a related record meets these conditions.
- `sharingClients: QuoteSharingClientRelationFilterInput` Users that have been granted shared access to this quote. Editable only when shareMode allows user sharing. Matches records where a related record meets these conditions.
- `staticProfiles: ProfileRelationFilterInput` Saved view profiles this quote currently matches. Matches records where a related record meets these conditions.
- `tags: TagRelationFilterInput` Tag labels applied to this quote. Matches records where a related record meets these conditions.

### QuoteOrderByInput (input)

Sorting of Quote 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.
- `currencyExchangeRatesList: [CurrencyExchangeRatesListOrderByNestedInput!]` Currency exchange rate list used to convert monetary fields linked to this quote. Empty to inherit the team space default. Sorts by fields of the related record, listed in order of priority.
- `oppty: [OpportunityOrderByNestedInput!]` Opportunity this quote was prepared for. Empty for standalone quotes. Sorts by fields of the related record, listed in order of priority.
- `owner: [ClientOrderByNestedInput!]` Sales user who owns this quote. Sorts by fields of the related record, listed in order of priority.
- `productPriceList: [ProductPriceListOrderByNestedInput!]` Product price list used to populate prices for product line items added to this quote. Empty to use catalog defaults. Sorts by fields of the related record, listed in order of priority.
- `quoteType: [QuoteTypeOrderByNestedInput!]` Quote type that classifies this quote. Each type maps to one quote process and drives which form, fields and stages apply. Sorts by fields of the related record, listed in order of priority.
- `reasonOfClose: [DataOrderByNestedInput!]` Configurable reason recorded when the quote is archived (lost). Required when the lost form mandates it. Sorts by fields of the related record, listed in order of priority.
- `step: [StepOrderByNestedInput!]` Quote-process step the quote is currently sitting in. Reaching the last step in the process marks the quote as accepted. Sorts by fields of the related record, listed in order of priority.
- `unit: [SalesUnitOrderByNestedInput!]` Sales unit this quote is assigned to. Determines which team members can see the record under unit-based sharing. Sorts by fields of the related record, listed in order of priority.
- `currencyExchangeRatesListId: OrderByEnum` Id of the currency exchange rate list applied to this quote.
- `description: OrderByEnum` Free-form description of the quote.
- `expirationDate: OrderByEnum` Date after which the quote is no longer considered valid.
- `isArchived: OrderByEnum` True when the quote has been archived (lost). Archived quotes remain readable but are hidden from active lists and cannot be edited until reactivated.
- `name: OrderByEnum` Name of the entity and its default text representation.
- `opptyId: OrderByEnum` Id of the opportunity.
- `ownerId: OrderByEnum` Id of the quote owner.
- `productPriceListId: OrderByEnum` Id of the price list that supplies prices for product line items added to this quote, or empty to use catalog defaults.
- `quickAccountEmail: OrderByEnum` Free-text company email captured at quote creation when no Account record has been linked yet.
- `quickAccountName: OrderByEnum` Free-text company name captured at quote creation when no Account record has been linked yet.
- `quickAccountPhone: OrderByEnum` Free-text company phone captured at quote creation when no Account record has been linked yet.
- `quickContactName: OrderByEnum` Free-text contact name captured at quote creation when no Contact record has been linked yet.
- `quickEmail: OrderByEnum` Free-text contact email captured at quote creation when no Contact record has been linked yet.
- `quickPhone: OrderByEnum` Free-text contact phone captured at quote creation when no Contact record has been linked yet.
- `quoteNumber: OrderByEnum` Auto-generated sequential identifier of the quote, used for human-readable reference.
- `quoteTypeId: OrderByEnum` Id of the quote type that classifies this quote.
- `reasonOfCloseDescription: OrderByEnum` Free-form note explaining why the quote was archived (lost).
- `reasonOfCloseId: OrderByEnum` Id of the reason of close option selected when the quote was archived (lost).
- `shareMode: OrderByEnum` Sharing model applied on top of the owner/unit visibility (e.g. shared with selected sales units or selected users). The matching sharingUnits / sharingClients lists control who is granted access.
- `stepId: OrderByEnum` Id of the quote-process step.
- `unitId: OrderByEnum` Id of the sales unit.
- `version: OrderByEnum` Revision number of the quote, incremented when a new version of the same quote is created.
- `revision: OrderByEnum` Revision when entity was lastly changed.
- `totalAmount: OrderByEnum` Total monetary value of the quote in the team space base currency, with the foreign value and currency code preserved alongside.
- `status: OrderByEnum` Current status of the quote (Open, Lost, Accepted). Read-only; derived from the current step and the archived flag.
- `withCustom: CommonEntityRepositoryOrderByCustomField` Sorts by a custom field.

### QuoteStatusEnumFilterInput (input)

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

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

### ArchiveQuoteInput (input)

Parameters of the archiveQuote mutation.

- `entity: UpdateQuoteInput!` Id of the quote and optional field values to save together with the archive.
- `completeActivityIds: [UUID!]` Ids of tasks linked to the quote, or to an opportunity archived with it, to mark as completed.
- `archiveOpportunityIds: [UUID!]` Archives the quote's opportunity when its id is listed and it is still open; other ids are ignored.
- `completeAllRelatedOpportunitiesTasks: Boolean` Marks all tasks of the quote's opportunity as completed.
- `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).

### BulkArchiveQuoteInput (input)

Parameters of the bulkArchiveQuote mutation.

- `bulkFilter: BulkOperationInput!` Quotes to archive: includedIds minus excludedIds. Integrations can leave sessionId empty.
- `entity: CreateOrUpdateQuoteInput!` Field values saved on every archived quote.
- `completeActivityIds: [UUID!]` Ids of linked tasks to mark as completed.
- `archiveOpportunityIds: [UUID!]` Opportunities of these quotes to archive when still open.
- `completeAllRelatedOpportunitiesTasks: Boolean` Marks all tasks of each quote's opportunity as completed.
- `rollbackMethod: RollbackMethod` ROLLBACK_ALL fails the whole request when any item fails; ROLLBACK_FAILED skips only the failed items and reports them in errors.
- `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).

### BulkMoveQuoteInput (input)

Parameters of the bulkMoveQuote mutation.

- `bulkFilter: BulkOperationInput!` Quotes to move: includedIds minus excludedIds. Integrations can leave sessionId empty.
- `entity: CreateOrUpdateQuoteInput!` Target step (stepId) and field values applied to every quote.
- `completeActivityIds: [UUID!]` Ids of linked tasks to mark as completed.
- `winOpportunityIds: [UUID!]` Opportunities of these quotes to move to their won step when still open.
- `archiveQuoteIds: [UUID!]` Ids of other quotes of the same opportunities to archive.
- `rollbackMethod: RollbackMethod` ROLLBACK_ALL fails the whole request when any item fails; ROLLBACK_FAILED skips only the failed items and reports them in errors.
- `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).

### BulkReactivateQuoteInput (input)

Parameters of the bulkReactivateQuote mutation.

- `bulkFilter: BulkOperationInput!` Quotes to reactivate: includedIds minus excludedIds. Integrations can leave sessionId empty.
- `expirationDate: Date` New expiration date set on every reactivated quote; when empty, each quote keeps its current expiration date.
- `rollbackMethod: RollbackMethod` ROLLBACK_ALL fails the whole request when any item fails; ROLLBACK_FAILED skips only the failed items and reports them in errors.
- `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).

### ChangeOwnershipQuoteInput (input)

Parameters of the changeOwnershipQuote mutation.

- `ownerId: ID!` User who becomes the new owner of the quote.
- `unitId: ID!` Sales unit the quote is assigned to.
- `keepOwnerAsEditor: Boolean!` When true, the previous owner (if still an active user) stays on the quote as a shared user with the Editor role, and a Private sharing mode is switched to Standard.
- `transferLinkedRecords: Boolean!` When true, the new owner and sales unit are also applied to the quote's open tasks and appointments, its notes, its linked contacts and accounts and its opportunity. Linked records that cannot be transferred are skipped without failing the mutation.
- `id: ID!` Identifier of the QuoteEntity to perform the action on.
- `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).

### ChangePipelineQuoteInput (input)

Parameters of the changePipelineQuote mutation.

- `entity: UpdateQuoteInput!` Id of the quote, the target stepId, an optional new ownerId or unitId, and any other field values to save.
- `keepOwnerAsEditor: Boolean!` Adds the previous owner as an editor of the quote; a private quote becomes shared.
- `transferLinkedRecords: Boolean!` Gives the new owner the quote's open activities and its notes.
- `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).

### CreateOrUpdateQuoteInput (input)

Field values of a Quote 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.
- `currencyExchangeRatesListId: ID` Id of the currency exchange rate list applied to this quote.
- `description: String` Free-form description of the quote.
- `expirationDate: Date` Date after which the quote is no longer considered valid.
- `isArchived: Boolean` True when the quote has been archived (lost). Archived quotes remain readable but are hidden from active lists and cannot be edited until reactivated.
- `name: String` Name of the entity and its default text representation.
- `opptyId: ID` Id of the opportunity.
- `ownerId: ID` Id of the quote owner.
- `productCurrencyId: ID` Id of the currency used for product line-item prices on this quote.
- `productPriceListId: ID` Id of the price list that supplies prices for product line items added to this quote, or empty to use catalog defaults.
- `productSections: JSONString` Product sections grouping the record's line items, as a JSON array of {"id": <UUID>, "name": <string>} objects. Validated on write.
- `quickAccountEmail: String` Free-text company email captured at quote creation when no Account record has been linked yet.
- `quickAccountName: String` Free-text company name captured at quote creation when no Account record has been linked yet.
- `quickAccountPhone: String` Free-text company phone captured at quote creation when no Account record has been linked yet.
- `quickContactName: String` Free-text contact name captured at quote creation when no Contact record has been linked yet.
- `quickEmail: String` Free-text contact email captured at quote creation when no Contact record has been linked yet.
- `quickPhone: String` Free-text contact phone captured at quote creation when no Contact record has been linked yet.
- `quoteTypeId: ID` Id of the quote type that classifies this quote.
- `reasonOfCloseDescription: String` Free-form note explaining why the quote was archived (lost).
- `reasonOfCloseId: ID` Id of the reason of close option selected when the quote was archived (lost).
- `shareMode: ShareModeEnum` Sharing model applied on top of the owner/unit visibility (e.g. shared with selected sales units or selected users). The matching sharingUnits / sharingClients lists control who is granted access.
- `stepId: ID` Id of the quote-process step.
- `unitId: ID` Id of the sales unit.
- `version: Int` Revision number of the quote, incremented when a new version of the same quote is created.
- `customFields: JSONString` Custom field values to set, as a JSON object keyed by custom field API name, e.g. {"cfBudget": 1000}. Only the custom fields included are changed; each value uses the format of that field.
- `revision: Int` Revision when entity was lastly changed.
- `totalAmount: CurrencyForeignFieldInput` Total monetary value of the quote in the team space base currency, with the foreign value and currency code preserved alongside.
- `productRelations: [CreateOrUpdateOpptyProductRelationNoBackrefInput!]` Product line items on this quote. Each entry holds the product, quantity, price and discount that contribute to totalAmount.
- `contactRelations: [CreateQuoteContactRelationNoQuoteBackrefInput!]` Contacts linked to this quote.
- `accountRelations: [CreateQuoteAccountRelationNoQuoteBackrefInput!]` Accounts linked to this quote, including the primary-account flag.
- `documents: [CreateCloudObjectRelationNoBackrefInput!]` Documents linked to this quote.
- `sharingUnits: [CreateQuoteSharingSalesUnitRelationNoQuoteBackrefInput!]` Sales units that have been granted shared access to this quote. Editable only when shareMode allows unit sharing.
- `sharingClients: [CreateQuoteSharingClientRelationNoQuoteBackrefInput!]` Users that have been granted shared access to this quote. Editable only when shareMode allows user sharing.
- `isActiveInOpportunity: Boolean` If quote is set as active in opportunity.
- `staticProfiles: [CreateProfileRelationNoQuoteBackrefInput!]` Saved view profiles this quote currently matches.
- `tags: [CreateTagRelationNoQuoteBackrefInput!]` Tag labels applied to this quote.

### CreateProfileRelationNoQuoteBackrefInput (input)

Field values of a new ProfileRelation record, created together with the record it belongs to.

- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `accountId: ID` Id of the linked account.
- `contactId: ID` Id of the linked contact.
- `customEntityId: ID` Id of the linked custom entity record.
- `leadOpptyId: ID` Id of the linked lead or opportunity, or empty when not pointing to one.
- `profileId: ID!` Id of the screen profile.
- `projectId: ID` Id of the linked project.

### CreateQuoteAccountRelationNoQuoteBackrefInput (input)

Field values of a new QuoteAccountRelation record, created together with the record it belongs to.

- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `accountId: ID!` Id of the account linked to this quote.
- `isPrimary: Boolean!` True for the row that represents the primary related entity for this record. Setting isPrimary to true on a row automatically clears it on any other primary row.
- `revision: Int` Revision when entity was lastly changed.

### CreateQuoteContactRelationNoQuoteBackrefInput (input)

Field values of a new QuoteContactRelation record, created together with the record it belongs to.

- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `contactId: ID!` Id of the contact linked to this quote.
- `isPrimary: Boolean!` True for the row that represents the primary related entity for this record. Setting isPrimary to true on a row automatically clears it on any other primary row.
- `revision: Int` Revision when entity was lastly changed.

### CreateQuoteInput (input)

Field values of a new Quote 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.
- `currencyExchangeRatesListId: ID` Id of the currency exchange rate list applied to this quote.
- `description: String` Free-form description of the quote.
- `expirationDate: Date` Date after which the quote is no longer considered valid.
- `isArchived: Boolean` True when the quote has been archived (lost). Archived quotes remain readable but are hidden from active lists and cannot be edited until reactivated.
- `name: String!` Name of the entity and its default text representation.
- `opptyId: ID` Id of the opportunity.
- `ownerId: ID!` Id of the quote owner.
- `productCurrencyId: ID` Id of the currency used for product line-item prices on this quote.
- `productPriceListId: ID` Id of the price list that supplies prices for product line items added to this quote, or empty to use catalog defaults.
- `productSections: JSONString` Product sections grouping the record's line items, as a JSON array of {"id": <UUID>, "name": <string>} objects. Validated on write.
- `quickAccountEmail: String` Free-text company email captured at quote creation when no Account record has been linked yet.
- `quickAccountName: String` Free-text company name captured at quote creation when no Account record has been linked yet.
- `quickAccountPhone: String` Free-text company phone captured at quote creation when no Account record has been linked yet.
- `quickContactName: String` Free-text contact name captured at quote creation when no Contact record has been linked yet.
- `quickEmail: String` Free-text contact email captured at quote creation when no Contact record has been linked yet.
- `quickPhone: String` Free-text contact phone captured at quote creation when no Contact record has been linked yet.
- `quoteTypeId: ID` Id of the quote type that classifies this quote.
- `reasonOfCloseDescription: String` Free-form note explaining why the quote was archived (lost).
- `reasonOfCloseId: ID` Id of the reason of close option selected when the quote was archived (lost).
- `shareMode: ShareModeEnum` Sharing model applied on top of the owner/unit visibility (e.g. shared with selected sales units or selected users). The matching sharingUnits / sharingClients lists control who is granted access.
- `stepId: ID!` Id of the quote-process step.
- `unitId: ID` Id of the sales unit.
- `version: Int` Revision number of the quote, incremented when a new version of the same quote is created.
- `customFields: JSONString` Custom field values to set, as a JSON object keyed by custom field API name, e.g. {"cfBudget": 1000}. Only the custom fields included are changed; each value uses the format of that field.
- `revision: Int` Revision when entity was lastly changed.
- `totalAmount: CurrencyForeignFieldInput` Total monetary value of the quote in the team space base currency, with the foreign value and currency code preserved alongside.
- `productRelations: [CreateOpptyProductRelationNoBackrefInput!]` Product line items on this quote. Each entry holds the product, quantity, price and discount that contribute to totalAmount.
- `contactRelations: [CreateQuoteContactRelationNoQuoteBackrefInput!]` Contacts linked to this quote.
- `accountRelations: [CreateQuoteAccountRelationNoQuoteBackrefInput!]` Accounts linked to this quote, including the primary-account flag.
- `documents: [CreateCloudObjectRelationNoBackrefInput!]` Documents linked to this quote.
- `sharingUnits: [CreateQuoteSharingSalesUnitRelationNoQuoteBackrefInput!]` Sales units that have been granted shared access to this quote. Editable only when shareMode allows unit sharing.
- `sharingClients: [CreateQuoteSharingClientRelationNoQuoteBackrefInput!]` Users that have been granted shared access to this quote. Editable only when shareMode allows user sharing.
- `isActiveInOpportunity: Boolean` If quote is set as active in opportunity.
- `staticProfiles: [CreateProfileRelationNoQuoteBackrefInput!]` Saved view profiles this quote currently matches.
- `tags: [CreateTagRelationNoQuoteBackrefInput!]` Tag labels applied to this quote.

### CreateQuoteSharingClientRelationNoQuoteBackrefInput (input)

Field values of a new QuoteSharingClientRelation record, created together with the record it belongs to.

- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `clientId: ID!` Id of the user.
- `role: SharingRoleEnum` Access the sharing gives the user on the quote: Watcher can view it, Editor can view and edit it.
- `revision: Int` Revision when entity was lastly changed.

### CreateQuoteSharingSalesUnitRelationNoQuoteBackrefInput (input)

Field values of a new QuoteSharingSalesUnitRelation record, created together with the record it belongs to.

- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `role: SharingRoleEnum` Access the sharing gives the sales unit on the quote: Watcher can view it, Editor can view and edit it.
- `unitId: ID!` Id of the sales unit.
- `revision: Int` Revision when entity was lastly changed.

### CreateTagRelationNoQuoteBackrefInput (input)

Field values of a new TagRelation record, created together with the record it belongs to.

- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `accountId: ID` Id of the linked account.
- `appointmentId: ID` Id of the linked appointment.
- `contactId: ID` Id of the linked contact.
- `customEntityId: ID` Id of the linked custom entity record.
- `emailId: ID` Id of the linked email.
- `leadId: ID` Id of the linked lead.
- `opptyId: ID` Id of the linked opportunity.
- `processId: ID` Id of the linked sales process.
- `projectId: ID` Id of the linked project.
- `solutionId: ID` Id of the linked solution.
- `tagId: ID!` Id of the tag attached to the record.
- `taskId: ID` Id of the linked task.
- `revision: Int` Revision when entity was lastly changed.

### DeleteQuoteInput (input)

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

### ManageSharingQuoteInput (input)

Parameters of the manageSharingQuote mutation.

- `shareMode: ShareModeEnum!` Sharing mode of the record: Standard, Private, AllView or AllEdit.
- `sharingClients: [CreateQuoteSharingClientRelationNoQuoteBackrefInput!]` Users the record is shared with, each with the Watcher (view) or Editor (edit) role. Send an empty list to remove all shared users.
- `sharingUnits: [CreateQuoteSharingSalesUnitRelationNoQuoteBackrefInput!]` Sales units the record is shared with, each with the Watcher or Editor role. Send an empty list to remove all shared units.
- `id: ID!` Identifier of the QuoteEntity to perform the action on.
- `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).

### MoveQuoteInput (input)

Parameters of the moveQuote mutation.

- `entity: UpdateQuoteInput!` Id of the quote, the target step (stepId) and any field values to save with the move.
- `completeActivityIds: [UUID!]` Ids of tasks linked to the quote or affected records to mark as completed.
- `winOpportunityIds: [UUID!]` Moves the quote's opportunity to its won step when its id is listed and it is still open; other ids are ignored.
- `archiveQuoteIds: [UUID!]` Ids of other quotes of the same opportunity to archive.
- `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).

### ReactivateQuoteInput (input)

Parameters of the reactivateQuote mutation.

- `id: UUID!` Id of the archived quote.
- `closingDate: Date` New expiration date of the quote; when empty, the current expiration date is kept.
- `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).

### RestoreQuoteInput (input)

Parameters of the restoreQuote mutation.

- `id: ID!` Identifier of the QuoteEntity to perform the action on.
- `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).

### UpdateQuoteInput (input)

Id of a Quote 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.
- `currencyExchangeRatesListId: ID` Id of the currency exchange rate list applied to this quote.
- `description: String` Free-form description of the quote.
- `expirationDate: Date` Date after which the quote is no longer considered valid.
- `isArchived: Boolean` True when the quote has been archived (lost). Archived quotes remain readable but are hidden from active lists and cannot be edited until reactivated.
- `name: String` Name of the entity and its default text representation.
- `opptyId: ID` Id of the opportunity.
- `ownerId: ID` Id of the quote owner.
- `productCurrencyId: ID` Id of the currency used for product line-item prices on this quote.
- `productPriceListId: ID` Id of the price list that supplies prices for product line items added to this quote, or empty to use catalog defaults.
- `productSections: JSONString` Product sections grouping the record's line items, as a JSON array of {"id": <UUID>, "name": <string>} objects. Validated on write.
- `quickAccountEmail: String` Free-text company email captured at quote creation when no Account record has been linked yet.
- `quickAccountName: String` Free-text company name captured at quote creation when no Account record has been linked yet.
- `quickAccountPhone: String` Free-text company phone captured at quote creation when no Account record has been linked yet.
- `quickContactName: String` Free-text contact name captured at quote creation when no Contact record has been linked yet.
- `quickEmail: String` Free-text contact email captured at quote creation when no Contact record has been linked yet.
- `quickPhone: String` Free-text contact phone captured at quote creation when no Contact record has been linked yet.
- `quoteTypeId: ID` Id of the quote type that classifies this quote.
- `reasonOfCloseDescription: String` Free-form note explaining why the quote was archived (lost).
- `reasonOfCloseId: ID` Id of the reason of close option selected when the quote was archived (lost).
- `shareMode: ShareModeEnum` Sharing model applied on top of the owner/unit visibility (e.g. shared with selected sales units or selected users). The matching sharingUnits / sharingClients lists control who is granted access.
- `stepId: ID` Id of the quote-process step.
- `unitId: ID` Id of the sales unit.
- `version: Int` Revision number of the quote, incremented when a new version of the same quote is created.
- `customFields: JSONString` Custom field values to set, as a JSON object keyed by custom field API name, e.g. {"cfBudget": 1000}. Only the custom fields included are changed; each value uses the format of that field.
- `revision: Int` Revision when entity was lastly changed.
- `totalAmount: CurrencyForeignFieldInput` Total monetary value of the quote in the team space base currency, with the foreign value and currency code preserved alongside.
- `productRelations: [CreateOrUpdateOpptyProductRelationNoBackrefInput!]` Product line items on this quote. Each entry holds the product, quantity, price and discount that contribute to totalAmount.
- `contactRelations: [CreateQuoteContactRelationNoQuoteBackrefInput!]` Contacts linked to this quote.
- `accountRelations: [CreateQuoteAccountRelationNoQuoteBackrefInput!]` Accounts linked to this quote, including the primary-account flag.
- `documents: [CreateCloudObjectRelationNoBackrefInput!]` Documents linked to this quote.
- `sharingUnits: [CreateQuoteSharingSalesUnitRelationNoQuoteBackrefInput!]` Sales units that have been granted shared access to this quote. Editable only when shareMode allows unit sharing.
- `sharingClients: [CreateQuoteSharingClientRelationNoQuoteBackrefInput!]` Users that have been granted shared access to this quote. Editable only when shareMode allows user sharing.
- `isActiveInOpportunity: Boolean` If quote is set as active in opportunity.
- `staticProfiles: [CreateProfileRelationNoQuoteBackrefInput!]` Saved view profiles this quote currently matches.
- `tags: [CreateTagRelationNoQuoteBackrefInput!]` Tag labels applied to this quote.

### ArchiveQuotePayload (object)

Result of the archiveQuote mutation.

- `result: QuoteEntity` The archived quote.
- `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).

### BulkArchiveQuotePayload (object)

Result of the bulkArchiveQuote mutation.

- `result: BulkUpdateResults!` Ids of the archived quotes and the items that failed.
- `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).

### BulkMoveQuotePayload (object)

Result of the bulkMoveQuote mutation.

- `result: BulkUpdateResults!` Ids of the moved quotes and the items that failed.
- `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).

### BulkReactivateQuotePayload (object)

Result of the bulkReactivateQuote mutation.

- `result: BulkUpdateResults!` Ids of the reactivated quotes and the items that failed.
- `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).

### BulkUpdateQuotePayload (object)

Result of the bulkUpdateQuote mutation.

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

### ChangeOwnershipQuotePayload (object)

Result of the changeOwnershipQuote mutation.

- `result: QuoteEntity` The quote with its new owner.
- `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).

### ChangePipelineQuotePayload (object)

Result of the changePipelineQuote mutation.

- `result: QuoteEntity` The updated quote.
- `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).

### ConvertQuotePayload (object)

Result of the convertQuote mutation.

- `quote: QuoteEntity!` 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).

### CreateQuotePayload (object)

Result of the createQuote mutation.

- `quote: QuoteEntity` 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).

### DeleteQuotePayload (object)

Result of the deleteQuote mutation.

- `quote: QuoteEntity` 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).

### ManageSharingQuotePayload (object)

Result of the manageSharingQuote mutation.

- `result: QuoteEntity` The record with its updated sharing.
- `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).

### MoveQuotePayload (object)

Result of the moveQuote mutation.

- `result: QuoteEntity` The moved quote.
- `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).

### ReactivateQuotePayload (object)

Result of the reactivateQuote mutation.

- `result: QuoteEntity` The reactivated quote.
- `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).

### RestoreQuotePayload (object)

Result of the restoreQuote mutation.

- `result: QuoteEntity` The restored 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).

### UpdateQuotePayload (object)

Result of the updateQuote mutation.

- `quote: QuoteEntity` 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).

### QuoteStatusEnum (enum)

Status of a quote.

- `Open` The quote is active.
- `Lost` The quote was archived without being accepted.
- `Accepted` The quote reached the last step of its quote process.

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

## Examples of each operation

Built from the schema and checked against it; replace the placeholders, such as `<quote id>`, with values from your space.

### getById

```graphql
query QuoteGetById {
  entities {
    quote {
      getById(entityId: "<quote id>") {
        id
        name
        formattedName
        modified
      }
    }
  }
}
```

### getByIds

```graphql
query QuoteGetByIds {
  entities {
    quote {
      getByIds(entityIds: ["<quote id>"]) {
        id
        name
        formattedName
        modified
      }
    }
  }
}
```

### getAll

```graphql
query QuoteGetAll {
  entities {
    quote {
      getAll(limit: 10) {
        id
        name
        formattedName
        modified
      }
    }
  }
}
```

### getByCriteria

```graphql
query QuoteGetByCriteria {
  entities {
    quote {
      getByCriteria(first: 10) {
        totalCount
        edges {
          node {
            id
            name
            formattedName
            modified
          }
        }
        pageInfo {
          hasNextPage
          endCursor
        }
      }
    }
  }
}
```

### getChangedFieldsSinceRevision

```graphql
query QuoteGetChangedFieldsSinceRevision {
  entities {
    quote {
      getChangedFieldsSinceRevision(id: "<quote id>", revision: 10)
    }
  }
}
```

### getBySession

```graphql
query QuoteGetBySession {
  entities {
    quote {
      getBySession(
        includedIds: ["<quote id>"]
        excludedIds: ["<quote id>"]
        sessionId: "<session id>"
        first: 10
      ) {
        totalCount
        edges {
          node {
            id
            name
            formattedName
            modified
          }
        }
        pageInfo {
          hasNextPage
          endCursor
        }
      }
    }
  }
}
```

### getByIdFormatted

```graphql
query QuoteGetByIdFormatted {
  entities {
    quote {
      getByIdFormatted(id: "<quote id>")
    }
  }
}
```

### autoPrefill

```graphql
query QuoteAutoPrefill {
  entities {
    quote {
      autoPrefill(mappingId: "<mapping id>", entityId: "<quote id>") {
        id
        name
        formattedName
        modified
      }
    }
  }
}
```

### changeOwnershipQuote

```graphql
mutation ChangeOwnershipQuote {
  changeOwnershipQuote(
    input: {ownerId: "<owner id>", unitId: "<unit id>", keepOwnerAsEditor: false, transferLinkedRecords: false, id: "<quote id>"}
  ) {
    result {
      id
      name
      formattedName
      modified
    }
  }
}
```

### manageSharingQuote

```graphql
mutation ManageSharingQuote {
  manageSharingQuote(input: {shareMode: Standard, id: "<quote id>"}) {
    result {
      id
      name
      formattedName
      modified
    }
  }
}
```

### restoreQuote

```graphql
mutation RestoreQuote {
  restoreQuote(input: {id: "<quote id>"}) {
    result {
      id
      name
      formattedName
      modified
    }
  }
}
```

### archiveQuote

```graphql
mutation ArchiveQuote {
  archiveQuote(input: {entity: {id: "<quote id>"}}) {
    result {
      id
      name
      formattedName
      modified
    }
  }
}
```

### reactivateQuote

```graphql
mutation ReactivateQuote {
  reactivateQuote(input: {id: "<quote id>"}) {
    result {
      id
      name
      formattedName
      modified
    }
  }
}
```

### moveQuote

```graphql
mutation MoveQuote {
  moveQuote(input: {entity: {id: "<quote id>"}}) {
    result {
      id
      name
      formattedName
      modified
    }
  }
}
```

### changePipelineQuote

```graphql
mutation ChangePipelineQuote {
  changePipelineQuote(
    input: {entity: {id: "<quote id>"}, keepOwnerAsEditor: false, transferLinkedRecords: false}
  ) {
    result {
      id
      name
      formattedName
      modified
    }
  }
}
```

### createQuote

```graphql
mutation CreateQuote {
  createQuote(
    input: {name: "Northwind Analytics", ownerId: "<owner id>", stepId: "<step id>"}
  ) {
    quote {
      id
      name
      formattedName
      modified
    }
  }
}
```

### updateQuote

```graphql
mutation UpdateQuote {
  updateQuote(input: {id: "<quote id>"}) {
    quote {
      id
      name
      formattedName
      modified
    }
  }
}
```

### bulkUpdateQuote

```graphql
mutation BulkUpdateQuote {
  bulkUpdateQuote(input: [{id: "<quote id>"}]) {
    result {
      created {
        id
      }
      errors {
        index
        code
        message
        entityId
      }
      updated
      deleted
      errorsOnDelete {
        index
        code
        message
        entityId
      }
    }
  }
}
```

### deleteQuote

```graphql
mutation DeleteQuote {
  deleteQuote(input: {id: "<quote id>"}) {
    quote {
      id
      name
      formattedName
      modified
    }
  }
}
```

### bulkArchiveQuote

```graphql
mutation BulkArchiveQuote {
  bulkArchiveQuote(
    input: {bulkFilter: {includedIds: ["<quote id>"]}, entity: {id: "<quote id>"}}
  ) {
    result {
      created {
        id
      }
      errors {
        index
        code
        message
        entityId
      }
      updated
      deleted
      errorsOnDelete {
        index
        code
        message
        entityId
      }
    }
  }
}
```

### bulkReactivateQuote

```graphql
mutation BulkReactivateQuote {
  bulkReactivateQuote(input: {bulkFilter: {includedIds: ["<quote id>"]}}) {
    result {
      created {
        id
      }
      errors {
        index
        code
        message
        entityId
      }
      updated
      deleted
      errorsOnDelete {
        index
        code
        message
        entityId
      }
    }
  }
}
```

### bulkMoveQuote

```graphql
mutation BulkMoveQuote {
  bulkMoveQuote(
    input: {bulkFilter: {includedIds: ["<quote id>"]}, entity: {id: "<quote id>"}}
  ) {
    result {
      created {
        id
      }
      errors {
        index
        code
        message
        entityId
      }
      updated
      deleted
      errorsOnDelete {
        index
        code
        message
        entityId
      }
    }
  }
}
```

### convertQuote

```graphql
mutation ConvertQuote {
  convertQuote(
    input: {name: "Northwind Analytics", ownerId: "<owner id>", stepId: "<step id>"}
    sourceEntity: AiAgent
    sourceEntityId: "<source entity id>"
    operation: Nothing
    options: {}
  ) {
    quote {
      id
      name
      formattedName
      modified
    }
  }
}
```
