---
title: "stage_changed"
method: POST
path: "stage_changed"
tags: ["Webhooks"]
---

# stage_changed

`POST stage_changed` (webhook)

A contact moved between pipeline stages. Emitted alongside `contact_updated`.

## Payload

- object: Every outbound event uses this envelope. `data` is the only part that varies by event type.
  - `event` string: Event type. Also sent in the `X-Webhook-Event` header.
  - `timestamp` string, date-time: When the event was delivered — not necessarily when it occurred.
  - `data` object: Event-specific payload.
    - `contact_id` string, uuid
    - `display_name` string
    - `from_stage_id` string, uuid, nullable
    - `to_stage_id` string, uuid, nullable
    - `changed_at` string, date-time
  - `webhook_id` string, uuid: Delivery ID. Also sent as `X-Webhook-ID`. Use it to deduplicate retries.
  - `organization_id` string, uuid

## Acknowledgement `200`

Return any 2xx to acknowledge. A non-2xx or a timeout is treated as a failed
delivery and retried with backoff up to your configured `max_retries`.

---

[API](https://skmtc.dev/automatedclientacquisition/apis/aca-api.md) · [All operations](https://skmtc.dev/automatedclientacquisition/apis/aca-api/llms.txt) · [OpenAPI document](https://skmtc.dev/automatedclientacquisition/apis/aca-api/revisions/8f3e3b141311?raw)
