---
title: "Gets a single signal run by its id."
method: GET
path: "/signal/run/{runId}"
tags: ["Signal"]
---

# Gets a single signal run by its id.

`GET /signal/run/{runId}`

## Path parameters

- `runId` string, required

## Response `200`

OK

- GetSignalRunByIdEndpointOutput
  - `id` string, required — The unique identifier of the run.
  - `signalId` string, required — The id of the parent signal.
  - `triggerSource` 'Scheduled' | 'Manual', required
  - `status` 'Pending' | 'Running' | 'Completed' | 'Failed' | 'Skipped', required
  - `startedAt` string, date-time, required — When the run was started.
  - `audienceJobId` string, nullable — The id of the audience job this run spawned (null until orders confirms creation).
  - `completedAt` string, date-time, nullable — When the run reached a terminal state.
  - `resultFileName` string, nullable — File name of the audience-job result, when completed.
  - `failureMessage` string, nullable — Reason the run failed.
  - `skippedReason` string, nullable — Reason the run was skipped without spawning an audience job.

## Other responses

- `400` — Bad Request
- `401` — Unauthenticated
- `403` — Forbidden

---

[API](https://skmtc.net/rapidata/apis/rapidata-api.md) · [All operations](https://skmtc.net/rapidata/apis/rapidata-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rapidata/rapidata-api/versions/e42ec51c7b88/schema)
