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>
) that are replaced dynamically with specific values in the actual response.
Asynchronous Errors
Failures for asynchronous operations, such as activating a new version, 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. Supported format: JSON |
400 | A field in the request body exceeds its allowed character limit. | The request parameter <PARAM_NAME> exceeds its limits. 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.
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 Open 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 |
CRM Open 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 and Actions API
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. | 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 Open API
HTTP Code | When it occurs | Error Message |
---|---|---|
400 | The requested user login is not found. | Entity (ID = <unknown_id>) not found |
Version Open API
HTTP Code | When it occurs | Error Message |
---|---|---|
400 | A product is added in a way that exceeds the maximum hierarchy depth of 10 levels. | You have reached the maximum limit of 10 levels that can be added. |
400 | An attempt is made to delete a product that has child products related to it. | Unable to delete product [SKU] that has related products. |
400 | A label is marked as mandatory but does not contain any mandatory child products. | Label [name] is a mandatory label without any mandatory products. |
400 | An item's mandatory or alternative fields are empty or invalidly configured. | The item "[nameOrSku]" has an empty/invalid mandatory or alternative field. |
Updated about 1 month ago