Demyst error types

Table documenting the errors returned by a Data API along with a description, categorisation and expected HTTP status returned from Demyst

error_typecurrent_messageerror_categorydescriptionhttp_status
blackbelly_communications_link_failureinternal_errorAn internal error has occurred. The Demyst team should be contacted so that it can be resolved.0
blackbelly_query_timeouttimeoutThe data query took too long to process, for one of several possible reasons.0
blackbelly_table_does_not_existinternal_errorAn internal error has occurred. The Demyst team should be contacted so that it can be resolved.0
channel_access_deniedpermission_errorThe Demyst team should be contacted to ensure that the user can access the channel used by the request.0
channel_not_foundChannel with id 1103 not foundchannel_not_foundThe user should verify that they provided the correct channel for their request.0
data_function_errorinternal_errorAn internal error has occurred. The Demyst team should be contacted so that it can be resolved.0
data_function_misses_result_keyinternal_errorAn internal error has occurred. The Demyst team should be contacted to fix a client-specific customisation.200
data_function_response_errorUnexpected response received from DataFunction: data function did not return a result key, in the pipe with id: Some(691)internal_errorNo results were returned from a custom data function. Demyst support should be contacted.200
decoding_errorupstream_structure_errorThe data provider returned an unexpected response. Demyst support should be contacted.422
insufficient_api_key_permissionsThe given apiKey is for test use only. It is only authorized for use with Sample modepermission_errorThe API key provided by the user can only be used for test purposes in sample mode.400
insufficient_channel_permissionsThe organization with id 2 does not have permission to run Channel with id 1052permission_errorThe Demyst team should be contacted to ensure that the user can access the channel used by the request.403
insufficient_credentialsinsufficient_credentialsThe Demyst team should be contacted to fix an access issue with a specific data provider.200
insufficient_inputDid not have sufficient valid input to run.
Given valid inputs:
InputField(email_address,Some(EmailAddress),
"[email protected]"),
InputField(state,Some(State),"QLD"),
InputField(country,Some(Country),"AU"), InputField(post_code,Some(PostCode),"4159"), InputField(last_name,Some(LastName),"Schiffke"),
InputField(ip6,Some(Ip6),
"2001:8003:e122:4800:edac:8c6:c71e:bbd4"), InputField(street,Some(Street),"4 Clive Rd"), InputField(phone,Some(Phone),"+61467558685"), InputField(first_name,Some(FirstName),"Leah"), InputField(city,Some(City),"Birkdale")"
insufficient_inputThe attempted configuration requires specific inputs to execute successfully. Verify that the correct inputs that were provided to the connector.200
invalid_api_keyapiKey 236dfh453756... is invalidpermission_errorThe user's API key is invalid, inactive, or missing a character.400
invalid_credentialsThe request was not authorized, the credentials you provided for this data source are likely invalid.invalid_credentialsThe credentials — provided by either the client or by Demyst — for accessing a specific data provider are incorrect or out of date.200
ip_whitelist_error"Request came from 116.14.20.220, which is not on the IP whitelist for this organization.permission_errorThe request came from an IP address that is not associated with the user's organization. The Demyst team should be contacted to update the IP whitelist.0
logical_input_errorlogical_input_errorThe attempted query requires specific inputs that were not in the correct format.200
missing_provider_grantspermission_errorThe user requested information from a data provider that requires special access privileges. Contact the Demyst team to discuss accessing this provider.0
network_errorupstream_errorA network error has occurred. The Demyst team should be contacted to resolve it.200
no_api_key_givenpermission_errorThe user did not provide the credentials that are necessary to access a specific data provider.0
provider_version_not_foundprovider_version_not_foundThe query attempted to access a data provider that was not recognized. The information in the original query should be checked for errors.400
rate_limit_exceededrate_limit_exceededA data provider has been contacted too frequently in too short a period of time; their rate limit has been exceeded.200
sample_data_not_implementedsample_data_not_implementedThe API attempted to request sample data from a data provider that is not available. Contact Demyst support to discuss implementing sample data for this data provider.200
timeoutTimeout of 5 s exceeded. Cause: -"timeoutThe Demyst team will need to check the response to determine why the default timeout period has been exceeded.200
uncaught_defectinternal_errorAn unexpected error has occurred. The Demyst team should be contacted so that it can be resolved.200
unexpected_batch_record_errorinternal_errorAn unexpected error has occurred. The Demyst team should be contacted so that it can be resolved.200
unexpected_blackbelly_sql_errorinternal_errorAn unexpected error has occurred. The Demyst team should be contacted so that it can be resolved.200
unexpected_data_function_errorData Function Exception: An error occurred
and the request cannot be processed.
(Service: AWSLambda; Status Code: 500;
Error Code: ServiceException Data Function Exception:
Unable to execute HTTP request:
Timeout waiting for connection from the pool,
in the pipe with id: Some(601)
internal_errorThe Demyst team will need to resolve the issue by identifying why the response from the provider has resulted in an error.0
unexpected_provider_errorinternal_errorThe Demyst team will need to resolve the issue by identifying why the response from the provider has resulted in an error.200
unexpected_upstream_http_statusupstream_errorThe Demyst team will need to resolve the issue by identifying why the response from the provider has resulted in an error.200
unexpected_upstream_structureupstream_structure_errorThe Demyst team will need to resolve the issue by identifying why the response from the provider has resulted in an XML/JSON parsing failure.200
upstream_application_errorUnknown Error or... Unknown city: PEACHTREE CORNERS, GAupstream_application_errorEither the requested data provider is down, or it returned an unexpected error. (Similar to upstream_service_unavailable)200
upstream_service_unavailableHTTP status code 503 unexpected || HTTP status code 500 unexpectedupstream_errorEither the requested data provider is down, or it returned an unexpected error. (Similar to upstream_application_error)200

Debugging Data API configuration

Here are typical errors you may encounter while configuring a Data API along with the typical resolution.

waterfall_dependency_error

The user has specified a provider as an input / when condition, but this provider is not part of the providers in the request / saved Data API.

{
  "transaction_id": "bebbe9b8-7a40-4e1e-8cb0-d3c8432617d4",
  "error": {
      "type": "waterfall_dependency_error",
      "message": "Provider experian_business_facts referenced a non-existing provider hosted_experian_cpdb"
  }
}

refine_error

Happens before the providers are executed if a function doesn't exist, or wrong parameters were passed.

{
  "transaction_id": "2a3ca703-cdf3-4f29-a4d4-57b24003a2e6",
  "error": {
      "type": "refine_error",
      "message": "Unknown function 'atis' on Transaction. Did you mean $at?"
  }
}

decoding_error

An incorrect syntax, an unwanted character within the Data API call that won't let the request be evaluated until corrected will be propagated as a decoding_error.

{
  "transaction_id": "1c6b6350-4550-4cd1-a7cd-29055e2a791c",
  "error": {
    "type": "decoding_error",
    "message": "expected \" got '}\n    ...' (line 6, column 9)"
  }
}
{
  "transaction_id": "a9e2f44b-509c-4fc9-aa9e-01bb439c8f96",
  "error": {
    "type": "decoding_error",
    "message": "Not a string value: DownField(providers)"
  }
}
{
  "transaction_id": "ede8349c-d760-455a-9fdd-7997aef0041e",
  "error": {
    "type": "decoding_error",
    "message": ".providers: While parsing connector-attribute-path 'true': connector-attribute path requires a '.'"
  }
}

dependency_error

This error occurs when a provider is set to receive inputs from the output of another provider, but that provider was Skipped.

{
  "transaction_id": "6c48013f-bdee-4ef0-a2e7-5b2e531df15e",
  "output": {
  "PROVIDER_NAME": {
    "error": {
      "type": "dependency_error",
      "message": "Connector 'PROVIDER_NAME' had run state: 'Skipped'"
      }
    }
  }
}