---
title: "An audit run for one of your projects finished"
method: POST
path: "audit.completed"
---

# An audit run for one of your projects finished

`POST audit.completed` (webhook)

Sent when a project's audit run completes (all jobs finished). Verify X-SerpAgent-Signature (hex sha256 HMAC of the raw body with your endpoint secret) before trusting the payload.

## Payload

- WebhookEnvelope: Delivery envelope POSTed to your endpoint for every event. Headers: X-SerpAgent-Signature (hex sha256 HMAC of the raw body, keyed with your endpoint secret), X-SerpAgent-Event (event name), X-SerpAgent-Delivery (delivery id — stable across retries, dedupe on it). Respond 2xx within 10s or the delivery is retried with exponential backoff (max 8 attempts).
  - `id` string, required: Delivery id (same value as X-SerpAgent-Delivery).
  - `event` 'audit.completed' | 'article.generated' | 'article.published' | 'subscription.updated' | 'usage.threshold_reached' | 'credits.updated', required
  - `created_at` string, date-time, required
  - `data` object, required: Event-specific payload — see the webhooks section examples.

## Acknowledgement `200`

Return any 2xx within 10 seconds to acknowledge.

---

[API](https://skmtc.dev/serp-agent/apis/serp-agent-api.md) · [All operations](https://skmtc.dev/serp-agent/apis/serp-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/serp-agent/apis/serp-agent-api/revisions/438a943019ac?raw)
