Validating an Experiment

The EMS API supports validation of experiments. This is done in 2 steps that both require action from the API user:

Ensuring the instrument is suitable for running the experiment

The API user must first make a request to /ems/apiUser to get details about his account. This will return a list of instrument categories.
Note that an API user can only request details about his own account.

The API user must then make a call to /ems/experiment to get details about the experiment to be run. This will return a list of protocol conditions. One of these conditions will have a name of "Instrument Category", that defines the type of instrument on which the experiment can run.
The value of this condition should match one of the instrument categories returned from the earlier call to /ems/apiUser. This is the initial check that the instrument is suitable for running the experiment.
If this check fails, then the validation process should stop here.

Validating the design of the experiment

After the initial check, the API user must then make a request to /ems/validate. This will validate the design of the experiment to ensure that the experiment author has configured it correctly. The response will indicate if the experiment is valid, giving reasons why if not. It might also contain some additional information that can help the experiment author.
Note that some experiment types do not require this validation step. This will be advised on a case-by-case basis.