Developers
Set your API contextPick a region and space ID once. Every sample fills in your base URL.
Where do I find these?

In Coevera: open your space's API application and choose Show Access. It shows the space ID and the base URL, whose host starts with your region.

From the API: if you know the space ID, the discovery endpoint GET /api/discovery/spaces/{space_id} returns its region and base URLs, without credentials.

Only the region and space ID are kept, in this browser. Never paste a key or password here.

More in the quickstart

GraphQLRepositoriesproduct

entities.product

Read product records with the product repository, and change them with the product mutations. Same records as the REST Products entity.

Queries

Fields of entities { product { … } }.

Each operation opens an example built from the schema and checked against it on every build. Replace the placeholders, such as <product id>, with values from your space.

KindFieldReturns
QUERYgetById(entityId: ID!)
Returns the record with the given id, or null when there is none. Deleted records are returned as well.
ProductEntity
Example
Example: getById
query ProductGetById {
  entities {
    product {
      getById(entityId: "<product id>") {
        id
        name
        formattedName
        modified
      }
    }
  }
}
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 ProductGetById { entities { product { getById(entityId: \"<product id>\") { id name formattedName modified } } } }"}'
QUERYgetByIds(entityIds: [ID!]!)
Returns the records with the given ids; ids without a record are left out. Deleted records are returned as well.
[ProductEntity!]!
Example
Example: getByIds
query ProductGetByIds {
  entities {
    product {
      getByIds(entityIds: ["<product id>"]) {
        id
        name
        formattedName
        modified
      }
    }
  }
}
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 ProductGetByIds { entities { product { getByIds(entityIds: [\"<product id>\"]) { id name formattedName modified } } } }"}'
QUERYgetAll(limit: Int, offset: Int, filter: ProductFilterInput, orderBy: [ProductOrderByInput!], includeDeleted: Boolean)
Returns the records that match the filter, paged with limit and offset.
[ProductEntity!]!
Example
Example: getAll
query ProductGetAll {
  entities {
    product {
      getAll(limit: 10) {
        id
        name
        formattedName
        modified
      }
    }
  }
}
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 ProductGetAll { entities { product { getAll(limit: 10) { id name formattedName modified } } } }"}'
QUERYgetByCriteria(filter: ProductFilterInput, orderBy: [ProductOrderByInput!], includeDeleted: Boolean, priceListId: ID, before: String, after: String, first: Int, last: Int)
Returns the products that match the filter as a cursor-paginated connection.
ProductEntityConnection
Example
Example: getByCriteria
query ProductGetByCriteria {
  entities {
    product {
      getByCriteria(first: 10) {
        totalCount
        edges {
          node {
            id
            name
            formattedName
            modified
          }
        }
        pageInfo {
          hasNextPage
          endCursor
        }
      }
    }
  }
}
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 ProductGetByCriteria { entities { product { getByCriteria(first: 10) { totalCount edges { node { id name formattedName modified } } pageInfo { hasNextPage endCursor } } } } }"}'
QUERYgetChangedFieldsSinceRevision(id: UUID!, revision: Int!)
Returns the ids of the fields of a record that changed after the given revision. Returns an empty list for entities without change tracking.
[UUID!]!
Example
Example: getChangedFieldsSinceRevision
query ProductGetChangedFieldsSinceRevision {
  entities {
    product {
      getChangedFieldsSinceRevision(id: "<product id>", revision: 10)
    }
  }
}
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 ProductGetChangedFieldsSinceRevision { entities { product { getChangedFieldsSinceRevision(id: \"<product id>\", revision: 10) } } }"}'
QUERYgetBySession(includedIds: [UUID!]!, excludedIds: [UUID!]!, sessionId: String!, before: String, after: String, first: Int, last: Int)
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.
ProductEntityConnection
Example
Example: getBySession
query ProductGetBySession {
  entities {
    product {
      getBySession(
        includedIds: ["<product id>"]
        excludedIds: ["<product id>"]
        sessionId: "<session id>"
        first: 10
      ) {
        totalCount
        edges {
          node {
            id
            name
            formattedName
            modified
          }
        }
        pageInfo {
          hasNextPage
          endCursor
        }
      }
    }
  }
}
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 ProductGetBySession { entities { product { getBySession( includedIds: [\"<product id>\"] excludedIds: [\"<product id>\"] sessionId: \"<session id>\" first: 10 ) { totalCount edges { node { id name formattedName modified } } pageInfo { hasNextPage endCursor } } } } }"}'
QUERYgetByIdFormatted(id: UUID!, fieldIds: [UUID!])
Returns the values of a record's fields formatted for display, keyed by field id.
JSONString
Example
Example: getByIdFormatted
query ProductGetByIdFormatted {
  entities {
    product {
      getByIdFormatted(id: "<product id>")
    }
  }
}
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 ProductGetByIdFormatted { entities { product { getByIdFormatted(id: \"<product id>\") } } }"}'
QUERYgetForPipeline(pipelineId: UUID!, limit: Int, offset: Int, filter: ProductFilterInput, orderBy: [ProductOrderByInput!])
Returns the products that can be used in the given pipeline: products allowed in all pipelines and products assigned to this pipeline.
[ProductEntity!]!
Example
Example: getForPipeline
query ProductGetForPipeline {
  entities {
    product {
      getForPipeline(pipelineId: "<pipeline id>", limit: 10) {
        id
        name
        formattedName
        modified
      }
    }
  }
}
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 ProductGetForPipeline { entities { product { getForPipeline(pipelineId: \"<pipeline id>\", limit: 10) { id name formattedName modified } } } }"}'

Mutations

KindMutationDoesReturns
MUTATIONcreateProduct(input: CreateProductInput!, validationLevel: [ValidationLevel!], priceLists: SetProductPriceList)Create one recordCreateProductPayload
Example
Example: createProduct
mutation CreateProduct {
  createProduct(input: {name: "Northwind Analytics"}) {
    product {
      id
      name
      formattedName
      modified
    }
  }
}
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":"mutation CreateProduct { createProduct(input: {name: \"Northwind Analytics\"}) { product { id name formattedName modified } } }"}'
MUTATIONupdateProduct(input: UpdateProductInput!, validationLevel: [ValidationLevel!], sessionIdToUpdate: String)Update fieldsUpdateProductPayload
Example
Example: updateProduct
mutation UpdateProduct {
  updateProduct(input: {id: "<product id>"}) {
    product {
      id
      name
      formattedName
      modified
    }
  }
}
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":"mutation UpdateProduct { updateProduct(input: {id: \"<product id>\"}) { product { id name formattedName modified } } }"}'
MUTATIONbulkUpdateProduct(input: [CreateOrUpdateProductInput!]!, validationLevel: [ValidationLevel!], rollbackMethod: RollbackMethod, match: MatchingInput, priceLists: SetProductPriceList)Create or update many; per-item resultsBulkUpdateProductPayload
Example
Example: bulkUpdateProduct
mutation BulkUpdateProduct {
  bulkUpdateProduct(input: [{id: "<product id>"}]) {
    result {
      created {
        id
      }
      errors {
        index
        code
        message
        entityId
      }
      updated
      deleted
      errorsOnDelete {
        index
        code
        message
        entityId
      }
    }
  }
}
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":"mutation BulkUpdateProduct { bulkUpdateProduct(input: [{id: \"<product id>\"}]) { result { created { id } errors { index code message entityId } updated deleted errorsOnDelete { index code message entityId } } } }"}'
MUTATIONdeleteProduct(input: DeleteProductInput!)Soft-deleteDeleteProductPayload
Example
Example: deleteProduct
mutation DeleteProduct {
  deleteProduct(input: {id: "<product id>"}) {
    product {
      id
      name
      formattedName
      modified
    }
  }
}
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":"mutation DeleteProduct { deleteProduct(input: {id: \"<product id>\"}) { product { id name formattedName modified } } }"}'

Types

The types this repository uses, each with its fields and their descriptions. Types several repositories share, such as PageInfo and the filter fields, are in the types index.

ProductEntity object 28 fields: customFields, isDeleteProtected, id, …

Product or service in the catalog that can be added as a line item to opportunities and quotes.

FieldTypeDescription
customFieldsJSONString! (1 args)Values of the record's custom fields as a JSON object keyed by custom field apiName (camelCase).
isDeleteProtectedBoolean!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.
idID!Unique identifier of entity.
isDeletedBooleanSpecifies if the entity is considered deleted.
modifiedDateTimeLast modification time.
createdDateTimeCreation time.
currencyExchangeRatesListCurrencyExchangeRatesListEntityCurrency exchange rate list used to convert monetary fields linked to this product. Empty to inherit the team space default.
pictureCloudObjectEntityProduct picture.
productCategoryProductCategoryEntityProduct category this product belongs to. Categories form a hierarchy used in the catalog browser.
productTypeProductTypeEntityProduct type that classifies this product. Product types are configurable per team space and drive which form, fields and product-line behavior apply.
allowedPipelinesAccessPipelinesEnumWhether this product can be added to all pipelines or only the explicitly linked subset (see productPipelineRelations).
currencyExchangeRatesListIdIDId of the currency exchange rate list applied to this product.
descriptionStringFree-form description of the product.
nameString!Name of the product, shown in catalogues and pickers.
pictureIdIDId of the product picture document.
productCategoryIdIDId of the product category this product belongs to, or empty when it is not categorized.
productTypeIdIDId of the product type that classifies this product.
skuStringStock-keeping unit (SKU) identifier of the product. Must be unique across products.
unitSymbolStringUnit of measure shown next to product quantities (e.g. pcs, kg, hours).
revisionIntRevision when entity was lastly changed.
productPipelineRelationsProductPipelineRelationEntityConnection (8 args)Deprecated pipeline connection.
productPipelinesProductPipelinesObjectConfiguration of Pipelines where the Product can be used.
formattedNameString!Display version of the product name, used in lists and references.
opptyProductRelationTypeIdUUID!Id of the product line-item type derived from productType. Used as a filter when listing relations on opportunities and quotes. Read-only.
priceLists[ProductPriceListReference!]Active price lists this product is priced in, ordered by name. Read-only; computed by Coevera.
priceSchedules[ProductPriceListReference!]Active price schedules this product is priced in, ordered by name. Read-only; computed by Coevera.
instancePermissions[EntityPermsEnum!]! (1 args)Permissions the current user has on this record, out of the requested ones.
priceListPriceFloat (2 args)Price of the product in the given price list and currency. Returns 0 when either is not given or the product has no price for that combination.
ProductEntityConnection object pageInfo: PageInfo!, edges: [ProductEntityEdge]!, totalCount: Int

Paginated list of Product records.

FieldTypeDescription
pageInfoPageInfo!Pagination data for this connection.
edges[ProductEntityEdge]!Contains the nodes in this connection.
totalCountIntTotal number of items in the connection.
ProductEntityEdge object node: ProductEntity, cursor: String!

A Relay edge containing a ProductEntity and its cursor.

FieldTypeDescription
nodeProductEntityThe item at the end of the edge
cursorString!A cursor for use in pagination
AccessPipelinesEnumFilterInput input eq: [AccessPipelinesEnum!], NOT: AccessPipelinesEnumFilterInput

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

Input fieldTypeDescription
eq[AccessPipelinesEnum!]Matches any of the listed values.
NOTAccessPipelinesEnumFilterInputMatches values that do not meet this condition.
ProductFilterInput input AND, OR, NOT, globalSearchQuery, one condition per field

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

Input fieldTypeDescription
OR[ProductFilterInput!]Matches records that meet at least one of the listed filters.
AND[ProductFilterInput!]Matches records that meet all of the listed filters.
NOTProductFilterInputMatches records that do not meet this filter.
globalSearchQueryStringSearch term matched against the fields that the global search covers for this entity.
idEntityFilterStringFieldUnique identifier of entity.
isDeletedBooleanSpecifies if the entity is considered deleted.
modifiedEntityFilterDateTimeFieldLast modification time.
createdEntityFilterDateTimeFieldCreation time.
allowedPipelinesAccessPipelinesEnumFilterInputWhether this product can be added to all pipelines or only the explicitly linked subset (see productPipelineRelations).
currencyExchangeRatesListIdEntityFilterStringFieldId of the currency exchange rate list applied to this product.
descriptionEntityFilterStringFieldFree-form description of the product.
nameEntityFilterStringFieldName of the product, shown in catalogues and pickers.
pictureIdEntityFilterStringFieldId of the product picture document.
productCategoryIdEntityFilterStringFieldId of the product category this product belongs to, or empty when it is not categorized.
productTypeIdEntityFilterStringFieldId of the product type that classifies this product.
skuEntityFilterStringFieldStock-keeping unit (SKU) identifier of the product. Must be unique across products.
unitSymbolEntityFilterStringFieldUnit of measure shown next to product quantities (e.g. pcs, kg, hours).
revisionEntityFilterNumberFieldRevision when entity was lastly changed.
allowedForPipelineUUIDId of a pipeline. Matches products that can be used in it: products available in all pipelines and products assigned to this pipeline.
isTypeDeletedBooleanFilters products by whether their product type has been deleted.
withCustom[CustomField!]Conditions on custom fields, each identified by its api name. All listed conditions must match.
currencyExchangeRatesListCurrencyExchangeRatesListFilterInputCurrency exchange rate list used to convert monetary fields linked to this product. Empty to inherit the team space default. Matches records where a related record meets these conditions.
pictureCloudObjectFilterInputProduct picture. Matches records where a related record meets these conditions.
productCategoryProductCategoryFilterInputProduct category this product belongs to. Categories form a hierarchy used in the catalog browser. Matches records where a related record meets these conditions.
productTypeProductTypeFilterInputProduct type that classifies this product. Product types are configurable per team space and drive which form, fields and product-line behavior apply. Matches records where a related record meets these conditions.
productPipelineRelationsProductPipelineRelationFilterInputDeprecated pipeline connection. Matches records where a related record meets these conditions.
ProductOrderByInput input Asc or Desc per field

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

Input fieldTypeDescription
idOrderByEnumUnique identifier of entity.
isDeletedOrderByEnumSpecifies if the entity is considered deleted.
modifiedOrderByEnumLast modification time.
createdOrderByEnumCreation time.
currencyExchangeRatesList[CurrencyExchangeRatesListOrderByNestedInput!]Currency exchange rate list used to convert monetary fields linked to this product. Empty to inherit the team space default. Sorts by fields of the related record, listed in order of priority.
productCategory[ProductCategoryOrderByNestedInput!]Product category this product belongs to. Categories form a hierarchy used in the catalog browser. Sorts by fields of the related record, listed in order of priority.
productType[ProductTypeOrderByNestedInput!]Product type that classifies this product. Product types are configurable per team space and drive which form, fields and product-line behavior apply. Sorts by fields of the related record, listed in order of priority.
currencyExchangeRatesListIdOrderByEnumId of the currency exchange rate list applied to this product.
descriptionOrderByEnumFree-form description of the product.
nameOrderByEnumName of the product, shown in catalogues and pickers.
productCategoryIdOrderByEnumId of the product category this product belongs to, or empty when it is not categorized.
productTypeIdOrderByEnumId of the product type that classifies this product.
skuOrderByEnumStock-keeping unit (SKU) identifier of the product. Must be unique across products.
unitSymbolOrderByEnumUnit of measure shown next to product quantities (e.g. pcs, kg, hours).
revisionOrderByEnumRevision when entity was lastly changed.
withCustomCommonEntityRepositoryOrderByCustomFieldSorts by a custom field.
CreateOrUpdateProductInput input 19 fields: clientMutationId, id, modified, …

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

Input fieldTypeDescription
clientMutationIdStringOptional 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).
idIDUnique identifier of entity.
modifiedDateTimeLast modification time.
createdDateTimeCreation time.
pictureCreateCloudObjectInputProduct picture.
allowedPipelinesAccessPipelinesEnumWhether this product can be added to all pipelines or only the explicitly linked subset (see productPipelineRelations).
currencyExchangeRatesListIdIDId of the currency exchange rate list applied to this product.
descriptionStringFree-form description of the product.
nameStringName of the product, shown in catalogues and pickers.
pictureIdIDId of the product picture document.
productCategoryIdIDId of the product category this product belongs to, or empty when it is not categorized.
productTypeIdIDId of the product type that classifies this product.
skuStringStock-keeping unit (SKU) identifier of the product. Must be unique across products.
unitSymbolStringUnit of measure shown next to product quantities (e.g. pcs, kg, hours).
customFieldsJSONStringCustom 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.
revisionIntRevision when entity was lastly changed.
productPipelineRelations[CreateProductPipelineRelationNoProductBackrefInput!]Deprecated pipeline connection.
productPipelinesProductPipelinesInputConfiguration of Pipelines where the Product can be used.
pictureSourceUrlStringURL of an image to use as the product picture. The image is downloaded from this URL and checked; only pictures are supported.
CreateProductInput input 18 fields: clientMutationId, modified, created, …

Field values of a new Product record.

Input fieldTypeDescription
clientMutationIdStringOptional 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).
modifiedDateTimeLast modification time.
createdDateTimeCreation time.
pictureCreateCloudObjectInputProduct picture.
allowedPipelinesAccessPipelinesEnumWhether this product can be added to all pipelines or only the explicitly linked subset (see productPipelineRelations).
currencyExchangeRatesListIdIDId of the currency exchange rate list applied to this product.
descriptionStringFree-form description of the product.
nameString!Name of the product, shown in catalogues and pickers.
pictureIdIDId of the product picture document.
productCategoryIdIDId of the product category this product belongs to, or empty when it is not categorized.
productTypeIdIDId of the product type that classifies this product.
skuStringStock-keeping unit (SKU) identifier of the product. Must be unique across products.
unitSymbolStringUnit of measure shown next to product quantities (e.g. pcs, kg, hours).
customFieldsJSONStringCustom 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.
revisionIntRevision when entity was lastly changed.
productPipelineRelations[CreateProductPipelineRelationNoProductBackrefInput!]Deprecated pipeline connection.
productPipelinesProductPipelinesInputConfiguration of Pipelines where the Product can be used.
pictureSourceUrlStringURL of an image to use as the product picture. The image is downloaded from this URL and checked; only pictures are supported.
CreateProductPipelineRelationNoProductBackrefInput input modified: DateTime, created: DateTime, pipelineId: ID!, revision: Int

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

Input fieldTypeDescription
modifiedDateTimeLast modification time.
createdDateTimeCreation time.
pipelineIdID!Id of the pipeline in which the product can be added as a line item.
revisionIntRevision when entity was lastly changed.
DeleteProductInput input clientMutationId: String, id: ID!

Id of the Product record to delete.

Input fieldTypeDescription
clientMutationIdStringOptional 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).
idID!Unique identifier of entity.
ProductPipelinesInput input pipelines: [ID!]!, allowedPipelines: AccessPipelinesEnum!

Pipelines in which a product can be added to opportunities, as set on create or update.

Input fieldTypeDescription
pipelines[ID!]!Ids of the pipelines the product can be added in. Effective only when allowedPipelines is Selected.
allowedPipelinesAccessPipelinesEnum!Whether the product can be added in all pipelines (All) or only in those listed in pipelines (Selected).
SetProductPriceList input operation: SetProductPriceListOperation!, priceListIds: [UUID!]!

Parameters of the createProduct mutation.

Input fieldTypeDescription
operationSetProductPriceListOperation!Which price lists the new products are added to: none (DontSet), all (All) or those in priceListIds (Selected).
priceListIds[UUID!]!Ids of the price lists to add the products to when operation is Selected.
UpdateProductInput input 19 fields: clientMutationId, id, modified, …

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

Input fieldTypeDescription
clientMutationIdStringOptional 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).
idID!Unique identifier of entity.
modifiedDateTimeLast modification time.
createdDateTimeCreation time.
pictureCreateCloudObjectInputProduct picture.
allowedPipelinesAccessPipelinesEnumWhether this product can be added to all pipelines or only the explicitly linked subset (see productPipelineRelations).
currencyExchangeRatesListIdIDId of the currency exchange rate list applied to this product.
descriptionStringFree-form description of the product.
nameStringName of the product, shown in catalogues and pickers.
pictureIdIDId of the product picture document.
productCategoryIdIDId of the product category this product belongs to, or empty when it is not categorized.
productTypeIdIDId of the product type that classifies this product.
skuStringStock-keeping unit (SKU) identifier of the product. Must be unique across products.
unitSymbolStringUnit of measure shown next to product quantities (e.g. pcs, kg, hours).
customFieldsJSONStringCustom 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.
revisionIntRevision when entity was lastly changed.
productPipelineRelations[CreateProductPipelineRelationNoProductBackrefInput!]Deprecated pipeline connection.
productPipelinesProductPipelinesInputConfiguration of Pipelines where the Product can be used.
pictureSourceUrlStringURL of an image to use as the product picture. The image is downloaded from this URL and checked; only pictures are supported.
BulkUpdateProductPayload object result: BulkUpdateResults!

Result of the bulkUpdateProduct mutation.

FieldTypeDescription
resultBulkUpdateResults!Ids of the created, updated and deleted records, and the items that failed.
CreateProductPayload object product: ProductEntity, clientMutationId: String

Result of the createProduct mutation.

FieldTypeDescription
productProductEntityThe created record.
clientMutationIdStringOptional 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).
DeleteProductPayload object product: ProductEntity, clientMutationId: String

Result of the deleteProduct mutation.

FieldTypeDescription
productProductEntityThe deleted record.
clientMutationIdStringOptional 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).
UpdateProductPayload object product: ProductEntity, clientMutationId: String

Result of the updateProduct mutation.

FieldTypeDescription
productProductEntityThe updated record.
clientMutationIdStringOptional 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).
AccessPipelinesEnum enum All, Selected

Which pipelines a product can be added to.

ValueDescription
AllThe product can be added in all pipelines.
SelectedThe product can be added only in the pipelines it is linked to.
ProductPipelinesObject object pipelines: [ID!]!, allowedPipelines: AccessPipelinesEnum!

Pipelines in which a product can be added to opportunities.

FieldTypeDescription
pipelines[ID!]!Ids of the pipelines the product can be added in. Effective only when allowedPipelines is Selected.
allowedPipelinesAccessPipelinesEnum!Whether the product can be added in all pipelines (All) or only in those listed in pipelines (Selected).
ProductPriceListReference object id: ID!, name: String!

Id and name of one price list a product is priced in.

FieldTypeDescription
idID!Id of the price list.
nameString!Name of the price list.
SetProductPriceListOperation enum DontSet, All, Selected

Which price lists newly created products are added to.

ValueDescription
DontSetProducts are not added to any price list.
AllProducts are added to every price list, with a zero price in each currency.
SelectedProducts are added to the price lists in priceListIds, with a zero price in each currency.