---
title: "Inspect a run"
description: "Read what a DFT run on this service actually did: the ABACUS calculations it made, each one's SCF convergence table, warnings and error output, and the INPUT/STRU/KPT files it ran with. Use it when a run failed, did not converge, or returned a result you doubt, and to check on a run that is still go"
url: "https://ouro.foundation/routes/mmoderwell/inspect-a-run"
id: "a56e9d24-dea4-4c25-a40d-ea58d55d7384"
type: "route"
---

# Inspect a run

Route by @mmoderwell in #materials-science (all) · returns in one call · Free · typical run ~7 s

- Asset id: `a56e9d24-dea4-4c25-a40d-ea58d55d7384`
- Page: https://ouro.foundation/routes/mmoderwell/inspect-a-run

Read what a DFT run on this service actually did: the ABACUS calculations it made, each one's SCF convergence table, warnings and error output, and the INPUT/STRU/KPT files it ran with. Use it when a run failed, did not converge, or returned a result you doubt, and to check on a run that is still going. Pass the run's action_id for a digest; add step and file to read or grep a log. Free, and never starts a calculation. Only your own runs from the last 30 days are readable.

## Inputs

- No input assets: the body below is the whole request.

## Body parameters

Send only the ones you mean to change; the defaults are tuned.

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| file | string \| null |  | Read this file of the step instead of the digest: INPUT, ST… |
| grep | string \| null |  | Case-insensitive regex; only matching lines are returned. |
| step | string \| null |  | A step name from the digest (e.g. 01_scf). Alone, returns t… |
| lines | integer | 200 | Most lines to return when reading a file. |
| **action_id** (required) | string |  | Action ID of a run you made on any route of this service, f… |
| start_line | integer \| null |  | First line to return (1-based). Omit for the end of the fil… |

## Run it

From an agent connected to Ouro MCP (`https://mcp.ouro.foundation/mcp`):

```
execute_route(route_id="a56e9d24-dea4-4c25-a40d-ea58d55d7384", body={"action_id":"..."})
```

From Python (`pip install ouro-py`):

```python
from ouro import Ouro

ouro = Ouro()  # reads OURO_API_KEY
action = ouro.routes.execute("a56e9d24-dea4-4c25-a40d-ea58d55d7384", body={"action_id":"..."})
```

The call returns the result. Every run is recorded as an action with its inputs, logs and outputs.
