Intelligence API Error Catalog

This section documents the errors that Intelligence APIs may return.

Authentication & Authorization Errors

Returned when Response
Status code Example
Request does not provide a Bearer token. 401
{"error": "Unauthorized"}
The Bearer token is passed but is empty or follows an invalid format. 401
Invalid "Authorization" header format. 
Should start either with "Bearer " or "AppKey " (case insensitive).
The user does not have permission to access a specific Knowledge Model. 403
{
   "title": "Access Denied.",
   "status": 403,
   "detail": "Access is denied",
   "errorCode": "ADMIN_ACCESS_ERROR"
}
Intelligence APIs is disabled 403
EMPTY BODY

Common Errors

Returned when Response
Status code Example
Sending an invalid format as part of the page parameter. 400
{
   "title": "Query parameter type mismatch.",
   "status": 400,
   "detail": "Query parameter 'page' must be of type 'Integer'.",
   "errorCode": "GENERAL_PARAMETER_MISSMATCH"
}
Sending an invalid format as part of the pageSize parameter. 400
{
   "title": "Query parameter type mismatch.",
   "status": 400,
   "detail": "Query parameter 'pageSize' must be of type 'Integer'.",
   "errorCode": "GENERAL_PARAMETER_MISSMATCH"
}
Sending an invalid field format as part of the sort parameter. 400
{
   "title": "Sort illegal field parameter.",
   "status": 400,
   "detail": "Sort illegal field parameter, it should contain recordId.fieldId: fieldId",
   "errorCode": "GENERAL_PARAMETER_ILLEGAL"
}
Requesting without a Mandatory parameter,fields or kpis. 400
{
   "title": "Missing mandatory parameters.",
   "status": 400,
   "detail": "Missing mandatory parameters: at least one of fields or kpis must be present",
   "errorCode": "GENERAL_PARAMETER_MISSING"
}
Requesting a non-existing path. 404
{
   "title": "Path not found.",
   "status": 404,
   "detail": "Path /intelligence/api/knowledge-models not found",
   "errorCode": "GENERAL_NOTFOUND_PATH"
}
Unexpected server-side error. 500
{
   "title": "Unexpected error.",
   "status": 500,
   "detail": "Something went wrong while handling the request. Please contact Celonis customer support. Celonis Support ID: 671d3bdc-9feb-45ff-b367-7b47470d4680",
   "errorCode": "ADMIN_FATAL_ERROR"
}
Rate limit has been exceeded. 429
{
   "title": "Rate limit exceeded",
   "status": 429,
   "detail": "Rate limit for INTELLIGENCE_API_RATE_LIMIT is exceeded. Please try again at 06:10:41 UTC.",
   "errorCode": "LIMIT_RATE_EXCEEDED"
}
Rate limit is not found for the size defition. 404
{
   "title": "Limit MAX_REQUESTS not found.",
   "status": 404,
   "detail": "Limit MAX_REQUESTS in size L not found.",
   "errorCode": "LIMIT_SIZE_NOTFOUND"
}
Rate limit is not properly configured. 404
{
   "title": "Limit MAX_REQUESTS not found.",
   "status": 404,
   "detail": "Limit MAX_REQUESTS not properly configured.",
   "errorCode": "LIMIT_NOTFOUND"
}

Schema Endpoints Errors

Returned when Response
Status code Example
Requesting a non-existing field in the sort parameter. 400
{
   "title": "Some fields in sort don't exist in fields.",
   "status": 400,
   "detail": "This field doesn't exist names",
   "errorCode": "SORT_UNKNOWN_FIELD"
}
Sending, as part of the sort parameter, the same field with opposite sorting criterias. 400
{
   "title": "Some sort fields have duplicated fields.",
   "status": 400,
   "detail": "Sort parameter contains duplicate fields with opposite sorting directions: testField.",
   "errorCode": "SORT_HAS_OPPOSITE"
}
Sending an empty sort parameter. 400
{
   "title": "Sort parameter error length.",
   "status": 400,
   "detail": "Sort parameter should not be empty.",
   "errorCode": "SORT_IS_EMPTY"
}
Referencing a non-existing Knowledge Model. 404
{
   "title": "Knowledge Model not found.",
   "status": 404,
   "detail": "Knowledge Model with id 'XXXX' was not found.",
   "errorCode": "KM_MODEL_NOTFOUND"
}
Referencing a non-existing record. 404
{
   "title": "Record not found.",
   "status": 404,
   "detail": "The record Id: XXXX wasn't found",
   "errorCode": "KM_RECORD_NOTFOUND"
}

Data Endpoint Errors

Returned when Response
Status code Example
Not sending the fields and kpis parameters. 400
{
   "title": "Missing parameters.",
   "status": 400,
   "detail": "Required request parameter 'fields' for method parameter type List is not present",
   "errorCode": "GENERAL_PARAMETER_MISSING"
}
Passing an empty fields parameter. 400
{
   "title": "Some params have constraint violations.",
   "status": 400,
   "detail": "[fields: size must be between 1 and 200]",
   "errorCode": "GENERAL_CONSTRAINT_VIOLATION"
}
Requesting a non-existing field as part of the fields parameter. 400
{
   "title": "Field not found.",
   "status": 400,
   "detail": "Fields not found: test. Note: Fields are case sensitive.",
   "errorCode": "KM_FIELD_NOTFOUND"
}
Using error when fields value does not contain recordId. 400
{
   "title": "Field with wrong format.",
   "status": 400,
   "detail": "Field with wrong format, it should contain recordId.fieldId: fieldId",
   "errorCode": "GENERAL_PARAMETER_ILLEGAL"
}
Requesting a non-existing field in the sort parameter. 400
{
   "title": "Unknown sorting fields",
   "status": 400,
   "detail": "These fields don't exist at the given record [test].",
   "errorCode": "SORT_UNKNOWN_FIELD"
}
Referencing a non-existing filter as part of the filters parameter. 404
{
   "title": "Filter not found.",
   "status": 404,
   "detail": "Filter not Found: name.",
   "errorCode": "FILTERS_FILTER_NOTFOUND"
}
Using a non-filterable field in the filterExpr parameter. 400
{
   "title": "Field not filterable.",
   "status": 400,
   "detail": "Field not filterable: mykpi",
   "errorCode": "FILTERS_FIELD_UNFILTERABLE"
}
Using an invalid expression as part of the filterExpr parameter. 400
{
   "title": "Invalid expression structure.",
   "status": 400,
   "detail": "Invalid expression structure: mykpi eq",
   "errorCode": "FILTERS_EXPRESSION_ILLEGAL"
}
Using an invalid operator for the filterExpr parameter. 400
{
   "title": "Invalid expression Operator.",
   "status": 400,
   "detail": "Invalid expression Operator: sq",
   "errorCode": "FILTERS_OPERATOR_ILLEGAL"
}
Using an invalid syntax for the filterExpr parameter. 400
{
   "title": Failure getting results.",
   "status": 400,
   "detail": "Syntax error found in filterExpr. Please refer to the API documentation.",
   "errorCode": "GENERAL_RESULTS_FAILURE"
}
Sending a page bigger than 19.(When using pageSize = 50) 400
{
   "title": "Some params have constraint violations.",
   "status": 400,
   "detail": "[page: value must be between 0 and 19]",
   "errorCode": "PAGE_VALUE_ILLEGAL"
}
Sending a pageSize bigger than 50. 400
{
   "title": "Some params have constraint violations.",
   "status": 400,
   "detail": "[pageSize: size must be between 1 and 50]",
   "errorCode": "PAGE_SIZE_ILLEGAL"
}
Sending special characters in the sort parameter. 400
{
   "title": "Special characters are not allowed.",
   "status": 400,
   "detail": "Some special characters were found and they are not allowed for querying.",
   "errorCode": "GENERAL_CHARS_NOTALLOWED"
}
Specifying a date in filterExpr in the wrong format. 400
   "title": "Invalid Value format.",
   "status": 400,
   "detail": "Invalid Value format: ",
   "errorCode": "GENERAL_WRONG_VALUE"
}
Using an invalid option in options parameter. 400
   "title": "Query option not supported.",
   "status": 400,
   "detail": "[options: illegal option 'invalid']",
   "errorCode": "OPTION_ILLEGAL",
}
There’s an unexpected error as part of this request. 400
{
   "title": No data found.",
   "status": 400,
   "detail": "Error details",
   "errorCode": "GENERAL_EMPTY_DATA"
}
There’s an unexpected error as part of this request. 400
{
   "title": "Knowledge Model Field Id repeated.",
   "status": 400,
   "detail": "Knowledge Model with repeated Field Ids: [FIELD_ID]. Please fix the Knowledge Model configuration.",
   "errorCode": "KM_FIELD_ID_DUPLICATED"
   "type": "https://developer.celonis.com/intelligence-api/error-catalog/"
}
Using malformed error when searchField or searchTerm are empty. 400
{
   "title": "Malformed expression",
   "status": 400,
   "detail": "Term and field search parameters should be filled",
   "errorCode": "SEARCH_MATCH_EXPRESSION"
}
Using error when searchField value does not exist. 400
{
   "title": "Search match field not found",
   "status": 400,
   "detail": "Field not found: XXX",
   "errorCode": "SEARCH_FIELD_NOT_FOUND"
}
Using error when kpis value does not exist. 400
{
   "title": "KPI not found.",
   "status": 400,
   "detail": "KPI not found: kpiId. Note: KPI are case sensitive.",
   "errorCode": "KM_KPI_NOTFOUND"
}
Using error when kpis value contains special characters. 400
{
   "title": "KPI not allowed.",
   "status": 400,
   "detail": "KPI contains not allowed special chars",
   "errorCode": "KM_KPI_ILLEGALCHARS"
}

Query Endpoints Errors

Returned when Response
Status code Example
Not sending the fields parameter. 400
{
   "title": "Missing parameters.",
   "status": 400,
   "detail": "Required request parameter 'fields' for method parameter type List is not present",
   "errorCode": "GENERAL_PARAMETER_MISSING"
}
Passing an empty fields parameter. 400
{
   "title": "Some params have constraint violations.",
   "status": 400,
   "detail": "[fields: size must be between 1 and 200]",
   "errorCode": "GENERAL_CONSTRAINT_VIOLATION"
}
Requesting a non-existing field as part of the fields parameter. 400
{
   "title": "Field not found.",
   "status": 400,
   "detail": "Fields not found: test. Note: Fields are case sensitive.",
   "errorCode": "KM_FIELD_NOTFOUND"
}
Using error when fields value does not contain recordId. 400
{
   "title": "Field with wrong format.",
   "status": 400,
   "detail": "Field with wrong format, it should contain recordId.fieldId: fieldId",
   "errorCode": "GENERAL_PARAMETER_ILLEGAL"
}
Requesting a non-existing field in the sort parameter. 400
{
   "title": "Unknown sorting fields",
   "status": 400,
   "detail": "These fields don't exist at the given record [test].",
   "errorCode": "SORT_UNKNOWN_FIELD"
}
Referencing a non-existing filter as part of the filters parameter. 404
{
   "title": "Filter not found.",
   "status": 404,
   "detail": "Filter not Found: name.",
   "errorCode": "FILTERS_FILTER_NOTFOUND"
}
Using a non-filterable field in the filterExpr parameter. 400
{
   "title": "Field not filterable.",
   "status": 400,
   "detail": "Field not filterable: mykpi",
   "errorCode": "FILTERS_FIELD_UNFILTERABLE"
}
Using an invalid expression as part of the filterExpr parameter. 400
{
   "title": "Invalid expression structure.",
   "status": 400,
   "detail": "Invalid expression structure: mykpi eq",
   "errorCode": "FILTERS_EXPRESSION_ILLEGAL"
}
Using an invalid operator for the filterExpr parameter. 400
{
   "title": "Invalid expression Operator.",
   "status": 400,
   "detail": "Invalid expression Operator: sq",
   "errorCode": "FILTERS_OPERATOR_ILLEGAL"
}
Using an invalid syntax for the filterExpr parameter. 400
{
   "title": Failure getting results.",
   "status": 400,
   "detail": "Syntax error found in filterExpr. Please refer to the API documentation.",
   "errorCode": "GENERAL_RESULTS_FAILURE"
}
Sending a page bigger than 19.(When using pageSize = 50) 400
{
   "title": "Some params have constraint violations.",
   "status": 400,
   "detail": "[page: value must be between 0 and 19]",
   "errorCode": "PAGE_VALUE_ILLEGAL"
}
Sending a pageSize bigger than 50. 400
{
   "title": "Some params have constraint violations.",
   "status": 400,
   "detail": "[pageSize: size must be between 1 and 50]",
   "errorCode": "PAGE_SIZE_ILLEGAL"
}
Sending special characters in the sort parameter. 400
{
   "title": "Special characters are not allowed.",
   "status": 400,
   "detail": "Some special characters were found and they are not allowed for querying.",
   "errorCode": "GENERAL_CHARS_NOTALLOWED"
}
Specifying a date in filterExpr in the wrong format. 400
   "title": "Invalid Value format.",
   "status": 400,
   "detail": "Invalid Value format: ",
   "errorCode": "GENERAL_WRONG_VALUE"
}
Using an invalid option in options parameter. 400
   "title": "Query option not supported.",
   "status": 400,
   "detail": "[options: illegal option 'invalid']",
   "errorCode": "OPTION_ILLEGAL",
}
There’s an unexpected error as part of this request. 400
{
   "title": No data found.",
   "status": 400,
   "detail": "Error details",
   "errorCode": "GENERAL_EMPTY_DATA"
}
Using malformed error when searchField or searchTerm are empty. 400
{
   "title": "Malformed expression",
   "status": 400,
   "detail": "Term and field search parameters should be filled",
   "errorCode": "SEARCH_MATCH_EXPRESSION"
}
Using error when searchField value does not exist. 400
{
   "title": "Search match field not found",
   "status": 400,
   "detail": "Field not found: XXX",
   "errorCode": "SEARCH_FIELD_NOT_FOUND"
}
Sending special characters in the searchField parameter. 400
{
   "title": "Search match fields not allowed.",
   "status": 400,
   "detail": "Search match fields contain prohibited special characters.",
   "errorCode": "SEARCH_FIELDS_ILLEGALCHARS"
}
Sending special characters in the searchTerm parameter. 400
{
   "title": "Search match terms not allowed.",
   "status": 400,
   "detail": "Search match terms contain prohibited special characters.",
   "errorCode": "SEARCH_TERMS_ILLEGALCHARS"
}

Subscription to Triggers Endpoints Errors

Returned when Response
Status code Example
Unable to create the subscription to the EMS Trigger. 400
{
   "title": "The subscription is not created",
   "status": 400,
   "detail": "We could not create the subscription, please retry. If the problem persists, please contact us.",
   "errorCode": "SUBSCRIPTION_TRIGGER_FAILED"
}
The uri provided in callbackInfo attribute, is not visible from Celonis 400
{
   "title": "The provided callback is not reachable",
   "status": 400,
   "detail": "We checked the callback uri but it failed.",
   "errorCode": "SUBSCRIPTION_CALLBACK_FAILED"
}
You tried to create a subscription but the triggerId parameter is wrong. 404
{
   "title": "Trigger not found",
   "status": 404,
   "detail": "The trigger Id: XXX wasn't found.",
   "errorCode": "SUBSCRIPTION_TRIGGER_NOTFOUND"
}
The uri provided in callbackInfo attribute, is not valid for the given protocol 400
{
   "title": "The uri is not supported",
   "status": 400,
   "detail": "The uri: XXX does not implement the protocol: YYY.",
   "errorCode": "SUBSCRIPTION_URI_ILLEGAL"
}
The headers provided in callbackInfo are not valid 400
{
   "title": "Empty header not allowed.",
   "status": 400,
   "detail": "Headers must contain a name and a value.",
   "errorCode": "SUBSCRIPTION_EMPTY_HEADER"
}
You tried to access to a subscription but the subscriptionId parameter is wrong. 404
{
   "title": "Subscription not found",
   "status": 404,
   "detail": "The subscription Id: XXX wasn't found.",
   "errorCode": "SUBSCRIPTION_SUBSCRIPTION_NOTFOUND"
}
You tried to manually extract data from a subscription, but the subscriptionId parameter has an illegal status (is Active or Paused). 400
{
   "title": "Can't extract from subscription.",
   "status": 400,
   "detail": "The subscription Id: XXX is Active or Paused.",
   "errorCode": "SUBSCRIPTION_CANT_EXTRACT"
}
You tried to execute an action but the subscriptionId parameter has an illegal status (is Suspended). 400
{
   "title": "Subscription is suspended",
   "status": 400,
   "detail": "The subscription Id: XXX is suspended so the action is not allowed.",
   "errorCode": "SUBSCRIPTION_SUBSCRIPTION_SUSPENDED"
}
You tried to execute an action but the subscriptionId parameter has an illegal status for that action. 400
{
   "title": "Illegal Subscription status",
   "status": 400,
   "detail": "The subscription Id: XXX has not valid status for the action.",
   "errorCode": "SUBSCRIPTION_SUBSCRIPTION_ILLEGAL_STATUS"
}
You tried to access to a subscription but you don't have permissions. 403
{
   "title": "Subscription access denied",
   "status": 403,
   "detail": "Access denied to the subscription Id: XXX.",
   "errorCode": "SUBSCRIPTION_SUBSCRIPTION_ACCESSDENIED"
}
You tried to create a new subscription but your quota is exceeded. 403
{
   "title": "The subscription is not created",
   "status": 403,
   "detail": "You reached your subscription create limit of XXX. There are YYY subscription created.",
   "errorCode": "SUBSCRIPTION_LIMIT_EXCEEDED"
}
You tried to create or update a subscription but your quantity of headers is exceeded. 400
{
   "title": "Header limit exceeded",
   "status": 400,
   "detail": "The headers limit were exceeded.",
   "errorCode": "HEADER_LIMIT_EXCEEDED"
}
You tried to create or update a subscription but your size of headers is exceeded. 400
{
   "title": "Header limit size exceeded",
   "status": 400,
   "detail": "The headers limit size were exceeded.",
   "errorCode": "HEADER_LIMIT_SIZE_EXCEEDED"
}
You tried to create or update a subscription but your headers contain non-allowed information. 400
{
   "title": "Non Allowed Header Found",
   "status": 400,
   "detail": "The headers contain non-allowed information.",
   "errorCode": "NON_ALLOWED_HEADER_FOUND"
}
You tried to create or update a subscription but the name contains special chars that are not allowed. 400
{
   "title": "Subscription attribute Name.",
   "status": 400,
   "detail": "Name value is not valid.",
   "errorCode": "SUBSCRIPTION_INVALID_NAME"
}
You tried to create a subscription but something went wrong in the process. 400
{
   "title": "We couldn't subscribe.",
   "status": 400,
   "detail": "The subscription wasn't able to subscribe, please retry if the problem persist, please contact us.",
   "errorCode": "SUBSCRIPTION_UNABLE_CREATE"
}
You tried to delete a subscription but something went wrong in the process. 400
{
   "title": "We couldn't unsubscribe",
   "status": 400,
   "detail": "The subscription wasn't able to delete, please retry if the problem persist, please contact us.",
   "errorCode": "SUBSCRIPTION_UNABLE_DELETE"
}
You tried to perform any operation in a subscription but do not have the proper permissions. 403
{
   "title": "Not an allowed user",
   "status": 403,
   "detail": "Not allowed: only the subscription owner or team admins can perform this operation.",
   "errorCode": "SUBSCRIPTION_FORBIDDEN"
}
Not authorized. The operation is allowed only to the subscription owner or administrators. 403
{
    "title": "Not an allowed user",
    "status": 403,
    "detail": "Not allowed: only the subscription owner or team admins can perform this operation.",
    "errorCode": "SUBSCRIPTION_FORBIDDEN"
}
Offset is Illegal. The replay operation could not be executed since the offset must be a value between 0 and the latest offset received for the subscription. 400
{
    "title": "Offset is illegal",
    "status": 400,
    "detail": "The offset: XXX is not available",
    "errorCode": "SUBSCRIPTION_OFFSET_ILLEGAL"
}