Deprecations
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.
| API | Deprecated items |
|---|---|
| GraphQL | 220 |
| REST | 191 |
Check your integration
- GraphQL: deprecated items carry a
deprecationReasonin 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
deprecatedflag 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.
| Migration | What to do | Items |
|---|---|---|
| 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. | 32 |
| siteId no longer used | Remove the argument. It is already ignored. | 4 |
| 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. | 11 |
| userId filtering on categories removed | Remove the argument. User context filtering is no longer supported and the value is ignored. | 3 |
| 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. | 107 |
| 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. | 65 |
| Legacy date fields replaced by createdAt and lastModifiedAt | Use createdAt and lastModifiedAt, including in search inputs and sort fields. | 25 |
| Media queries replaced by the media namespace | Use media.image, media.images, media.video, media.videos, media.document and media.documents. | 9 |
| cost replaced by costPrices | Use costPrices with quantity 1. Values sent to the deprecated field are not stored and are not used in calculations. | 9 |
| Collections replaced by paginated equivalents | Use companiesPaginated, usersPaginated, contactsPaginated and customersPaginated. | 5 |
| Numeric ids replaced by uuid or code | Use uuid, code, categoryId or parentUuid as noted per field. | 13 |
| Mutations replaced by variants that return the entity | Use the AndReturn variants, which return the updated Bundle or Carrier instead of a boolean. | 4 |
| companySearch replaced by companies | Use the companies query instead of companySearch. The index maintenance mutations have no replacement. | 5 |
| source and sourceId replaced by the sources array | Use the sources array. On orders, externalId is replaced by sources. | 9 |
| Order status flags no longer used | isExportable, isConfirmable and isArchivable are unused. Remove them from reads and writes. | 21 |
| class replaced by type | On products and clusters, read type instead of class. Keep using the class search filter. | 5 |
| taxCode replaced by taxCodeValue | Use taxCodeValue. | 6 |
| shippingCost replaced by the business rule builder | Configure shipping logic with the business rule builder, which also covers more complex carrier cases. | 5 |
| Inventory response fields no longer used | messages and total on inventory responses are no longer populated. | 7 |
| Sort values and sortable field names | Use uppercase ASC and DESC. Sortable fields become createdAt and lastModifiedAt. | 2 |
| Order address operations renamed | Use orderAddresses and orderAddressUpdate. | 2 |
| Authentication and password reset | Use triggerPasswordSendResetEmailEvent, and pass the input parameter on passwordResetLink. The announced replacement for logout is not available yet. | 4 |
| Other individual deprecations | Replacements 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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Field | BusinessRule.shopId | No channel equivalent here. Stop using it. | |
| GraphQL | Input field | BusinessRuleCreateInput.shopId | No channel equivalent here. Stop using it. | |
| GraphQL | Input field | BusinessRuleSearchInput.shopId | Use channelId instead. | |
| GraphQL | Field | Cart.shopId | Shop is deprecated and will be removed in the future. Use channelId instead | |
| GraphQL | Field | Channel.shop | No replacement. The Channel itself replaces the shop. | |
| GraphQL | Input field | CreateSurchargeInput.shopId | No channel equivalent here. Stop using it. | |
| GraphQL | Input field | CreateWarehouseInput.shopId | No channel equivalent here. Stop using it. | |
| GraphQL | Field | Order.shopId | Use channelId instead | |
| GraphQL | Input field | OrderCreateInput.shopId | Use channelId instead | |
| GraphQL | Argument | Query.tax(shopId:) | No channel equivalent here. Stop using it. | |
| GraphQL | Query | shop | Use the channel query. | |
| GraphQL | Mutation | shopInvalidateCache | No replacement. | |
| GraphQL | Query | shops | Use the channels query. | |
| GraphQL | Field | Surcharge.shopId | No channel equivalent here. Stop using it. | |
| GraphQL | Field | Tax.shopId | No channel equivalent here. Stop using it. | |
| GraphQL | Input field | TaxCreateInput.shopId | No channel equivalent here. Stop using it. | |
| GraphQL | Input field | TaxSearchInput.shopId | No channel equivalent here. Stop using it. | |
| GraphQL | Input field | TaxUpdateInput.shopId | No channel equivalent here. Stop using it. | |
| GraphQL | Field | Tender.shopId | Deprecated, please use channelId instead | |
| GraphQL | Input field | UpdateSurchargeInput.shopId | No channel equivalent here. Stop using it. | |
| GraphQL | Field | Warehouse.shopId | No channel equivalent here. Stop using it. | |
| REST | Property | Channel.shopId | No replacement. The Channel itself replaces the shop. | |
| REST | Property | CreateSurchargeInput.shopId | No channel equivalent here. Stop using it. | Sent to POST /v2/surcharges |
| REST | Parameter | GET /v2/taxes ?shopId | No channel equivalent here. Stop using it. | |
| REST | Property | Order.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 |
| REST | Property | OrderCreateInput.shopId | [DEPRECATED] Shop is deprecated and will be removed in a future version. Use channelId instead. | Sent to POST /v2/orders |
| REST | Property | Surcharge.shopId | No channel equivalent here. Stop using it. | Returned by GET /v2/surcharges, POST /v2/surcharges, GET /v2/surcharges/{id} and 3 more |
| REST | Property | Tax.shopId | No channel equivalent here. Stop using it. | Returned by GET /v2/taxes |
| REST | Property | TaxCreateInput.shopId | No channel equivalent here. Stop using it. | Sent to POST /v2/taxes |
| REST | Property | TaxResponse.shopId | No channel equivalent here. Stop using it. | Returned by POST /v2/taxes, GET /v2/taxes/{id}, PATCH /v2/taxes/{id} and 1 more |
| REST | Property | TaxUpdateInputDto.shopId | No channel equivalent here. Stop using it. | Sent to PATCH /v2/taxes/{id} |
| REST | Property | UpdatePaymentDTO.shopId | No channel equivalent here. Stop using it. | Sent to PATCH /v2/surcharges/{id} |
siteId no longer used
Remove the argument. It is already ignored.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Input field | EmailEventInput.siteId | SiteId is no longer needed | |
| GraphQL | Argument | Mutation.logout(siteId:) | siteId is no longer used | |
| GraphQL | Argument | Mutation.startSession(siteId:) | siteId is no longer used | |
| GraphQL | Field | Tender.siteId | Deprecated 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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Field | Cart.user | Deprecated in favor of contact or customer | |
| GraphQL | Field | Cart.userId | This field will be removed in a future release, use contact+companyId or customerId instead | |
| GraphQL | Mutation | cartSetUser | Will be removed in the future, please use cartSetContact or cartSetCustomer mutations instead. | |
| GraphQL | Input field | CartSetUserInput.userId | This field will be removed in a future release, use contact/companyId or customerId instead. | |
| GraphQL | Input field | CartStartInput.userId | This field will be removed in a future release, use contact/companyId or customerId instead. | |
| GraphQL | Field | ICart.user | Deprecated in favor of contact or customer | |
| GraphQL | Field | Tender.user | Deprecated in favor of contact or customer | |
| GraphQL | Field | Tender.userId | This field will be removed in a future release, use contact+companyId or customerId instead | |
| GraphQL | Input field | TenderStartInput.userId | userId is deprecated, use contactId or customerId instead. If provided together with contactId or customerId, userId will be ignored. | |
| REST | Property | Cart.userId | Legacy 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 |
| REST | Property | CartStartInput.userId | User 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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Argument | Category.categories(userId:) | User context filtering is no longer supported. This parameter is ignored. | |
| GraphQL | Argument | Query.categories(userId:) | User context filtering is no longer supported. This parameter is ignored. | |
| GraphQL | Argument | Query.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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Field | Company.inheritProductList | No replacement announced. | |
| GraphQL | Field | Company.path | No replacement announced. | |
| GraphQL | Field | Company.slug | No replacement announced. | |
| GraphQL | Field | CompanyContactSearch.debtorId | Deprecated in favor of company debtorId | |
| GraphQL | Field | Contact.debtorId | Deprecated in favor of company debtorId | |
| REST | Property | CompanyBulkItemDto.authorizeId | Legacy authorization ID field for backward compatibility. Not stored in database. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.budget | Legacy budget setting field for backward compatibility. Not stored in database. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.budgetInherit | Legacy budget inherit field for backward compatibility. Not stored in database. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.company | Legacy company field for backward compatibility. Not stored in database. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.defaultobjectId | Legacy default object ID field for backward compatibility. Not stored in database. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.department | Legacy department field for backward compatibility. Not stored in database. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.inheritOrderList | Legacy inherit order list field for backward compatibility. Not stored in database. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.inheritProductList | No replacement announced. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.office | Legacy office field for backward compatibility. Not stored in database. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.orderListAllowAll | Legacy order list allow all field for backward compatibility. Not stored in database. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.orderListManagerId | Legacy order list manager ID field for backward compatibility. Not stored in database. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.parent | No replacement announced. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.path | No replacement announced. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.slug | No replacement announced. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.source | Legacy source system identifier for backward compatibility. Use 'sources' array instead. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.sourceId | Legacy source system type ID for backward compatibility. Use 'sources' array instead. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyBulkItemDto.userManagerId | Legacy user manager ID field for backward compatibility. Not stored in database. | Sent to POST /v2/companies/bulk/{lookupKey} |
| REST | Property | CompanyCreateDto.authorizeId | Legacy authorization ID field for backward compatibility. Not stored in database. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.budget | Legacy budget setting field for backward compatibility. Not stored in database. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.budgetInherit | Legacy budget inherit field for backward compatibility. Not stored in database. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.company | Legacy company field for backward compatibility. Not stored in database. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.defaultobjectId | Legacy default object ID field for backward compatibility. Not stored in database. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.department | Legacy department field for backward compatibility. Not stored in database. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.inheritOrderList | Legacy inherit order list field for backward compatibility. Not stored in database. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.inheritProductList | No replacement announced. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.office | Legacy office field for backward compatibility. Not stored in database. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.orderListAllowAll | Legacy order list allow all field for backward compatibility. Not stored in database. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.orderListManagerId | Legacy order list manager ID field for backward compatibility. Not stored in database. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.parent | No replacement announced. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.path | No replacement announced. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.slug | No replacement announced. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.source | Legacy source system identifier for backward compatibility. Use 'sources' array instead. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.sourceId | Legacy source system type ID for backward compatibility. Use 'sources' array instead. | Sent to POST /v2/companies |
| REST | Property | CompanyCreateDto.userManagerId | Legacy user manager ID field for backward compatibility. Not stored in database. | Sent to POST /v2/companies |
| REST | Property | CompanyUpdateDto.authorizeId | Legacy authorization ID field for backward compatibility. Not stored in database. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.budget | Legacy budget setting field for backward compatibility. Not stored in database. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.budgetInherit | Legacy budget inherit field for backward compatibility. Not stored in database. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.company | Legacy company field for backward compatibility. Not stored in database. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.defaultobjectId | Legacy default object ID field for backward compatibility. Not stored in database. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.department | Legacy department field for backward compatibility. Not stored in database. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.inheritOrderList | Legacy inherit order list field for backward compatibility. Not stored in database. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.inheritProductList | No replacement announced. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.office | Legacy office field for backward compatibility. Not stored in database. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.orderListAllowAll | Legacy order list allow all field for backward compatibility. Not stored in database. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.orderListManagerId | Legacy order list manager ID field for backward compatibility. Not stored in database. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.parent | No replacement announced. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.path | No replacement announced. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.slug | No replacement announced. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.source | Legacy source system identifier for backward compatibility. Use 'sources' array instead. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.sourceId | Legacy source system type ID for backward compatibility. Use 'sources' array instead. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | CompanyUpdateDto.userManagerId | Legacy user manager ID field for backward compatibility. Not stored in database. | Sent to PATCH /v2/companies/{lookupKey}/{lookupValue} |
| REST | Property | ContactBulkItemDto.abbreviation | Legacy contact abbreviation field for backward compatibility. Not stored in database. | Sent to POST /v2/contacts/bulk/{lookupKey} |
| REST | Property | ContactBulkItemDto.debtorId | External debtor system identifier for financial and billing integration. Deprecated in favor of company debtorId. | Sent to POST /v2/contacts/bulk/{lookupKey} |
| REST | Property | ContactBulkItemDto.parent | No replacement announced. | Sent to POST /v2/contacts/bulk/{lookupKey} |
| REST | Property | ContactBulkItemDto.pricelistAmount | Legacy price list amount field for backward compatibility. Not stored in database. | Sent to POST /v2/contacts/bulk/{lookupKey} |
| REST | Property | ContactBulkItemDto.pricelistPercentage | Legacy price list percentage field for backward compatibility. Not stored in database. | Sent to POST /v2/contacts/bulk/{lookupKey} |
| REST | Property | ContactBulkItemDto.source | Deprecated: 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} |
| REST | Property | ContactBulkItemDto.sourceId | Deprecated: 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} |
| REST | Property | ContactBulkItemDto.ssn | Legacy social security number field for backward compatibility. Not stored in database. | Sent to POST /v2/contacts/bulk/{lookupKey} |
| REST | Property | ContactBulkItemDto.title | Legacy contact title field for backward compatibility. Not stored in database. | Sent to POST /v2/contacts/bulk/{lookupKey} |
| REST | Property | ContactCreateDto.abbreviation | Legacy contact abbreviation field for backward compatibility. Not stored in database. | Sent to POST /v2/contacts |
| REST | Property | ContactCreateDto.debtorId | External debtor system identifier for financial and billing integration. Deprecated in favor of company debtorId. | Sent to POST /v2/contacts |
| REST | Property | ContactCreateDto.pricelistAmount | Legacy price list amount field for backward compatibility. Not stored in database. | Sent to POST /v2/contacts |
| REST | Property | ContactCreateDto.pricelistPercentage | Legacy price list percentage field for backward compatibility. Not stored in database. | Sent to POST /v2/contacts |
| REST | Property | ContactCreateDto.source | Deprecated: use sources instead. When sources is not sent, this value and sourceId are stored as one entry in sources. | Sent to POST /v2/contacts |
| REST | Property | ContactCreateDto.sourceId | Deprecated: use sources instead. When sources is not sent, source and this value are stored as one entry in sources. | Sent to POST /v2/contacts |
| REST | Property | ContactCreateDto.ssn | Legacy social security number field for backward compatibility. Not stored in database. | Sent to POST /v2/contacts |
| REST | Property | ContactCreateDto.title | Legacy contact title field for backward compatibility. Not stored in database. | Sent to POST /v2/contacts |
| REST | Property | ContactUpdateDto.abbreviation | Legacy contact abbreviation field for backward compatibility. Not stored in database. | Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue} |
| REST | Property | ContactUpdateDto.debtorId | External debtor system identifier for financial and billing integration. Deprecated in favor of company debtorId. | Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue} |
| REST | Property | ContactUpdateDto.parent | No replacement announced. | Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue} |
| REST | Property | ContactUpdateDto.pricelistAmount | Legacy price list amount field for backward compatibility. Not stored in database. | Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue} |
| REST | Property | ContactUpdateDto.pricelistPercentage | Legacy price list percentage field for backward compatibility. Not stored in database. | Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue} |
| REST | Property | ContactUpdateDto.source | Deprecated: 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} |
| REST | Property | ContactUpdateDto.sourceId | Deprecated: 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} |
| REST | Property | ContactUpdateDto.ssn | Legacy social security number field for backward compatibility. Not stored in database. | Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue} |
| REST | Property | ContactUpdateDto.title | Legacy contact title field for backward compatibility. Not stored in database. | Sent to PATCH /v2/contacts/{lookupKey}/{lookupValue} |
| REST | Property | CustomerBulkItemDto.abbreviation | Legacy customer abbreviation field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.abbreviation). | Sent to POST /v2/customers/bulk/{lookupKey} |
| REST | Property | CustomerBulkItemDto.language | Language preference for the customer. Deprecated, use primaryLanguage instead. | Sent to POST /v2/customers/bulk/{lookupKey} |
| REST | Property | CustomerBulkItemDto.parent | Parent customer or company reference for hierarchical relationships. Deprecated - use company relationships instead (as documented for CustomerCreateDto.parent). | Sent to POST /v2/customers/bulk/{lookupKey} |
| REST | Property | CustomerBulkItemDto.pricelistAmount | Legacy price list amount field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.pricelistAmount). | Sent to POST /v2/customers/bulk/{lookupKey} |
| REST | Property | CustomerBulkItemDto.pricelistPercentage | Legacy price list percentage field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.pricelistPercentage). | Sent to POST /v2/customers/bulk/{lookupKey} |
| REST | Property | CustomerBulkItemDto.source | Source name for the customer. Deprecated, use sources instead. | Sent to POST /v2/customers/bulk/{lookupKey} |
| REST | Property | CustomerBulkItemDto.sourceId | Source ID for the customer. Deprecated, use sources instead. | Sent to POST /v2/customers/bulk/{lookupKey} |
| REST | Property | CustomerBulkItemDto.ssn | Legacy social security number field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.ssn). | Sent to POST /v2/customers/bulk/{lookupKey} |
| REST | Property | CustomerBulkItemDto.title | Legacy customer title field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.title). | Sent to POST /v2/customers/bulk/{lookupKey} |
| REST | Property | CustomerCreateDto.abbreviation | Legacy customer abbreviation field for backward compatibility. Not stored in database. | Sent to POST /v2/customers |
| REST | Property | CustomerCreateDto.parent | Parent customer or company reference for hierarchical relationships. Deprecated - use company relationships instead. | Sent to POST /v2/customers |
| REST | Property | CustomerCreateDto.pricelistAmount | Legacy price list amount field for backward compatibility. Not stored in database. | Sent to POST /v2/customers |
| REST | Property | CustomerCreateDto.pricelistPercentage | Legacy price list percentage field for backward compatibility. Not stored in database. | Sent to POST /v2/customers |
| REST | Property | CustomerCreateDto.source | Legacy source system identifier for backward compatibility. Use 'sources' array instead. | Sent to POST /v2/customers |
| REST | Property | CustomerCreateDto.sourceId | Legacy source system entity ID for backward compatibility. Use 'sources' array instead. | Sent to POST /v2/customers |
| REST | Property | CustomerCreateDto.ssn | Legacy social security number field for backward compatibility. Not stored in database. | Sent to POST /v2/customers |
| REST | Property | CustomerCreateDto.title | Legacy customer title field for backward compatibility. Not stored in database. | Sent to POST /v2/customers |
| REST | Property | CustomerUpdateDto.abbreviation | Legacy customer abbreviation field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.abbreviation). | Sent to PATCH /v2/customers/{lookupKey}/{lookupValue} |
| REST | Property | CustomerUpdateDto.parent | Parent customer or company reference for hierarchical relationships. Deprecated - use company relationships instead (as documented for CustomerCreateDto.parent). | Sent to PATCH /v2/customers/{lookupKey}/{lookupValue} |
| REST | Property | CustomerUpdateDto.pricelistAmount | Legacy price list amount field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.pricelistAmount). | Sent to PATCH /v2/customers/{lookupKey}/{lookupValue} |
| REST | Property | CustomerUpdateDto.pricelistPercentage | Legacy price list percentage field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.pricelistPercentage). | Sent to PATCH /v2/customers/{lookupKey}/{lookupValue} |
| REST | Property | CustomerUpdateDto.source | Source name for the customer. Deprecated, use sources instead. | Sent to PATCH /v2/customers/{lookupKey}/{lookupValue} |
| REST | Property | CustomerUpdateDto.sourceId | Source ID for the customer. Deprecated, use sources instead. | Sent to PATCH /v2/customers/{lookupKey}/{lookupValue} |
| REST | Property | CustomerUpdateDto.ssn | Legacy social security number field for backward compatibility. Not stored in database (as documented for CustomerCreateDto.ssn). | Sent to PATCH /v2/customers/{lookupKey}/{lookupValue} |
| REST | Property | CustomerUpdateDto.title | Legacy 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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Field | Category.description | Use descriptions instead of description. | |
| GraphQL | Field | Category.name | Use names instead of name. | |
| GraphQL | Field | Category.shortDescription | Use shortDescriptions instead of shortDescription. | |
| GraphQL | Field | Category.slug | Use slugs instead of slug. | |
| GraphQL | Input field | CategorySearchInput.slug | Use slugs instead of slug. | |
| GraphQL | Field | Cluster.defaultLanguage | No longer used, defaults to 'NL' | |
| GraphQL | Field | Cluster.language | No longer used, defaults to 'NL' | |
| GraphQL | Input field | ClusterCategorySearchInput.slug | Use slugs instead of slug. | |
| GraphQL | Field | ClusterConfigSetting.name | Use 'attributeName' field instead. This field will be removed in a future version. | |
| GraphQL | Input field | ClusterCreateInput.defaultLanguage | No longer used, defaults to 'NL' | |
| GraphQL | Input field | ClusterOptionCreateInput.defaultLanguage | No longer used, defaults to 'NL' | |
| GraphQL | Input field | ClusterOptionUpdateInput.defaultLanguage | No longer used, defaults to 'NL' | |
| GraphQL | Input field | CreateCategoryInput.defaultLanguage | Default language is now derived from the catalogue and no longer accepted on this input. | |
| GraphQL | Input field | CreateCategoryInput.description | Use descriptions instead of description. Only one of description or descriptions is allowed. | |
| GraphQL | Input field | CreateCategoryInput.name | Use names instead of name. Only one of name or names is allowed. | |
| GraphQL | Input field | CreateCategoryInput.shortDescription | Use shortDescriptions instead of shortDescription. Only one of shortDescription or shortDescriptions is allowed. | |
| GraphQL | Input field | CreateCategoryInput.slug | Use slugs instead of slug. Only one of slug or slugs is allowed. | |
| GraphQL | Input field | CreateProductInput.language | No longer used, defaults to 'NL' | |
| GraphQL | Input field | CreateProductInput.shortName | Use shortNames instead | |
| GraphQL | Field | IBaseProduct.language | No longer used, defaults to 'NL' | |
| GraphQL | Field | ICluster.language | No longer used, defaults to 'NL' | |
| GraphQL | Field | IProduct.language | No longer used, defaults to 'NL' | |
| GraphQL | Field | IProduct.shortName | Use shortNames instead | |
| GraphQL | Field | Product.defaultLanguage | No longer used, defaults to 'NL' | |
| GraphQL | Field | Product.language | No longer used, defaults to 'NL' | |
| GraphQL | Field | Product.shortName | Use shortNames instead | |
| GraphQL | Input field | ProductCategorySearchInput.slug | Use slugs instead of slug. | |
| GraphQL | Input field | UpdateCategoryInput.defaultLanguage | Default language is now derived from the catalogue and no longer accepted on this input. | |
| GraphQL | Input field | UpdateCategoryInput.description | Use descriptions instead of description. Only one of description or descriptions is allowed. | |
| GraphQL | Input field | UpdateCategoryInput.name | Use names instead of name. Only one of name or names is allowed. | |
| GraphQL | Input field | UpdateCategoryInput.shortDescription | Use shortDescriptions instead of shortDescription. Only one of shortDescription or shortDescriptions is allowed. | |
| GraphQL | Input field | UpdateCategoryInput.slug | Use slugs instead of slug. Only one of slug or slugs is allowed. | |
| GraphQL | Input field | UpdateProductInput.language | No longer used, defaults to 'NL' | |
| GraphQL | Input field | UpdateProductInput.shortName | Use shortNames instead | |
| REST | Property | BulkCategoryDto.defaultLanguage | Deprecated 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} |
| REST | Property | BulkCategoryDto.language | Legacy single-language hint retained for backward compatibility; use the localized fields instead. | Sent to POST /v2/categories/bulk/{lookupKey} |
| REST | Property | BulkClusterConfigDto.defaultLanguage | Legacy default-language hint retained for backward compatibility; use the localized fields instead. | Sent to POST /v2/clustersconfig/bulk/{lookupKey} |
| REST | Property | BulkClusterConfigDto.language | Legacy single-language hint retained for backward compatibility; use the localized fields instead. | Sent to POST /v2/clustersconfig/bulk/{lookupKey} |
| REST | Property | BulkClusterDto.language | Legacy single-language hint retained for backward compatibility; use the localized fields instead. | Sent to POST /v2/clusters/bulk/{lookupKey} |
| REST | Property | BulkClusterOptionDto.language | Legacy 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} |
| REST | Property | BulkProductDto.language | Language 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 |
| REST | Property | BulkProductDto.shortName | Single-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 |
| REST | Property | CreateCategoryDto.defaultLanguage | Deprecated and ignored: the default language is derived from the catalogue, so a value sent here is not stored. | Sent to POST /v2/categories |
| REST | Property | CreateCategoryDto.language | Legacy single-language hint retained for backward compatibility; use the localized fields instead. | Sent to POST /v2/categories |
| REST | Property | CreateClusterConfigDto.defaultLanguage | Default language code (deprecated - do not use in new implementations) | Sent to POST /v2/clustersconfig |
| REST | Property | CreateClusterConfigDto.language | Language code (deprecated - do not use in new implementations) | Sent to POST /v2/clustersconfig |
| REST | Property | CreateClusterDto.language | Legacy single-language hint retained for backward compatibility; use the localized fields instead. | Sent to POST /v2/clusters |
| REST | Property | CreateClusterOptionDto.defaultLanguage | Default language code (deprecated - do not use in new implementations) | Sent to POST /v2/clusters/{lookupKey}/{key}/options |
| REST | Property | CreateClusterOptionDto.language | Language code (deprecated - do not use in new implementations) | Sent to POST /v2/clusters/{lookupKey}/{key}/options |
| REST | Property | CreateProductDto.defaultLanguage | Legacy 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 |
| REST | Property | CreateProductDto.language | Legacy 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 |
| REST | Property | CreateProductDto.shortName | Single-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 |
| REST | Property | ParentInput.language | Deprecated 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 |
| REST | Property | ParentReferenceDto.language | Legacy 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 |
| REST | Property | UpdateCategoryDto.defaultLanguage | Deprecated 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} |
| REST | Property | UpdateCategoryDto.language | Legacy single-language hint retained for backward compatibility; use the localized fields instead. | Sent to PATCH /v2/categories/{lookupKey}/{key} |
| REST | Property | UpdateClusterConfigDto.defaultLanguage | Default language code (deprecated - do not use in new implementations) | Sent to PATCH /v2/clustersconfig/{lookupKey}/{key} |
| REST | Property | UpdateClusterConfigDto.language | Language code (deprecated - do not use in new implementations) | Sent to PATCH /v2/clustersconfig/{lookupKey}/{key} |
| REST | Property | UpdateClusterDto.defaultLanguage | Legacy default-language hint retained for backward compatibility; use the localized fields instead. | Sent to PATCH /v2/clusters/{lookupKey}/{key} |
| REST | Property | UpdateClusterDto.language | Legacy single-language hint retained for backward compatibility; use the localized fields instead. | Sent to PATCH /v2/clusters/{lookupKey}/{key} |
| REST | Property | UpdateClusterOptionDto.defaultLanguage | Default language code (deprecated - do not use in new implementations) | Sent to PATCH /v2/clusters/{lookupKey}/{key}/options/{optionId} |
| REST | Property | UpdateClusterOptionDto.language | Language code (deprecated - do not use in new implementations) | Sent to PATCH /v2/clusters/{lookupKey}/{key}/options/{optionId} |
| REST | Property | UpdateProductDto.defaultLanguage | Legacy 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} |
| REST | Property | UpdateProductDto.language | Legacy 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} |
| REST | Property | UpdateProductDto.shortName | Single-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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Input field | CategorySearchInput.dateCreatedFrom | Use createdAtFrom instead of dateCreatedFrom. | |
| GraphQL | Input field | CategorySearchInput.dateCreatedTo | Use createdAtTo instead of dateCreatedTo. | |
| GraphQL | Input field | CategorySearchInput.dateModifiedFrom | Use lastModifiedAtFrom instead of dateModifiedFrom. | |
| GraphQL | Input field | CategorySearchInput.dateModifiedTo | Use lastModifiedAtTo instead of dateModifiedTo. | |
| GraphQL | Enum value | CategorySortableFields.dateChanged | Use "lastModifiedAt" instead | |
| GraphQL | Enum value | CategorySortableFields.dateCreated | Use "createdAt" instead | |
| GraphQL | Input field | ClusterCategorySearchInput.dateCreatedFrom | Use createdAtFrom instead of dateCreatedFrom. | |
| GraphQL | Input field | ClusterCategorySearchInput.dateCreatedTo | Use createdAtTo instead of dateCreatedTo. | |
| GraphQL | Input field | ClusterCategorySearchInput.dateModifiedFrom | Use lastModifiedAtFrom instead of dateModifiedFrom. | |
| GraphQL | Input field | ClusterCategorySearchInput.dateModifiedTo | Use lastModifiedAtTo instead of dateModifiedTo. | |
| GraphQL | Field | Inventory.dateModified | Use lastModifiedAt instead | |
| GraphQL | Field | InventoryResponse.dateModified | Use lastModifiedAt instead | |
| GraphQL | Field | Order.date | Deprecated in favour of createdAt | |
| GraphQL | Input field | ProductCategorySearchInput.dateCreatedFrom | Use createdAtFrom instead of dateCreatedFrom. | |
| GraphQL | Input field | ProductCategorySearchInput.dateCreatedTo | Use createdAtTo instead of dateCreatedTo. | |
| GraphQL | Input field | ProductCategorySearchInput.dateModifiedFrom | Use lastModifiedAtFrom instead of dateModifiedFrom. | |
| GraphQL | Input field | ProductCategorySearchInput.dateModifiedTo | Use lastModifiedAtTo instead of dateModifiedTo. | |
| REST | Property | CategorySearchRestDto.dateCreated | Deprecated: use createdAt instead. Date range for creation date filtering | Sent to POST /v2/categories/search |
| REST | Property | CategorySearchRestDto.dateModified | Deprecated: use lastModifiedAt instead. Date range for modification date filtering | Sent to POST /v2/categories/search |
| REST | Property | ClusterSearchRestDto.dateCreated | Deprecated: use createdAt instead. Date range for creation date filtering | Sent to POST /v2/clusters/search |
| REST | Property | ClusterSearchRestDto.dateModified | Deprecated: use lastModifiedAt instead. Date range for modification date filtering | Sent to POST /v2/clusters/search |
| REST | Property | Inventory.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 |
| REST | Property | Order.date | Legacy 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 |
| REST | Property | ProductSearchRestDto.dateCreated | Deprecated: use createdAt instead. Date range for creation date filtering | Sent to POST /v2/products/search |
| REST | Property | ProductSearchRestDto.dateModified | Deprecated: use lastModifiedAt instead. Date range for modification date filtering | Sent 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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Query | mediaDocument | Deprecated in favor of media.document | |
| GraphQL | Query | mediaDocuments | Deprecated in favor of media.documents | |
| GraphQL | Query | mediaImage | Deprecated in favor of media.image | |
| GraphQL | Query | mediaImages | Deprecated in favor of media.images | |
| GraphQL | Query | mediaVideo | Deprecated in favor of media.video | |
| GraphQL | Query | mediaVideos | Deprecated in favor of media.videos | |
| GraphQL | Field | Product.mediaDocuments | Deprecated in favor of media.documents | |
| GraphQL | Field | Product.mediaImages | Deprecated in favor of media.images | |
| GraphQL | Field | Product.mediaVideos | Deprecated 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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Field | Price.cost | Deprecated in favor of using costPrices (quantity 1) | |
| GraphQL | Input field | PriceCreateInput.cost | Deprecated in favor of costPrices, note provided value will not be stored or used in calculations | |
| GraphQL | Input field | PriceSearchInput.cost | Deprecated in favor of costPrices | |
| GraphQL | Enum value | PriceSortField.COST_PRICE | Deprecated in favor of price.costPrices. Price query itself can't be sorted on price.cost. Input will be ignored. | |
| GraphQL | Input field | PriceUpdateInput.cost | Deprecated in favor of costPrices, note provided value will not be stored or used in calculations | |
| REST | Property | PriceBulkInput.cost | Product 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 |
| REST | Property | PriceCreateInput.cost | Product 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 |
| REST | Property | PriceSearchInput.cost | Filter 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 |
| REST | Property | PriceUpdateDTO.cost | Product 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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Field | Orderlist.companies | Use companiesPaginated. | |
| GraphQL | Field | Orderlist.users | Use usersPaginated. | |
| GraphQL | Field | Pricesheet.companies | Use companiesPaginated. | |
| GraphQL | Field | Pricesheet.contacts | Use contactsPaginated. | |
| GraphQL | Field | Pricesheet.customers | Use customersPaginated. |
Numeric ids replaced by uuid or code
Use uuid, code, categoryId or parentUuid as noted per field.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Field | Category.id | Use categoryId instead | |
| GraphQL | Field | Category.parentId | Use parentUuid instead | |
| GraphQL | Field | CategoryItemOperationResult.directoryId | Use the 'key' field instead. This field is maintained for backward compatibility with legacy API. | |
| GraphQL | Field | Channel.channelId | Use id instead | |
| GraphQL | Field | Cluster.sku | Use 'code' instead. Returns the same value as 'code' for clusters. | |
| GraphQL | Field | ClusterConfigSetting.id | Use uuid instead. | |
| GraphQL | Input field | ClusterCreateInput.sku | Use 'code' instead | |
| GraphQL | Field | ITenderBaseItem.id | Deprecate, please use uuid instead | |
| GraphQL | Field | TenderBaseItem.id | Deprecate, please use uuid instead | |
| GraphQL | Field | TenderMainItem.id | Deprecated, please use uuid instead | |
| REST | Property | BulkClusterDto.sku | Deprecated: 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} |
| REST | Property | CreateClusterDto.sku | Deprecated: 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 |
| REST | Property | UpdateClusterDto.sku | Deprecated: 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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Mutation | bundleAddItems | Use bundleAddItemsAndReturnBundle instead | |
| GraphQL | Mutation | bundleRemoveItem | Use bundleRemoveItemAndReturnBundle instead | |
| GraphQL | Mutation | carrierAssignWarehouse | Use carrierAssignWarehouseAndReturnCarrier instead. | |
| GraphQL | Mutation | carrierUnassignWarehouse | Use carrierUnassignWarehouseAndReturnCarrier instead. |
companySearch replaced by companies
Use the companies query instead of companySearch. The index maintenance mutations have no replacement.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Query | companySearch | Use the companies query. | |
| GraphQL | Mutation | companySearchCleanupOrphanedIndices | No replacement. | |
| GraphQL | Mutation | companySearchFixAliasWriteIndex | No replacement. | |
| GraphQL | Mutation | companySearchIndexUpdateMapping | No replacement. | |
| GraphQL | Mutation | companySearchReindex | No replacement. |
source and sourceId replaced by the sources array
Use the sources array. On orders, externalId is replaced by sources.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Input field | BaseProductSearchInput.sourceIds_deprecated | Use source and sourceIds combination instead | |
| GraphQL | Input field | CategoryBaseProductsSearchInput.sourceIds_deprecated | Use source and sourceIds combination instead | |
| GraphQL | Input field | CategoryBaseProductsSearchInput.sourceNames_deprecated | Use source and sourceIds combination instead | |
| GraphQL | Field | Order.externalId | Use sources instead | |
| GraphQL | Input field | OrderCreateInput.externalId | Use sources instead | |
| GraphQL | Input field | OrderUpdateInput.externalId | Use sources instead | |
| REST | Property | Order.externalId | Use 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 |
| REST | Property | OrderCreateInput.externalId | Use sources instead (as documented for GraphQL OrderCreateInput.externalId). | Sent to POST /v2/orders |
| REST | Property | OrderUpdateDTO.externalId | Use 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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Input field | CreateOrderStatusInput.isArchivable | Unused. To be removed in a future version | |
| GraphQL | Input field | CreateOrderStatusInput.isConfirmable | Unused. To be removed in a future version | |
| GraphQL | Input field | CreateOrderStatusInput.isExportable | Unused. To be removed in a future version | |
| GraphQL | Field | OrderStatus.isArchivable | Unused. To be removed in a future version | |
| GraphQL | Field | OrderStatus.isConfirmable | Unused. To be removed in a future version | |
| GraphQL | Field | OrderStatus.isExportable | Unused. To be removed in a future version | |
| GraphQL | Input field | OrderStatusesSearchInput.isArchivable | Unused. To be removed in a future version | |
| GraphQL | Input field | OrderStatusesSearchInput.isConfirmable | Unused. To be removed in a future version | |
| GraphQL | Input field | OrderStatusesSearchInput.isExportable | Unused. To be removed in a future version | |
| GraphQL | Input field | UpdateOrderStatusInput.isArchivable | Unused. To be removed in a future version | |
| GraphQL | Input field | UpdateOrderStatusInput.isConfirmable | Unused. To be removed in a future version | |
| GraphQL | Input field | UpdateOrderStatusInput.isExportable | Unused. To be removed in a future version | |
| REST | Property | CreateOrderStatusInput.isArchivable | Marks if the order status can be archived [Unused. To be removed in a future version] | Sent to POST /v2/order-statuses |
| REST | Property | CreateOrderStatusInput.isConfirmable | Marks if the order is confirmable [Unused. To be removed in a future version] | Sent to POST /v2/order-statuses |
| REST | Property | CreateOrderStatusInput.isExportable | Marks if the order is exportable [Unused. To be removed in a future version] | Sent to POST /v2/order-statuses |
| REST | Property | OrderStatus.isArchivable | Marks 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 |
| REST | Property | OrderStatus.isConfirmable | Marks 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 |
| REST | Property | OrderStatus.isExportable | Marks 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 |
| REST | Property | UpdateOrderStatusDTO.isArchivable | Marks if the order can be archived [Unused. To be removed in a future version] | Sent to PATCH /v2/order-statuses/{id} |
| REST | Property | UpdateOrderStatusDTO.isConfirmable | Marks if the order is confirmable [Unused. To be removed in a future version] | Sent to PATCH /v2/order-statuses/{id} |
| REST | Property | UpdateOrderStatusDTO.isExportable | Marks 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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Field | Cluster.class | Use 'type' field instead. This field will be removed in a future version. | |
| GraphQL | Field | IBaseProduct.class | Use 'type' field instead. This field will be removed in a future version. | |
| GraphQL | Field | ICluster.class | Use 'type' field instead. This field will be removed in a future version. | |
| GraphQL | Field | IProduct.class | Use 'type' field instead. This field will be removed in a future version. | |
| GraphQL | Field | Product.class | Use 'type' field instead. This field will be removed in a future version. |
taxCode replaced by taxCodeValue
Use taxCodeValue.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Input field | CreateSurchargeInput.taxCode | Use taxCodeValue instead. | |
| GraphQL | Input field | SurchargeSearchInput.taxCode | Use taxCodeValue instead. | |
| GraphQL | Input field | UpdateSurchargeInput.taxCode | Use taxCodeValue instead. | |
| REST | Property | CreateSurchargeInput.taxCode | Tax classification code (deprecated - use taxCodeValue instead) that determines applicable tax rates and regulations for the surcharge. | Sent to POST /v2/surcharges |
| REST | Parameter | GET /v2/surcharges ?taxCode | deprecated - use taxCodeValue instead | |
| REST | Property | UpdatePaymentDTO.taxCode | Tax 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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Field | Carrier.shippingCost | Deprecated in favour of Propeller's business rule builder, where logic can be set up for carriers and more complex use cases | |
| GraphQL | Input field | CarrierCreateInput.shippingCost | Deprecated in favor of Propeller's business rule builder, where logic can be set up for carriers and more complex use cases | |
| REST | Property | Carrier.shippingCost | Base 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 |
| REST | Property | CarrierCreateInput.shippingCost | Deprecated in favor of Propeller's business rule builder, where logic can be set up for carriers and more complex use cases | Sent to POST /v2/carriers |
| REST | Property | UpdateCarrierDTO.shippingCost | Deprecated in favor of Propeller's business rule builder, where logic can be set up for carriers and more complex use cases | Sent to PUT /v2/carriers/{id} |
Inventory response fields no longer used
messages and total on inventory responses are no longer populated.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Field | InventoryDeleteResponse.messages | No longer used | |
| GraphQL | Field | InventoryResponse.messages | No longer used | |
| GraphQL | Field | InventoryResponse.total | No longer used | |
| GraphQL | Field | ProductInventory.messages | No longer used | |
| REST | Property | InventoryRest.messages | No 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} |
| REST | Property | InventoryRest.total | No 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} |
| REST | Property | ProductInventory.messages | [DEPRECATED] No longer used | Returned by GET /v2/products/{lookupkey}/{key}/inventory |
Sort values and sortable field names
Use uppercase ASC and DESC. Sortable fields become createdAt and lastModifiedAt.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Enum value | SortOrder.asc | Use ASC instead | |
| GraphQL | Enum value | SortOrder.desc | Use DESC instead |
Order address operations renamed
Use orderAddresses and orderAddressUpdate.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Query | addressesByOrderId | Use orderAddresses | |
| GraphQL | Mutation | orderUpdateAddress | Use orderAddressUpdate |
Authentication and password reset
Use triggerPasswordSendResetEmailEvent, and pass the input parameter on passwordResetLink. The announced replacement for logout is not available yet.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Mutation | logout | The announced signOut mutation is not available yet. | |
| GraphQL | Argument | Mutation.passwordResetLink(email:) | use input parameter instead | |
| GraphQL | Argument | Mutation.passwordResetLink(redirectUrl:) | use input parameter instead | |
| GraphQL | Mutation | publishPasswordResetEmailEvent | Deprecated 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.
| API | Type | Item | Replacement or note | REST endpoints |
|---|---|---|---|---|
| GraphQL | Mutation | addCompanyManager | No longer supported. Every call fails with a not-implemented error. | |
| GraphQL | Field | AdminUserTenant.name | Use federated field to get name | |
| GraphQL | Field | AttributeDescription.defaultValue | 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. | |
| GraphQL | Field | Category.path | This field will be removed in a future version. Use categoryPath field resolver for breadcrumb navigation instead. | |
| GraphQL | Input field | CategoryProductSearchInput.containerPathSlugs | Use containerSlugs with getDescendants: true instead | |
| GraphQL | Input field | CategoryProductSearchInput.path | No longer used. | |
| GraphQL | Input field | CategorySearchInput.categoryId | Use categoryIds instead of categoryId. | |
| GraphQL | Input field | CategorySearchInput.parentCategoryId | Use parentCategoryIds instead of parentCategoryId. | |
| GraphQL | Field | Channel.defaultLetterId | No replacement announced. | |
| GraphQL | Field | Cluster.drillDowns | Use config.setting instead | |
| GraphQL | Input field | ClusterCategorySearchInput.parentCategoryId | Use parentCategoryIds instead of parentCategoryId. | |
| GraphQL | Enum value | CompanyFieldName.BUDGET | No longer used. The importer ignores this column. | |
| GraphQL | Enum value | CompanyFieldName.BUDGET_INHERIT | No longer used. The importer ignores this column. | |
| GraphQL | Enum value | CompanyFieldName.INHERIT_ORDER_LIST | No longer used. The importer ignores this column. | |
| GraphQL | Enum value | CompanyFieldName.INHERIT_PRODUCT_LIST | No longer used. The importer ignores this column. | |
| GraphQL | Enum value | CompanyFieldName.PATH | No longer used. The importer ignores this column. | |
| GraphQL | Enum value | CompanyFieldName.SLUG | No longer used. The importer ignores this column. | |
| GraphQL | Enum value | ContactFieldName.DEBTOR_ID | No longer used. The importer ignores this column; import the debtor ID on the company instead. | |
| GraphQL | Input field | CreateContactInput.debtorId | Deprecated in favor of company debtorId | |
| GraphQL | Enum value | CustomerFieldName.LANGUAGE | Use PRIMARY_LANGUAGE instead of LANGUAGE. The importer ignores this column. | |
| GraphQL | Enum value | OrderItemClass.payment | Unused. To be removed in a future version | |
| GraphQL | Enum value | OrderItemClass.postage | Unused. To be removed in a future version | |
| GraphQL | Enum value | OrderSearchFields.EXTERNAL_ORDER_ID | Use the sources filter instead. | |
| GraphQL | Mutation | orderSendConfirmationEmail | Use triggerOrderSendConfirm instead. | |
| GraphQL | Input field | OrderSetStatusInput.addPDFAttachment | Not used anymore. Attachments are now handled by the template engine. | |
| GraphQL | Input field | OrderSetStatusInput.sendOrderConfirmationEmail | Sends an order confirmation using the legacy template system. Use the triggerOrderSendConfirm mutation instead. | |
| GraphQL | Field | OrderTotals.orderId | Use the parent Order.id instead | |
| GraphQL | Argument | Product.bulkPrices(taxZone:) | Use the taxZone in the input instead | |
| GraphQL | Field | Product.offers | Pricing and availability are managed through different fields; this field is preserved for federation compatibility and currently returns an empty list. | |
| GraphQL | Input field | ProductCategorySearchInput.parentCategoryId | Use parentCategoryIds instead of parentCategoryId. | |
| GraphQL | Enum value | ProductFieldName.SHORT_NAME | Use SHORT_NAMES instead of SHORT_NAME. | |
| GraphQL | Input field | ProductSearchInput.containerPathSlugs | Use containerSlugs with getDescendants: true instead | |
| GraphQL | Input field | ProductSearchInput.path | No longer used. | |
| GraphQL | Argument | Query.categories(filter:) | Use input instead of filter. | |
| GraphQL | Argument | Query.category(id:) | Use categoryId instead of id. | |
| GraphQL | Argument | Query.cluster(id:) | Use clusterId instead of id. | |
| GraphQL | Argument | Query.product(id:) | Use productId instead of id. | |
| GraphQL | Input field | RegisterContactInput.debtorId | Deprecated in favor of company debtorId | |
| GraphQL | Mutation | removeCompanyManager | No longer supported. Every call fails with a not-implemented error. | |
| GraphQL | Input field | SparePartsMachineProductSearchInput.containerPathSlugs | Use containerSlugs with getDescendants: true instead | |
| GraphQL | Input field | SparePartsMachineProductSearchInput.path | No longer used. | |
| GraphQL | Enum value | TaxSortField.SHOP_ID | No replacement announced. | |
| GraphQL | Input field | TenderAddItemsInput.validateBudget | No replacement announced. | |
| GraphQL | Input field | TenderAddItemsInput.validateOrderList | No replacement announced. | |
| GraphQL | Field | TenderCarrier.amount | Deprecated, please use price instead | |
| GraphQL | Field | TenderTotal.discountOverruled | Not used anymore | |
| GraphQL | Input field | TenderUpdateItemInput.validateBudget | No replacement announced. | |
| GraphQL | Input field | TenderUpdateItemInput.validateOrderList | No replacement announced. | |
| GraphQL | Input field | UpdateContactInput.debtorId | Deprecated in favor of company debtorId | |
| REST | Property | AttributeDescription.defaultValue | Default 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 |
| REST | Property | BulkProductDto.oemCode | Deprecated: 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 |
| REST | Property | BulkProductDto.taxCode | No 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 |
| REST | Property | CreateMediaImageDto.productSource | External system name of the product the image relates to. @deprecated use productSourceRef instead. | Sent to POST /v2/media/images/bulk |
| REST | Property | CreateMediaImageDto.productSourceId | External identifier of the product within the source system. @deprecated use productSourceRef instead. | Sent to POST /v2/media/images/bulk |
| REST | Property | CreateProductDto.oemCode | Deprecated: 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 |
| REST | Endpoint | GET /v2/favoritelists | Please use POST /v2/favoritelists/search instead for better filtering capabilities and consistent request/response format. | |
| REST | Property | OrderTotals.orderId | The orderId of this Order. Depricated use the parent Order.id instead | Returned by POST /v2/orders, GET /v2/orders/id/{id}, PATCH /v2/orders/id/{id} and 1 more |
| REST | Property | UpdateProductDto.oemCode | Deprecated: 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.