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

# entities.contact

Read contact records with the contact repository, and change them with the contact mutations. Same records as the REST Contacts entity.

REST: [Contacts](https://developers.coevera.com/reference/rest/contacts.md).

## Queries

- `getById(entityId: ID!): ContactEntity` Returns the record with the given id, or null when there is none. Deleted records are returned as well.
- `getByIds(entityIds: [ID!]!): [ContactEntity!]!` 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: ContactFilterInput, orderBy: [ContactOrderByInput!], includeDeleted: Boolean): [ContactEntity!]!` Returns the records that match the filter, paged with limit and offset.
- `getByCriteria(filter: ContactFilterInput, orderBy: [ContactOrderByInput!], includeDeleted: Boolean, before: String, after: String, first: Int, last: Int): ContactEntityConnection` 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): ContactEntityConnection` 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.
- `getRelatedToAccount(limit: Int, offset: Int, filter: ContactFilterInput, orderBy: [ContactOrderByInput!], accountId: UUID, filterByName: String): [ContactEntity!]!` Returns the contacts linked to the given account, optionally narrowed by name.
- `autoPrefill(mappingId: UUID!, entityId: UUID!, targetEntityTypeId: UUID): ContactEntity!` 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.
- `aiAutoPrefill(actionId: String!): ContactAutoPrefill!` Returns an unsaved record pre-filled with the values proposed by an AI record suggestion, together with the fields the suggestion filled in.

## Mutations

- `changeOwnershipContact(input: ChangeOwnershipContactInput!): ChangeOwnershipContactPayload` Change owner. GraphQL only.
- `manageSharingContact(input: ManageSharingContactInput!): ManageSharingContactPayload` Change who it is shared with. GraphQL only.
- `restoreContact(input: RestoreContactInput!): RestoreContactPayload` Restore a deleted record.
- `copyContact(input: CopyContactInput!): CopyContactPayload` Copy a record. GraphQL only.
- `mergeContact(input: MergeContactInput!): MergeContactPayload` Merge duplicates.
- `archiveContact(input: ArchiveContactInput!): ArchiveContactPayload` Archive. GraphQL only.
- `reactivateContact(input: ReactivateContactInput!): ReactivateContactPayload` Undo archive. GraphQL only.
- `createContact(input: CreateContactInput!, validationLevel: [ValidationLevel!]): CreateContactPayload` Create one record.
- `updateContact(input: UpdateContactInput!, validationLevel: [ValidationLevel!], sessionIdToUpdate: String): UpdateContactPayload` Update fields.
- `bulkUpdateContact(input: [CreateOrUpdateContactInput!]!, deleteInput: [DeleteContactInput!], validationLevel: [ValidationLevel!], rollbackMethod: RollbackMethod, match: MatchingInput): BulkUpdateContactPayload` Create or update many; per-item results.
- `deleteContact(input: DeleteContactInput!): DeleteContactPayload` Soft-delete.
- `bulkArchiveContact(input: BulkArchiveContactInput!): BulkArchiveContactPayload` Archive many. GraphQL only.
- `bulkReactivateContact(input: BulkReactivateContactInput!): BulkReactivateContactPayload` Undo archive for many. GraphQL only.
- `convertContact(input: CreateContactInput!, sourceEntity: EntityNameEnum!, sourceEntityId: UUID!, operation: RecordConversionOperationEnum!, options: RecordConversionOptions!, sourceEntityApiName: String, validationLevel: [ValidationLevel!]): ConvertContactPayload` Create from another record. GraphQL only.

## Types

### ContactEntity (object)

Person the sales team works with, usually linked to one or more accounts, leads and opportunities.

- `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.
- `contactType: ContactTypeEntity` Contact type that classifies this contact. Contact types are configurable per team space and drive which form, fields and pipelines apply.
- `currencyExchangeRatesList: CurrencyExchangeRatesListEntity` Currency exchange rate list used to convert monetary fields linked to this contact. Empty to inherit the team space default.
- `owner: ClientEntity` Sales user who owns this contact.
- `picture: CloudObjectEntity` Profile picture associated with the contact.
- `unit: SalesUnitEntity` Sales unit this contact is assigned to. Determines which team members can see the record under unit-based sharing.
- `address: String` Street address of the contact.
- `city: String` City of the contact address.
- `comments: String` Free-form notes describing the contact.
- `contactTypeId: ID` Id of the contact type assigned to this contact.
- `country: String` Country of the contact address.
- `currencyExchangeRatesListId: ID` Id of the currency exchange rate list applied to this contact.
- `email1: String` Primary email address of the contact. Used as default recipient for emails sent from Coevera.
- `email2: String` Additional email address.
- `email3: String` Additional email address.
- `email4: String` Additional email address.
- `email5: String` Additional email address.
- `firstName: String` Given name of the contact.
- `gender: GenderEnum` Gender of the contact: Unknown when not specified, Male, Female or NonBinary.
- `isArchived: Boolean` True when the contact has been archived. Archived contacts remain readable but are hidden from active lists and cannot be edited until reactivated.
- `lastName: String` Family name of the contact.
- `middleName: String` Middle name of the contact, if applicable.
- `ownerId: ID!` Id of the contact owner.
- `phone1: String` Primary phone number of the contact. Used as default target for click-to-call.
- `phone2: String` Additional phone number.
- `phone3: String` Additional phone number.
- `phone4: String` Additional phone number.
- `phone5: String` Additional phone number.
- `pictureId: ID` Id of the profile picture document.
- `position: String` Job title or position of the contact.
- `quickAccountName: String` Free-text company name used when the contact is not linked to an actual Account record. Lets integrators capture the company without creating a separate Account.
- `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.
- `stateProvince: String` State or province of the contact address.
- `title: String` Honorific or salutation prefix (e.g. Mr., Ms., Dr.) shown before the name.
- `unitId: ID` Id of the sales unit.
- `zipCode: String` ZIP or postal code of the contact address.
- `revision: Int` Revision when entity was lastly changed.
- `formattedName: String!` Display version of the contact name (title, first, middle, last). Used in lists and references.
- `enrolledEmailSequences: Int!` Number of email sequences this record is currently actively enrolled in (soft-deleted or ended enrollments are not counted).
- `socialMedia: ContactSocialRelationEntity` Social network profiles linked to this contact (e.g. LinkedIn, Facebook).
- `primaryAccount: AccountEntity` Primary account this contact belongs to. Set automatically when the contact has an account relation marked as primary.
- `accountRelations: ContactAccountRelationEntityConnection (8 args)` Accounts this contact is linked to. Each link records the role and position the contact has at the related account.
- `sharingUnits: ContactSharingSalesUnitRelationEntityConnection (8 args)` Sales units that have been granted shared access to this contact. Editable only when shareMode allows unit sharing.
- `sharingClients: ContactSharingClientRelationEntityConnection (8 args)` Users that have been granted shared access to this contact. Editable only when shareMode allows user sharing.
- `documents: CloudObjectRelationEntityConnection (8 args)` Documents linked to this contact.
- `exchangeEntityId: String` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `gapiEntityId: String` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `o365EntityId: String` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `isFavorite: Boolean!` True when the current authenticated user has marked this contact as favorite. Per-user.
- `primaryAccountAccountRoles: [ContactAccountAccountRoleRelationEntity!]` Roles of Contact in his primary Account.
- `primaryAccountPosition: String` Job position of Contact in his primary Account.
- `accountPosition: String` Job position of Contact in his primary Account or quick account position if Contact has no primary Account.
- `viewerIdsPerSalesUnit: [UUID!]!` Filled only when a single record is read by its id; otherwise null or an empty list.
- `isUnsubscribed: Boolean` If account has any unsubscribed email.
- `tags: TagRelationEntityConnection (8 args)` Tag labels applied to this contact.
- `staticProfiles: ProfileRelationEntityConnection (8 args)` Saved view profiles this contact currently matches.
- `primaryAccountRelationship: String` Org chart relationship of Contact in his primary Account.
- `modifiedByUser: DateTime` Timestamp of the most recent modification made by an end user (excluding system changes). Read-only; computed by Coevera.
- `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.
- `approval: ApprovalEntity` Approval request of this record that is pending or was rejected; null when there is none or it was approved.

### ContactEntityConnection (object)

Paginated list of Contact records.

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

### ContactEntityEdge (object)

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

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

### ContactFilterInput (input)

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

- `OR: [ContactFilterInput!]` Matches records that meet at least one of the listed filters.
- `AND: [ContactFilterInput!]` Matches records that meet all of the listed filters.
- `NOT: ContactFilterInput` 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.
- `address: EntityFilterStringField` Street address of the contact.
- `city: EntityFilterStringField` City of the contact address.
- `comments: EntityFilterStringField` Free-form notes describing the contact.
- `contactTypeId: EntityFilterStringField` Id of the contact type assigned to this contact.
- `country: EntityFilterStringField` Country of the contact address.
- `currencyExchangeRatesListId: EntityFilterStringField` Id of the currency exchange rate list applied to this contact.
- `email1: EntityFilterStringField` Primary email address of the contact. Used as default recipient for emails sent from Coevera.
- `email2: EntityFilterStringField` Additional email address.
- `email3: EntityFilterStringField` Additional email address.
- `email4: EntityFilterStringField` Additional email address.
- `email5: EntityFilterStringField` Additional email address.
- `firstName: EntityFilterStringField` Given name of the contact.
- `gender: GenderEnumFilterInput` Gender of the contact: Unknown when not specified, Male, Female or NonBinary.
- `isArchived: Boolean` True when the contact has been archived. Archived contacts remain readable but are hidden from active lists and cannot be edited until reactivated.
- `lastName: EntityFilterStringField` Family name of the contact.
- `middleName: EntityFilterStringField` Middle name of the contact, if applicable.
- `ownerId: EntityFilterStringField` Id of the contact owner.
- `phone1: EntityFilterStringField` Primary phone number of the contact. Used as default target for click-to-call.
- `phone2: EntityFilterStringField` Additional phone number.
- `phone3: EntityFilterStringField` Additional phone number.
- `phone4: EntityFilterStringField` Additional phone number.
- `phone5: EntityFilterStringField` Additional phone number.
- `pictureId: EntityFilterStringField` Id of the profile picture document.
- `position: EntityFilterStringField` Job title or position of the contact.
- `quickAccountName: EntityFilterStringField` Free-text company name used when the contact is not linked to an actual Account record. Lets integrators capture the company without creating a separate Account.
- `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.
- `stateProvince: EntityFilterStringField` State or province of the contact address.
- `title: EntityFilterStringField` Honorific or salutation prefix (e.g. Mr., Ms., Dr.) shown before the name.
- `unitId: EntityFilterStringField` Id of the sales unit.
- `zipCode: EntityFilterStringField` ZIP or postal code of the contact address.
- `revision: EntityFilterNumberField` Revision when entity was lastly changed.
- `enrolledEmailSequences: Int` Number of email sequences this record is currently actively enrolled in (soft-deleted or ended enrollments are not counted).
- `exchangeEntityId: String` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `gapiEntityId: String` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `o365EntityId: String` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `relatedEntities: [EntityFilterRelatedField]` Matches records related to at least one of the listed records.
- `withCustom: [CustomField!]` Conditions on custom fields, each identified by its api name. All listed conditions must match.
- `contactType: ContactTypeFilterInput` Contact type that classifies this contact. Contact types are configurable per team space and drive which form, fields and pipelines apply. Matches records where a related record meets these conditions.
- `currencyExchangeRatesList: CurrencyExchangeRatesListFilterInput` Currency exchange rate list used to convert monetary fields linked to this contact. Empty to inherit the team space default. Matches records where a related record meets these conditions.
- `owner: ClientFilterInput` Sales user who owns this contact. Matches records where a related record meets these conditions.
- `picture: CloudObjectFilterInput` Profile picture associated with the contact. Matches records where a related record meets these conditions.
- `unit: SalesUnitFilterInput` Sales unit this contact is assigned to. Determines which team members can see the record under unit-based sharing. Matches records where a related record meets these conditions.
- `socialMedia: ContactSocialRelationFilterInput` Social network profiles linked to this contact (e.g. LinkedIn, Facebook). Matches records where a related record meets these conditions.
- `primaryAccount: AccountFilterInput` Primary account this contact belongs to. Set automatically when the contact has an account relation marked as primary. Matches records where a related record meets these conditions.
- `accountRelations: ContactAccountRelationFilterInput` Accounts this contact is linked to. Each link records the role and position the contact has at the related account. Matches records where a related record meets these conditions.
- `sharingUnits: ContactSharingSalesUnitRelationFilterInput` Sales units that have been granted shared access to this contact. Editable only when shareMode allows unit sharing. Matches records where a related record meets these conditions.
- `sharingClients: ContactSharingClientRelationFilterInput` Users that have been granted shared access to this contact. Editable only when shareMode allows user sharing. Matches records where a related record meets these conditions.
- `documents: CloudObjectRelationFilterInput` Documents linked to this contact. Matches records where a related record meets these conditions.
- `tags: TagRelationFilterInput` Tag labels applied to this contact. Matches records where a related record meets these conditions.
- `staticProfiles: ProfileRelationFilterInput` Saved view profiles this contact currently matches. Matches records where a related record meets these conditions.

### ContactOrderByInput (input)

Sorting of Contact 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.
- `contactType: [ContactTypeOrderByNestedInput!]` Contact type that classifies this contact. Contact types are configurable per team space and drive which form, fields and pipelines apply. Sorts by fields of the related record, listed in order of priority.
- `currencyExchangeRatesList: [CurrencyExchangeRatesListOrderByNestedInput!]` Currency exchange rate list used to convert monetary fields linked to this contact. Empty to inherit the team space default. Sorts by fields of the related record, listed in order of priority.
- `owner: [ClientOrderByNestedInput!]` Sales user who owns this contact. Sorts by fields of the related record, listed in order of priority.
- `unit: [SalesUnitOrderByNestedInput!]` Sales unit this contact 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.
- `address: OrderByEnum` Street address of the contact.
- `city: OrderByEnum` City of the contact address.
- `comments: OrderByEnum` Free-form notes describing the contact.
- `contactTypeId: OrderByEnum` Id of the contact type assigned to this contact.
- `country: OrderByEnum` Country of the contact address.
- `currencyExchangeRatesListId: OrderByEnum` Id of the currency exchange rate list applied to this contact.
- `email1: OrderByEnum` Primary email address of the contact. Used as default recipient for emails sent from Coevera.
- `email2: OrderByEnum` Additional email address.
- `email3: OrderByEnum` Additional email address.
- `email4: OrderByEnum` Additional email address.
- `email5: OrderByEnum` Additional email address.
- `firstName: OrderByEnum` Given name of the contact.
- `gender: OrderByEnum` Gender of the contact: Unknown when not specified, Male, Female or NonBinary.
- `isArchived: OrderByEnum` True when the contact has been archived. Archived contacts remain readable but are hidden from active lists and cannot be edited until reactivated.
- `lastName: OrderByEnum` Family name of the contact.
- `middleName: OrderByEnum` Middle name of the contact, if applicable.
- `ownerId: OrderByEnum` Id of the contact owner.
- `phone1: OrderByEnum` Primary phone number of the contact. Used as default target for click-to-call.
- `phone2: OrderByEnum` Additional phone number.
- `phone3: OrderByEnum` Additional phone number.
- `phone4: OrderByEnum` Additional phone number.
- `phone5: OrderByEnum` Additional phone number.
- `position: OrderByEnum` Job title or position of the contact.
- `quickAccountName: OrderByEnum` Free-text company name used when the contact is not linked to an actual Account record. Lets integrators capture the company without creating a separate Account.
- `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.
- `stateProvince: OrderByEnum` State or province of the contact address.
- `title: OrderByEnum` Honorific or salutation prefix (e.g. Mr., Ms., Dr.) shown before the name.
- `unitId: OrderByEnum` Id of the sales unit.
- `zipCode: OrderByEnum` ZIP or postal code of the contact address.
- `revision: OrderByEnum` Revision when entity was lastly changed.
- `enrolledEmailSequences: OrderByEnum` Number of email sequences this record is currently actively enrolled in (soft-deleted or ended enrollments are not counted).
- `socialMedia: [ContactSocialRelationOrderByNestedInput!]` Social network profiles linked to this contact (e.g. LinkedIn, Facebook). Sorts by fields of the related record, listed in order of priority.
- `exchangeEntityId: OrderByEnum` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `gapiEntityId: OrderByEnum` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `o365EntityId: OrderByEnum` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `relatedEntities: CommonEntityRepositoryOrderByEntityRelationField` Sorts records by whether they are related to the listed records.
- `withCustom: CommonEntityRepositoryOrderByCustomField` Sorts by a custom field.

### GenderEnumFilterInput (input)

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

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

### ArchiveContactInput (input)

Parameters of the archiveContact mutation.

- `entity: UpdateContactInput!` Id of the contact and optional field values to save together with the archive.
- `archiveAllRelatedLeads: Boolean!` Archives open leads whose primary contact is this contact.
- `archiveAllRelatedOpportunities: Boolean!` Archives open opportunities whose primary contact is this contact.
- `archiveAllRelatedQuotes: Boolean!` Archives open quotes whose primary contact is this contact.
- `completeAllRelatedTasks: Boolean!` Marks all tasks linked to the contact as completed.
- `completeAllRelatedLeadsTasks: Boolean` Marks tasks of leads whose primary contact is this contact as completed.
- `completeAllRelatedOpportunitiesTasks: Boolean` Marks tasks of opportunities whose primary contact is this contact as completed.
- `completeAllRelatedQuotesTasks: Boolean` Marks tasks of quotes whose primary contact is this contact 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).

### BulkArchiveContactInput (input)

Parameters of the bulkArchiveContact mutation.

- `bulkFilter: BulkOperationInput!` Contacts to archive: includedIds minus excludedIds. Integrations can leave sessionId empty.
- `entity: CreateOrUpdateContactInput!` Field values saved on every archived contact.
- `archiveAllRelatedLeads: Boolean` Archives open leads whose primary contact is one of the contacts.
- `archiveAllRelatedOpportunities: Boolean` Archives open opportunities whose primary contact is one of the contacts.
- `archiveAllRelatedQuotes: Boolean` Archives open quotes whose primary contact is one of the contacts.
- `completeAllRelatedTasks: Boolean` Marks all tasks linked to each contact as completed.
- `completeAllRelatedLeadsTasks: Boolean` Marks tasks of the contacts' leads as completed.
- `completeAllRelatedOpportunitiesTasks: Boolean` Marks tasks of the contacts' opportunities as completed.
- `completeAllRelatedQuotesTasks: Boolean` Marks tasks of the contacts' quotes 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).

### BulkReactivateContactInput (input)

Parameters of the bulkReactivateContact mutation.

- `bulkFilter: BulkOperationInput!` Records to reactivate: includedIds minus excludedIds. Integrations can leave sessionId empty.
- `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).

### ChangeOwnershipContactInput (input)

Parameters of the changeOwnershipContact mutation.

- `ownerId: ID!` User who becomes the new owner of the contact.
- `unitId: ID!` Sales unit the contact is assigned to.
- `keepOwnerAsEditor: Boolean!` When true, the previous owner (if still an active user) stays on the contact 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 contact's open tasks and appointments, its notes and its open leads and opportunities. Linked records that cannot be transferred are skipped without failing the mutation.
- `id: ID!` Identifier of the ContactEntity 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).

### ContactSocialRelationOrderByNestedInput (input)

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

- `id: OrderByEnum` Unique identifier of entity. Must match with Contact id.
- `isDeleted: OrderByEnum` Specifies if the entity is considered deleted.
- `modified: OrderByEnum` Last modification time.
- `created: OrderByEnum` Creation time.
- `angellistUrl: OrderByEnum` AngelList profile URL of the contact.
- `crunchbaseUrl: OrderByEnum` Crunchbase profile URL of the contact.
- `disqusUrl: OrderByEnum` Disqus profile URL of the contact.
- `facebookUrl: OrderByEnum` Facebook profile URL of the contact.
- `flickrUrl: OrderByEnum` Flickr profile URL of the contact.
- `foursquareUrl: OrderByEnum` Foursquare profile URL of the contact.
- `googlePlusUrl: OrderByEnum` Google+ profile URL of the contact.
- `gravatarUrl: OrderByEnum` Gravatar profile URL of the contact.
- `kloutUrl: OrderByEnum` Klout profile URL of the contact.
- `linkedinUrl: OrderByEnum` LinkedIn profile URL of the contact.
- `pinterestUrl: OrderByEnum` Pinterest profile URL of the contact.
- `quoraUrl: OrderByEnum` Quora profile URL of the contact.
- `redditUrl: OrderByEnum` Reddit profile URL of the contact.
- `skypeUrl: OrderByEnum` Skype contact URL or username of the contact.
- `slideshareUrl: OrderByEnum` SlideShare profile URL of the contact.
- `twitterUrl: OrderByEnum` Twitter (X) profile URL of the contact.
- `vimeoUrl: OrderByEnum` Vimeo profile URL of the contact.
- `wordpressUrl: OrderByEnum` WordPress site URL of the contact.
- `xingUrl: OrderByEnum` XING profile URL of the contact.
- `yahooUrl: OrderByEnum` Yahoo profile URL of the contact.
- `yelpUrl: OrderByEnum` Yelp profile URL of the contact.
- `youtubeUrl: OrderByEnum` YouTube channel URL of the contact.
- `revision: OrderByEnum` Revision when entity was lastly changed.

### CopyContactInput (input)

Parameters of the copyContact mutation.

- `skipCopySuffix: Boolean` When true, the copy keeps the original name without the copy suffix. Defaults to false.
- `id: ID!` Identifier of the ContactEntity 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).

### CreateContactAccountRelationNoContactBackrefInput (input)

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

- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `accountId: ID!` Id of the account the contact is linked to.
- `comment: String` Free-form note describing this contact-account link.
- `isAssistant: Boolean` True when the contact acts as an assistant on the account org chart. Assistant relations cannot have child relations.
- `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.
- `isSibling: Boolean` True when the contact is a sibling node on the account org chart (no parent/child reporting line).
- `position: String` Job title or position the contact holds at the account.
- `relationship: OrgRelationshipTypeEnum` Org-chart relationship of the contact within the account hierarchy.
- `revision: Int` Revision when entity was lastly changed.
- `accountRoles: [CreateContactAccountAccountRoleRelationNoContactAccountRelationBackrefInput!]` Roles the contact holds within the linked account.

### CreateContactInput (input)

Field values of a new Contact 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.
- `picture: CreateCloudObjectInput` Profile picture associated with the contact.
- `address: String` Street address of the contact.
- `city: String` City of the contact address.
- `comments: String` Free-form notes describing the contact.
- `contactTypeId: ID` Id of the contact type assigned to this contact.
- `country: String` Country of the contact address.
- `currencyExchangeRatesListId: ID` Id of the currency exchange rate list applied to this contact.
- `email1: String` Primary email address of the contact. Used as default recipient for emails sent from Coevera.
- `email2: String` Additional email address.
- `email3: String` Additional email address.
- `email4: String` Additional email address.
- `email5: String` Additional email address.
- `firstName: String` Given name of the contact.
- `gender: GenderEnum` Gender of the contact: Unknown when not specified, Male, Female or NonBinary.
- `isArchived: Boolean` True when the contact has been archived. Archived contacts remain readable but are hidden from active lists and cannot be edited until reactivated.
- `lastName: String` Family name of the contact.
- `middleName: String` Middle name of the contact, if applicable.
- `ownerId: ID!` Id of the contact owner.
- `phone1: String` Primary phone number of the contact. Used as default target for click-to-call.
- `phone2: String` Additional phone number.
- `phone3: String` Additional phone number.
- `phone4: String` Additional phone number.
- `phone5: String` Additional phone number.
- `pictureId: ID` Id of the profile picture document.
- `position: String` Job title or position of the contact.
- `quickAccountName: String` Free-text company name used when the contact is not linked to an actual Account record. Lets integrators capture the company without creating a separate Account.
- `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.
- `stateProvince: String` State or province of the contact address.
- `title: String` Honorific or salutation prefix (e.g. Mr., Ms., Dr.) shown before the name.
- `unitId: ID` Id of the sales unit.
- `zipCode: String` ZIP or postal code of the contact address.
- `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.
- `socialMedia: CreateContactSocialRelationNoIdBackrefInput` Social network profiles linked to this contact (e.g. LinkedIn, Facebook).
- `accountRelations: [CreateContactAccountRelationNoContactBackrefInput!]` Accounts this contact is linked to. Each link records the role and position the contact has at the related account.
- `sharingUnits: [CreateContactSharingSalesUnitRelationNoContactBackrefInput!]` Sales units that have been granted shared access to this contact. Editable only when shareMode allows unit sharing.
- `sharingClients: [CreateContactSharingClientRelationNoContactBackrefInput!]` Users that have been granted shared access to this contact. Editable only when shareMode allows user sharing.
- `documents: [CreateCloudObjectRelationNoBackrefInput!]` Documents linked to this contact.
- `primaryAccountAccountRoles: [UUID!]` Roles of Contact in his primary Account.
- `accountPosition: String` Job position of Contact in his primary Account or quick account position if Contact has no primary Account.
- `isUnsubscribed: Boolean` If account has any unsubscribed email.
- `tags: [CreateTagRelationNoContactBackrefInput!]` Tag labels applied to this contact.
- `staticProfiles: [CreateProfileRelationNoContactBackrefInput!]` Saved view profiles this contact currently matches.
- `primaryAccountRelationship: String` Org chart relationship of Contact in his primary Account.

### CreateContactSharingClientRelationNoContactBackrefInput (input)

Field values of a new ContactSharingClientRelation 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 contact: Watcher can view it, Editor can view and edit it.
- `revision: Int` Revision when entity was lastly changed.

### CreateContactSharingSalesUnitRelationNoContactBackrefInput (input)

Field values of a new ContactSharingSalesUnitRelation 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 contact: 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.

### CreateContactSocialRelationNoIdBackrefInput (input)

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

- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `angellistUrl: String` AngelList profile URL of the contact.
- `crunchbaseUrl: String` Crunchbase profile URL of the contact.
- `disqusUrl: String` Disqus profile URL of the contact.
- `facebookId: String` Facebook profile id of the contact.
- `facebookUrl: String` Facebook profile URL of the contact.
- `flickrUrl: String` Flickr profile URL of the contact.
- `foursquareUrl: String` Foursquare profile URL of the contact.
- `googleId: String` Google profile id of the contact.
- `googlePlusUrl: String` Google+ profile URL of the contact.
- `gravatarUrl: String` Gravatar profile URL of the contact.
- `kloutUrl: String` Klout profile URL of the contact.
- `linkedinId: String` LinkedIn profile id of the contact.
- `linkedinUrl: String` LinkedIn profile URL of the contact.
- `pinterestUrl: String` Pinterest profile URL of the contact.
- `quoraUrl: String` Quora profile URL of the contact.
- `redditUrl: String` Reddit profile URL of the contact.
- `skypeUrl: String` Skype contact URL or username of the contact.
- `slideshareUrl: String` SlideShare profile URL of the contact.
- `twitterId: String` Twitter (X) user id of the contact.
- `twitterUrl: String` Twitter (X) profile URL of the contact.
- `vimeoUrl: String` Vimeo profile URL of the contact.
- `wordpressUrl: String` WordPress site URL of the contact.
- `xingUrl: String` XING profile URL of the contact.
- `yahooUrl: String` Yahoo profile URL of the contact.
- `yelpUrl: String` Yelp profile URL of the contact.
- `youtubeUrl: String` YouTube channel URL of the contact.
- `revision: Int` Revision when entity was lastly changed.

### CreateOrUpdateContactInput (input)

Field values of a Contact 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.
- `picture: CreateCloudObjectInput` Profile picture associated with the contact.
- `address: String` Street address of the contact.
- `city: String` City of the contact address.
- `comments: String` Free-form notes describing the contact.
- `contactTypeId: ID` Id of the contact type assigned to this contact.
- `country: String` Country of the contact address.
- `currencyExchangeRatesListId: ID` Id of the currency exchange rate list applied to this contact.
- `email1: String` Primary email address of the contact. Used as default recipient for emails sent from Coevera.
- `email2: String` Additional email address.
- `email3: String` Additional email address.
- `email4: String` Additional email address.
- `email5: String` Additional email address.
- `firstName: String` Given name of the contact.
- `gender: GenderEnum` Gender of the contact: Unknown when not specified, Male, Female or NonBinary.
- `isArchived: Boolean` True when the contact has been archived. Archived contacts remain readable but are hidden from active lists and cannot be edited until reactivated.
- `lastName: String` Family name of the contact.
- `middleName: String` Middle name of the contact, if applicable.
- `ownerId: ID` Id of the contact owner.
- `phone1: String` Primary phone number of the contact. Used as default target for click-to-call.
- `phone2: String` Additional phone number.
- `phone3: String` Additional phone number.
- `phone4: String` Additional phone number.
- `phone5: String` Additional phone number.
- `pictureId: ID` Id of the profile picture document.
- `position: String` Job title or position of the contact.
- `quickAccountName: String` Free-text company name used when the contact is not linked to an actual Account record. Lets integrators capture the company without creating a separate Account.
- `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.
- `stateProvince: String` State or province of the contact address.
- `title: String` Honorific or salutation prefix (e.g. Mr., Ms., Dr.) shown before the name.
- `unitId: ID` Id of the sales unit.
- `zipCode: String` ZIP or postal code of the contact address.
- `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.
- `socialMedia: UpdateContactSocialRelationNoIdBackrefInput` Social network profiles linked to this contact (e.g. LinkedIn, Facebook).
- `accountRelations: [CreateContactAccountRelationNoContactBackrefInput!]` Accounts this contact is linked to. Each link records the role and position the contact has at the related account.
- `sharingUnits: [CreateContactSharingSalesUnitRelationNoContactBackrefInput!]` Sales units that have been granted shared access to this contact. Editable only when shareMode allows unit sharing.
- `sharingClients: [CreateContactSharingClientRelationNoContactBackrefInput!]` Users that have been granted shared access to this contact. Editable only when shareMode allows user sharing.
- `documents: [CreateCloudObjectRelationNoBackrefInput!]` Documents linked to this contact.
- `exchangeEntityId: String` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `gapiEntityId: String` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `o365EntityId: String` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `primaryAccountAccountRoles: [UUID!]` Roles of Contact in his primary Account.
- `accountPosition: String` Job position of Contact in his primary Account or quick account position if Contact has no primary Account.
- `isUnsubscribed: Boolean` If account has any unsubscribed email.
- `tags: [CreateTagRelationNoContactBackrefInput!]` Tag labels applied to this contact.
- `staticProfiles: [CreateProfileRelationNoContactBackrefInput!]` Saved view profiles this contact currently matches.
- `primaryAccountRelationship: String` Org chart relationship of Contact in his primary Account.

### CreateProfileRelationNoContactBackrefInput (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.
- `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.
- `quoteId: ID` Id of the linked quote.

### CreateTagRelationNoContactBackrefInput (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.
- `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.
- `quoteId: ID` Id of the linked quote.
- `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.

### DeleteContactInput (input)

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

### ManageSharingContactInput (input)

Parameters of the manageSharingContact mutation.

- `shareMode: ShareModeEnum!` Sharing mode of the record: Standard, Private, AllView or AllEdit.
- `sharingClients: [CreateContactSharingClientRelationNoContactBackrefInput!]` 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: [CreateContactSharingSalesUnitRelationNoContactBackrefInput!]` 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 ContactEntity 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).

### MergeContactInput (input)

Parameters of the mergeContact mutation.

- `master: UpdateContactInput!` Id of the contact to keep and the field values it should end up with.
- `slaveId: ID!` Id of the duplicate contact that is merged into the master and then deleted.
- `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).

### ReactivateContactInput (input)

Parameters of the reactivateContact mutation.

- `id: UUID!` Id of the archived contact.
- `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).

### RestoreContactInput (input)

Parameters of the restoreContact mutation.

- `id: ID!` Identifier of the ContactEntity 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).

### UpdateContactInput (input)

Id of a Contact 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.
- `picture: CreateCloudObjectInput` Profile picture associated with the contact.
- `address: String` Street address of the contact.
- `city: String` City of the contact address.
- `comments: String` Free-form notes describing the contact.
- `contactTypeId: ID` Id of the contact type assigned to this contact.
- `country: String` Country of the contact address.
- `currencyExchangeRatesListId: ID` Id of the currency exchange rate list applied to this contact.
- `email1: String` Primary email address of the contact. Used as default recipient for emails sent from Coevera.
- `email2: String` Additional email address.
- `email3: String` Additional email address.
- `email4: String` Additional email address.
- `email5: String` Additional email address.
- `firstName: String` Given name of the contact.
- `gender: GenderEnum` Gender of the contact: Unknown when not specified, Male, Female or NonBinary.
- `isArchived: Boolean` True when the contact has been archived. Archived contacts remain readable but are hidden from active lists and cannot be edited until reactivated.
- `lastName: String` Family name of the contact.
- `middleName: String` Middle name of the contact, if applicable.
- `ownerId: ID` Id of the contact owner.
- `phone1: String` Primary phone number of the contact. Used as default target for click-to-call.
- `phone2: String` Additional phone number.
- `phone3: String` Additional phone number.
- `phone4: String` Additional phone number.
- `phone5: String` Additional phone number.
- `pictureId: ID` Id of the profile picture document.
- `position: String` Job title or position of the contact.
- `quickAccountName: String` Free-text company name used when the contact is not linked to an actual Account record. Lets integrators capture the company without creating a separate Account.
- `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.
- `stateProvince: String` State or province of the contact address.
- `title: String` Honorific or salutation prefix (e.g. Mr., Ms., Dr.) shown before the name.
- `unitId: ID` Id of the sales unit.
- `zipCode: String` ZIP or postal code of the contact address.
- `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.
- `socialMedia: UpdateContactSocialRelationNoIdBackrefInput` Social network profiles linked to this contact (e.g. LinkedIn, Facebook).
- `accountRelations: [CreateContactAccountRelationNoContactBackrefInput!]` Accounts this contact is linked to. Each link records the role and position the contact has at the related account.
- `sharingUnits: [CreateContactSharingSalesUnitRelationNoContactBackrefInput!]` Sales units that have been granted shared access to this contact. Editable only when shareMode allows unit sharing.
- `sharingClients: [CreateContactSharingClientRelationNoContactBackrefInput!]` Users that have been granted shared access to this contact. Editable only when shareMode allows user sharing.
- `documents: [CreateCloudObjectRelationNoBackrefInput!]` Documents linked to this contact.
- `exchangeEntityId: String` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `gapiEntityId: String` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `o365EntityId: String` External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
- `primaryAccountAccountRoles: [UUID!]` Roles of Contact in his primary Account.
- `accountPosition: String` Job position of Contact in his primary Account or quick account position if Contact has no primary Account.
- `isUnsubscribed: Boolean` If account has any unsubscribed email.
- `tags: [CreateTagRelationNoContactBackrefInput!]` Tag labels applied to this contact.
- `staticProfiles: [CreateProfileRelationNoContactBackrefInput!]` Saved view profiles this contact currently matches.
- `primaryAccountRelationship: String` Org chart relationship of Contact in his primary Account.

### UpdateContactSocialRelationNoIdBackrefInput (input)

Id of a ContactSocialRelation record and the field values to change, updated together with the record it belongs to.

- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `angellistUrl: String` AngelList profile URL of the contact.
- `crunchbaseUrl: String` Crunchbase profile URL of the contact.
- `disqusUrl: String` Disqus profile URL of the contact.
- `facebookId: String` Facebook profile id of the contact.
- `facebookUrl: String` Facebook profile URL of the contact.
- `flickrUrl: String` Flickr profile URL of the contact.
- `foursquareUrl: String` Foursquare profile URL of the contact.
- `googleId: String` Google profile id of the contact.
- `googlePlusUrl: String` Google+ profile URL of the contact.
- `gravatarUrl: String` Gravatar profile URL of the contact.
- `kloutUrl: String` Klout profile URL of the contact.
- `linkedinId: String` LinkedIn profile id of the contact.
- `linkedinUrl: String` LinkedIn profile URL of the contact.
- `pinterestUrl: String` Pinterest profile URL of the contact.
- `quoraUrl: String` Quora profile URL of the contact.
- `redditUrl: String` Reddit profile URL of the contact.
- `skypeUrl: String` Skype contact URL or username of the contact.
- `slideshareUrl: String` SlideShare profile URL of the contact.
- `twitterId: String` Twitter (X) user id of the contact.
- `twitterUrl: String` Twitter (X) profile URL of the contact.
- `vimeoUrl: String` Vimeo profile URL of the contact.
- `wordpressUrl: String` WordPress site URL of the contact.
- `xingUrl: String` XING profile URL of the contact.
- `yahooUrl: String` Yahoo profile URL of the contact.
- `yelpUrl: String` Yelp profile URL of the contact.
- `youtubeUrl: String` YouTube channel URL of the contact.
- `revision: Int` Revision when entity was lastly changed.

### ArchiveContactPayload (object)

Result of the archiveContact mutation.

- `result: ContactEntity` The archived contact.
- `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).

### BulkArchiveContactPayload (object)

Result of the bulkArchiveContact mutation.

- `result: BulkUpdateResults!` Ids of the archived contacts 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).

### BulkReactivateContactPayload (object)

Result of the bulkReactivateContact mutation.

- `result: BulkUpdateResults!` Ids of the reactivated records 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).

### BulkUpdateContactPayload (object)

Result of the bulkUpdateContact mutation.

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

### ChangeOwnershipContactPayload (object)

Result of the changeOwnershipContact mutation.

- `result: ContactEntity` The contact 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).

### ConvertContactPayload (object)

Result of the convertContact mutation.

- `contact: ContactEntity!` 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).

### CopyContactPayload (object)

Result of the copyContact mutation.

- `result: ContactEntity` The new contact.
- `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).

### CreateContactPayload (object)

Result of the createContact mutation.

- `contact: ContactEntity` 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).

### DeleteContactPayload (object)

Result of the deleteContact mutation.

- `contact: ContactEntity` 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).

### ManageSharingContactPayload (object)

Result of the manageSharingContact mutation.

- `result: ContactEntity` 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).

### MergeContactPayload (object)

Result of the mergeContact mutation.

- `result: ContactEntity` The merged master contact.
- `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).

### ReactivateContactPayload (object)

Result of the reactivateContact mutation.

- `result: ContactEntity` The reactivated contact.
- `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).

### RestoreContactPayload (object)

Result of the restoreContact mutation.

- `result: ContactEntity` 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).

### UpdateContactPayload (object)

Result of the updateContact mutation.

- `contact: ContactEntity` 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).

### ContactAutoPrefill (object)

New, unsaved contact pre-filled with the values of an AI suggestion, with the ids of the fields that were filled in.

- `entity: ContactEntity` New contact carrying the pre-filled values; it is not saved.
- `fieldIds: [UUID!]!` Ids of the fields that were filled in.

### GenderEnum (enum)

Gender of a contact.

- `Unknown` Gender is not specified.
- `Male` The contact is male.
- `Female` The contact is female.
- `NonBinary` The contact is non-binary.

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

## Examples of each operation

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

### getById

```graphql
query ContactGetById {
  entities {
    contact {
      getById(entityId: "<contact id>") {
        id
        formattedName
        title
        modified
      }
    }
  }
}
```

### getByIds

```graphql
query ContactGetByIds {
  entities {
    contact {
      getByIds(entityIds: ["<contact id>"]) {
        id
        formattedName
        title
        modified
      }
    }
  }
}
```

### getAll

```graphql
query ContactGetAll {
  entities {
    contact {
      getAll(limit: 10) {
        id
        formattedName
        title
        modified
      }
    }
  }
}
```

### getByCriteria

```graphql
query ContactGetByCriteria {
  entities {
    contact {
      getByCriteria(first: 10) {
        totalCount
        edges {
          node {
            id
            formattedName
            title
            modified
          }
        }
        pageInfo {
          hasNextPage
          endCursor
        }
      }
    }
  }
}
```

### getChangedFieldsSinceRevision

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

### getBySession

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

### getByIdFormatted

```graphql
query ContactGetByIdFormatted {
  entities {
    contact {
      getByIdFormatted(id: "<contact id>")
    }
  }
}
```

### getRelatedToAccount

```graphql
query ContactGetRelatedToAccount {
  entities {
    contact {
      getRelatedToAccount(limit: 10) {
        id
        formattedName
        title
        modified
      }
    }
  }
}
```

### autoPrefill

```graphql
query ContactAutoPrefill {
  entities {
    contact {
      autoPrefill(mappingId: "<mapping id>", entityId: "<contact id>") {
        id
        formattedName
        title
        modified
      }
    }
  }
}
```

### aiAutoPrefill

```graphql
query ContactAiAutoPrefill {
  entities {
    contact {
      aiAutoPrefill(actionId: "<action id>") {
        entity {
          id
          formattedName
          title
          modified
        }
        fieldIds
      }
    }
  }
}
```

### changeOwnershipContact

```graphql
mutation ChangeOwnershipContact {
  changeOwnershipContact(
    input: {ownerId: "<owner id>", unitId: "<unit id>", keepOwnerAsEditor: false, transferLinkedRecords: false, id: "<contact id>"}
  ) {
    result {
      id
      formattedName
      title
      modified
    }
  }
}
```

### manageSharingContact

```graphql
mutation ManageSharingContact {
  manageSharingContact(input: {shareMode: Standard, id: "<contact id>"}) {
    result {
      id
      formattedName
      title
      modified
    }
  }
}
```

### restoreContact

```graphql
mutation RestoreContact {
  restoreContact(input: {id: "<contact id>"}) {
    result {
      id
      formattedName
      title
      modified
    }
  }
}
```

### copyContact

```graphql
mutation CopyContact {
  copyContact(input: {id: "<contact id>"}) {
    result {
      id
      formattedName
      title
      modified
    }
  }
}
```

### mergeContact

```graphql
mutation MergeContact {
  mergeContact(input: {master: {id: "<contact id>"}, slaveId: "<slave id>"}) {
    result {
      id
      formattedName
      title
      modified
    }
  }
}
```

### archiveContact

```graphql
mutation ArchiveContact {
  archiveContact(
    input: {entity: {id: "<contact id>"}, archiveAllRelatedLeads: false, archiveAllRelatedOpportunities: false, archiveAllRelatedQuotes: false, completeAllRelatedTasks: false}
  ) {
    result {
      id
      formattedName
      title
      modified
    }
  }
}
```

### reactivateContact

```graphql
mutation ReactivateContact {
  reactivateContact(input: {id: "<contact id>"}) {
    result {
      id
      formattedName
      title
      modified
    }
  }
}
```

### createContact

```graphql
mutation CreateContact {
  createContact(input: {ownerId: "<owner id>"}) {
    contact {
      id
      formattedName
      title
      modified
    }
  }
}
```

### updateContact

```graphql
mutation UpdateContact {
  updateContact(input: {id: "<contact id>"}) {
    contact {
      id
      formattedName
      title
      modified
    }
  }
}
```

### bulkUpdateContact

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

### deleteContact

```graphql
mutation DeleteContact {
  deleteContact(input: {id: "<contact id>"}) {
    contact {
      id
      formattedName
      title
      modified
    }
  }
}
```

### bulkArchiveContact

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

### bulkReactivateContact

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

### convertContact

```graphql
mutation ConvertContact {
  convertContact(
    input: {ownerId: "<owner id>"}
    sourceEntity: AiAgent
    sourceEntityId: "<source entity id>"
    operation: Nothing
    options: {}
  ) {
    contact {
      id
      formattedName
      title
      modified
    }
  }
}
```
