Error Reference
This page provides a reference for the HTTP error codes and associated messages you may encounter while using the DealHub APIs. The errors are organized into common errors that apply across multiple APIs and errors that are specific to a single API.
V1 Endpoints
This page provides error references for the V2 endpoints, such as
GET /api/v2/quote/{id}andGET /api/v2/quotes. For errors related to V1 endpoints, please see the V1 Error Reference.
Placeholders in Error Messages
Error messages often contain placeholders (e.g.,
<PARAM_NAME>,<entity_id>,<MAX_LENGTH>,[SKU]) that are replaced dynamically with specific values in the actual response.
Asynchronous Errors
Failures for asynchronous operations, such as activating a new version or uploading products, are sent via Failure WebHooks.
Common Errors
These errors can be returned by multiple APIs and typically indicate an issue with the request's format, content, or authentication.
Payload and Validation
| HTTP code | When it occurs | Error Message |
|---|---|---|
| 400 | The request payload is not in a valid JSON format. | Invalid payload format. [cite_start]Supported format: JSON |
| 400 | A field in the request body exceeds its allowed character limit. | The request parameter <PARAM_NAME> exceeds its limits. [cite_start]Allowed maximum length: <MAX_LENGTH> |
| 400 | A required field is missing from the request body. | Request payload missing mandatory field(s): <field1>, <field2> |
| 400 | The request includes a parameter that is not recognized. | Unrecognized parameter: <PARAM_NAME> |
| 400 | A parameter is sent with a value that is not supported or invalid. | <PARAMETER_NAME> - Invalid parameter value. Valid value(s): <VALID_VALUES> |
Authentication
| HTTP code | When it occurs | Error Message |
|---|---|---|
| 403 | The Authorization token is missing, invalid, or does not match the user. | Unauthenticated |
Entity Not Found
| HTTP code | When it occurs | Error Message |
|---|---|---|
| 400 | The requested entity ID (e.g., for a quote, user, or opportunity) does not exist in DealHub. | Entity (ID = <entity_id>) not found |
API-Specific Errors
The following errors are unique to specific APIs.
Version API
These errors occur when managing Versions, Product Catalogs, and Hierarchies.
Version Management
| HTTP Code | When it occurs | Error Message |
|---|---|---|
| 400 | Mismatch between domain name of the source version account and target version account during duplication. | The domain name of the source version account does not match the target version account |
| 400 | A request is made to activate a version that is already active. | Version (id= <version_id>) already active. |
| 400 | The name provided for a new version is not unique. | A new version name should be unique. [cite_start]Please change the name and try again. |
| 400 | An operation was attempted on a version with an invalid status (e.g., modifying an Active version). | Specified version cannot be modified: Invalid version status. |
| 400 | A request was made to fetch 'MODIFIED' products for a version in 'DRAFT' status. | 'MODIFIED' products option is not available for version in 'DRAFT' status. [cite_start]Fetch 'ALL' products instead. |
| 400 | No version ID was provided, and the system could not find an 'ACTIVE' version to use as default. | Could not find the 'ACTIVE' version. |
Product Hierarchy & Catalog
| HTTP Code | When it occurs | Error Message |
|---|---|---|
| 400 | Specific SKUs requested by the consumer were not found in the version. | The following SKUs not found: <LIST_OF_SKUS> |
| 400 | The number of SKUs in a fetch request exceeds the allowed limit. | The number of requested items exceeds the allowed limit of <MAX_LIMIT>. |
| 400 | The SKU provided in a hierarchy update does not exist in the product list. | The SKU [SKU] at [path] does not exist in the products list. [cite_start]Please add the SKU... |
| 400 | A SKU or Label name field is empty. | Invalid data found at [path], SKU/ Label name field cannot be empty. |
| 400 | The type field is invalid or empty (must be PRODUCT, LABEL, or BUNDLE). | The field type is invalid / The field type is not defined. |
| 400 | A label name exceeds the character limit (50 chars). | A label name cannot exceed 50 characters. |
| 400 | A SKU exceeds the character limit (200 chars). | A SKU cannot exceed 200 characters. |
| 400 | A label name contains invalid characters. | The label name contains invalid characters. |
| 400 | Structure: A label exists without any children (products/bundles). | Label [name] is set without any related products. |
| 400 | Structure: A label is mandatory but has no mandatory child products. | Label [name] is a mandatory label without any mandatory products. |
| 400 | Structure: An alternative item does not have at least one peer option at the same level. | [Item NAME] has incomplete configuration. [cite_start]Please ensure there is at least one more alternative at the same level... |
| 400 | Structure: Mismatch in mandatory/alternative settings among peer items. | For [name], you have an alternative option in this level, and one is set as mandatory. [cite_start]Please set all fields as both mandatory and alternative. |
| 400 | Validation: mandatory or alternative fields are empty or invalid. | The item "[name]" has an empty/invalid mandatory or alternative field. |
| 400 | The hierarchy exceeds the maximum depth of 10 levels. | You have reached the maximum limit of 10 levels that can be added. |
| 400 | The hierarchy exceeds the maximum item limit (50,000). | You can only add a maximum of 50,000 products or labels to the product hierarchy. |
| 400 | Delete: Attempt to delete a product that has children. | Unable to delete product [SKU] that has related product/s in the product hierarchy. |
| 400 | Delete: Attempt to delete a product marked as Mandatory or Alternative. | Unable to delete product [SKU] that was set as [mandatory/alternative] in the product hierarchy. |
Actions API
The following errors are specific to the Actions API and may occur when performing submit, publish, or sign externally actions on quotes.
| HTTP Code | When it occurs | Error Message |
|---|---|---|
| 400 | The quote cannot be submitted due to failing submit validation. | Submission failed: The quote did not pass submit validation requirements. |
| 400 | The quote cannot be published due to failing submit validation. | Publish quote failed: The quote did not meet submit validation requirements. |
| 400 | The quote was created but cannot be signed due to failing submit validation. | Sign externally failed: The quote did not pass submit validation requirements. |
| 400 | The quote cannot be published due to a required approval. | Publish quote failed: Approval is required before the quote can be published. |
| 400 | The quote cannot be signed due to a required approval. | Sign externally pending: Approval is required before the quote can be signed. |
| 400 | The quote cannot be submitted because it has already been submitted. | Submission failed: The quote has already been submitted. |
| 400 | The quote cannot be published; the quote document type is not DealRoom. | Publish quote failed: The quote's document type must be 'DealRoom' to proceed. |
| 400 | The quote cannot be published because it has already been published. | Publish quote failed: The quote has already been published. |
| 400 | The quote cannot be published because its status is 'Draft'; it must be submitted first. | Publish quote failed: The quote is in 'Draft' status and must be submitted first. |
| 400 | The quote cannot be signed because it has already been signed. | Sign externally failed: The quote has already been signed. |
| 400 | The quote cannot be signed externally. | Sign externally failed: The request cannot be processed. |
| 400 | Failed to sign externally; the quote is partially signed. | Sign externally failed: The quote is currently in the signing process and cannot be signed externally at this stage. |
| 400 | Failed to sign externally; DealRoom has an active redline. | Sign externally failed: The DealRoom is in the redlining process. External signing is only allowed after redlining is completed. |
| 400 | Failed to submit; the draft quote requires an update before submission. | Submission failed: The draft quote requires updates before it can be submitted. Complete updates via the DealHub UI. |
| 400 | Failed to sign externally; Because a published quote has already existed in the opportunity. | Sign externally failed: There is already another published quote's document type 'DealRoom' in the opportunity. Published the quote to sign it externally. |
| 400 | Failed to sign the quote externally; The quote failed to sync. | Sign quote externally failed: The quote failed to sync. |
| 400 | Failed to sign the quote externally; The quote status is draft. | Sign quote externally failed: The quote is in a draft status. |
| 400 | Failed to sign the quote externally; The option to multi-sign externally is on and the quote needs to be published to sign it externally. | Sign quote externally failed: There is already a signed quote under the opportunity. The quote needs to be published first. |
Quote API
| HTTP Code | When it occurs | Error Message |
|---|---|---|
| 400 | A document is requested for a quote that is still in Draft status. | Cannot retrieve the document for the quote in 'Draft' status. |
| 400 | A document is requested, but the quote was generated as an Excel file and has no document template specified. | The quote does not have a template specified. |
| 400 | The requested document type (e.g., PDF, WORD) is not enabled for the quote's playbook. | <DOCUMENT_TYPE> is not supported by the quote playbook. |
| 400 | The requested file type for a submitted quote is different from the type it was originally generated with. | Cannot generate <DOCUMENT_TYPE> for the submitted quote (submitted with <FILE_TYPE>) |
| 400 | An API request is made when no version is currently active in the account. | Cannot complete request execution as there is no active Version configured. |
| 400 | Signer information is requested for an opportunity that does not have a published DealRoom. | No DealRoom instance found for the given opportunity ID |
| 400 | A request is made to create a new opportunity, but an opportunity with the same ID already exists. | Entity (opportunity ID= <entity ID>) already exists. |
CRM API
| HTTP Code | When it occurs | Error Message |
|---|---|---|
| 400 | A custom field is specified more than once in the custom_fields list. | Parameter <custom_field_name> specified more than once in custom_fields list. |
| 400 | The data type of a provided custom field does not match the type defined in the version configuration. | Type mismatch: custom field (<custom_field_name>) type does not match to the type defined in version <version_id> |
| 400 | The provided currency is not supported in DealHub. | Currency <currency> is not supported in DealHub. Supported currencies: <list> |
| 400 | A seller attempts to create a quote using a version that is not active. | Sellers can create quotes only in the context of the active version... |
| 400 | There is a mismatch between the provided quote ID and opportunity ID. | Mismatch between quote ID <dealhub_quote_id> and opportunity <external_opportunity_id> |
| 400 | The currency provided in the request conflicts with the currency already configured for an existing opportunity. | Currency mismatch. Received <currency>, while specified opportunity <external_opportunity_id> already configured with <currency> |
Generate Quote API
The following errors may occur when using the simulate or generate quote endpoints.
General Generation Errors
| HTTP Code | When it occurs | Error Message |
|---|---|---|
| 400 | The system received an API request, but no active version is defined. | Request failed: No active version is configured in the system. |
| 400 | Simulate failed because the specified version ID does not exist. | Simulation failed: The provided version ID does not exist in the system. |
| 400 | Failed to generate a quote because the specified playbook does not exist. | Quote generation failed: The provided playbook does not exist in the system. |
| 400 | Failed to generate a quote because the specified playbook is disabled. | Quote generation failed: The specified playbook is currently disabled. |
| 400 | Failed to generate a quote because the specified playbook is not of type API. | Quote generation failed: The playbook must be of type 'API' to proceed. |
| 400 | Failed to generate a quote because the DealRoom name or quote name is missing/invalid. | Quote generation failed: The [DealRoom publish / quote] name does not exist or is invalid. |
| 400 | Failed to generate a quote because the expiration date is invalid or in the past. | Quote generation failed: The expiration date does not exist or is invalid. |
| 400 | Failed to generate a quote because the document/DealRoom template is not available or set to private. | Quote generation failed: The [document / DealRoom] template is not available for this quote. |
| 400 | Failed to generate the quote due to missing mandatory questions. | Quote generation failed: Mandatory question is missing: <mandatory question name>. |
| 400 | Failed to generate the quote because at least one product is required in the product summary table. | Quote generation failed: At least one product must be included in the product summary table. |
| 400 | Failed to generate the quote because the SKU provided in line_item does not exist. | Quote generation failed: The SKU <SKU> does not exist in the system. |
| 400 | Failed to generate a quote because the partner program configuration is invalid (missing levels or multiple programs per level). | Quote generation failed: The required partner levels are missing... |
| 400 | Failed to generate the quote due to a connection issue with the CRM. | Quote generation failed: An error occurred while connecting to the CRM system. |
Quote Data (Question) Validation
The quote generation process fails if the quote_data field contains invalid values.
| HTTP Code | When it occurs | Error Message |
|---|---|---|
| 400 | Text List: The provided answer is not found in the predefined valid options. | Quote generation failed: The answer for [Group ID - Question ID] contains invalid values. Not found in the predefined list. |
| 400 | Text List: Multiple answers are provided for a single-select field. | Quote generation failed: The answer for [Group ID - Question ID] contains invalid values. Multiple answers provided for a single-select field. |
| 400 | Radio Button: The selected option is not valid. | Quote generation failed: The answer for [Group ID - Question ID] contains invalid values. Selected option is not valid. |
| 400 | Manual Item: The provided SKU does not exist. | Quote generation failed: The answer for [Group ID - Question ID] contains invalid values. SKU not found in the system. |
| 400 | Numeric List: The provided numeric answer is not in the predefined list. | Quote generation failed: The answer for [Group ID - Question ID] contains invalid values. Not in the predefined numeric list. |
| 400 | Numeric Answer: The value is outside allowed limits (min/max) or step interval. | Quote generation failed: The answer for [Group ID - Question ID] contains invalid values. [Below/Exceeds] the allowed limit. |
| 400 | Date: The selected date is not in yyyy-MM-dd format. | Quote generation failed: The answer for [Group ID - Question ID] contains an invalid date format. |
Line Item Attribute Validation
| HTTP Code | When it occurs | Error Message |
|---|---|---|
| 400 | A proposal attribute for a line item exceeds the allowed character limit. | The proposal attribute for line_item[SKU] contains invalid values and exceeds the character limit. |
| 400 | A non-numeric value is provided for an attribute that requires a number/currency/percentage. | The proposal attribute [name] for line_item[SKU] contains invalid values. The value is not numeric. |
| 400 | A date attribute is provided in an invalid format. | The proposal attribute [name] for line_item[SKU] contains invalid values. Contains an invalid date format. |
Pricing API
| HTTP Code | When it occurs | Error Message |
|---|---|---|
| 400 | The requested SKU cannot be found in the specified version. | sku: <sku> could not be found in version <version> |
| 400 | The specified version cannot be found. | version <version> could not be found |
| 400 | The specified currency ISO code is not supported. | Currency ISO <ISO> is not supported in DealHub. Supported currencies: <list> |
| 400 | The specified playbook name does not exist in the version, or the name is required but was not provided. | playbook <name> is not available in the requested version / playbook name is required |
User API
| HTTP Code | When it occurs | Error Message |
|---|---|---|
| 400 | The requested user login is not found. | Entity (ID = <unknown_id>) not found |
Updated 15 days ago
