---
title: "Replay credential_workflow.status.changed webhooks for given workflows"
method: POST
path: "/credentialing-workflows/replay-webhooks"
tags: ["CredentialingWorkflow"]
---

# Replay credential_workflow.status.changed webhooks for given workflows

`POST /credentialing-workflows/replay-webhooks`

Accepts a list of workflow IDs and asynchronously replays `credential_workflow.status.changed` webhook events for each one. Returns 202 immediately; replay runs in the background. Each workflow is fetched and routed through the same webhook dispatch path used during normal status changes, so downstream subscribers receive the same payload they would have received during the original status change. Progress is logged server-side with the `[webhook-replay]` prefix. There is no polling endpoint to track completion.

## Headers

- `tenant-id` string, required

## Request body

- ReplayWebhooksRequest — Request to replay webhooks for credentialing workflows that missed webhook delivery
  - `workflowIds` string[], required — List of credentialing workflow IDs to replay webhooks for

## Response `202`

Webhook replay accepted and processing in the background

## Other responses

- `400` — Invalid request data
- `401` — Unauthorized - Authentication required
- `500` — Internal Server Error - An unexpected error occurred

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/563848e0ecc0/schema)
