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} and GET /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 codeWhen it occursError Message
400The request payload is not in a valid JSON format.Invalid payload format. Supported format: JSON
400A field in the request body exceeds its allowed character limit.The request parameter <PARAM_NAME> exceeds its limits. Allowed maximum length: <MAX_LENGTH>
400A required field is missing from the request body.Request payload missing mandatory field(s): <field1>, <field2>
400The request includes a parameter that is not recognized.Unrecognized parameter: <PARAM_NAME>
400A parameter is sent with a value that is not supported or invalid.<PARAMETER_NAME> - Invalid parameter value. Valid value(s): <VALID_VALUES>

Authentication

HTTP codeWhen it occursError Message
403The Authorization token is missing, invalid, or does not match the user.Unauthenticated

Entity Not Found

HTTP codeWhen it occursError Message
400The 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 CodeWhen it occursError Message
400The quote cannot be submitted due to failing submit validation.Submission failed: The quote did not pass submit validation requirements.
400The quote cannot be published due to failing submit validation.Publish quote failed: The quote did not meet submit validation requirements.
400The quote was created but cannot be signed due to failing submit validation.Sign externally failed: The quote did not pass submit validation requirements.
400The quote cannot be published due to a required approval.Publish quote failed: Approval is required before the quote can be published.
400The quote cannot be signed due to a required approval.Sign externally pending: Approval is required before the quote can be signed.
400The quote cannot be submitted because it has already been submitted.Submission failed: The quote has already been submitted.
400The quote cannot be published; the quote document type is not DealRoom.Publish quote failed: The quote's document type must be 'DealRoom' to proceed.
400The quote cannot be published because it has already been published.Publish quote failed: The quote has already been published.
400The 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.
400The quote cannot be signed because it has already been signed.Sign externally failed: The quote has already been signed.
400The quote cannot be signed externally.Sign externally failed: The request cannot be processed.
400Failed 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.
400Failed 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.
400Failed 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.
400Failed 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.
400Failed to sign the quote externally; The quote failed to sync.Sign quote externally failed: The quote failed to sync.
400Failed to sign the quote externally; The quote status is draft.Sign quote externally failed: The quote is in a draft status.
400Failed 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 CodeWhen it occursError Message
400A document is requested for a quote that is still in Draft status.Cannot retrieve the document for the quote in 'Draft' status.
400A 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.
400The requested document type (e.g., PDF, WORD) is not enabled for the quote's playbook.<DOCUMENT_TYPE> is not supported by the quote playbook.
400The 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>)
400An API request is made when no version is currently active in the account.Cannot complete request execution as there is no active Version configured.
400Signer 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 CodeWhen it occursError Message
400A custom field is specified more than once in the custom_fields list.Parameter <custom_field_name> specified more than once in custom_fields list.
400The 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>
400The provided currency is not supported in DealHub.Currency <currency> is not supported in DealHub. Supported currencies: <list>
400A 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...
400There is a mismatch between the provided quote ID and opportunity ID.Mismatch between quote ID <dealhub_quote_id> and opportunity <external_opportunity_id>
400The 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 CodeWhen it occursError Message
400A 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.
400A 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.
400A 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 CodeWhen it occursError Message
400The requested SKU cannot be found in the specified version.sku: <sku> could not be found in version <version>
400The specified version cannot be found.version <version> could not be found
400The specified currency ISO code is not supported.Currency ISO <ISO> is not supported in DealHub. Supported currencies: <list>
400The 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 CodeWhen it occursError Message
400The requested user login is not found.Entity (ID = <unknown_id>) not found

Version Open API

HTTP CodeWhen it occursError Message
400A 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.
400An attempt is made to delete a product that has child products related to it.Unable to delete product [SKU] that has related products.
400A label is marked as mandatory but does not contain any mandatory child products.Label [name] is a mandatory label without any mandatory products.
400An item's mandatory or alternative fields are empty or invalidly configured.The item "[nameOrSku]" has an empty/invalid mandatory or alternative field.