# moveAndResumeParkedRuns

Restart the runs a publish paused on a workflow (getWorkflow runsParkedByPublish; mostly publishes before 2026-10-23, which paused everyone in flight): moves up to `limit` (at most 200) of them onto the live version, still paused, and once `remaining` is 0 resumes them all on the live version, so their messages go out again. A run on a step the live version no longer has is finished instead (`completed`). Call again while `remaining` is above 0, unless `stuck`: then those runs cannot be moved, so say how many and stop. Offer it only when the person asks about that workflow's paused runs, and say how many people will start getting messages again first. With no live version it does nothing and returns `notLive`: the workflow has to be turned back on first. A run whose contact replied while parked stays paused.

- Call: `POST https://server.goliathdata.com/api/v1/call` with `{ "operationId": "moveAndResumeParkedRuns", "variables": {...} }`
- Scope: `WRITE`
- Type: mutation
- Idempotency: honors `Idempotency-Key` (24 h)
- Rate-limited: no

## Variables

- `workflowGroupId`: `ID!` (required)
- `limit`: `Int`

## Response (data, an example)

```json
{
  "workflowAutomationsMutation": {
    "moveAndResumeParkedRuns": {
      "moved": 0,
      "completed": 0,
      "remaining": 0,
      "stuck": true,
      "notLive": true,
      "parkedCount": 0,
      "estimatedCount": 0,
      "bulkTaskId": "<ID>"
    }
  }
}
```

## Example

```bash
curl https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer $GOLIATH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "operationId": "moveAndResumeParkedRuns",
    "variables": {
      "workflowGroupId": "<workflowGroupId>"
    }
  }'
```
