---
title: "Contact field events"
method: POST
path: "contactFieldEvents"
tags: ["Webhook Events"]
---

# Contact field events

`POST contactFieldEvents` (webhook)

- `contact.field_changed`: A custom field on a contact was set, changed, or cleared; bulk contact imports emit no contact events.

Delivered as a `POST` to every active endpoint that subscribes to the event and whose profile access covers it. Delivery is at least once and events are not ordered, so deduplicate by `id`.

## Payload

- WebhookContactFieldEvent: Envelope for `contact.field_changed`.
  - `id` string, required: Event id (`evt_…`). Stable across automatic retries and manual redeliveries; deduplicate on it.
  - `type` 'contact.field_changed', required
  - `apiVersion` string, required: Payload version.
  - `createdAt` string, date-time, required: When the event was created.
  - `data` WebhookContactFieldEventData, required
    - `contact` WebhookContactEventContact, required
      - `id` string, required: PostZen contact id.
      - `profileId` string, required: The contact's profile.
      - `name` string, required: Contact name.
    - `field` string, required: Custom field key.
    - `previousValue` union, required: Value before the change, or null when the field did not exist.
      - string
      - number
      - boolean
    - `value` union, required: Value after the change, or null when the field was cleared or removed.
      - string
      - number
      - boolean

## Acknowledgement `2XX`

Acknowledges the delivery. Any other status, or no response within 10 seconds, schedules a retry.

---

[API](https://skmtc.dev/postzen/apis/postzen-public-api.md) · [All operations](https://skmtc.dev/postzen/apis/postzen-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/postzen/apis/postzen-public-api/revisions/40863e3710ec?raw)
