Skip to main content
This guide runs RevRedox on one molecule given as a SMILES string, so you don’t need to upload a file. It takes a few minutes and uses a small number of credits.

1. Create an API key

  1. In the Revilico web app, open your account and click Developer in the sidebar.
  2. On the API keys tab, click Create API key.
  3. Name the key, keep Full access and pick an expiry.
  4. Copy the key. It starts with rvl_live_ and is shown only once.
Store the key in an environment variable rather than in your code:
See Authentication for scopes, rotation and revocation.

2. Check the key

GET /v1/me works with any key. It returns your account, the key’s scopes, the engines you can run and your organization’s credits.
If engines doesn’t include revredox, pick another engine from the list and read its parameters with GET /v1/engines/{engine}.

3. Start a run

Send the engine’s parameters to POST /v1/engines/{engine}/runs. Parameters you leave out take their defaults; here RevRedox computes both oxidation and reduction potentials against SCE.
The API answers 202 Accepted with the run:
Check parameters before you spend credits: POST /v1/engines/{engine}/validate returns them with defaults filled in, or a 422 that names each problem. It runs nothing.

4. Wait for the run to finish

Poll GET /v1/runs/{runId} until status is succeeded, failed or cancelled. Runs take minutes to hours depending on the engine and input, so poll every 10 to 30 seconds.
A failed run has the reason in error.message. Its logs are still listed by GET /v1/runs/{runId}/files.

5. Read the results

GET /v1/runs/{runId}/results returns the results as JSON rows, one per molecule, state or item, with run-level facts such as the level of theory beside them.
From there you can:
  • get everything for one row with GET /v1/runs/{runId}/results/{index}
  • list every file the run wrote with GET /v1/runs/{runId}/files, and download one with GET /v1/runs/{runId}/files/read?path=…
  • download the engine’s named outputs with GET /v1/runs/{runId}/outputs/{outputId}
Download links are pre-signed and valid for 15 minutes.

Use an input file

Engines that take files, such as an SDF of ligands or a CSV of SMILES, need the file uploaded first. Uploading is two requests: create the upload, then PUT the bytes to the URL it returns.
Then pass the file id under the engine’s input key in inputs. GET /v1/engines/{engine} lists each engine’s input keys, formats and size limits. For example, RevOrbitals takes a CSV of SMILES as molecules:
Until the PUT has finished, GET /v1/files/{fileId} returns 404 and a run that uses the file is refused.

Next steps

API reference

Every endpoint, with a playground.

Errors

Error codes, pagination and IDs.