---
title: "GetRetlWorkflowRun"
method: GET
path: "/v1.1/retl/workflow/run"
tags: ["ControlService"]
---

# GetRetlWorkflowRun

`GET /v1.1/retl/workflow/run`

## Request

- Base URL: `https://www.metarouter.io/contact`
- URL: `https://www.metarouter.io/contact/v1.1/retl/workflow/run`
- Auth: HTTP bearer

Returns one run entry and one page of its logs, newest first.
 config_id narrows a cron tick to one config.
 New rows of a running run push older rows to later pages, so a later page can repeat rows.
 per_page defaults to 1,000, max 1,000.

## Query parameters

- `workflowId` string
- `configId` string
- `page` integer
- `perPage` integer

## Response `200`

OK

- ProtobufControlpbV1GetRetlWorkflowRunResponse
  - `logs` union[], nullable
    - union
      - object, nullable
      - ProtobufRetlpbV1RetlLog
        - `configId` string
        - `configType` 'TYPE_UNSPECIFIED' | 'TYPE_AUDIENCE_ACTIVATION' | 'TYPE_REPLAY' | 'TYPE_MATCH_TABLE': config_type is related to the config_id (EX: Audience Activation Config, future Replay)
        - `details` union
          - object, nullable
          - GoogleProtobufStruct
            - `fields` object, nullable: Unordered map of dynamically typed values.
        - `groupName` string
        - `integrations` string[], nullable
        - `level` 'LEVEL_UNSPECIFIED' | 'LEVEL_DEBUG' | 'LEVEL_INFO' | 'LEVEL_WARN' | 'LEVEL_ERROR'
        - `message` string
        - `messageId` string: message_id is the source notification message ID (e.g. SNS MessageId)
        - `rowsProcessed` string
        - `source` string
        - `status` 'STATUS_UNSPECIFIED' | 'STATUS_STARTED' | 'STATUS_IN_PROGRESS' | 'STATUS_COMPLETED' | 'STATUS_ERROR'
        - `step` string: The workflow step that wrote the row. A cron job uses its job name as the step.
        - `timestamp` string, date-time, nullable
        - `workflowId` string: The workflow name of the run that wrote the row.
        - `writeKey` string
  - `run` union
    - object, nullable
    - ProtobufRetlpbV1RetlWorkflowRun
      - `configId` string: AA and replay will have config_id, generator and matcher will be split by config_id as they support multiple.
      - `configType` 'TYPE_UNSPECIFIED' | 'TYPE_AUDIENCE_ACTIVATION' | 'TYPE_REPLAY' | 'TYPE_MATCH_TABLE'
      - `finishedAt` string, date-time, nullable: Unset while the entry is pending or running.
      - `messageId` string: The replay run id or the audience activation SNS message id. Empty for the crons.
      - `retryCount` integer: Retried attempts across the entry's steps, from repeated STATUS_STARTED rows. 0 when no step retried.
      - `rowsProcessed` string: Output delivered so far: queue events for replay, stream-events, and generate-events, match-table entries for build-match-table.
      - `source` string: Where the entry reads its records. Empty until a row of the entry carries a source. Replay: the source URI with its prefix and glob. Audience activation: the decoded object key, without the bucket. Empty while the run is queued. build-match-table: the online storage URI and prefix. Empty without config_id or online storage. generate-events: the offline storage URI and prefix. Empty without config_id.
      - `startedAt` string, date-time, nullable
      - `status` 'STATUS_UNSPECIFIED' | 'STATUS_PENDING' | 'STATUS_RUNNING' | 'STATUS_SUCCEEDED' | 'STATUS_FAILED'
      - `step` string: The step of the entry's most recent row: the active step while running, the last step once finished.
      - `workflowId` string: The workflow name of the run. The detail, stop, and delete requests take this value.
      - `writeKey` string: The write key of the entry's config. Empty for replay, which has no single write key.

## Other responses

- `4XX`: Something is wrong with your request such as missing or invalid data. Correct your request and try again.
- `5XX`: Internal server error. Try again later or reach out to MetaRouter support.

## Changes

- **2026-11-03** `aa3afac506c0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/metarouter/apis/control-api/changes/v1.1/retl/workflow/run/get.md)

---

[API](https://skmtc.dev/metarouter/apis/control-api.md) - [All operations](https://skmtc.dev/metarouter/apis/control-api/llms.txt) - [OpenAPI document](https://skmtc.dev/metarouter/apis/control-api/revisions/aa3afac506c0?raw)
