{
  "error": {
    "message": "QBD Connection Error (0x80040420): The QuickBooks user
      has denied access.",
    "userFacingMessage": "We could not connect to QuickBooks Desktop
      because we must re-authorize our connection. To fix this, open
      QuickBooks Desktop, log in as Admin, navigate to 'Edit >
      Preferences > Integrated Applications', click 'Company Preferences',
      select our app, click 'Properties...', ensure 'Allow this
      application to log in automatically' is checked, then click 'OK'.
      Then try again.",
    "type": "INTEGRATION_CONNECTION_ERROR",
    "code": "QBD_CONNECTION_ERROR",
    "httpStatusCode": 502,
    "integrationCode": "0x80040420",
    "requestId": "req_1234567890"
  }
}

Every error returned by the Conductor API takes the form of a ConductorError object.

Attributes

message
string

The developer error message for your logs.

userFacingMessage
string

The user-friendly error message, written specifically for displaying to your end-users in your app’s UI.

This value exists for every error. E.g., for a QBD connection error, it might recommend the end-user to confirm their QuickBooks Desktop is open and that they’re logged in. But if a Conductor API key is expired, e.g., this message will just say “An internal server error occurred. Please try again later.”.

type
string

Categorizes the error. See the possible error types.

This value is the same as the subclass name. E.g., "ConductorIntegrationError" or "ConductorInvalidRequestError".

code
string

The unique error code from Conductor, which is useful for adding special handling for specific errors. E.g., "RESOURCE_MISSING", "API_KEY_INVALID", or "QBD_REQUEST_ERROR".

In contrast, type is more general and categorizes the error.

httpStatusCode
number or undefined

The HTTP status code of the response that included the error.

integrationCode
string or undefined

The unique error code supplied by the third-party integration for errors returned by the integration (i.e., ConductorIntegrationError) or integration connector (i.e., ConductorIntegrationConnectorError). This is useful for adding special handling for specific errors from the third-party integration or connector.

The integration’s corresponding error message for this code is in error.message.

The third-party integrations’ error codes are not standardized, so you should not rely on this code to be the same across integrations.

requestId
string or undefined

The unique identifier for the request that caused the error.

If you need to contact us about a specific request, providing the request identifier will ensure the fastest possible resolution.