Skip to content

zen_api/acquisition/v1beta/experiment_service.proto#

Version: 2026.5.1

Package: zen_api.acquisition.v1beta

Download proto source

Service ExperimentService#

The IExperimentService interface.

Clone#

Clones an already loaded experiment. Useful when one wants to clone an experiment before modifying it in order to preserve the original experiment. This method returns the info needed to reference the cloned experiment.

rpc Clone (zen_api.acquisition.v1beta.ExperimentServiceCloneRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceCloneResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceCloneRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceCloneResponse

Delete#

Deletes an experiment file from the predefined location on disk. It does not delete the corresponding loaded experiment instance.

rpc Delete (zen_api.acquisition.v1beta.ExperimentServiceDeleteRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceDeleteResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceDeleteRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceDeleteResponse

Export#

Returns xml representation of an experiment.

rpc Export (zen_api.acquisition.v1beta.ExperimentServiceExportRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceExportResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceExportRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceExportResponse

GetAvailableExperiments#

Retrieves a list of all available experiments of the system.

rpc GetAvailableExperiments (zen_api.acquisition.v1beta.ExperimentServiceGetAvailableExperimentsRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceGetAvailableExperimentsResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceGetAvailableExperimentsRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceGetAvailableExperimentsResponse

GetImageOutputPath#

Gets the location where the images will be stored on the machine where ZEN Client is running.

rpc GetImageOutputPath (zen_api.acquisition.v1beta.ExperimentServiceGetImageOutputPathRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceGetImageOutputPathResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceGetImageOutputPathRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceGetImageOutputPathResponse

GetStatus#

Gets status of an experiment. The information is updated in interval (several times per seconds). As a result, some status updates could be skipped.

rpc GetStatus (zen_api.acquisition.v1beta.ExperimentServiceGetStatusRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceGetStatusResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceGetStatusRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceGetStatusResponse

Import#

Imports an experiment from the provided experiment xml string. This method returns the info needed to reference the imported experiment.

rpc Import (zen_api.acquisition.v1beta.ExperimentServiceImportRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceImportResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceImportRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceImportResponse

Load#

Loads an experiment from the available experiments. Consequently, the experiment is ready to be executed or modified. This method returns the info needed to reference the loaded experiment.

rpc Load (zen_api.acquisition.v1beta.ExperimentServiceLoadRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceLoadResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceLoadRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceLoadResponse

RegisterOnStatusChanged#

Register on experiment status changed events. The information is updated in interval (several times per seconds). As a result, some status updates could be skipped. The notifications can be retrieved for experiments which are active at the time the method is invoked. If the method is invoked after an experiment is finished, the call will throw an exception.

rpc RegisterOnStatusChanged (zen_api.acquisition.v1beta.ExperimentServiceRegisterOnStatusChangedRequest) returns (stream zen_api.acquisition.v1beta.ExperimentServiceRegisterOnStatusChangedResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceRegisterOnStatusChangedRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceRegisterOnStatusChangedResponse

RunExperiment#

Executes an experiment and waits until the experiment execution is finished. This means that the method will block until the experiment was successfully completed, it fails, or it is cancelled. If the call is interrupted (e.g., caller is not available anymore) the experiment will be stopped.

rpc RunExperiment (zen_api.acquisition.v1beta.ExperimentServiceRunExperimentRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceRunExperimentResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceRunExperimentRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceRunExperimentResponse

RunSnap#

Acquires a single snap image with the activated channels in the specified experiment and waits until the process of acquiring snap is finished. This means that the method will block until the experiment was successfully completed, it fails, or it is cancelled. If the call is interrupted (e.g., caller is not available anymore) the snap will be stopped.

rpc RunSnap (zen_api.acquisition.v1beta.ExperimentServiceRunSnapRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceRunSnapResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceRunSnapRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceRunSnapResponse

Save#

Saves a loaded experiment to the predefined location on disk.

rpc Save (zen_api.acquisition.v1beta.ExperimentServiceSaveRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceSaveResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceSaveRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceSaveResponse

StartContinuous#

Starts the continuous with the activated channels in the specified experiment and waits for the acquisition to start. After that point continuous will run until it is explicitly stopped or it fails - even if the caller is not available anymore.

rpc StartContinuous (zen_api.acquisition.v1beta.ExperimentServiceStartContinuousRequest) returns (google.protobuf.Empty);

Request: zen_api.acquisition.v1beta.ExperimentServiceStartContinuousRequest

Response: google.protobuf.Empty

StartExperiment#

Starts the process of executing an experiment and waits for the acquisition to start. After that point the experiment will either run to completion (successful or not) or until it is explicitly stopped - even if the caller is not available anymore.

rpc StartExperiment (zen_api.acquisition.v1beta.ExperimentServiceStartExperimentRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceStartExperimentResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceStartExperimentRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceStartExperimentResponse

StartLive#

Starts live with the requested track in the specified experiment and waits for the acquisition to start. After that point live will run until it is explicitly stopped or it fails - even if the caller is not available anymore.

rpc StartLive (zen_api.acquisition.v1beta.ExperimentServiceStartLiveRequest) returns (google.protobuf.Empty);

Request: zen_api.acquisition.v1beta.ExperimentServiceStartLiveRequest

Response: google.protobuf.Empty

StartSnap#

Starts the process of acquiring a single snap image with the activated channels in the specified experiment and waits for the acquisition to start. After that point the snap will either run to completion (successful or not) or until it is explicitly stopped - even if the caller is not available anymore.

rpc StartSnap (zen_api.acquisition.v1beta.ExperimentServiceStartSnapRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceStartSnapResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceStartSnapRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceStartSnapResponse

Stop#

Stops the specified experiment or one of the active experiments if the experiment ID is not provided. This will stop any type of experiment (i.e., experiment, snap, continuous, live) if it is active and known to this service. This method returns the info needed to reference the stopped experiment.

rpc Stop (zen_api.acquisition.v1beta.ExperimentServiceStopRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceStopResponse);

Request: zen_api.acquisition.v1beta.ExperimentServiceStopRequest

Response: zen_api.acquisition.v1beta.ExperimentServiceStopResponse

Message ExperimentServiceCloneRequest#

The ExperimentServiceCloneRequest class.

Field Number Type Presence Description
experiment_id 1 string singular Id of the experiment to be cloned.

Message ExperimentServiceCloneResponse#

Response object of the method for cloning an experiment.

Field Number Type Presence Description
experiment_id 1 string singular The experiment id which is used to reference the cloned experiment.

Message ExperimentServiceDeleteRequest#

The ExperimentServiceDeleteRequest class.

Field Number Type Presence Description
experiment_name 1 string singular Name of the experiment to be deleted.

Message ExperimentServiceDeleteResponse#

The ExperimentServiceDeleteResponse class.

Message ExperimentServiceExportRequest#

The ExperimentServiceExportRequest class.

Field Number Type Presence Description
experiment_id 1 string singular Experiment id.

Message ExperimentServiceExportResponse#

Response object of the method for exporting an experiment.

Field Number Type Presence Description
xml 1 string singular Xml string of experiment.

Message ExperimentServiceGetAvailableExperimentsRequest#

The ExperimentServiceGetAvailableExperimentsRequest class.

Message ExperimentServiceGetAvailableExperimentsResponse#

Response object of available experiments.

Field Number Type Presence Description
experiments 1 zen_api.acquisition.v1beta.ExperimentDescriptor repeated List of available experiments.

Message ExperimentServiceGetImageOutputPathRequest#

The ExperimentServiceGetImageOutputPathRequest class.

Message ExperimentServiceGetImageOutputPathResponse#

Response object of the method for getting the image output path.

Field Number Type Presence Description
image_output_path 1 string singular The image output path.

Message ExperimentServiceGetStatusRequest#

The ExperimentServiceGetStatusRequest class.

Field Number Type Presence Description
experiment_id 1 string singular ID of an experiment for which status is requested.
If ID is provided, the status can be retrieved for both active and finished experiments.
If ID is not provided, status of one of the active experiments is returned.
If ID is not provided and there are no active experiments, an exception is thrown.

Message ExperimentServiceGetStatusResponse#

Response object representing the status of an experiment.

Field Number Type Presence Description
status 1 zen_api.acquisition.v1beta.ExperimentStatus singular The experiment status.

Message ExperimentServiceImportRequest#

The ExperimentServiceImportRequest class.

Field Number Type Presence Description
xml_string 1 string singular Xml string of the experiment.

Message ExperimentServiceImportResponse#

Response object of the method for importing an experiment.

Field Number Type Presence Description
experiment_id 1 string singular The experiment id which is used to reference the imported experiment.

Message ExperimentServiceLoadRequest#

The ExperimentServiceLoadRequest class.

Field Number Type Presence Description
experiment_name 1 string singular Name of the experiment.

Message ExperimentServiceLoadResponse#

Response object of the method for loading an experiment.

Field Number Type Presence Description
experiment_id 1 string singular The experiment id which is used to reference the loaded experiment.

Message ExperimentServiceRegisterOnStatusChangedRequest#

The ExperimentServiceRegisterOnStatusChangedRequest class.

Field Number Type Presence Description
experiment_id 1 string singular ID of an active experiment for which status is monitored.
If ID is not provided, status of one of the active experiments is monitored.

Message ExperimentServiceRegisterOnStatusChangedResponse#

Response object representing the status of an experiment. It contains full set of status information, which can consist a single or multiple new states.

Field Number Type Presence Description
status 1 zen_api.acquisition.v1beta.ExperimentStatus singular The experiment status.

Message ExperimentServiceRunExperimentRequest#

The ExperimentServiceRunExperimentRequest class.

Field Number Type Presence Description
experiment_id 1 string singular Experiment id.
output_name 2 string singular Optional name of the experiment's output. If a null or an empty name is provided, the
output name will be created automatically, otherwise the output name must be in a format
of a file name without a file extension.

Message ExperimentServiceRunExperimentResponse#

Information about execution of an experiment.

Field Number Type Presence Description
output_name 1 string singular The name of the experiment's output (in a format of a file name without a
file extension).

Message ExperimentServiceRunSnapRequest#

The ExperimentServiceRunSnapRequest class.

Field Number Type Presence Description
experiment_id 1 string singular Experiment id.
output_name 2 string singular Optional name of the experiment's output. If a null or an empty name is provided, the
output name will be created automatically, otherwise the output name must be in a format
of a file name without a file extension.

Message ExperimentServiceRunSnapResponse#

Information about execution of a snap experiment.

Field Number Type Presence Description
output_name 1 string singular The name of the snap's output (in a format of a file name without a file
extension).

Message ExperimentServiceSaveRequest#

The ExperimentServiceSaveRequest class.

Field Number Type Presence Description
experiment_id 1 string singular Experiment id.
experiment_name 2 string singular Name to be used when saving the experiment.
allow_override 3 bool singular Allow override of already existing experiment with the same name.

Message ExperimentServiceSaveResponse#

The ExperimentServiceSaveResponse class.

Message ExperimentServiceStartContinuousRequest#

The ExperimentServiceStartContinuousRequest class.

Field Number Type Presence Description
experiment_id 1 string singular Experiment id.

Message ExperimentServiceStartExperimentRequest#

The ExperimentServiceStartExperimentRequest class.

Field Number Type Presence Description
experiment_id 1 string singular Experiment id.
output_name 2 string singular Optional name of the experiment's output. If a null or an empty name is provided, the
output name will be created automatically, otherwise the output name must be in a format
of a file name without a file extension.

Message ExperimentServiceStartExperimentResponse#

Information about execution of an experiment.

Field Number Type Presence Description
output_name 1 string singular The name of the experiment's output (in a format of a file name without a
file extension).

Message ExperimentServiceStartLiveRequest#

The ExperimentServiceStartLiveRequest class.

Field Number Type Presence Description
experiment_id 1 string singular Experiment id.
track_index 2 google.protobuf.Int32Value singular Optional track index. When index is not provided the first selected or activated track
(in that order) will be used, but when the index is provided the track with than index
will be selected. The track index starts with "0".

Message ExperimentServiceStartSnapRequest#

The ExperimentServiceStartSnapRequest class.

Field Number Type Presence Description
experiment_id 1 string singular Experiment id.
output_name 2 string singular Optional name of the experiment's output. If a null or an empty name is provided, the
output name will be created automatically, otherwise the output name must be in a format
of a file name without a file extension.

Message ExperimentServiceStartSnapResponse#

Information about execution of a snap experiment.

Field Number Type Presence Description
output_name 1 string singular The name of the snap's output (in a format of a file name without a file
extension).

Message ExperimentServiceStopRequest#

The ExperimentServiceStopRequest class.

Field Number Type Presence Description
experiment_id 1 string singular ID of an experiment to stop or an empty GUID to stop one of the active experiments.

Message ExperimentServiceStopResponse#

Information about execution of an experiment.

Field Number Type Presence Description
experiment_id 1 string singular The ID of the experiment which is used to reference the stopped experiment.