The following sections provide guidance on constructing a request to the EMS API, ensuring an Instrument can be authenticated and selecting the version and format of returned objects: The following sections describe the API calls available:
Expand All Collapse All

ems/

V1 apiUser

GET

ems/apiUser/{apiKey}

Gets the API User with the specified API key.

V1 attachments

POST

ems/attachments

Uploads a file attachment against an EMS entity.

GET

ems/attachments?entityType={entityType}&entityId={entityId}

Retrieves a collection of attachments linked to an EMS entity.

GET

ems/attachments/{identifier}

Retrieves the attachment from the EMS repository with the given identifier.

V1 experimentFactors

GET

ems/experimentFactors?experimentId={experimentId}

Gets the formulation, substrate and condition factors for the Experiment with the specified ID.

PUT

ems/experimentFactors/substrates/values/{substrateValueId}/lotId?value={value}

Updates the Lot ID for the specified substrate factor value.

POST

ems/experimentFactors/conditions

Adds a condition factor to an Experiment.

POST

ems/experimentFactors/substrateLists

Adds a substrate list to an Experiment.

POST

ems/experimentFactors/formulationLists

Adds a formulation list to an Experiment.

POST

ems/experimentFactors/conditions/{experimentConditionId}/values

Adds a value to an Experiment condition.

POST

ems/experimentFactors/substrateLists/{substrateListId}/substrates

Adds a substrate to an Experiment substrate list.

POST

ems/experimentFactors/formulationLists/{formulationListId}/formulations

Adds a formulation to an Experiment formulation list.

V1 experiments

GET

ems/experiments/{id}

Gets the Experiment with the specified id. The Experiment returned contains a collection of Protocol Conditions applied to it.

POST

ems/experiments

Adds a new standard Experiment to a study.

V1 factors

GET

ems/factors/conditions

Gets all condition factors in the EMS. Each Condition object returns a collection of Units available for it.

V1 plates

GET

ems/plates?experimentId={experimentId}

Gets the Plates for the Experiment with the specified ID.

PUT

ems/plates/{plateId}/barcode?value={value}

Updates the barcode for the Plate with the specified ID.

POST

ems/plates/{plateId}/comment

Adds a Comment to the Plate with the specified ID.

GET

ems/plates/nextBarcodeNumber

Gets the next barcode number for a Plate. This barcode number is used in generating the full Plate barcode.

POST

ems/plates

Adds a Plate to an Experiment.

V1 protocolConditions

PUT

ems/protocolConditions/{conditionId}

Updates the Value and Units for the specified Protocol Condition on an Experiment.

V1 protocols

GET

ems/protocols

Gets a list of all of the currently active Protocols the current sessions's user has access to.

GET

ems/protocols/{id}

Gets the Protocol with the specified id. The Protocol returned contains details on all the condition options.

V1 results

POST

ems/results

Submits an EMS Results Package for processing. The package is checked for errors and the result of this check is returned from the API call. If the package is valid, it is added to the processing queue.

GET

ems/results?experimentId={experimentId}

Starts an experiment result search in EMS. Note that this is the V1 controller implementation of this endpoint.

V2 results

GET

ems/results?experimentId={experimentId}

Starts an experiment result search in EMS. Note that this is the V2 controller implementation of this endpoint.

V1 resultsExport

GET

ems/resultsExport/{datasetId}

Initiates a download of the export CSV.

V1 studies

GET

ems/studies

Gets a list of all of the currently active Studies available to the session user.

POST

ems/studies

Adds a Study to a Project.

V1 userTokens

GET

ems/userTokens/publicKey

Gets the modulus and exponent of an RSA-generated public key as base64-encoded strings for encrypting passwords.

POST

ems/userTokens/create

Creates a user access token for the EMS API, authenticating through Windows Authentication.

POST

ems/userTokens/createExternal

Creates a user access token for the EMS API, authenticating through a users' domain credentials.

V1 validate

GET

ems/validate?entityType={entityType}&entityId={entityId}

Gets the validation results for a specific Entity.

V1 version

GET

ems/version

Gets the version information for the API.

V1 wells

GET

ems/wells?plateId={plateId}

Gets the Wells for a specific Plate. Each Well object returned contains a collection of factors (Formulations, Subtrates, Conditions and Condition Sets) applied to it.

PUT

ems/wells/{wellId}/barcode?value={value}

Updates the barcode for the Well with the specified ID.

POST

ems/wells/{wellId}/conditionValue

Adds a condition factor value to a Well

POST

ems/wells/conditionValue?plateId={plateId}

Adds a condition factor value to all Wells for the specified Plate.

POST

ems/wells/{wellId}/substrate

Adds a substrate to a Well.

POST

ems/wells/substrate?plateId={plateId}

Adds a Substrate to all Wells for the specified Plate.

POST

ems/wells/{wellId}/formulation

Adds a formulation to a Well.

POST

ems/wells/formulation?plateId={plateId}

Adds a Formulation to all Wells for the specified Plate.

fml/

V1 materialLots

GET

fml/materialLots?materialId={materialId}

Gets the non-disposed Lots for the FReg Material with the specified ID.

V1 materials

GET

fml/materials?materialName={materialName}

Gets the Material with the specified name. The Material details are retrieved from the Stain Lookup spreadsheet only.

stability/

V1 experiments

POST

stability/experiments

Creates a stability experiment based on the information given in the content body.

V1 measurements

GET

stability/measurements

Gets the details of all Stability Measurements defined in the EMS.

V1 plates

GET

stability/plates/{id}

Gets the Stability Plate with the specified id.

V1 sampleDeletionReasons

GET

stability/sampleDeletionReasons

Gets all of the reasons that can be used when deleting a Stability Sample.

V1 sampleDueDates

GET

stability/sampleDueDates?plateId={plateId}

Gets the dates when the samples on a Plate are due to be measured. Here, a Plate refers to a product at a particular temperature.

V1 samples

GET

stability/samples/{id}

Gets the Stability Sample with the specified id.

DELETE

stability/samples/{id}?deletionReasonId={deletionReasonId}&deleteFutureSamples={deleteFutureSamples}

Deletes the Stability Sample with the specified id. Optionally deletes all future samples for this product/temperature combination.