v1

latestOpenAPI 3.0.2Apache 2.02026-07-1739106293.5 KB
Data Processing
User-Defined Processes

Validate a user-defined process (graph)

Validates a user-defined process without executing it. A user-defined process is considered valid unless the errors array in the response contains at least one error.

Checks whether the process graph is schematically correct and the processes are supported by the back-end. It MUST also check the arguments against the schema, but checking whether the arguments are adequate in the context of data is OPTIONAL. For example, a non-existing band name may get rejected only by a few back-ends. The validation MUST NOT throw an error for unresolvable process parameters.

Back-ends MUST validate the process graph. Validating the corresponding metadata is OPTIONAL.

Errors that usually occur during processing MAY NOT get reported, e.g. if a referenced file is accessible at the time of execution.

Back-ends can either report all errors at once or stop the validation once they found the first error.

Please note that a validation always returns with HTTP status code 200. Error codes in the 4xx and 5xx ranges MUST be returned only when the general validation request is invalid (e.g. server is busy or properties in the request body are missing), but never if an error was found during validation of the user-defined process (e.g. an unsupported process).

post/validation

Request body

idstring

The identifier for the process. It MUST be unique across its namespace (e.g. predefined processes or user-defined processes).

Clients SHOULD warn the user if a user-defined process is added with the same identifier as one of the predefined process.

summarystring

A short summary of what the process does.

descriptionstring commonmark

Detailed description to explain the entity.

CommonMark 0.29 syntax MAY be used for rich text representation. In addition to the CommonMark syntax, clients can convert process IDs that are formatted as in the following example into links instead of code blocks: ``process_id()``

categoriesstring[]

A list of categories.

deprecatedboolean

Declares that the specified entity is deprecated with the potential to be removed in any of the next versions. It should be transitioned out of usage as soon as possible and users should refrain from using it in new implementations.

experimentalboolean

Declares that the specified entity is experimental, which means that it is likely to change or may produce unpredictable behavior. Users should refrain from using it in production, but still feel encouraged to try it out and give feedback.

exceptionsProcessExceptions

Declares exceptions (errors) that might occur during execution of this process. This list is just for informative purposes and may be incomplete. This list MUST only contain exceptions that stop the execution of a process and MUST NOT contain warnings, notices or debugging messages. It is meant to primarily contain errors that have been caused by the user. It is RECOMMENDED that exceptions are referred to and explained in process or parameter descriptions.

The keys define the error code and MUST match the following pattern: ^\w+$

This schema follows the schema of the general openEO error list (see errors.json).

process_graphProcessGraph

A process graph defines a graph-like structure as a connected set of executable processes. Each key is a unique identifier (node ID) that is used to refer to the process in the graph.

Response

Returns the validation result as a list of errors. An empty list indicates a successful validation.

Example response

{
  "errors": [
    {
      "id": "550e8400-e29b-11d4-a716-446655440000",
      "code": "SampleError",
      "message": "Parameter 'sample' is missing.",
      "links": [
        {
          "href": "https://openeo.example/docs/errors/SampleError",
          "rel": "about"
        }
      ]
    }
  ]
}