---
title: "ProcedureResult"
description: "what one run of a named procedure in the workbench left: the procedure, the run, the hashes of its code and its inputs, its outputs as measures, how it ended and how long it took"
section: concepts
address: /concepts/procedureresult
contract: 0476e35e6e275db5
---

# ProcedureResult

what one run of a named procedure in the workbench left: the procedure, the run, the hashes of its code and its inputs, its outputs as measures, how it ended and how long it took

[figure: ProcedureResult is a value at none scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | value |
| scope | none |
| key | none |
| store | none |
| family | harness |



## Fields


| field | type | required | note |
|---|---|---|---|
| `procedure` | [NamedProcedure](/concepts/namedprocedure) | yes |  |
| `run` | `id` | yes |  |
| `code_hash` | `hash` | no | absent when the procedure carries no code, and then every output is never measured |
| `inputs_hash` | `hash` | yes |  |
| `outputs` | [Measure](/concepts/measure) | yes | one for each number the code left, its kind the name the procedure leaves it under |
| `ended` | `one of ended \| failed \| stopped` | yes |  |
| `elapsed_ms` | `count` | yes |  |



## Routes that use it
No route takes or returns ProcedureResult directly. The record holds it, and the objects that point at it reach it.
