# openEO error codes

The following table of error codes is incomplete. These error codes will evolve over time. If you are missing any common error, please contribute it by adding an issue, creating a pull request or get in contact in our chat room.

The whole table of error codes is available as JSON file, which can be used by implementors to automatically generate error responses.

Account Management

openEO Error Code Description Example Message HTTP Status Code
AuthenticationRequired The client did not provide any authentication details for a resource requiring authentication or the provided authentication details are not correct. Unauthorized. 401
AuthenticationSchemeInvalid Invalid authentication scheme (e.g. Bearer). Authentication method not supported. 403
TokenInvalid Authorization token invalid or expired. Session has expired. 403
CredentialsInvalid Credentials are not correct. 403

EO Data Discovery

openEO Error Code Description Example Message HTTP Status Code
CollectionNotFound The requested collection does not exist. Collection '{identifier}' does not exist. 404

File Management

openEO Error Code Description Example Message HTTP Status Code
StorageFailure Server couldn't store file(s) due to server-side reasons. Unable to store file(s). 500
StorageQuotaExceeded The storage quota has been exceeded by the user. Insufficient Storage. 400
FileNotFound The requested file does not exist. File '{file}' does not exist. 404
FilePathInvalid The specified path is invalid or not accessible. Path could contain invalid characters, point to an existing folder or a location outside of the user folder. File path is invalid. 400
FileOperationUnsupported The specified path is not a file and the operation is only supported for files. Path is likely a directory. Operation is only supported for files. 400
ContentTypeInvalid The specified media (MIME) type used in the Content-Type header is not allowed. The media type is not supported. Allowed: {types} 400
FileTypeInvalid File format, file extension or media (MIME) type is not allowed. File type not allowed. Allowed file types: {types} 400
FileSizeExceeded File exceeds allowed maximum file size. File size it too large. Maximum file size: {size} 400
FileContentInvalid The content of the file is invalid. File content is invalid. 400
FileLocked The file is locked by a running job or another process. File '{file}' is locked. 400

General

openEO Error Code Description Example Message HTTP Status Code
Internal An internal server error with a proprietary message. Server error: {message} 500
NotFound To be used if the requested resource does not exist. Note: There are specialized errors for missing jobs (JobNotFound), files (FileNotFound), etc. Unsupported endpoints MAY send an 'FeatureUnsupported' (501) error. Resource not found. 404
FeatureUnsupported The back-end responds with this error whenever an endpoint is specified in the openEO API, but is not supported. Feature not supported. 501
InfrastructureMaintenance Service is currently not available, but the infrastructure is currently undergoing maintenance work. Service is not available at the moment due to maintenance work. Please try again later. 503
InfrastructureBusy Service is generally available, but the infrastructure can't handle it at the moment as too many requests are processed. Service is not available at the moment due to overloading. Please try again later. 503
RequestTimeout The request took too long and timed out. Request timed out. 408
ContentTypeInvalid The specified media (MIME) type used in the Content-Type header is not allowed. The media type is not supported. Allowed: {types} 400

Job Management

openEO Error Code Description Example Message HTTP Status Code
RequestTimeout The request took too long and timed out. Request timed out. 408
BudgetInvalid The budget is too low as it is either smaller than or equal to 0 or below the costs. The budget is too low. 400
NoDataForUpdate For PATCH requests: No valid data specified at all. No valid data specified to be updated. 400
PropertyNotEditable For PATCH requests: The specified parameter can't be updated. It is read-only. Property '{property}' is read-only. 400
StorageFailure Server couldn't store file(s) due to server-side reasons. Unable to store file(s). 500
StorageQuotaExceeded The storage quota has been exceeded by the user. Insufficient Storage. 400
ProcessGraphMissing No valid process graph specified. 400
ProcessGraphComplexity The process graph is too complex for synchronous processing and likely to time out. Please use a batch job instead. The process graph is too complex for for synchronous processing. Please use a batch job instead. 400
VariableValueMissing No value specified for process graph variable '{variable_id}'. 400
VariableDefaultValueTypeInvalid The default value for the process graph variable '{variable_id}' is not of type '{type}'. 400
VariableIdInvalid A specified variable ID is not valid. 400
VariableTypeInvalid The data type for the process graph variable '{variable_id}' is invalid. Must be one of: string, boolean, number, array or object. 400
JobNotFound The requested job does not exist. The job '{identifier}' does not exist. 404
FormatUnsupported Output format not supported. 400
FormatArgumentUnsupported Output format argument '{argument}' is not supported. 400
FormatArgumentInvalid The output format argument '{argument}' is invalid: {reason} 400
FormatUnsuitable Data can't be transformed into the requested output format. 400
JobLocked The job is currently locked due to a running batch computation and can't be modified meanwhile. Job is locked due to a queued or running batch computation. 400
JobNotFinished Job has not finished computing the results yet. Please try again later. 400
JobNotStarted Job has not been queued or started yet or was canceled and not restarted by the user. Job hasn't been started yet. 400
PaymentRequired The budget required to fulfil the request are insufficient. Payment required. 402
BillingPlanInvalid The billing plan is not on the list of available plans. The billing plan is not valid. 400

Process Graph Management

openEO Error Code Description Example Message HTTP Status Code
NoDataForUpdate For PATCH requests: No valid data specified at all. No valid data specified to be updated. 400
PropertyNotEditable For PATCH requests: The specified parameter can't be updated. It is read-only. Property '{property}' is read-only. 400
ProcessGraphNotFound The requested process graph does not exist. Process graph '{identifier}' does not exist. 404
ProcessGraphMissing No valid process graph specified. 400
VariableValueMissing No value specified for process graph variable '{variable_id}'. 400
VariableDefaultValueTypeInvalid The default value for the process graph variable '{variable_id}' is not of type '{type}'. 400
VariableIdInvalid A specified variable ID is not valid. 400
VariableTypeInvalid The data type for the process graph variable '{variable_id}' is invalid. Must be one of: string, boolean, number, array or object. 400

Processes

openEO Error Code Description Example Message HTTP Status Code
CRSInvalid Invalid or unsupported CRS specified. CRS '{crs}' is invalid. 400
CoordinateOutOfBounds Coordinate is out of bounds. 400
CollectionNotFound The requested collection does not exist. Collection '{identifier}' does not exist. 404
FileNotFound The requested file does not exist. File '{file}' does not exist. 404
FileContentInvalid The content of the file is invalid. File content is invalid. 400
ProcessUnsupported Process '{process}' is not supported. 400
ProcessArgumentUnsupported Process '{process}' does not support argument '{argument}'. 400
ProcessArgumentInvalid The argument '{argument}' in process '{process}' is invalid: {reason} 400
ProcessArgumentRequired Process '{process}' requires argument '{argument}'. 400
ProcessArgumentsMissing Process '{process}' requires at least {min_parameters} parameters. 400
JobNotFound The requested job does not exist. The job '{identifier}' does not exist. 404

Secondary Services Management

openEO Error Code Description Example Message HTTP Status Code
BudgetInvalid The budget is too low as it is either smaller than or equal to 0 or below the costs. The budget is too low. 400
NoDataForUpdate For PATCH requests: No valid data specified at all. No valid data specified to be updated. 400
PropertyNotEditable For PATCH requests: The specified parameter can't be updated. It is read-only. Property '{property}' is read-only. 400
ProcessGraphMissing No valid process graph specified. 400
VariableValueMissing No value specified for process graph variable '{variable_id}'. 400
PaymentRequired The budget required to fulfil the request are insufficient. Payment required. 402
BillingPlanInvalid The billing plan is not on the list of available plans. The billing plan is not valid. 400
ServiceNotFound The requested secondary service does not exist. Service '{identifier}' does not exist. 404
ServiceUnsupported Secondary service type is not supported. 400
ServiceArgumentUnsupported Secondary service argument '{argument}' is not supported. 400
ServiceArgumentInvalid The secondary service argument '{argument}' is invalid: {reason} 400
ServiceArgumentRequired Required secondary service argument '{argument}' is missing. 400