Skip to main content
Three endpoints over the run record: list, fetch, stop. A run is yours or it does not exist, so a run id from another workspace answers 404, never 403.

List runs

Newest first, cursor-paginated.
Items carry every field of the run record described under run, except price.
output is always null in this list. Goro does not store run results, and listing every run’s rows would mean a provider round trip per row. Use GET /v1/runs/{id} to fetch the rows for a specific run.
The list is a spend and status record: what ran, when, how many rows it made and what it cost.

Get a run

Fetches a run, and advances it if it is still going. This is the polling endpoint behind a 202 from run.
The response is the run record, same shape as the list items above. Polling is safe to repeat as often as you like. Each call on a non-terminal run checks the provider once and settles the run if the provider is done: capturing the charge, releasing the rest of the hold, and recording the row count. Settlement is idempotent, so concurrent polls cannot double-charge. Stop polling once status is COMPLETED, FAILED, STOPPED or TIMED_OUT.

Where the rows are

The poll that finds the provider finished returns the rows in output. That is the response to keep. A finished run holds its rows until you collect them, so this works whether the run is still finishing or already settled: a poll that arrives after the run completed still returns its rows. That is the whole point of the async path. Once collected, or once the run is more than 24 hours old, the rows are deleted. Goro then falls back to re-reading the provider’s own copy, which is best effort, so output: null on an older run is a normal outcome rather than an error. Write results somewhere yourself if you need them long term.

Stop a run

Aborts a run that is still going, releases the whole hold, and settles it as STOPPED. You are not charged.
The response is 202. Stopping upstream is best effort; releasing your hold is not, and happens either way.

Run statuses

Every terminal status other than COMPLETED settles at a final cost of zero.

Errors

Check the balance

What is available, and where it went.