---
title: "Get a configuration workflow run's full detail"
method: GET
path: "/api/south/{southId}/workflows/{workflowId}/runs/{runId}"
tags: ["Configuration Workflows"]
---

# Get a configuration workflow run's full detail

`GET /api/south/{southId}/workflows/{workflowId}/runs/{runId}`

Gets one run's full detail, including the full discovered payload behind its summary counts -
fetched on demand (not part of the paginated run list, which stays lean) since a heavily-discovered
run's payload can be sizeable.

## Path parameters

- `southId` string, required
- `workflowId` string, required
- `runId` string, required

## Response `200`

The run, with its full discovered payload

- WorkflowRunDetailDTO — One run's full detail, including the full discovered payload behind its summary counts - fetched on demand (not part of the paginated run list, which stays lean) since it can be sizeable for a workflow with many discovered records. Shape mirrors `WorkflowPreviewResultDTO`: local (item-creating) workflow populates `entries` (empty for remote); remote (push-to-OIAnalytics) workflow populates `records` (empty for local). Both are empty for a run that errored before Retrieve completed, or one still `RUNNING`.
  - `discoveredCount` number, double, required
  - `eligibleCount` number, double, required
  - `createdCount` number, double, required
  - `updatedCount` number, double, required
  - `disabledCount` number, double, required
  - `pushedCount` number, double, required
  - `id` string, required
  - `workflowId` string, required
  - `triggerType` 'manual' | 'scheduled', required
  - `status` 'RUNNING' | 'ERRORED' | 'COMPLETED', required
  - `startedAt` string, required
  - `completedAt` string, nullable, required — Null while `status` is `RUNNING`.
  - `error` string, nullable, required — Set only when `status` is `ERRORED`.
  - `triggeredBy` UserInfo, required — Represents the user who performed an action, with a computed display name.
    - `id` string, required — The unique identifier of the user.
    - `friendlyName` string, required — A human-readable display name for the user. "OIAnalytics" for the oianalytics system user, "Admin" for the admin login, or "Firstname Lastname (login)" for regular users.
  - `entries` WorkflowPreviewEntryDTO[], required
    - `key` string, required — The identity key computed from the workflow's `identityKeyFields`.
    - `status` 'new' | 'changed' | 'unchanged' | 'reactivated' | 'missing', required — How a preview classifies one discovered/tracked entry against the workflow's previous run - the same classification a real run's Decide step uses, before Act would touch anything.
    - `record` OIBusRecord, required — Construct a type with a set of properties K of type T
    - `previousMetadata` RecordStringUnknown, required — Construct a type with a set of properties K of type T
  - `records` OIBusRecord[], required

## Changes

- **2026-09-23** `92023a2f20ae` — 1 info
  - endpoint added
- **2026-09-21** `fbefadfe3be3` — 1 breaking
  - api path removed without deprecation
- **2026-09-21** `91dba375a461` — 1 info
  - endpoint added
- **2026-09-21** `52d824185a20` — 1 breaking
  - api path removed without deprecation
- **2026-09-10** `bb379d0410e7` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/optimistiksas/apis/oibus-api/changes/api/south/:southId/workflows/:workflowId/runs/:runId/get.md)

---

[API](https://skmtc.dev/optimistiksas/apis/oibus-api.md) · [All operations](https://skmtc.dev/optimistiksas/apis/oibus-api/llms.txt) · [OpenAPI document](https://skmtc.dev/optimistiksas/apis/oibus-api/revisions/a34e6afd34e1?raw)
