Errors

If a request to the API results in an error, the API returns a Client Error or Server Error HTTP Status code (4XX or 5XX) and an error document containing these properties:

errorCode:

The error code defining the type of the error. The different error codes are listed in the table below.

Type: Integer

message:

The error message.

Type: String

cause:

If the error was caused by a Java Exception this is the source exception, else it will not be set.

Type: String

For example, the error object returned in response to a bad request with an unrecognized job id would be of the form:

{
  "message" : "No known job with id 'XXX'",
  "errorCode": 20101
}

In response to an error condition the API will return an error with one of the following status codes.

Unknown Error

0:

Unknown error

Very occasionally an error may occur that was completely unexpected. In this case error code 0 is returned.

Job Creation Errors

10101:

Job configuration parse error

The JSON configuration supplied to create a job could not be parsed. The JSON is invalid.

10102:

Job configuration unknown field error

The job configuration contains a field that is not recognized.

10103:

Unknown job reference

Reserved

10104:

Invalid value

The value provided in one of the job configuration fields is not allowed. For example some fields cannot be a number less than 0.

10105:

Unknown function

The function field of the Detector Configuration is not recognized.

10106:

Invalid field selection

In the Detector Configuration, some combinations of fieldName, byFieldName, overFieldName and function are invalid.

10107:

Incomplete configuration

The job configuration is not fully defined.

10108:

Invalid date format

The date format pattern cannot be interpreted as a valid Java date format pattern.

10109:

License violation

The job will not be created because it violates one or more license constraints.

10110:

Job ID is taken

The job could not be created because the supplied job ID is not unique and is already used by another job.

10111:

Prohibited character in the job ID

A job ID may only contain lower case letters, numbers, hyphens and underscores.

10112:

Job ID is too long

The ID contains more than the maximum permitted number of characters.

10113:

Prohibited character in a fieldname

Fieldnames including over, by and partition fields cannot contain backslashes, double quotes or control characters. (Note that other permitted punctuation characters may impact the ability of the UI to navigate the results. If you intend to use the UI it is best to stick to alphanumeric and underscores.)

10114:

Invalid function

The ‘metric’ function may not be used in jobs that receive pre-summarized input.

10115:

Invalid update key

The key that was requested to be updated either does not exist or it is not mutable.

10116:

Detector configuration parse error

The JSON configuration supplied to validate a detector could not be parsed. The JSON is invalid.

10117:

Detector configuration unknown field error

The configuration supplied to validate a detector contains a field that is not recognized.

10118:

Failed to encrypt password

A problem occurred during encryption of a password supplied in a schedulerConfig.

10119:

The ‘excludeFrequent’ option is set to an invalid value

Valid settings are true, false, by, over, and some synonyms of these.

10120:

Categorization filters require categorizationFieldName

Field categorizationFilters may only be specified when categorizationFieldName is present.

10121:

Categorization filters contain duplicates

Duplicate categorization filters are not allowed.

10122:

Unknown condition operator

The condition’s operator is not one of the valid operator names. See the list of valid operators.

10123:

Invalid condition argument

The condition’s argument is not a valid value, for example the numeric operators expect an argument that can be parsed as a number.

10124:

Per-partition normalization requires partition field

If the job is configured with Per-Partition Normalization enabled at least one detector must have a partition field.

10125:

Per-partition normalization cannot use influencers

If the job is configured with Per-Partition Normalization influencers cannot be used.

10201:

Unknown Transform

The transform function name of the transform configuration is not recognized

10202:

Transform input count mismatch

The transform does not have the correct number of inputs

10203:

No tranform outputs used

If none of the outputs of a particular transform are used in the analysis then the transform’s configuration is considered to be in error

10204:

Tranform has circular dependency

A transform has an input that is derived from one if its outputs

10205:

Duplicated transform output name 2 or more transforms have the same output fieldname. The output fields must have unique names

10206:

Transform argument count mismatch

Some transforms, such as split, require an argument when first declared others, such as concat, can take an optional argument. This error is returned in the situation where a transform is defined with an invalid number of arguments

10207:

Data format is SINGLE_LINE but no transforms were specified

When the data format SINGLE_LINE is used, at least one transform is required in order to create fields from the raw input

10208:

The transform requires a condition

This transform type must be defined with a condition.

10211:

Transform output count mismatch

When there are fewer or more output fields provided than the ones expected by the transform.

10212:

Transform inputs cannot be empty strings

When inputs for a transform contain empty strings.

10213:

Transform outputs cannot be empty strings

When outputs for a transform contain empty strings.

10214:

Transform argument is invalid

The transform’s argument is invalid, for example if the regular expression provided for the split transform is not an legitimate expression.

10215:

Transform parse error

The JSON configuration supplied to validate a transform could not be parsed. The JSON is invalid.

10216:

Transform unknown field error

The JSON configuration supplied to validate a transform contained a field that isn’t recognised.

10301:

Unknown scheduler dataSource

The scheduler has been told to pull data from an unknown data source.

10302:

Scheduler field not supported for dataSource

A field in the scheduler config is not supported for the chosen data source.

10303:

Scheduler invalid option value

A scheduler option that is appropriate for the chosen data source has an invalid value.

10304:

Scheduler requires bucketSpan

When scheduler is configured the bucket span has to be explicitly set.

10305:

Elasticsearch does not support latency

A job configured with an ELASTICSEARCH scheduler cannot support latency.

10306:

Aggregations require summaryCountField

An ELASTICSEARCH scheduler job configured with aggregations must use a summaryCountField.

10307:

Scheduler ELASTICSEARCH requires data format ELASTICSEARCH

A job configured with an ELASTICSEARCH scheduler must use the data format ELASTICSEARCH.

10308:

Both username and password must be specified if either is

You cannot supply a schedulerConfig with a username but no password, nor vice-versa.

10309:

Both plain text and encrypted passwords were provided

A schedulerConfig may be supplied with either the password or encryptedPassword field set, but not both.

10310:

Both aggregations and aggs were provided

A schedulerConfig may be supplied with either the aggregations or the aggs field set, but not both.

Data Store Errors

20001:

Data store error

A generic exception from the data store.

20101:

Missing job

The job cannot be found in the data store.

Data Upload Errors

30001:

Data error

Generic data upload error.

30101:

Missing field

In the case of CSV data, if a job is configured to use a certain field and that field is not present in the CSV header, this error is returned.

30102:

Uncompressed data

Data was defined to be gzip encoded (Content-Encoding:gzip), but actually is not.

30103:

Too many bad dates

As a proportion of all the records sent, too many are either missing a date or the date is in a format that cannot be parsed.

30104:

Too many bad records

As a proportion of all the records sent, a high number are missing required fields or cannot be parsed.

30105:

Too many out of order records

As a proportion of all the records sent, a high number are not in chronological order or are outside of the specified latency window.

30106:

Too many jobs running concurrently

The Engine API limits the number of concurrently running jobs based on available CPU resources. This is calculated as the number of CPU cores multiplied by a constant factor the default value of which is 6.0. If you wish to increase this value set the property max.jobs.factor in the engine_api.yml config file.

30107:

Malformed JSON data

The input JSON data is malformed in a way that processing it cannot proceed.

Native Process Errors

40001:

Native process error

An unknown error has occurred in the native process.

40101:

Native process start error

An error occurred starting the native process.

40102:

Native process write error

An error occurred writing data to the native process.

40103:

Cannot <action> job <jobId> while another connection is writing to the job

Each job will only accept a single stream of data at a time. An error will occur when trying to send, close or flush data to the same job through multiple connections, and when trying to pause, resume or delete the job. Use a single connection at a time and wait for actions to complete.

40104:

Native process flush interrupted

A flush command issued to the job was interrupted. Data may or may not have been flushed by the time the call returned.

Log File Reading Errors

50101:

Cannot open directory

The log directory does not exist.

50102:

Missing log file

The log file cannot be read.

50103:

Invalid log file name

The name of the log file contains ” or ‘/’ or it is not a subdirectory of the logs directory

REST API Errors

60101:

Unparsable date argument

The date query parameter cannot be parsed as a date.

60102:

Invalid sort field

The argument to the sort query parameter is not a recognized sort field.

60103:

Job not running

If the job is not actively running and processing data it cannot generate alerts. Subscribing to alerts for a closed job is not allowed.

60104:

Invalid alert threshold argument

One of the threshold arguments provided to the alert is invalid. Arguments should be in the range 0-100

60105:

Invalid timeout argument

The timeout argument is invalid, timeouts must be > 0.

60106:

Invalid flush argument

The combination of flush arguments is incorrect.

60107:

Invalid reset date range

Reserved

60108:

Invalid date range

The end date is before the start date.

60109:

Unable to reset

Reserved

60110:

Invalid skip parameter

Parameter skip cannot be < 0.

60111:

Invalid take parameter

Parameter take cannot be < 0.

60112:

Unknown alert type

The alert type is not one of bucket, influencer or bucketinfluencer.

60113:

Probability threshold cannot be used for the given alert types

The parameter probability of register for alerts can only be used when the alert type is bucket.

60114:

The Scheduler cannot be started

The Scheduler is in a state (e.g. already running) when it cannot be started.

60115:

The Scheduler cannot be stopped

The Scheduler is in a state (already stopped or stopping) when it cannot be stopped.

60116:

There is no job jobId with a scheduler configured

This job does not exist, or does not have a valid Scheduler configured.

60117:

Action is not allowed for a scheduled job

Certain actions are not allowed for scheduled jobs. For example, the actions offered via the Data Endpoint are not allowed for scheduled jobs as data is managed by the Scheduler itself.

60118:

Cannot revert to a model snapshot as no parameters were specified

One of the snapshotId, time or description parameters must be specified in order to revert a model snapshot.

60119:

No matching model snapshot exists for job jobId

A model snapshot could not be found, matching the given criteria.

60120:

Action is only allowed for closed jobs

Certain actions like revert a model snapshot cannot be executed unless the job has been closed.

60121:

Invalid parameters for updating a model snapshot description

The parameters for updating a model snapshot description are invalid. For example, the snapshotId or the new description is empty.

60122:

Model snapshot description is already used

The description is already used by another model snapshot of the same job.

60123:

The job cannot be paused

The job is in a state when it cannot be paused. Only running or closed jobs can be paused.

60124:

The job cannot be resumed

The job is in a state when it cannot be paused. Only paused jobs can be resumed.

60125:

Cannot delete highest priority model snapshot

Deleting the highest priority model snapshot is not allowed.

60126:

The Scheduler cannot be updated

The Scheduler is in a state (already started or stopping) when it cannot be updated.

60127:

The Scheduler cannot be deleted

The Scheduler is in the started state and cannot be deleted.

Miscellaneous Errors

70101:

Support bundle execution error

Error running the support bundle script