# WebhookPayloadSchemaDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

Self-service description of the webhook payload a subscriber receives for one event type:
the schema of the rich `data` body plus a realistic, illustrative sample of the full
delivered envelope. Shown in the notification event catalog so you can see the payload shape
without firing a real event at a test endpoint.

## Fields
- `eventType` (string): The canonical event type string this schema describes. (nullable)
- `hasRichPayload` (boolean): True when the event delivers a structured `data` object (an aggregate-backed event such  as a transaction completion). False for events that deliver only the flat `attributes`  map: for those, `dataFields` is empty and the sample shows the flat shape.
- `dataFields` (array<[WebhookPayloadSchemaField](https://devportal.demo.winkpg.io/docs/api/models/WebhookPayloadSchemaField.md)>): The schema of the `data` object's fields, generated from the payload CLR type via the  same exclusion logic the runtime projector uses. Empty when `hasRichPayload` is false. (nullable)
  Fields of each item:
  - `name` (string): The JSON field name (the CLR property name, emitted verbatim by the projector). (nullable)
  - `type` (string): The JSON type the value serializes as. One of the values in  `WebhookPayloadSchemaTypes`: `string`, `integer`, `number`,  `boolean`, `datetime`, `object`, or `array`. (nullable)
  - `nullable` (boolean): Whether the field can be `null` / absent. Reference types and `Nullable`  value types are nullable; non-nullable value types are not. This is a best-effort hint derived  from the CLR type, not a guarantee that the field is always populated.
  - `description` (string): A curated, integrator-facing note about this field, or `null` when its name and  type say enough. Sourced from `WebhookPayloadFieldDescriptions` by the field's  dotted path, so the catalog and the delivered payload still come from one traversal. (nullable)
  - `fields` (array<[WebhookPayloadSchemaField](https://devportal.demo.winkpg.io/docs/api/models/WebhookPayloadSchemaField.md)>): For `type` == `object`: the nested fields of the object. Null for scalar fields. (nullable)
  - `items` ([WebhookPayloadSchemaField](https://devportal.demo.winkpg.io/docs/api/models/WebhookPayloadSchemaField.md)): For `type` == `array`: a descriptor for the array's element. The element  descriptor's `name` is empty. Null for non-array fields.
  - `truncated` (boolean): True when the describe walk stopped at this node because the recursion-depth ceiling or a  type cycle was hit. The actual delivered payload carries a `__truncated` marker in the  same place. Defensive guard: not expected on today's tree-shaped aggregates.
- `sampleEnvelopeJson` (string): A pretty-printed, illustrative sample of the full webhook envelope (id, type, version,  createdUtc, scope ids, correlationId, data) with placeholder values. For display only:  the values are synthetic, the shape is real. (nullable)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
