Skip to content

Errors

When an API call fails the server returns a structured error response. The JSON body follows the RFC 7807 Problem Details format:

Field Type Description
type String URI identifying the problem type
title String Short summary
status int HTTP status code
detail String Human-readable explanation
instance String API path where the error occurred
code String Unique error code, e.g. 30-1001
timestamp String When the error occurred (ISO-8601)
extraDetails Object Optional map of additional context (may be omitted)
traceId String Request trace ID for support

Example response:

{
  "type": "https://api.e2.earnix.com/errors/10-1400",
  "title": "Bad Request",
  "status": 400,
  "detail": "Field validation failed for the request",
  "instance": "/api/data/v1/recipes",
  "code": "10-1400",
  "timestamp": "2026-07-26T10:15:30Z",
  "extraDetails": {
    "aliases": "Alias list size must be between 1 and 10"
  },
  "traceId": "2702608872435"
}

General Errors (10-*)

Error Code HTTP Message
10-400 400 Bad Request
10-1400 400 Field validation failed for the request
10-404 404 Entity {0} with ID {1} not found
10-403 403 Access forbidden
10-401 401 Access unauthorized
10-409 409 Entity '{0}' with the same unique field '{1}' already exists
10-500 500 Internal server error
10-444 400 Job has been aborted
10-1000 400 File type is not supported
10-1001 400 File system is not supported
10-1002 400 Error occurred while attempting to parse file
10-1003 400 Error parsing file, file is corrupted
10-1005 400 File or Table provided is empty
10-1009 400 Table schema contains invalid characters.
10-1006 409 Version conflict, update failed because object data is stale.
10-1007 404 Entity {0} with ID {1} does not match to the {2} {3} and {4} {5} provided in the request
10-1008 400 Provided URL is not valid.
10-1501 501 Feature disabled unless the feature flag '{0}' is toggled on.
10-1042 400 Unsupported target type for export
10-1043 400 Unsupported source type {0}
10-1044 400 Transfer is allowed only for released datasets
10-1045 400 Transfer is allowed only when datatable status is ready
10-1046 400 Request GET /import from DIM ({0}) has failed: {1}
10-7003 404 No active quota contract found, please provide start date and end date to create a new quota contract
10-1047 500 Job timed out due to processing inactivity. Please try resubmitting your request or contacting support.

Data Errors (20-*)

Error Code HTTP Message
20-1001 400 Data version must belong to the same data table
20-1002 400 An attempt to update a non-existent data table.
20-1003 400 Data table id in URL parameter and request are mismatched
20-1004 400 Data source id in URL parameter and request are mismatched
20-1005 400 Dataset id in URL parameter and request are mismatched
20-1006 400 Dataset already has empty version
20-1007 400 Dataset last version deletion is not allowed
20-1008 400 Transformation recipe cannot have multiple data table nodes as sources
20-1009 500 Cloned dataset edge not found for node
20-1010 400 Recipe language is not supported
20-1011 400 Recipe id in URL parameter and request are mismatched
20-1012 400 Dataset node type {0} is not supported
20-1013 400 Recipe status not found
20-1014 400 Recipe execution type {0} is not supported
20-1015 400 Recipe job id not found
20-1016 400 Dataset is not released, draft version cannot be exported
20-1017 400 Dataset sample export has not been executed
20-1018 400 Dataset full data export has not been executed
20-1019 400 Dataset node should successfully execute before export
20-1020 400 No output node found for release
20-1021 400 Recipe output execution node has not run with full data
20-1022 400 Modification of the transformation graph is not allowed after it has been released
20-1023 409 Data table {0} you are trying to delete is currently in use by active datasets. Please disconnect it from any dependent datasets and try again
20-1024 409 Data table {0} with version {1} you are trying to delete is currently in use by active datasets. Please disconnect it from any dependent datasets and try again
20-1025 404 Schema analysis for data table {0} with version {1} does not exist
20-1026 404 {0} Schema analysis for dataset {1} with version {2} and recipe {3} does not exist
20-1027 400 Schema analysis results are not ready
20-1028 400 Recipe execution with ID {0} for schema analysis is missing
20-1029 400 A creation process for this version is already in progress.
20-1030 400 Given conversation ID is not the currently active conversation.
20-1031 422 Invalid column name: {0}
20-1032 400 User message is invalid. Please send a non-empty message.
20-1033 400 Dataset data table node {0} is connected to recipe {1} and cannot be deleted
20-1034 400 Dataset recipe node {0} is currently running so the dataset cannot be edit
20-1035 400 Dataset cannot have more than 20 recipes nodes
20-1036 400 Multiple source dataset nodes are not supported
20-1037 500 Cloned graph nodes size mismatch
20-1038 404 Dataset data table node not found for recipe
20-1039 404 Preview for recipe execution with ID {0} not found
20-1040 404 Preview for data table with ID {0} not found
20-1042 400 You have reached your data quota limit. Please contact your administrator to increase your quota.
20-1043 400 You have reached your CPU quota limit. Please contact your administrator to increase your quota.
20-1044 404 Recipe with ID {0} not found
20-1045 404 Recipe version {1} for recipe ID {0} not found
20-1046 409 Recipe version {1} for recipe ID {0} is locked and cannot be modified because it is used in released datasets
20-1047 400 Recipe ID is required when adding a recipe node to a dataset
20-1048 409 Recipe id {0} (version {1}) cannot be updated because recipe node {2} is currently running
20-1049 400 Expected {0} sources (matching aliases), got {1}
20-1050 400 Source node {0} already has an outgoing edge to another node
20-1051 400 Duplicate alias found: {0}. Aliases must be unique (case-insensitive)
20-1052 400 Source node {0} appears more than once in sources
20-1053 400 Alias "CurrentTable" is reserved and cannot be used in multi-source recipes
20-1054 400 Aliases {0} do not match table references in SQL code {1}
20-1055 400 Provided source aliases do not match recipe version's expected aliases {0}
20-1056 400 Adding source node {0} would create a cycle in the transformation graph
20-1057 400 Binding candidates are only available for recipe nodes
20-1058 400 Dataset cannot be released: transformation graph has more than one free node (sink)
20-1059 404 Sample for data table {0} version {1} is not available
20-1060 400 Retention policy rule with threshold days is required when the policy is enabled
20-1061 409 Cannot start import: the existing failed DataVersion is expired and owned by the retention policy
20-1062 404 Schema alerts are not available because this version has only been analysed at shallow depth. Run a full schema analysis to produce them
20-1064 400 Schema analysis cannot run because the recipe has no completed run to analyse. Run the recipe and try again once it has finished
20-1065 409 A schema analysis is already running for this version. Wait for it to finish, or cancel it, before starting another
20-1066 409 This version has already been fully analysed, so there is nothing left to analyse
20-1063 500 Version {1} of data table {0} was deleted, but a related background operation could not complete

Connection Errors (30-*)

Error Code HTTP Message
30-1001 400 Invalid credentials for Snowflake connection
30-1002 400 Network issue while connecting to Snowflake
30-1003 400 A Snowflake issue has occurred.
30-1004 400 Warehouse in datasource and connection do not match. datasourceWarehouse: {0}, connectionWarehouse: {1}
30-1005 408 Timeout while connecting to Snowflake
30-1007 400 Given connection with id = {0} is not a Snowflake connection.
30-1008 400 Invalid SQL syntax.
30-1009 400 DML and DDL statements cannot be used in source definition.
30-1010 400 Element {0} is either not found or not accessible.
30-1011 500 An attempt to connect to {0} was interrupted.
30-1012 500 Invalid SQL syntax.
30-1013 400 No active warehouse selected. Please select a warehouse or set a default warehouse in Snowflake.
30-1014 400 Failed to establinsh a Snowflake connection.
30-1015 400 Elevate's IP address is not allowed to access Snowflake. Please contact your Snowflake administrator.
30-1100 400 An AWS issue has occurred.
30-1106 400 Given path: '{0}' is out of path restriction bounds: '{1}'
30-1108 400 The specified bucket: '{0}' does not exist
30-1109 400 The request signature AWS calculated does not match the signature provided. Please check the connection secret key.
30-1110 408 AWS operation timed out
30-1111 400 the connection endpoint '*.amazonaws.com' should contain valid region
30-1112 301 The bucket '{0}' you are trying to access is on a different endpoint.
30-1113 400 S3 path is invalid, please check given path is correct
30-1114 400 Path {0} does not exist
30-1115 400 Bucket name: '{0}' is invalid
30-1116 400 Please check the connection access key. The request signature AWS calculated does not match the signature provided.
30-1117 400 Please check the connection secret key. The request signature AWS calculated does not match the signature provided.
30-1118 400 The specified S3 folder does not contain any CSV files (it may contain subfolders). Unable to infer the CSV schema.
30-1130 400 Custom host is not allowed by default. Please contact earnix support.
30-1200 400 Invalid client ID provided.
30-1201 400 Invalid client secret provided.
30-1202 400 Invalid client credentials provided. Please check the client ID and secret.
30-1203 400 The requested scope is invalid or unauthorized for this client.
30-1204 400 The token URL provided is invalid or not reachable.
30-1205 500 A network or connection issue occurred while contacting the identity provider.
30-1206 500 An unexpected error occurred with the identity provider.
30-1207 400 The request to the OAuth server is invalid.
30-1300 400 A GCS issue has occurred.
30-1301 403 Access denied to GCS resource. Please check the service account permissions.
30-1302 400 The specified GCS bucket '{0}' does not exist or is not accessible.
30-1303 408 GCS operation timed out.
30-1304 400 GCS path is invalid, please check the given path is correct.
30-1305 400 Path {0} does not exist in GCS bucket.
30-1306 400 Given path: '{0}' is out of path restriction bounds: '{1}'
30-1307 429 GCS rate limit exceeded. Please retry after a short wait.
30-1308 403 Access denied when listing buckets at project level. Either grant the service account the 'storage.buckets.list' permission on the project, or set a bucket-scoped path restriction (e.g. 'gs://bucket-name/').
30-1309 400 Project not found
30-1310 400 The specified GCS folder does not contain any CSV files (it may contain subfolders). Unable to infer the CSV schema.
30-1320 400 The provided service account key JSON is invalid or cannot be parsed.
30-1321 400 The project ID '{0}' specified on the connection does not match the project ID '{1}' in the service account key JSON.
30-1322 400 The project ID '{0}' specified on the connection does not match the project ID embedded in the service account email '{1}'.
30-1323 400 Failed to exchange token for Workload Identity Federation.
30-1413 400 BigQuery connection error. Please verify the connection properties.
30-1414 404 The specified BigQuery dataset '{0}' does not exist or is not accessible.
30-1415 400 The provided service account key JSON is invalid or cannot be parsed.
30-1416 400 Authentication failed. Please check the BigQuery credentials.
30-1417 403 Access denied to BigQuery resource. Please check the service account permissions.
30-1418 404 The requested BigQuery resource was not found.
30-1419 400 Invalid tableRef '{0}'. Format must be [projectId].[datasetId].[tableName]. For identifiers with spaces, use backtick quoting: [projectId].[datasetId].[tableName].
30-1420 400 TableRef '{0}' has an empty table name.
30-1421 400 Project '{0}' in tableRef does not match connection project '{1}'.
30-1422 400 Dataset '{0}' in tableRef does not match connection dataset '{1}'.
30-1423 404 The specified BigQuery data source does not exist or is not accessible.
30-1424 400 The provided query is invalid.
30-1425 404 Table '{0}' was not found in the BigQuery connection.
30-1426 403 BigQuery view access denied: write permission required on the materialization dataset.
30-1427 400 The table contains a BIGNUMERIC column whose precision exceeds the supported limit. Cast the column to a smaller numeric type before exporting.
30-1507 409 Connection {0} you are trying to delete is currently in use by active tables. Please disconnect it from any dependent tables and try again
30-1508 409 Connection {0} you are trying to delete is currently in use by targets. Please delete any dependent targets and try again
30-1600 400 Connection ID in URL parameter ({0}) and request body ({1}) are mismatched.
30-1707 409 Data source {0} you are trying to delete is currently in use by active tables. Please disconnect it from any dependent tables and try again
30-1708 400 Data source {0} connection must have read permission.
30-3001 400 Given connection with ID = {0} does not support tables view.
30-3002 400 DeltaSharing profile is not a valid JSON. Please provide a valid profile.
30-3003 400 Failed to parse time from the value of field 'expirationTime' ({0}) in DeltaSharing profile. Please provide a valid profile.
30-3004 400 Failed to parse URL from the value of field 'endpoint' ({0}) in DeltaSharing profile. Please provide a valid profile.
30-3005 400 Unauthorized to access the DeltaSharing profile. Please check your credentials and permissions.
30-3006 400 Cannot connect to DeltaSharing, check endpoint {0}.
30-3007 500 Failed to connect to DeltaSharing, {0}.
30-3008 400 Endpoint URL is empty. Please provide a valid endpoint URL for the DeltaSharing connection.
30-3009 400 bearerToken is empty. Please provide a valid token for the DeltaSharing Share connection.
30-3010 400 Failed to parse the DeltaSharing Share response.
30-3011 400 Connection {0} is not a Databricks DeltaSharing connection.
30-3012 404 Not found: {0}.
30-3013 400 Authentication is required to access the DeltaSharing profile. Please provide valid credentials.
30-3014 400 Field 'shareCredentialsVersion' is missing. Please provide a valid endpoint URL for the DeltaSharing connection.
30-3015 400 Missing or empty required OAuth fields: {0}.
30-3016 400 Invalid value {0} for field 'shareCredentialsVersion'. Only 1 or 2 are supported for DeltaSharing connections.
30-3017 400 An error occurred while trying to authenticate with OAuth for the DeltaSharing connection, {0}
30-3018 400 The DeltaSharing profile is empty. Please, provide a valid profile.
30-3019 500 Secrets of DeltaSharing connection were not fetched from AWS. Probably, getConnection(id) was called instead of getConnectionWithSecret(id).
30-3020 500 Secrets match DeltaSharing profile of version {0}, while the version of the profile is {1}.
30-3021 400 Failed to validate the DeltaSharing profile against the expected schema. Please provide a valid profile.
30-4005 401 Unauthorized to access Price-It. Please check your credentials and permissions.
30-4006 400 Cannot connect to Price-It, check endpoint {0}.
30-4007 500 Failed to connect to Price-It.
30-4008 400 Given connection {0} is not a Price-It DIM or PriceIt SDK connection.
30-4009 400 Type mapping validation failed.
30-4100 500 Failed to connect to PriceIt SDK, check endpoint {0}.
30-4101 400 The provided private key is invalid. Please check the key format and content.
30-4102 400 Failed to obtain an access token from the identity provider. Please verify the connection credentials.
30-4103 400 Failed to connect to PriceIt SDK, check endpoint {0}.
30-4104 400 PriceIt SDK login failed, check endpoint {0}.
30-4105 400 No sessionToken in PriceIt SDK login response.
30-5001 400 Target ID in URL parameter ({0}) and request body ({1}) are mismatched.
30-5002 400 Data target connection does not have write permission.
30-5003 400 Data target connection type {0} is invalid, must be {1}.
30-5004 400 Table name exceeds {0} characters
30-5005 400 Unsupported dynamic parameter: {0}
30-5006 400 Table name contains invalid characters
30-5007 400 First character of {0} cannot be an underscore or space
30-5008 400 Project path must start with '\' and must not end with '\'
30-5009 400 Table path must not start with '\' and must end with '\'
30-6001 400 The source data was not found. Check that the source ID exists and try again.
30-6002 400 The target destination was not found. Verify the target ID and try again.
30-6003 400 Transfer failed due to price-it size limits ({0}).
30-6004 400 Transfer failed due to price-it size limits ({1} columns and {0} rows). Reduce the dataset size and try again.
30-6005 400 Cannot delete or update target while Transfer is in progress. Please wait for Transfer to complete and try again.
30-6006 400 Table size has not been calculated yet. Please try again later.
30-7001 400 Role not found: '{0}'
30-7002 400 Multiple roles found with name: '{0}'
30-7003 500 Failed to create tenant token in Frontegg.
30-7004 500 Failed to delete tenant token in Frontegg.
30-7005 500 Failed to retrieve roles from Frontegg.

SQL Analyzer Errors (40-*)

Error Code HTTP Message
40-50001 400 Invalid SQL syntax.
40-50002 400 DML and DDL statements cannot be used in source definition.
40-50003 400 Function cannot be used in query.
40-50004 400 Query is None.
40-50005 400 Query contains not allowed function.
40-50006 400 Query references unknown table. Use the aliases defined in the recipe.
40-50007 400 EXCEPT clause is not supported in SELECT query.
40-50008 400 Alias(es) {0} defined but not referenced in the query

Admin Errors (50-*)

Error Code HTTP Message
50-1002 404 Feature toggle not found
50-1003 404 Tenant not found
50-1005 409 Cannot set tenant override: unsupported flipping strategy
50-1007 404 System user not found for tenant {0}
50-1010 404 Role {0} not found
50-1012 502 Upstream service is currently unavailable
50-1013 404 Customer user not found for tenant {0}
50-1014 502 System user of tenant {0} failed to authenticate

Usage Monitoring Errors (70-*)

Error Code HTTP Message
70-7001 400 The end date must be after the start date
70-7002 400 Both start date and end date must be provided, or both must be null
70-7004 400 Quota values must be non-negative
70-7005 400 When dates are provided, cpuTimeHours, dataTransferGb, and name must also be provided
70-7006 400 The end date must be after the start date

App Experience Errors (80-*)

Error Code HTTP Message
80-8001 500 Appx service initialization placeholder error
80-8003 404 Bundle {0} was not found
80-8012 400 Bundle id {0} in the request body does not match id {1} in the path
80-8016 409 Bundle {0} cannot be installed because it is not published
80-8017 409 Bundle {0} already has an install on this tenant; check its install status
80-8014 404 App {0} was not found
80-8015 409 App cannot be installed; the tenant has no configured link for required provider(s): {0}. Add the missing link(s) and retry.
80-8026 500 Failed to provision the app. The install was rolled back; retry, and if it persists contact support.
80-8018 400 Link ID in URL parameter ({0}) and request body ({1}) are mismatched.
80-8002 404 Link {0} was not found
80-8019 400 Link details are invalid; provide a non-empty map of at most 20 entries, each value at most 1024 characters, total at most 3072 characters.
80-8020 404 No value found for the requested key.
80-8021 400 The value exceeds the maximum allowed size of {0} bytes.
80-8022 400 A session-scoped request requires a session context; none was present.
80-8024 400 Reporting a session activity requires a valid session context; none was present in the SDK token.
80-8027 400 Reporting a session activity requires a valid app context; none was present in the SDK token.
80-8028 400 returnTo must be a same-origin relative path; absolute URLs and scheme or protocol-relative prefixes are not allowed.
80-8029 403 App {0} is disabled and cannot be run.
80-8030 403 You do not have permission to run apps.
80-8031 404 Session {0} was not found.
80-8032 502 The app could not be started; please try again later.
80-8033 404 Asset {0} was not found.
80-8034 404 The requested run was not found.
80-8035 500 App credentials are not configured for this tenant.
80-8036 504 The app did not respond in time; please try again later.
80-8037 400 Bundle {0} version {1} could not be published because its manifest.json is missing or invalid.
80-8038 502 Bundle {0} version {1} could not be published because its manifest.json could not be read; please retry.
80-8039 502 Asset {0} could not be read; please retry.
80-8040 500 SDK user ID is missing from the provisioned credentials.
80-8042 409 Bundle {0} is being uninstalled; poll its install status and retry once it reads NOT_INSTALLED
80-8043 500 Failed to uninstall the app; its function is still present. The app was restored to its previous status; retry, and if it persists contact support.

Async Job Errors

Some operations run asynchronously (imports of tables, data version and transfers, etc.) — for example in Spark processing job or in PriceIt. When an async job fails the error is embedded in the job status response at execution.error, not returned as an HTTP problem detail:

Field Type Required Description
code String Yes Error code
message String Yes User-friendly error message
cause String No Technical root cause for debugging