Skip to main content

Deprecations

Removal date: 1 March 2027

Everything on this page is deprecated and still works today. On 1 March 2027 these items are removed, and requests that use them start to fail. Migrate before that date.

This page covers v2 of the GraphQL and REST APIs. Every item listed is flagged as deprecated in the API itself, so you can always verify it against the live schema or the OpenAPI specs. The list was generated from the live APIs on 22 September 2026.

APIDeprecated items
GraphQL220
REST191

Check your integration​

  • GraphQL: deprecated items carry a deprecationReason in the schema. Most GraphQL clients and IDEs show it inline as you write a query, and the Explorer surfaces it. Retired queries and mutations are grouped in the Deprecated section of the GraphQL reference.
  • REST: deprecated endpoints, query parameters and fields carry the deprecated flag in the OpenAPI spec and appear as deprecated in the REST reference. The REST endpoints column below shows which endpoints send or return each deprecated field. You can also check the spec files directly.
  • Scripts and AI assistants: the same list is available as JSON and as Markdown. Each JSON item holds the API, the item, the REST endpoints it appears in and the replacement or note. The removal date is at the top of the file.

Check your code with an AI assistant​

Give this prompt to an AI coding assistant that can read your code and fetch a URL, such as Claude Code or Cursor. It reports what to change and leaves your code as it is.

Check this codebase for Propeller API deprecations.

1. Fetch https://docs.propeller-commerce.com/reference/deprecations.json. It
lists every deprecated item in the Propeller GraphQL and REST APIs, the
REST endpoints each one appears in and what to use instead.
2. Find every GraphQL operation this code sends (queries, mutations and
fragments in .graphql files, gql tags and strings) and every call to the
Propeller REST API (paths that start with /v2/).
3. Match them against the list. For GraphQL, match type, field, argument and
enum value names. For REST, match the endpoint, the query parameters and
the field names in the request and response bodies of the listed endpoints.
4. Report every match with the file and line, the deprecated item and its
note. Do not change any code.
5. End with a short list of the changes to make before the removal date given
in the JSON.

Migrations at a glance​

Most deprecations belong to one of the migrations below. Each one is listed in full further down.

MigrationWhat to doItems
Shop replaced by ChannelUse the channel and channels queries instead of shop and shops. Replace shopId with channelId where the type has one. Where it has none, stop using the field. shopInvalidateCache has no replacement.32
siteId no longer usedRemove the argument. It is already ignored.4
user replaced by Contact and CustomerUse cartSetContact or cartSetCustomer, and the contact and customer fields. On carts and tenders, use a contact plus companyId, or customerId.11
userId filtering on categories removedRemove the argument. User context filtering is no longer supported and the value is ignored.3
Legacy account fields on Company, Contact and CustomerMost of these are accepted but never stored. Use the sources array for external identifiers and the Company debtorId. The note on each item says what applies to it.107
Single-language fields replaced by localized arraysUse the plural localized forms: names, descriptions, shortDescriptions, slugs and shortNames. Default language is derived from the catalog and is no longer accepted on input.65
Legacy date fields replaced by createdAt and lastModifiedAtUse createdAt and lastModifiedAt, including in search inputs and sort fields.25
Media queries replaced by the media namespaceUse media.image, media.images, media.video, media.videos, media.document and media.documents.9
cost replaced by costPricesUse costPrices with quantity 1. Values sent to the deprecated field are not stored and are not used in calculations.9
Collections replaced by paginated equivalentsUse companiesPaginated, usersPaginated, contactsPaginated and customersPaginated.5
Numeric ids replaced by uuid or codeUse uuid, code, categoryId or parentUuid as noted per field.13
Mutations replaced by variants that return the entityUse the AndReturn variants, which return the updated Bundle or Carrier instead of a boolean.4
companySearch replaced by companiesUse the companies query instead of companySearch. The index maintenance mutations have no replacement.5
source and sourceId replaced by the sources arrayUse the sources array. On orders, externalId is replaced by sources.9
Order status flags no longer usedisExportable, isConfirmable and isArchivable are unused. Remove them from reads and writes.21
class replaced by typeOn products and clusters, read type instead of class. Keep using the class search filter.5
taxCode replaced by taxCodeValueUse taxCodeValue.6
shippingCost replaced by the business rule builderConfigure shipping logic with the business rule builder, which also covers more complex carrier cases.5
Inventory response fields no longer usedmessages and total on inventory responses are no longer populated.7
Sort values and sortable field namesUse uppercase ASC and DESC. Sortable fields become createdAt and lastModifiedAt.2
Order address operations renamedUse orderAddresses and orderAddressUpdate.2
Authentication and password resetUse triggerPasswordSendResetEmailEvent, and pass the input parameter on passwordResetLink. The announced replacement for logout is not available yet.4
Other individual deprecationsReplacements are listed per item.58

Full list​

Each row stands on its own: the note gives the replacement for that item or says the item can be dropped. For a REST field, the REST endpoints column names the endpoints that send or return it.

Shop replaced by Channel​

Use the channel and channels queries instead of shop and shops. Replace shopId with channelId where the type has one. Where it has none, stop using the field. shopInvalidateCache has no replacement.

APITypeItemReplacement or noteREST endpoints
GraphQLFieldBusinessRule.shopIdNo channel equivalent here. Stop using it.
GraphQLInput fieldBusinessRuleCreateInput.shopIdNo channel equivalent here. Stop using it.
GraphQLInput fieldBusinessRuleSearchInput.shopIdUse channelId instead.
GraphQLFieldCart.shopIdShop is deprecated and will be removed in the future. Use channelId instead
GraphQLFieldChannel.shopNo replacement. The Channel itself replaces the shop.
GraphQLInput fieldCreateSurchargeInput.shopIdNo channel equivalent here. Stop using it.
GraphQLInput fieldCreateWarehouseInput.shopIdNo channel equivalent here. Stop using it.
GraphQLFieldOrder.shopIdUse channelId instead
GraphQLInput fieldOrderCreateInput.shopIdUse channelId instead
GraphQLArgumentQuery.tax(shopId:)No channel equivalent here. Stop using it.
GraphQLQueryshopUse the channel query.
GraphQLMutationshopInvalidateCacheNo replacement.
GraphQLQueryshopsUse the channels query.
GraphQLFieldSurcharge.shopIdNo channel equivalent here. Stop using it.
GraphQLFieldTax.shopIdNo channel equivalent here. Stop using it.
GraphQLInput fieldTaxCreateInput.shopIdNo channel equivalent here. Stop using it.
GraphQLInput fieldTaxSearchInput.shopIdNo channel equivalent here. Stop using it.
GraphQLInput fieldTaxUpdateInput.shopIdNo channel equivalent here. Stop using it.
GraphQLFieldTender.shopIdDeprecated, please use channelId instead
GraphQLInput fieldUpdateSurchargeInput.shopIdNo channel equivalent here. Stop using it.
GraphQLFieldWarehouse.shopIdNo channel equivalent here. Stop using it.
RESTPropertyChannel.shopIdNo replacement. The Channel itself replaces the shop.
RESTPropertyCreateSurchargeInput.shopIdNo channel equivalent here. Stop using it.Sent to POST /v2/surcharges
RESTParameterGET /v2/taxes ?shopIdNo channel equivalent here. Stop using it.
RESTPropertyOrder.shopId[DEPRECATED] Shop is deprecated and will be removed in a future version. Use channelId instead.Returned by POST /v2/orders, GET /v2/orders/id/{id}, PATCH /v2/orders/id/{id} and 1 more
RESTPropertyOrderCreateInput.shopId[DEPRECATED] Shop is deprecated and will be removed in a future version. Use channelId instead.Sent to POST /v2/orders
RESTPropertySurcharge.shopIdNo channel equivalent here. Stop using it.Returned by GET /v2/surcharges, POST /v2/surcharges, GET /v2/surcharges/{id} and 3 more
RESTPropertyTax.shopIdNo channel equivalent here. Stop using it.Returned by GET /v2/taxes
RESTPropertyTaxCreateInput.shopIdNo channel equivalent here. Stop using it.Sent to POST /v2/taxes
RESTPropertyTaxResponse.shopIdNo channel equivalent here. Stop using it.Returned by POST /v2/taxes, GET /v2/taxes/{id}, PATCH /v2/taxes/{id} and 1 more
RESTPropertyTaxUpdateInputDto.shopIdNo channel equivalent here. Stop using it.Sent to PATCH /v2/taxes/{id}
RESTPropertyUpdatePaymentDTO.shopIdNo channel equivalent here. Stop using it.Sent to PATCH /v2/surcharges/{id}

siteId no longer used​

Remove the argument. It is already ignored.

APITypeItemReplacement or noteREST endpoints
GraphQLInput fieldEmailEventInput.siteIdSiteId is no longer needed
GraphQLArgumentMutation.logout(siteId:)siteId is no longer used
GraphQLArgumentMutation.startSession(siteId:)siteId is no longer used
GraphQLFieldTender.siteIdDeprecated in favor of channelId

user replaced by Contact and Customer​

Use cartSetContact or cartSetCustomer, and the contact and customer fields. On carts and tenders, use a contact plus companyId, or customerId.

APITypeItemReplacement or noteREST endpoints
GraphQLFieldCart.userDeprecated in favor of contact or customer
GraphQLFieldCart.userIdThis field will be removed in a future release, use contact+companyId or customerId instead
GraphQLMutationcartSetUserWill be removed in the future, please use cartSetContact or cartSetCustomer mutations instead.
GraphQLInput fieldCartSetUserInput.userIdThis field will be removed in a future release, use contact/companyId or customerId instead.
GraphQLInput fieldCartStartInput.userIdThis field will be removed in a future release, use contact/companyId or customerId instead.
GraphQLFieldICart.userDeprecated in favor of contact or customer
GraphQLFieldTender.userDeprecated in favor of contact or customer
GraphQLFieldTender.userIdThis field will be removed in a future release, use contact+companyId or customerId instead
GraphQLInput fieldTenderStartInput.userIduserId is deprecated, use contactId or customerId instead. If provided together with contactId or customerId, userId will be ignored.
RESTPropertyCart.userIdLegacy user identifier (deprecated). Previously used for user association. Use contactId with companyId for B2B customers or customerId for B2C customers instead.Returned by POST /v2/carts, GET /v2/carts/{id}, PATCH /v2/carts/{id} and 1 more
RESTPropertyCartStartInput.userIdUser identifier for cart association (deprecated). Legacy field for associating carts with user accounts. Use contactId/companyId for B2B scenarios or customerId for B2C scenarios instead.Sent to POST /v2/carts

userId filtering on categories removed​

Remove the argument. User context filtering is no longer supported and the value is ignored.

APITypeItemReplacement or noteREST endpoints
GraphQLArgumentCategory.categories(userId:)User context filtering is no longer supported. This parameter is ignored.
GraphQLArgumentQuery.categories(userId:)User context filtering is no longer supported. This parameter is ignored.
GraphQLArgumentQuery.category(userId:)User context filtering is no longer supported. This parameter is ignored.

Legacy account fields on Company, Contact and Customer​

Most of these are accepted but never stored. Use the sources array for external identifiers and the Company debtorId. The note on each item says what applies to it.

APITypeItemReplacement or noteREST endpoints
GraphQLFieldCompany.inheritProductListNo replacement announced.
GraphQLFieldCompany.pathNo replacement announced.
GraphQLFieldCompany.slugNo replacement announced.
GraphQLFieldCompanyContactSearch.debtorIdDeprecated in favor of company debtorId
GraphQLFieldContact.debtorIdDeprecated in favor of company debtorId
RESTPropertyCompanyBulkItemDto.authorizeIdLegacy authorization ID field for backward compatibility. Not stored in database.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.budgetLegacy budget setting field for backward compatibility. Not stored in database.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.budgetInheritLegacy budget inherit field for backward compatibility. Not stored in database.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.companyLegacy company field for backward compatibility. Not stored in database.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.defaultobjectIdLegacy default object ID field for backward compatibility. Not stored in database.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.departmentLegacy department field for backward compatibility. Not stored in database.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.inheritOrderListLegacy inherit order list field for backward compatibility. Not stored in database.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.inheritProductListNo replacement announced.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.officeLegacy office field for backward compatibility. Not stored in database.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.orderListAllowAllLegacy order list allow all field for backward compatibility. Not stored in database.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.orderListManagerIdLegacy order list manager ID field for backward compatibility. Not stored in database.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.parentNo replacement announced.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.pathNo replacement announced.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.slugNo replacement announced.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.sourceLegacy source system identifier for backward compatibility. Use 'sources' array instead.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.sourceIdLegacy source system type ID for backward compatibility. Use 'sources' array instead.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyBulkItemDto.userManagerIdLegacy user manager ID field for backward compatibility. Not stored in database.Sent to POST /v2/companies/bulk/{lookupKey}
RESTPropertyCompanyCreateDto.authorizeIdLegacy authorization ID field for backward compatibility. Not stored in database.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.budgetLegacy budget setting field for backward compatibility. Not stored in database.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.budgetInheritLegacy budget inherit field for backward compatibility. Not stored in database.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.companyLegacy company field for backward compatibility. Not stored in database.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.defaultobjectIdLegacy default object ID field for backward compatibility. Not stored in database.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.departmentLegacy department field for backward compatibility. Not stored in database.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.inheritOrderListLegacy inherit order list field for backward compatibility. Not stored in database.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.inheritProductListNo replacement announced.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.officeLegacy office field for backward compatibility. Not stored in database.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.orderListAllowAllLegacy order list allow all field for backward compatibility. Not stored in database.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.orderListManagerIdLegacy order list manager ID field for backward compatibility. Not stored in database.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.parentNo replacement announced.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.pathNo replacement announced.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.slugNo replacement announced.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.sourceLegacy source system identifier for backward compatibility. Use 'sources' array instead.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.sourceIdLegacy source system type ID for backward compatibility. Use 'sources' array instead.Sent to POST /v2/companies
RESTPropertyCompanyCreateDto.userManagerIdLegacy user manager ID field for backward compatibility. Not stored in database.Sent to POST /v2/companies
RESTPropertyCompanyUpdateDto.authorizeIdLegacy authorization ID field for backward compatibility. Not stored in database.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.budgetLegacy budget setting field for backward compatibility. Not stored in database.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.budgetInheritLegacy budget inherit field for backward compatibility. Not stored in database.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.companyLegacy company field for backward compatibility. Not stored in database.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.defaultobjectIdLegacy default object ID field for backward compatibility. Not stored in database.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.departmentLegacy department field for backward compatibility. Not stored in database.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.inheritOrderListLegacy inherit order list field for backward compatibility. Not stored in database.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.inheritProductListNo replacement announced.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.officeLegacy office field for backward compatibility. Not stored in database.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.orderListAllowAllLegacy order list allow all field for backward compatibility. Not stored in database.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.orderListManagerIdLegacy order list manager ID field for backward compatibility. Not stored in database.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.parentNo replacement announced.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.pathNo replacement announced.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.slugNo replacement announced.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.sourceLegacy source system identifier for backward compatibility. Use 'sources' array instead.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.sourceIdLegacy source system type ID for backward compatibility. Use 'sources' array instead.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyCompanyUpdateDto.userManagerIdLegacy user manager ID field for backward compatibility. Not stored in database.Sent to PATCH /v2/companies/{lookupKey}/{lookupValue}
RESTPropertyContactBulkItemDto.abbreviationLegacy contact abbreviation field for backward compatibility. Not stored in database.Sent to POST /v2/contacts/bulk/{lookupKey}
RESTPropertyContactBulkItemDto.debtorIdExternal debtor system identifier for financial and billing integration. Deprecated in favor of company debtorId.Sent to POST /v2/contacts/bulk/{lookupKey}
RESTPropertyContactBulkItemDto.parentNo replacement announced.Sent to POST /v2/contacts/bulk/{lookupKey}
RESTPropertyContactBulkItemDto.pricelistAmountLegacy price list amount field for backward compatibility. Not stored in database.Sent to POST /v2/contacts/bulk/{lookupKey}
RESTPropertyContactBulkItemDto.pricelistPercentageLegacy price list percentage field for backward compatibility. Not stored in database.Sent to POST /v2/contacts/bulk/{lookupKey}
RESTPropertyContactBulkItemDto.sourceDeprecated: use sources instead. When sources is not sent, this value and sourceId are stored as one entry in sources.Sent to POST /v2/contacts/bulk/{lookupKey}
RESTPropertyContactBulkItemDto.sourceIdDeprecated: use sources instead. When sources is not sent, source and this value are stored as one entry in sources.Sent to POST /v2/contacts/bulk/{lookupKey}
RESTPropertyContactBulkItemDto.ssnLegacy social security number field for backward compatibility. Not stored in database.Sent to POST /v2/contacts/bulk/{lookupKey}
RESTPropertyContactBulkItemDto.titleLegacy contact title field for backward compatibility. Not stored in database.Sent to POST /v2/contacts/bulk/{lookupKey}
RESTPropertyContactCreateDto.abbreviationLegacy contact abbreviation field for backward compatibility. Not stored in database.Sent to POST /v2/contacts
RESTPropertyContactCreateDto.debtorIdExternal debtor system identifier for financial and billing integration. Deprecated in favor of company debtorId.Sent to POST /v2/contacts
RESTPropertyContactCreateDto.pricelistAmountLegacy price list amount field for backward compatibility. Not stored in database.Sent to POST /v2/contacts
RESTPropertyContactCreateDto.pricelistPercentageLegacy price list percentage field for backward compatibility. Not stored in database.Sent to POST /v2/contacts
RESTPropertyContactCreateDto.sourceDeprecated: use sources instead. When sources is not sent, this value and sourceId are stored as one entry in sources.Sent to POST /v2/contacts
RESTPropertyContactCreateDto.sourceIdDeprecated: use sources instead. When sources is not sent, source and this value are stored as one entry in sources.Sent to POST /v2/contacts
RESTPropertyContactCreateDto.ssnLegacy social security number field for backward compatibility. Not stored in database.Sent to POST /v2/contacts
RESTPropertyContactCreateDto.titleLegacy contact title field for backward compatibility. Not stored in database.Sent to POST /v2/contacts
RESTPropertyContactUpdateDto.abbreviationLegacy contact abbreviation field for backward compatibility. Not stored in database.Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue}
RESTPropertyContactUpdateDto.debtorIdExternal debtor system identifier for financial and billing integration. Deprecated in favor of company debtorId.Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue}
RESTPropertyContactUpdateDto.parentNo replacement announced.Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue}
RESTPropertyContactUpdateDto.pricelistAmountLegacy price list amount field for backward compatibility. Not stored in database.Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue}
RESTPropertyContactUpdateDto.pricelistPercentageLegacy price list percentage field for backward compatibility. Not stored in database.Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue}
RESTPropertyContactUpdateDto.sourceDeprecated: use sources instead. When sources is not sent, this value and sourceId are stored as one entry in sources.Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue}
RESTPropertyContactUpdateDto.sourceIdDeprecated: use sources instead. When sources is not sent, source and this value are stored as one entry in sources.Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue}
RESTPropertyContactUpdateDto.ssnLegacy social security number field for backward compatibility. Not stored in database.Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue}
RESTPropertyContactUpdateDto.titleLegacy contact title field for backward compatibility. Not stored in database.Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue}
RESTPropertyCustomerBulkItemDto.abbreviationLegacy customer abbreviation field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.abbreviation).Sent to POST /v2/customers/bulk/{lookupKey}
RESTPropertyCustomerBulkItemDto.languageLanguage preference for the customer. Deprecated, use primaryLanguage instead.Sent to POST /v2/customers/bulk/{lookupKey}
RESTPropertyCustomerBulkItemDto.parentParent customer or company reference for hierarchical relationships. Deprecated - use company relationships instead (as documented for CustomerCreateDto.parent).Sent to POST /v2/customers/bulk/{lookupKey}
RESTPropertyCustomerBulkItemDto.pricelistAmountLegacy price list amount field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.pricelistAmount).Sent to POST /v2/customers/bulk/{lookupKey}
RESTPropertyCustomerBulkItemDto.pricelistPercentageLegacy price list percentage field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.pricelistPercentage).Sent to POST /v2/customers/bulk/{lookupKey}
RESTPropertyCustomerBulkItemDto.sourceSource name for the customer. Deprecated, use sources instead.Sent to POST /v2/customers/bulk/{lookupKey}
RESTPropertyCustomerBulkItemDto.sourceIdSource ID for the customer. Deprecated, use sources instead.Sent to POST /v2/customers/bulk/{lookupKey}
RESTPropertyCustomerBulkItemDto.ssnLegacy social security number field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.ssn).Sent to POST /v2/customers/bulk/{lookupKey}
RESTPropertyCustomerBulkItemDto.titleLegacy customer title field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.title).Sent to POST /v2/customers/bulk/{lookupKey}
RESTPropertyCustomerCreateDto.abbreviationLegacy customer abbreviation field for backward compatibility. Not stored in database.Sent to POST /v2/customers
RESTPropertyCustomerCreateDto.parentParent customer or company reference for hierarchical relationships. Deprecated - use company relationships instead.Sent to POST /v2/customers
RESTPropertyCustomerCreateDto.pricelistAmountLegacy price list amount field for backward compatibility. Not stored in database.Sent to POST /v2/customers
RESTPropertyCustomerCreateDto.pricelistPercentageLegacy price list percentage field for backward compatibility. Not stored in database.Sent to POST /v2/customers
RESTPropertyCustomerCreateDto.sourceLegacy source system identifier for backward compatibility. Use 'sources' array instead.Sent to POST /v2/customers
RESTPropertyCustomerCreateDto.sourceIdLegacy source system entity ID for backward compatibility. Use 'sources' array instead.Sent to POST /v2/customers
RESTPropertyCustomerCreateDto.ssnLegacy social security number field for backward compatibility. Not stored in database.Sent to POST /v2/customers
RESTPropertyCustomerCreateDto.titleLegacy customer title field for backward compatibility. Not stored in database.Sent to POST /v2/customers
RESTPropertyCustomerUpdateDto.abbreviationLegacy customer abbreviation field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.abbreviation).Sent to PATCH /v2/customers/{lookupKey}/{lookupValue}
RESTPropertyCustomerUpdateDto.parentParent customer or company reference for hierarchical relationships. Deprecated - use company relationships instead (as documented for CustomerCreateDto.parent).Sent to PATCH /v2/customers/{lookupKey}/{lookupValue}
RESTPropertyCustomerUpdateDto.pricelistAmountLegacy price list amount field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.pricelistAmount).Sent to PATCH /v2/customers/{lookupKey}/{lookupValue}
RESTPropertyCustomerUpdateDto.pricelistPercentageLegacy price list percentage field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.pricelistPercentage).Sent to PATCH /v2/customers/{lookupKey}/{lookupValue}
RESTPropertyCustomerUpdateDto.sourceSource name for the customer. Deprecated, use sources instead.Sent to PATCH /v2/customers/{lookupKey}/{lookupValue}
RESTPropertyCustomerUpdateDto.sourceIdSource ID for the customer. Deprecated, use sources instead.Sent to PATCH /v2/customers/{lookupKey}/{lookupValue}
RESTPropertyCustomerUpdateDto.ssnLegacy social security number field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.ssn).Sent to PATCH /v2/customers/{lookupKey}/{lookupValue}
RESTPropertyCustomerUpdateDto.titleLegacy customer title field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.title).Sent to PATCH /v2/customers/{lookupKey}/{lookupValue}

Single-language fields replaced by localized arrays​

Use the plural localized forms: names, descriptions, shortDescriptions, slugs and shortNames. Default language is derived from the catalog and is no longer accepted on input.

APITypeItemReplacement or noteREST endpoints
GraphQLFieldCategory.descriptionUse descriptions instead of description.
GraphQLFieldCategory.nameUse names instead of name.
GraphQLFieldCategory.shortDescriptionUse shortDescriptions instead of shortDescription.
GraphQLFieldCategory.slugUse slugs instead of slug.
GraphQLInput fieldCategorySearchInput.slugUse slugs instead of slug.
GraphQLFieldCluster.defaultLanguageNo longer used, defaults to 'NL'
GraphQLFieldCluster.languageNo longer used, defaults to 'NL'
GraphQLInput fieldClusterCategorySearchInput.slugUse slugs instead of slug.
GraphQLFieldClusterConfigSetting.nameUse 'attributeName' field instead. This field will be removed in a future version.
GraphQLInput fieldClusterCreateInput.defaultLanguageNo longer used, defaults to 'NL'
GraphQLInput fieldClusterOptionCreateInput.defaultLanguageNo longer used, defaults to 'NL'
GraphQLInput fieldClusterOptionUpdateInput.defaultLanguageNo longer used, defaults to 'NL'
GraphQLInput fieldCreateCategoryInput.defaultLanguageDefault language is now derived from the catalogue and no longer accepted on this input.
GraphQLInput fieldCreateCategoryInput.descriptionUse descriptions instead of description. Only one of description or descriptions is allowed.
GraphQLInput fieldCreateCategoryInput.nameUse names instead of name. Only one of name or names is allowed.
GraphQLInput fieldCreateCategoryInput.shortDescriptionUse shortDescriptions instead of shortDescription. Only one of shortDescription or shortDescriptions is allowed.
GraphQLInput fieldCreateCategoryInput.slugUse slugs instead of slug. Only one of slug or slugs is allowed.
GraphQLInput fieldCreateProductInput.languageNo longer used, defaults to 'NL'
GraphQLInput fieldCreateProductInput.shortNameUse shortNames instead
GraphQLFieldIBaseProduct.languageNo longer used, defaults to 'NL'
GraphQLFieldICluster.languageNo longer used, defaults to 'NL'
GraphQLFieldIProduct.languageNo longer used, defaults to 'NL'
GraphQLFieldIProduct.shortNameUse shortNames instead
GraphQLFieldProduct.defaultLanguageNo longer used, defaults to 'NL'
GraphQLFieldProduct.languageNo longer used, defaults to 'NL'
GraphQLFieldProduct.shortNameUse shortNames instead
GraphQLInput fieldProductCategorySearchInput.slugUse slugs instead of slug.
GraphQLInput fieldUpdateCategoryInput.defaultLanguageDefault language is now derived from the catalogue and no longer accepted on this input.
GraphQLInput fieldUpdateCategoryInput.descriptionUse descriptions instead of description. Only one of description or descriptions is allowed.
GraphQLInput fieldUpdateCategoryInput.nameUse names instead of name. Only one of name or names is allowed.
GraphQLInput fieldUpdateCategoryInput.shortDescriptionUse shortDescriptions instead of shortDescription. Only one of shortDescription or shortDescriptions is allowed.
GraphQLInput fieldUpdateCategoryInput.slugUse slugs instead of slug. Only one of slug or slugs is allowed.
GraphQLInput fieldUpdateProductInput.languageNo longer used, defaults to 'NL'
GraphQLInput fieldUpdateProductInput.shortNameUse shortNames instead
RESTPropertyBulkCategoryDto.defaultLanguageDeprecated and ignored: the default language is derived from the catalogue, so a value sent here is not stored.Sent to POST /v2/categories/bulk/{lookupKey}
RESTPropertyBulkCategoryDto.languageLegacy single-language hint retained for backward compatibility; use the localized fields instead.Sent to POST /v2/categories/bulk/{lookupKey}
RESTPropertyBulkClusterConfigDto.defaultLanguageLegacy default-language hint retained for backward compatibility; use the localized fields instead.Sent to POST /v2/clustersconfig/bulk/{lookupKey}
RESTPropertyBulkClusterConfigDto.languageLegacy single-language hint retained for backward compatibility; use the localized fields instead.Sent to POST /v2/clustersconfig/bulk/{lookupKey}
RESTPropertyBulkClusterDto.languageLegacy single-language hint retained for backward compatibility; use the localized fields instead.Sent to POST /v2/clusters/bulk/{lookupKey}
RESTPropertyBulkClusterOptionDto.languageLegacy single-language hint retained for backward compatibility; use the localized fields instead.Sent to POST /v2/clusters/{lookupKey}/{key}/options/bulk and POST /v2/clusters/bulk/{lookupKey}
RESTPropertyBulkProductDto.languageLanguage code (deprecated - do not use in new implementations)Sent to POST /v2/clusters/{lookupKey}/{key}/options/bulk, POST /v2/clusters/{lookupKey}/{key}/products/bulk, POST /v2/clusters/bulk/{lookupKey} and 1 more
RESTPropertyBulkProductDto.shortNameSingle-language short label shown when the full name is too long. Superseded by the localized short names field.Sent to POST /v2/clusters/{lookupKey}/{key}/options/bulk, POST /v2/clusters/{lookupKey}/{key}/products/bulk, POST /v2/clusters/bulk/{lookupKey} and 1 more
RESTPropertyCreateCategoryDto.defaultLanguageDeprecated and ignored: the default language is derived from the catalogue, so a value sent here is not stored.Sent to POST /v2/categories
RESTPropertyCreateCategoryDto.languageLegacy single-language hint retained for backward compatibility; use the localized fields instead.Sent to POST /v2/categories
RESTPropertyCreateClusterConfigDto.defaultLanguageDefault language code (deprecated - do not use in new implementations)Sent to POST /v2/clustersconfig
RESTPropertyCreateClusterConfigDto.languageLanguage code (deprecated - do not use in new implementations)Sent to POST /v2/clustersconfig
RESTPropertyCreateClusterDto.languageLegacy single-language hint retained for backward compatibility; use the localized fields instead.Sent to POST /v2/clusters
RESTPropertyCreateClusterOptionDto.defaultLanguageDefault language code (deprecated - do not use in new implementations)Sent to POST /v2/clusters/{lookupKey}/{key}/options
RESTPropertyCreateClusterOptionDto.languageLanguage code (deprecated - do not use in new implementations)Sent to POST /v2/clusters/{lookupKey}/{key}/options
RESTPropertyCreateProductDto.defaultLanguageLegacy default-language hint retained for backward compatibility; use the localized fields instead.Sent to POST /v2/clusteroptions/{lookupKey}/{key}/products, POST /v2/clusters/{lookupKey}/{key}/products and POST /v2/products
RESTPropertyCreateProductDto.languageLegacy single-language hint retained for backward compatibility; use the localized fields instead.Sent to POST /v2/clusteroptions/{lookupKey}/{key}/products, POST /v2/clusters/{lookupKey}/{key}/products and POST /v2/products
RESTPropertyCreateProductDto.shortNameSingle-language short label shown when the full name is too long. Superseded by the localized short names field.Sent to POST /v2/clusteroptions/{lookupKey}/{key}/products, POST /v2/clusters/{lookupKey}/{key}/products and POST /v2/products
RESTPropertyParentInput.languageDeprecated and ignored: the parent is found by id, or by source and sourceId.Sent to POST /v2/companies, PATCH /v2/companies/{lookupKey}/{lookupValue}, POST /v2/companies/bulk/{lookupKey} and 8 more
RESTPropertyParentReferenceDto.languageLegacy single-language hint retained for backward compatibility; use the localized fields instead.Sent to POST /v2/categories, PATCH /v2/categories/{lookupKey}/{key}, POST /v2/categories/bulk/{lookupKey} and 14 more
RESTPropertyUpdateCategoryDto.defaultLanguageDeprecated and ignored: the default language is derived from the catalogue, so a value sent here is not stored.Sent to PATCH /v2/categories/{lookupKey}/{key}
RESTPropertyUpdateCategoryDto.languageLegacy single-language hint retained for backward compatibility; use the localized fields instead.Sent to PATCH /v2/categories/{lookupKey}/{key}
RESTPropertyUpdateClusterConfigDto.defaultLanguageDefault language code (deprecated - do not use in new implementations)Sent to PATCH /v2/clustersconfig/{lookupKey}/{key}
RESTPropertyUpdateClusterConfigDto.languageLanguage code (deprecated - do not use in new implementations)Sent to PATCH /v2/clustersconfig/{lookupKey}/{key}
RESTPropertyUpdateClusterDto.defaultLanguageLegacy default-language hint retained for backward compatibility; use the localized fields instead.Sent to PATCH /v2/clusters/{lookupKey}/{key}
RESTPropertyUpdateClusterDto.languageLegacy single-language hint retained for backward compatibility; use the localized fields instead.Sent to PATCH /v2/clusters/{lookupKey}/{key}
RESTPropertyUpdateClusterOptionDto.defaultLanguageDefault language code (deprecated - do not use in new implementations)Sent to PATCH /v2/clusters/{lookupKey}/{key}/options/{optionId}
RESTPropertyUpdateClusterOptionDto.languageLanguage code (deprecated - do not use in new implementations)Sent to PATCH /v2/clusters/{lookupKey}/{key}/options/{optionId}
RESTPropertyUpdateProductDto.defaultLanguageLegacy default-language hint retained for backward compatibility; use the localized fields instead.Sent to PATCH /v2/clusteroptions/{lookupKey}/{key}/products/{productId}, PATCH /v2/clusters/{lookupKey}/{key}/products/{productId} and PATCH /v2/products/{lookupKey}/{key}
RESTPropertyUpdateProductDto.languageLegacy single-language hint retained for backward compatibility; use the localized fields instead.Sent to PATCH /v2/clusteroptions/{lookupKey}/{key}/products/{productId}, PATCH /v2/clusters/{lookupKey}/{key}/products/{productId} and PATCH /v2/products/{lookupKey}/{key}
RESTPropertyUpdateProductDto.shortNameSingle-language short label shown when the full name is too long. Superseded by the localized short names field.Sent to PATCH /v2/clusteroptions/{lookupKey}/{key}/products/{productId}, PATCH /v2/clusters/{lookupKey}/{key}/products/{productId} and PATCH /v2/products/{lookupKey}/{key}

Legacy date fields replaced by createdAt and lastModifiedAt​

Use createdAt and lastModifiedAt, including in search inputs and sort fields.

APITypeItemReplacement or noteREST endpoints
GraphQLInput fieldCategorySearchInput.dateCreatedFromUse createdAtFrom instead of dateCreatedFrom.
GraphQLInput fieldCategorySearchInput.dateCreatedToUse createdAtTo instead of dateCreatedTo.
GraphQLInput fieldCategorySearchInput.dateModifiedFromUse lastModifiedAtFrom instead of dateModifiedFrom.
GraphQLInput fieldCategorySearchInput.dateModifiedToUse lastModifiedAtTo instead of dateModifiedTo.
GraphQLEnum valueCategorySortableFields.dateChangedUse "lastModifiedAt" instead
GraphQLEnum valueCategorySortableFields.dateCreatedUse "createdAt" instead
GraphQLInput fieldClusterCategorySearchInput.dateCreatedFromUse createdAtFrom instead of dateCreatedFrom.
GraphQLInput fieldClusterCategorySearchInput.dateCreatedToUse createdAtTo instead of dateCreatedTo.
GraphQLInput fieldClusterCategorySearchInput.dateModifiedFromUse lastModifiedAtFrom instead of dateModifiedFrom.
GraphQLInput fieldClusterCategorySearchInput.dateModifiedToUse lastModifiedAtTo instead of dateModifiedTo.
GraphQLFieldInventory.dateModifiedUse lastModifiedAt instead
GraphQLFieldInventoryResponse.dateModifiedUse lastModifiedAt instead
GraphQLFieldOrder.dateDeprecated in favour of createdAt
GraphQLInput fieldProductCategorySearchInput.dateCreatedFromUse createdAtFrom instead of dateCreatedFrom.
GraphQLInput fieldProductCategorySearchInput.dateCreatedToUse createdAtTo instead of dateCreatedTo.
GraphQLInput fieldProductCategorySearchInput.dateModifiedFromUse lastModifiedAtFrom instead of dateModifiedFrom.
GraphQLInput fieldProductCategorySearchInput.dateModifiedToUse lastModifiedAtTo instead of dateModifiedTo.
RESTPropertyCategorySearchRestDto.dateCreatedDeprecated: use createdAt instead. Date range for creation date filteringSent to POST /v2/categories/search
RESTPropertyCategorySearchRestDto.dateModifiedDeprecated: use lastModifiedAt instead. Date range for modification date filteringSent to POST /v2/categories/search
RESTPropertyClusterSearchRestDto.dateCreatedDeprecated: use createdAt instead. Date range for creation date filteringSent to POST /v2/clusters/search
RESTPropertyClusterSearchRestDto.dateModifiedDeprecated: use lastModifiedAt instead. Date range for modification date filteringSent to POST /v2/clusters/search
RESTPropertyInventory.dateModified[Deprecated] Last modification timestamp. Use lastModifiedAt instead.Returned by GET /v2/inventory/id/{id}, PATCH /v2/inventory/id/{id}, DELETE /v2/inventory/id/{id} and 1 more
RESTPropertyOrder.dateLegacy order creation timestamp. Deprecated field previously used for order creation time. Use 'createdAt' field instead for accurate order timing information.Returned by POST /v2/orders, GET /v2/orders/id/{id}, PATCH /v2/orders/id/{id} and 1 more
RESTPropertyProductSearchRestDto.dateCreatedDeprecated: use createdAt instead. Date range for creation date filteringSent to POST /v2/products/search
RESTPropertyProductSearchRestDto.dateModifiedDeprecated: use lastModifiedAt instead. Date range for modification date filteringSent to POST /v2/products/search

Media queries replaced by the media namespace​

Use media.image, media.images, media.video, media.videos, media.document and media.documents.

APITypeItemReplacement or noteREST endpoints
GraphQLQuerymediaDocumentDeprecated in favor of media.document
GraphQLQuerymediaDocumentsDeprecated in favor of media.documents
GraphQLQuerymediaImageDeprecated in favor of media.image
GraphQLQuerymediaImagesDeprecated in favor of media.images
GraphQLQuerymediaVideoDeprecated in favor of media.video
GraphQLQuerymediaVideosDeprecated in favor of media.videos
GraphQLFieldProduct.mediaDocumentsDeprecated in favor of media.documents
GraphQLFieldProduct.mediaImagesDeprecated in favor of media.images
GraphQLFieldProduct.mediaVideosDeprecated in favor of media.videos

cost replaced by costPrices​

Use costPrices with quantity 1. Values sent to the deprecated field are not stored and are not used in calculations.

APITypeItemReplacement or noteREST endpoints
GraphQLFieldPrice.costDeprecated in favor of using costPrices (quantity 1)
GraphQLInput fieldPriceCreateInput.costDeprecated in favor of costPrices, note provided value will not be stored or used in calculations
GraphQLInput fieldPriceSearchInput.costDeprecated in favor of costPrices
GraphQLEnum valuePriceSortField.COST_PRICEDeprecated in favor of price.costPrices. Price query itself can't be sorted on price.cost. Input will be ignored.
GraphQLInput fieldPriceUpdateInput.costDeprecated in favor of costPrices, note provided value will not be stored or used in calculations
RESTPropertyPriceBulkInput.costProduct acquisition cost for margin calculations. The cost incurred to acquire or produce the product, used for profit margin analysis, pricing decisions, and financial reporting. Essential for maintaining profitable pricing strategies. ["Deprecated in favor of costPrices"]Sent to POST /v2/prices/bulk
RESTPropertyPriceCreateInput.costProduct acquisition cost for margin calculations. The cost incurred to acquire or produce the product, used for profit margin analysis, pricing decisions, and financial reporting. Essential for maintaining profitable pricing strategies. ["Deprecated in favor of costPrices"]Sent to POST /v2/prices
RESTPropertyPriceSearchInput.costFilter by cost price range. Cost price represents the acquisition cost for margin calculations and pricing decisions. [Deprecated in favor of costPrices]Sent to POST /v2/prices/search
RESTPropertyPriceUpdateDTO.costProduct acquisition cost for margin calculations. The cost incurred to acquire or produce the product, used for profit margin analysis, pricing decisions, and financial reporting. Essential for maintaining profitable pricing strategies. ["Deprecated in favor of costPrices"]Sent to PATCH /v2/prices/{id}

Collections replaced by paginated equivalents​

Use companiesPaginated, usersPaginated, contactsPaginated and customersPaginated.

APITypeItemReplacement or noteREST endpoints
GraphQLFieldOrderlist.companiesUse companiesPaginated.
GraphQLFieldOrderlist.usersUse usersPaginated.
GraphQLFieldPricesheet.companiesUse companiesPaginated.
GraphQLFieldPricesheet.contactsUse contactsPaginated.
GraphQLFieldPricesheet.customersUse customersPaginated.

Numeric ids replaced by uuid or code​

Use uuid, code, categoryId or parentUuid as noted per field.

APITypeItemReplacement or noteREST endpoints
GraphQLFieldCategory.idUse categoryId instead
GraphQLFieldCategory.parentIdUse parentUuid instead
GraphQLFieldCategoryItemOperationResult.directoryIdUse the 'key' field instead. This field is maintained for backward compatibility with legacy API.
GraphQLFieldChannel.channelIdUse id instead
GraphQLFieldCluster.skuUse 'code' instead. Returns the same value as 'code' for clusters.
GraphQLFieldClusterConfigSetting.idUse uuid instead.
GraphQLInput fieldClusterCreateInput.skuUse 'code' instead
GraphQLFieldITenderBaseItem.idDeprecate, please use uuid instead
GraphQLFieldTenderBaseItem.idDeprecate, please use uuid instead
GraphQLFieldTenderMainItem.idDeprecated, please use uuid instead
RESTPropertyBulkClusterDto.skuDeprecated: use code instead. Clusters have no SKU of their own, so a value sent here is stored as the cluster code.Sent to POST /v2/clusters/bulk/{lookupKey}
RESTPropertyCreateClusterDto.skuDeprecated: use code instead. Clusters have no SKU of their own, so a value sent here is stored as the cluster code.Sent to POST /v2/clusters
RESTPropertyUpdateClusterDto.skuDeprecated: use code instead. Clusters have no SKU of their own, so a value sent here is stored as the cluster code.Sent to PATCH /v2/clusters/{lookupKey}/{key}

Mutations replaced by variants that return the entity​

Use the AndReturn variants, which return the updated Bundle or Carrier instead of a boolean.

APITypeItemReplacement or noteREST endpoints
GraphQLMutationbundleAddItemsUse bundleAddItemsAndReturnBundle instead
GraphQLMutationbundleRemoveItemUse bundleRemoveItemAndReturnBundle instead
GraphQLMutationcarrierAssignWarehouseUse carrierAssignWarehouseAndReturnCarrier instead.
GraphQLMutationcarrierUnassignWarehouseUse carrierUnassignWarehouseAndReturnCarrier instead.

companySearch replaced by companies​

Use the companies query instead of companySearch. The index maintenance mutations have no replacement.

APITypeItemReplacement or noteREST endpoints
GraphQLQuerycompanySearchUse the companies query.
GraphQLMutationcompanySearchCleanupOrphanedIndicesNo replacement.
GraphQLMutationcompanySearchFixAliasWriteIndexNo replacement.
GraphQLMutationcompanySearchIndexUpdateMappingNo replacement.
GraphQLMutationcompanySearchReindexNo replacement.

source and sourceId replaced by the sources array​

Use the sources array. On orders, externalId is replaced by sources.

APITypeItemReplacement or noteREST endpoints
GraphQLInput fieldBaseProductSearchInput.sourceIds_deprecatedUse source and sourceIds combination instead
GraphQLInput fieldCategoryBaseProductsSearchInput.sourceIds_deprecatedUse source and sourceIds combination instead
GraphQLInput fieldCategoryBaseProductsSearchInput.sourceNames_deprecatedUse source and sourceIds combination instead
GraphQLFieldOrder.externalIdUse sources instead
GraphQLInput fieldOrderCreateInput.externalIdUse sources instead
GraphQLInput fieldOrderUpdateInput.externalIdUse sources instead
RESTPropertyOrder.externalIdUse sources instead (as documented for GraphQL Order.externalId).Returned by POST /v2/orders, GET /v2/orders/id/{id}, PATCH /v2/orders/id/{id} and 1 more
RESTPropertyOrderCreateInput.externalIdUse sources instead (as documented for GraphQL OrderCreateInput.externalId).Sent to POST /v2/orders
RESTPropertyOrderUpdateDTO.externalIdUse sources instead (as documented for GraphQL OrderCreateInput.externalId).Sent to PATCH /v2/orders/id/{id}

Order status flags no longer used​

isExportable, isConfirmable and isArchivable are unused. Remove them from reads and writes.

APITypeItemReplacement or noteREST endpoints
GraphQLInput fieldCreateOrderStatusInput.isArchivableUnused. To be removed in a future version
GraphQLInput fieldCreateOrderStatusInput.isConfirmableUnused. To be removed in a future version
GraphQLInput fieldCreateOrderStatusInput.isExportableUnused. To be removed in a future version
GraphQLFieldOrderStatus.isArchivableUnused. To be removed in a future version
GraphQLFieldOrderStatus.isConfirmableUnused. To be removed in a future version
GraphQLFieldOrderStatus.isExportableUnused. To be removed in a future version
GraphQLInput fieldOrderStatusesSearchInput.isArchivableUnused. To be removed in a future version
GraphQLInput fieldOrderStatusesSearchInput.isConfirmableUnused. To be removed in a future version
GraphQLInput fieldOrderStatusesSearchInput.isExportableUnused. To be removed in a future version
GraphQLInput fieldUpdateOrderStatusInput.isArchivableUnused. To be removed in a future version
GraphQLInput fieldUpdateOrderStatusInput.isConfirmableUnused. To be removed in a future version
GraphQLInput fieldUpdateOrderStatusInput.isExportableUnused. To be removed in a future version
RESTPropertyCreateOrderStatusInput.isArchivableMarks if the order status can be archived [Unused. To be removed in a future version]Sent to POST /v2/order-statuses
RESTPropertyCreateOrderStatusInput.isConfirmableMarks if the order is confirmable [Unused. To be removed in a future version]Sent to POST /v2/order-statuses
RESTPropertyCreateOrderStatusInput.isExportableMarks if the order is exportable [Unused. To be removed in a future version]Sent to POST /v2/order-statuses
RESTPropertyOrderStatus.isArchivableMarks if the order status can be archived [Unused. To be removed in a future version]Returned by GET /v2/order-statuses, POST /v2/order-statuses, PATCH /v2/order-statuses/{id} and 6 more
RESTPropertyOrderStatus.isConfirmableMarks if the order is confirmable [Unused. To be removed in a future version]Returned by GET /v2/order-statuses, POST /v2/order-statuses, PATCH /v2/order-statuses/{id} and 6 more
RESTPropertyOrderStatus.isExportableMarks if the order is exportable [Unused. To be removed in a future version]Returned by GET /v2/order-statuses, POST /v2/order-statuses, PATCH /v2/order-statuses/{id} and 6 more
RESTPropertyUpdateOrderStatusDTO.isArchivableMarks if the order can be archived [Unused. To be removed in a future version]Sent to PATCH /v2/order-statuses/{id}
RESTPropertyUpdateOrderStatusDTO.isConfirmableMarks if the order is confirmable [Unused. To be removed in a future version]Sent to PATCH /v2/order-statuses/{id}
RESTPropertyUpdateOrderStatusDTO.isExportableMarks if the order is exportable [Unused. To be removed in a future version]Sent to PATCH /v2/order-statuses/{id}

class replaced by type​

On products and clusters, read type instead of class. Keep using the class search filter.

Only the class field you read on products and clusters is deprecated (Product, Cluster, IBaseProduct, IProduct and ICluster). The class filter in product search inputs, such as ProductSearchInput.class and CategoryProductSearchInput.class, is not deprecated and keeps working after 1 March 2027. Search inputs have no type field, so leave the filter as it is. class on order items is not deprecated either.

APITypeItemReplacement or noteREST endpoints
GraphQLFieldCluster.classUse 'type' field instead. This field will be removed in a future version.
GraphQLFieldIBaseProduct.classUse 'type' field instead. This field will be removed in a future version.
GraphQLFieldICluster.classUse 'type' field instead. This field will be removed in a future version.
GraphQLFieldIProduct.classUse 'type' field instead. This field will be removed in a future version.
GraphQLFieldProduct.classUse 'type' field instead. This field will be removed in a future version.

taxCode replaced by taxCodeValue​

Use taxCodeValue.

APITypeItemReplacement or noteREST endpoints
GraphQLInput fieldCreateSurchargeInput.taxCodeUse taxCodeValue instead.
GraphQLInput fieldSurchargeSearchInput.taxCodeUse taxCodeValue instead.
GraphQLInput fieldUpdateSurchargeInput.taxCodeUse taxCodeValue instead.
RESTPropertyCreateSurchargeInput.taxCodeTax classification code (deprecated - use taxCodeValue instead) that determines applicable tax rates and regulations for the surcharge.Sent to POST /v2/surcharges
RESTParameterGET /v2/surcharges ?taxCodedeprecated - use taxCodeValue instead
RESTPropertyUpdatePaymentDTO.taxCodeTax code (deprecated - use taxCodeValue instead)Sent to PATCH /v2/surcharges/{id}

shippingCost replaced by the business rule builder​

Configure shipping logic with the business rule builder, which also covers more complex carrier cases.

APITypeItemReplacement or noteREST endpoints
GraphQLFieldCarrier.shippingCostDeprecated in favour of Propeller's business rule builder, where logic can be set up for carriers and more complex use cases
GraphQLInput fieldCarrierCreateInput.shippingCostDeprecated in favor of Propeller's business rule builder, where logic can be set up for carriers and more complex use cases
RESTPropertyCarrier.shippingCostBase shipping cost for this carrier (deprecated in favor of business rule builder)Returned by GET /v2/carriers, POST /v2/carriers, GET /v2/carriers/{id} and 1 more
RESTPropertyCarrierCreateInput.shippingCostDeprecated in favor of Propeller's business rule builder, where logic can be set up for carriers and more complex use casesSent to POST /v2/carriers
RESTPropertyUpdateCarrierDTO.shippingCostDeprecated in favor of Propeller's business rule builder, where logic can be set up for carriers and more complex use casesSent to PUT /v2/carriers/{id}

Inventory response fields no longer used​

messages and total on inventory responses are no longer populated.

APITypeItemReplacement or noteREST endpoints
GraphQLFieldInventoryDeleteResponse.messagesNo longer used
GraphQLFieldInventoryResponse.messagesNo longer used
GraphQLFieldInventoryResponse.totalNo longer used
GraphQLFieldProductInventory.messagesNo longer used
RESTPropertyInventoryRest.messagesNo longer used (as documented for GraphQL InventoryResponse.messages).Returned by GET /v2/inventory/id/{id}, PATCH /v2/inventory/id/{id} and DELETE /v2/inventory/id/{id}
RESTPropertyInventoryRest.totalNo longer used (as documented for GraphQL InventoryResponse.total).Returned by GET /v2/inventory/id/{id}, PATCH /v2/inventory/id/{id} and DELETE /v2/inventory/id/{id}
RESTPropertyProductInventory.messages[DEPRECATED] No longer usedReturned by GET /v2/products/{lookupkey}/{key}/inventory

Sort values and sortable field names​

Use uppercase ASC and DESC. Sortable fields become createdAt and lastModifiedAt.

APITypeItemReplacement or noteREST endpoints
GraphQLEnum valueSortOrder.ascUse ASC instead
GraphQLEnum valueSortOrder.descUse DESC instead

Order address operations renamed​

Use orderAddresses and orderAddressUpdate.

APITypeItemReplacement or noteREST endpoints
GraphQLQueryaddressesByOrderIdUse orderAddresses
GraphQLMutationorderUpdateAddressUse orderAddressUpdate

Authentication and password reset​

Use triggerPasswordSendResetEmailEvent, and pass the input parameter on passwordResetLink. The announced replacement for logout is not available yet.

APITypeItemReplacement or noteREST endpoints
GraphQLMutationlogoutThe announced signOut mutation is not available yet.
GraphQLArgumentMutation.passwordResetLink(email:)use input parameter instead
GraphQLArgumentMutation.passwordResetLink(redirectUrl:)use input parameter instead
GraphQLMutationpublishPasswordResetEmailEventDeprecated in favor of using the triggerPasswordSendResetEmailEvent that utilizes the event-action-manager and template-engine

Other individual deprecations​

These do not belong to a wider migration. The note on each item gives the replacement where one is announced.

APITypeItemReplacement or noteREST endpoints
GraphQLMutationaddCompanyManagerNo longer supported. Every call fails with a not-implemented error.
GraphQLFieldAdminUserTenant.nameUse federated field to get name
GraphQLFieldAttributeDescription.defaultValueWill become nullable in a future major version. Until then, descriptions without a configured default value return a placeholder AttributeValue with id "0" (an empty value matching the attribute type) instead of null.
GraphQLFieldCategory.pathThis field will be removed in a future version. Use categoryPath field resolver for breadcrumb navigation instead.
GraphQLInput fieldCategoryProductSearchInput.containerPathSlugsUse containerSlugs with getDescendants: true instead
GraphQLInput fieldCategoryProductSearchInput.pathNo longer used.
GraphQLInput fieldCategorySearchInput.categoryIdUse categoryIds instead of categoryId.
GraphQLInput fieldCategorySearchInput.parentCategoryIdUse parentCategoryIds instead of parentCategoryId.
GraphQLFieldChannel.defaultLetterIdNo replacement announced.
GraphQLFieldCluster.drillDownsUse config.setting instead
GraphQLInput fieldClusterCategorySearchInput.parentCategoryIdUse parentCategoryIds instead of parentCategoryId.
GraphQLEnum valueCompanyFieldName.BUDGETNo longer used. The importer ignores this column.
GraphQLEnum valueCompanyFieldName.BUDGET_INHERITNo longer used. The importer ignores this column.
GraphQLEnum valueCompanyFieldName.INHERIT_ORDER_LISTNo longer used. The importer ignores this column.
GraphQLEnum valueCompanyFieldName.INHERIT_PRODUCT_LISTNo longer used. The importer ignores this column.
GraphQLEnum valueCompanyFieldName.PATHNo longer used. The importer ignores this column.
GraphQLEnum valueCompanyFieldName.SLUGNo longer used. The importer ignores this column.
GraphQLEnum valueContactFieldName.DEBTOR_IDNo longer used. The importer ignores this column; import the debtor ID on the company instead.
GraphQLInput fieldCreateContactInput.debtorIdDeprecated in favor of company debtorId
GraphQLEnum valueCustomerFieldName.LANGUAGEUse PRIMARY_LANGUAGE instead of LANGUAGE. The importer ignores this column.
GraphQLEnum valueOrderItemClass.paymentUnused. To be removed in a future version
GraphQLEnum valueOrderItemClass.postageUnused. To be removed in a future version
GraphQLEnum valueOrderSearchFields.EXTERNAL_ORDER_IDUse the sources filter instead.
GraphQLMutationorderSendConfirmationEmailUse triggerOrderSendConfirm instead.
GraphQLInput fieldOrderSetStatusInput.addPDFAttachmentNot used anymore. Attachments are now handled by the template engine.
GraphQLInput fieldOrderSetStatusInput.sendOrderConfirmationEmailSends an order confirmation using the legacy template system. Use the triggerOrderSendConfirm mutation instead.
GraphQLFieldOrderTotals.orderIdUse the parent Order.id instead
GraphQLArgumentProduct.bulkPrices(taxZone:)Use the taxZone in the input instead
GraphQLFieldProduct.offersPricing and availability are managed through different fields; this field is preserved for federation compatibility and currently returns an empty list.
GraphQLInput fieldProductCategorySearchInput.parentCategoryIdUse parentCategoryIds instead of parentCategoryId.
GraphQLEnum valueProductFieldName.SHORT_NAMEUse SHORT_NAMES instead of SHORT_NAME.
GraphQLInput fieldProductSearchInput.containerPathSlugsUse containerSlugs with getDescendants: true instead
GraphQLInput fieldProductSearchInput.pathNo longer used.
GraphQLArgumentQuery.categories(filter:)Use input instead of filter.
GraphQLArgumentQuery.category(id:)Use categoryId instead of id.
GraphQLArgumentQuery.cluster(id:)Use clusterId instead of id.
GraphQLArgumentQuery.product(id:)Use productId instead of id.
GraphQLInput fieldRegisterContactInput.debtorIdDeprecated in favor of company debtorId
GraphQLMutationremoveCompanyManagerNo longer supported. Every call fails with a not-implemented error.
GraphQLInput fieldSparePartsMachineProductSearchInput.containerPathSlugsUse containerSlugs with getDescendants: true instead
GraphQLInput fieldSparePartsMachineProductSearchInput.pathNo longer used.
GraphQLEnum valueTaxSortField.SHOP_IDNo replacement announced.
GraphQLInput fieldTenderAddItemsInput.validateBudgetNo replacement announced.
GraphQLInput fieldTenderAddItemsInput.validateOrderListNo replacement announced.
GraphQLFieldTenderCarrier.amountDeprecated, please use price instead
GraphQLFieldTenderTotal.discountOverruledNot used anymore
GraphQLInput fieldTenderUpdateItemInput.validateBudgetNo replacement announced.
GraphQLInput fieldTenderUpdateItemInput.validateOrderListNo replacement announced.
GraphQLInput fieldUpdateContactInput.debtorIdDeprecated in favor of company debtorId
RESTPropertyAttributeDescription.defaultValueDefault value configuration for attributes based on this description. Specifies the initial value that will be assigned to new attributes created from this description. The value type must match the attribute type specified above. @deprecated Will become nullable in a future major version. Until then, descriptions without a configured default value return a placeholder AttributeValue with id "0" (an empty value matching the attribute type) instead of null, to keep the field non-null for backwards compatibility.Returned by GET /v2/attribute-descriptions, POST /v2/attribute-descriptions, GET /v2/attribute-descriptions/{lookupKey}/{lookupValue} and 1 more
RESTPropertyBulkProductDto.oemCodeDeprecated: use manufacturerCode instead. A value sent here is stored as manufacturerCode.Sent to POST /v2/clusters/{lookupKey}/{key}/options/bulk, POST /v2/clusters/{lookupKey}/{key}/products/bulk, POST /v2/clusters/bulk/{lookupKey} and 1 more
RESTPropertyBulkProductDto.taxCodeNo replacement announced.Sent to POST /v2/clusters/{lookupKey}/{key}/options/bulk, POST /v2/clusters/{lookupKey}/{key}/products/bulk, POST /v2/clusters/bulk/{lookupKey} and 1 more
RESTPropertyCreateMediaImageDto.productSourceExternal system name of the product the image relates to. @deprecated use productSourceRef instead.Sent to POST /v2/media/images/bulk
RESTPropertyCreateMediaImageDto.productSourceIdExternal identifier of the product within the source system. @deprecated use productSourceRef instead.Sent to POST /v2/media/images/bulk
RESTPropertyCreateProductDto.oemCodeDeprecated: use manufacturerCode instead. A value sent here is stored as manufacturerCode.Sent to POST /v2/clusteroptions/{lookupKey}/{key}/products, POST /v2/clusters/{lookupKey}/{key}/products and POST /v2/products
RESTEndpointGET /v2/favoritelistsPlease use POST /v2/favoritelists/search instead for better filtering capabilities and consistent request/response format.
RESTPropertyOrderTotals.orderIdThe orderId of this Order. Depricated use the parent Order.id insteadReturned by POST /v2/orders, GET /v2/orders/id/{id}, PATCH /v2/orders/id/{id} and 1 more
RESTPropertyUpdateProductDto.oemCodeDeprecated: use manufacturerCode instead. A value sent here is stored as manufacturerCode.Sent to PATCH /v2/clusteroptions/{lookupKey}/{key}/products/{productId}, PATCH /v2/clusters/{lookupKey}/{key}/products/{productId} and PATCH /v2/products/{lookupKey}/{key}

Questions​

If you are not sure whether a change affects your integration, contact your Propeller account manager with the queries or endpoints you use.