# Webhook events

> Reference of the events a webhook receives, generated from the API catalog, with each one's data fields and what never goes in any event.

Each [webhook](/api/webhooks) delivery carries an envelope with `id`, `type`, `version`, `occurredAt`, `community` and `data`. This page shows each event's `data`. It's generated from the API's public catalog, [`GET /api/integrations/events`](/api/referencia/integrations), which also returns each event's JSON Schema.

- Every event brings the person in `data.member`, with `id` (the member in the community), `name` and `email`.
- Money comes in cents, as `{ "amount": 9990, "currency": "BRL" }`, always what the person paid.
- A new field may be added to an event without changing the `version`; treat unknown fields as optional. A change that breaks the format becomes a new `version`.

## The events

| Event | Family | When it is sent |
|---|---|---|
| [`member.joined`](#member-joined) | `member` | A person became a member of the community (signup, accepted invite, purchase, created by the team, joined through a company, imported from a spreadsheet or join request approved). |
| [`member.left`](#member-left) | `member` | A person left the community or was removed. |
| [`member.returned`](#member-returned) | `member` | A person accessed the community again after 7 days or more without access (login, app or assistant), with how many days they were away. |
| [`member.role_changed`](#member-role-changed) | `member` | A person's role in the community changed. |
| [`purchase.completed`](#purchase-completed) | `purchase` | A purchase was paid (or a free product was claimed). |
| [`purchase.refunded`](#purchase-refunded) | `purchase` | A purchase was refunded, in full or in part. |
| [`subscription.created`](#subscription-created) | `subscription` | A subscription started (paid or on a free trial). |
| [`subscription.renewed`](#subscription-renewed) | `subscription` | A subscription was renewed with the payment of a new period. |
| [`subscription.canceled`](#subscription-canceled) | `subscription` | A subscription was canceled, right away or at the end of the period. |
| [`subscription.ended`](#subscription-ended) | `subscription` | A subscription ended and its access is over. |
| [`event.registered`](#event-registered) | `event` | A person RSVPed "going" to an event. |
| [`course.enrolled`](#course-enrolled) | `course` | A person enrolled in a course. |
| [`course.completed`](#course-completed) | `course` | A person completed a course. |
| [`certificate.issued`](#certificate-issued) | `certificate` | A course or event certificate was issued. |
| [`form.submitted`](#form-submitted) | `form` | A form received a submission (the fields filled in and the consent, no IP). |
| [`event.checked_in`](#event-checked-in) | `event` | A person checked in at an event (at the door, the kiosk, as a courtesy or by joining the live stream). |
| [`event.check_in_undone`](#event-check-in-undone) | `event` | The team undid a person's check-in at an event. |
| [`lesson.completed`](#lesson-completed) | `lesson` | A person completed a lesson of a course. |
| [`comment.created`](#comment-created) | `comment` | A person commented on a post, content or item (without the comment's text). |
| [`reaction.added`](#reaction-added) | `reaction` | A person reacted to a post, comment or item. |
| [`post.created`](#post-created) | `post` | A person published a post (without its text). |
| [`member.tag_added`](#member-tag-added) | `member` | A tag was added to a person. |
| [`member.tag_removed`](#member-tag-removed) | `member` | A tag was removed from a person. |
| [`member.group_joined`](#member-group-joined) | `member` | A person joined a group. |
| [`member.group_left`](#member-group-left) | `member` | A person left a group. |
| [`member.field_changed`](#member-field-changed) | `member` | A person's custom field changed (the field's key only, never the value). |
| [`checkout.started`](#checkout-started) | `checkout` | A signed-in person opened the checkout of a paid product. |
| [`checkout.abandoned`](#checkout-abandoned) | `checkout` | A checkout was abandoned. |
| [`checkout.recovered`](#checkout-recovered) | `checkout` | An abandoned checkout became a purchase. |
| [`space.first_visit`](#space-first-visit) | `space` | A person opened a space for the first time. |
| [`space.access_granted`](#space-access-granted) | `space` | A person was given access to a space (purchase, plan, team, badge or level). |
| [`quiz.passed`](#quiz-passed) | `quiz` | A person passed a lesson quiz (without the score or the answers). |
| [`quiz.failed`](#quiz-failed) | `quiz` | A person did not pass a lesson quiz (without the score or the answers). |
| [`lesson.rated`](#lesson-rated) | `lesson` | A person rated a lesson for the first time (without the rating or the comment). |
| [`event.ticket_assigned`](#event-ticket-assigned) | `event` | A ticket of a group order was assigned to a person (without the QR code). |
| [`event.registration_canceled`](#event-registration-canceled) | `event` | A person canceled their own registration for an event. |
| [`event.waitlist_offered`](#event-waitlist-offered) | `event` | A place opened for a person on a ticket type's waitlist (the offer is valid until the date). |
| [`subscription.plan_changed`](#subscription-plan-changed) | `subscription` | A person's subscription changed plan (from/to and when; no amounts). |
| [`subscription.past_due`](#subscription-past-due) | `subscription` | A person's subscription became past due. |
| [`subscription.trial_ending`](#subscription-trial-ending) | `subscription` | A person's subscription trial ends in the next 3 days. |
| [`coupon.redeemed`](#coupon-redeemed) | `coupon` | A coupon was used on a purchase (the coupon id, never the code). |
| [`survey.answered`](#survey-answered) | `survey` | A person answered an identified survey (without the answers; an anonymous survey publishes nothing). |
| [`form.submission_reviewed`](#form-submission-reviewed) | `form` | The team changed the status of a form submission (without the answers). |
| [`proposal.submitted`](#proposal-submitted) | `proposal` | A proposal was submitted to a call for papers (without the title or the text). |
| [`proposal.decided`](#proposal-decided) | `proposal` | A proposal was accepted or rejected (without scores or reviews). |
| [`certificate.revoked`](#certificate-revoked) | `certificate` | A certificate was revoked (the id and the public code; without the reason). |
| [`upvote.topic_created`](#upvote-topic-created) | `upvote` | An Upvote topic was published (approved; without the title or description). |
| [`upvote.topic_status_changed`](#upvote-topic-status-changed) | `upvote` | The team changed the state of an Upvote topic (without the note). |
| [`download.completed`](#download-completed) | `download` | A person downloaded a file of a Downloads item (without the file name or the link). |
| [`classified.published`](#classified-published) | `classified` | A Classifieds ad was published (approved; without the text or the value). |
| [`classified.interest_received`](#classified-interest-received) | `classified` | An ad's author received an interest (without the message). |
| [`parcel.received`](#parcel-received) | `parcel` | A parcel arrived for a person (the kind; without sender, code or photos). |
| [`parcel.picked_up`](#parcel-picked-up) | `parcel` | A parcel was picked up. |
| [`visitor.invited`](#visitor-invited) | `visitor` | A person invited a visitor (expected time; without the visitor's details). |
| [`visitor.arrived`](#visitor-arrived) | `visitor` | A person's visitor arrived (without the visitor's details). |
| [`attendance.checked_in`](#attendance-checked-in) | `attendance` | A person checked in at an Attendance place. |
| [`attendance.checked_out`](#attendance-checked-out) | `attendance` | A person checked out of an Attendance place. |
| [`support_ticket.created`](#support-ticket-created) | `support_ticket` | A person opened a Support ticket (kind and category; without the text or the photos). |
| [`support_ticket.resolved`](#support-ticket-resolved) | `support_ticket` | A Support ticket was resolved. |
| [`booking.created`](#booking-created) | `booking` | A person made a booking (resource, start, end and status). |
| [`booking.canceled`](#booking-canceled) | `booking` | A booking was canceled. |
| [`booking.checked_in`](#booking-checked-in) | `booking` | A person checked in to a booking. |
| [`booking.no_show`](#booking-no-show) | `booking` | A booking was marked as a no-show. |
| [`download.item_published`](#download-item-published) | `download` | A Downloads item was published (ids of the item, the space and the category). |
| [`download.item_updated`](#download-item-updated) | `download` | The title, description or cover of a published Downloads item changed (which ones, never the text). |
| [`download.item_moved`](#download-item-moved) | `download` | A published Downloads item moved to another category (the new one and the previous one). |
| [`download.file_added`](#download-file-added) | `download` | A file was added to a published Downloads item (without the file name or the link). |
| [`download.file_replaced`](#download-file-replaced) | `download` | A file of a published Downloads item was replaced by a new version (with the version number). |
| [`download.file_removed`](#download-file-removed) | `download` | A file was removed from a published Downloads item. |
| [`download.item_deleted`](#download-item-deleted) | `download` | A published Downloads item was deleted. |
| [`download.category_created`](#download-category-created) | `download` | A new category was created in a Downloads space. |
| [`post.updated`](#post-updated) | `post` | A published post was edited (without its text). |
| [`post.moved`](#post-moved) | `post` | A published post was moved to another space (the new one and the previous one). |
| [`post.deleted`](#post-deleted) | `post` | A published post was deleted, by its author or by the team. |
| [`comment.deleted`](#comment-deleted) | `comment` | A comment was deleted, by its author or by the team (without its text). |
| [`reaction.removed`](#reaction-removed) | `reaction` | A person took back a reaction to a post, a comment or an item. |
| [`event.created`](#event-created) | `event` | An event was created and published. |
| [`event.updated`](#event-updated) | `event` | A published event was edited. |
| [`event.deleted`](#event-deleted) | `event` | A published event was deleted (today, deleting is canceling). |
| [`event.stream_started`](#event-stream-started) | `event` | An event's live stream started. |
| [`event.recording_published`](#event-recording-published) | `event` | An event's recording was published. |
| [`event.rescheduled`](#event-rescheduled) | `event` | The date of a published event changed (with the previous date). |
| [`course.published`](#course-published) | `course` | A course was published. |
| [`course.updated`](#course-updated) | `course` | A published course was edited. |
| [`lesson.published`](#lesson-published) | `lesson` | A new lesson was added to a published course. |
| [`course.left`](#course-left) | `course` | A person left a course (the progress is kept). |
| [`space.created`](#space-created) | `space` | A space was created. |
| [`space.updated`](#space-updated) | `space` | A space was edited. |
| [`space.deleted`](#space-deleted) | `space` | A space was deleted. |
| [`form.published`](#form-published) | `form` | A form was published. |
| [`form.closed`](#form-closed) | `form` | A form was closed by the team. |
| [`form.reopened`](#form-reopened) | `form` | A closed form was reopened. |
| [`message.received`](#message-received) | `message` | A member sent a DM to someone on the team (without the text). |
| [`badge.awarded`](#badge-awarded) | `badge` | A person received a badge (by hand, from a course or event, by a workflow or an import). |
| [`badge.revoked`](#badge-revoked) | `badge` | A badge was taken back from a person. |
| [`member.level_changed`](#member-level-changed) | `member` | A person's level changed: up (points and this week's requirements, at once) or down (points taken away, at once, or last week's requirements not met, on Monday). It carries the direction and the cause. |
| [`member.points_changed`](#member-points-changed) | `member` | A person's total points changed (an action, an adjustment by the team or a workflow, or points taken back). |
| [`ping`](#ping) | `app` | Test event, sent by the Send test button. |

### `member.joined`

A person became a member of the community (signup, accepted invite, purchase, created by the team, joined through a company, imported from a spreadsheet or join request approved). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `role` | text | `owner`, `admin`, `moderator`, `member`, `finance` |
| `source` | text | `signup`, `invite`, `purchase`, `team`, `company`, `import`, `approval` |

### `member.left`

A person left the community or was removed. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `reason` | text | `removed`, `left` |

### `member.returned`

A person accessed the community again after 7 days or more without access (login, app or assistant), with how many days they were away. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `daysAway` | integer |  |
| `lastSeenAt` | date and time (ISO 8601, UTC) |  |

### `member.role_changed`

A person's role in the community changed. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `from` | text | `owner`, `admin`, `moderator`, `member`, `finance` |
| `to` | text | `owner`, `admin`, `moderator`, `member`, `finance` |

### `purchase.completed`

A purchase was paid (or a free product was claimed). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `purchaseId` | text |  |
| `orderId` | text or null |  |
| `product` | object: `id`, `name`, `type` |  |
| `amount` | object: `amount`, `currency` | in cents, what the buyer paid |
| `discount` | object: `amount`, `currency` or null | in cents |
| `couponCode` | text or null |  |
| `paymentMethod` | text or null |  |
| `installments` | integer or null |  |
| `free` | true/false |  |
| `ticket` | object: `eventId`, `ticketType`, `batch`, `quantity`, `unitPrice` or null |  |

### `purchase.refunded`

A purchase was refunded, in full or in part. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `purchaseId` | text |  |
| `refundId` | text or null |  |
| `amount` | object: `amount`, `currency` | in cents, what the buyer paid |
| `partial` | true/false |  |
| `accessRevoked` | true/false |  |
| `ticketIds` | array |  |

### `subscription.created`

A subscription started (paid or on a free trial). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `subscriptionId` | text |  |
| `product` | object: `id`, `name`, `type` |  |
| `plan` | object: `id`, `name`, `interval` or null |  |
| `status` | text | `ACTIVE`, `TRIALING` |
| `currentPeriodEnd` | date and time (ISO 8601, UTC) or null |  |

### `subscription.renewed`

A subscription was renewed with the payment of a new period. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `subscriptionId` | text |  |
| `product` | object: `id`, `name`, `type` |  |
| `amount` | object: `amount`, `currency` | in cents, what the buyer paid |
| `currentPeriodEnd` | date and time (ISO 8601, UTC) or null |  |

### `subscription.canceled`

A subscription was canceled, right away or at the end of the period. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `subscriptionId` | text |  |
| `product` | object: `id`, `name`, `type` |  |
| `endsAt` | date and time (ISO 8601, UTC) or null |  |
| `immediate` | true/false |  |
| `by` | text | `member`, `team`, `system` |

### `subscription.ended`

A subscription ended and its access is over. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `subscriptionId` | text |  |
| `product` | object: `id`, `name`, `type` |  |
| `endedAt` | date and time (ISO 8601, UTC) |  |

### `event.registered`

A person RSVPed "going" to an event. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `eventId` | text |  |
| `title` | text |  |
| `startsAt` | date and time (ISO 8601, UTC) or null |  |
| `type` | text or null | `online`, `in_person`, `hybrid` |
| `registration` | object: `fields`, `consent` or null |  |
| `ticketType` | object: `id`, `name` or null |  |

### `course.enrolled`

A person enrolled in a course. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `courseId` | text |  |
| `title` | text |  |

### `course.completed`

A person completed a course. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `courseId` | text |  |
| `title` | text |  |
| `completedAt` | date and time (ISO 8601, UTC) |  |

### `certificate.issued`

A course or event certificate was issued. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `certificateId` | text |  |
| `source` | text | `course`, `event` |
| `sourceId` | text |  |
| `title` | text |  |
| `url` | text or null | public validation link |

### `form.submitted`

A form received a submission (the fields filled in and the consent, no IP). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `form` | object: `id`, `title` |  |
| `submissionId` | text |  |
| `submittedAt` | date and time (ISO 8601, UTC) |  |
| `origin` | text | `member`, `visitor` |
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `fields` | array |  |
| `consent` | object: `accepted`, `text`, `privacyPolicyUrl`, `at` or null |  |

### `event.checked_in`

A person checked in at an event (at the door, the kiosk, as a courtesy or by joining the live stream). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `ticketId` | text |  |
| `event` | object: `id`, `title`, `startsAt`, `type` |  |
| `method` | text | `qr`, `code`, `manual`, `kiosk`, `online` |
| `checkedInAt` | date and time (ISO 8601, UTC) |  |
| `courtesy` | true/false |  |
| `checkedInBy` | object: `id`, `name` or null |  |

### `event.check_in_undone`

The team undid a person's check-in at an event. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `ticketId` | text |  |
| `event` | object: `id`, `title`, `startsAt`, `type` |  |
| `undoneAt` | date and time (ISO 8601, UTC) |  |
| `undoneBy` | object: `id`, `name` or null |  |
| `previous` | object: `method`, `checkedInAt` |  |

### `lesson.completed`

A person completed a lesson of a course. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `courseId` | text |  |
| `lessonId` | text |  |

### `comment.created`

A person commented on a post, content or item (without the comment's text). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `commentId` | text |  |
| `target` | object: `type`, `id` |  |

### `reaction.added`

A person reacted to a post, comment or item. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `target` | object: `type`, `id` |  |
| `reaction` | text |  |

### `post.created`

A person published a post (without its text). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `postId` | text |  |
| `spaceId` | text or null |  |

### `member.tag_added`

A tag was added to a person. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `tag` | text |  |

### `member.tag_removed`

A tag was removed from a person. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `tag` | text |  |

### `member.group_joined`

A person joined a group. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `group` | object: `id`, `name` |  |

### `member.group_left`

A person left a group. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `group` | object: `id`, `name` |  |

### `member.field_changed`

A person's custom field changed (the field's key only, never the value). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `fieldKey` | text |  |

### `checkout.started`

A signed-in person opened the checkout of a paid product. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `cartId` | text |  |
| `product` | object: `id`, `name`, `type` |  |

### `checkout.abandoned`

A checkout was abandoned. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `cartId` | text |  |
| `product` | object: `id`, `name`, `type` |  |

### `checkout.recovered`

An abandoned checkout became a purchase. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `cartId` | text |  |
| `product` | object: `id`, `name`, `type` |  |
| `purchaseId` | text or null |  |

### `space.first_visit`

A person opened a space for the first time. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `spaceId` | text |  |

### `space.access_granted`

A person was given access to a space (purchase, plan, team, badge or level). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `spaceId` | text |  |
| `source` | text | `purchase`, `plan`, `team`, `badge`, `level` |

### `quiz.passed`

A person passed a lesson quiz (without the score or the answers). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `courseId` | text |  |
| `lessonId` | text |  |
| `attemptId` | text |  |

### `quiz.failed`

A person did not pass a lesson quiz (without the score or the answers). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `courseId` | text |  |
| `lessonId` | text |  |
| `attemptId` | text |  |

### `lesson.rated`

A person rated a lesson for the first time (without the rating or the comment). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `courseId` | text |  |
| `lessonId` | text |  |

### `event.ticket_assigned`

A ticket of a group order was assigned to a person (without the QR code). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `eventId` | text |  |
| `ticketId` | text |  |

### `event.registration_canceled`

A person canceled their own registration for an event. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `eventId` | text |  |

### `event.waitlist_offered`

A place opened for a person on a ticket type's waitlist (the offer is valid until the date). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `eventId` | text |  |
| `ticketTypeId` | text or null |  |
| `expiresAt` | date and time (ISO 8601, UTC) |  |

### `subscription.plan_changed`

A person's subscription changed plan (from/to and when; no amounts). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `subscriptionId` | text |  |
| `from` | object: `id`, `name`, `type` |  |
| `to` | object: `id`, `name`, `type` |  |
| `effectiveAt` | date and time (ISO 8601, UTC) |  |

### `subscription.past_due`

A person's subscription became past due. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `subscriptionId` | text |  |
| `product` | object: `id`, `name`, `type` |  |
| `since` | date and time (ISO 8601, UTC) |  |

### `subscription.trial_ending`

A person's subscription trial ends in the next 3 days. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `subscriptionId` | text |  |
| `product` | object: `id`, `name`, `type` |  |
| `trialEndsAt` | date and time (ISO 8601, UTC) |  |

### `coupon.redeemed`

A coupon was used on a purchase (the coupon id, never the code). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `couponId` | text |  |
| `productId` | text |  |
| `purchaseId` | text |  |

### `survey.answered`

A person answered an identified survey (without the answers; an anonymous survey publishes nothing). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `surveyId` | text |  |

### `form.submission_reviewed`

The team changed the status of a form submission (without the answers). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `formId` | text |  |
| `submissionId` | text |  |
| `status` | text | `NEW`, `IN_CONTACT`, `DONE` |

### `proposal.submitted`

A proposal was submitted to a call for papers (without the title or the text). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `callId` | text |  |
| `trackId` | text or null |  |
| `submissionId` | text |  |

### `proposal.decided`

A proposal was accepted or rejected (without scores or reviews). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `callId` | text |  |
| `trackId` | text or null |  |
| `submissionId` | text |  |
| `status` | text | `accepted`, `rejected` |

### `certificate.revoked`

A certificate was revoked (the id and the public code; without the reason). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `certificateId` | text |  |
| `code` | text |  |

### `upvote.topic_created`

An Upvote topic was published (approved; without the title or description). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `topicId` | text |  |
| `spaceId` | text |  |

### `upvote.topic_status_changed`

The team changed the state of an Upvote topic (without the note). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `topicId` | text |  |
| `spaceId` | text |  |
| `status` | text | `OPEN`, `PLANNED`, `IN_PROGRESS`, `DONE`, `ARCHIVED` |

### `download.completed`

A person downloaded a file of a Downloads item (without the file name or the link). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `itemId` | text |  |
| `fileId` | text |  |

### `classified.published`

A Classifieds ad was published (approved; without the text or the value). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `adId` | text |  |
| `spaceId` | text |  |

### `classified.interest_received`

An ad's author received an interest (without the message). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `adId` | text |  |
| `interestId` | text |  |

### `parcel.received`

A parcel arrived for a person (the kind; without sender, code or photos). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `parcelId` | text |  |
| `spaceId` | text |  |
| `kind` | text | `LETTER`, `PACKAGE`, `OTHER` |

### `parcel.picked_up`

A parcel was picked up. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `parcelId` | text |  |
| `spaceId` | text |  |
| `kind` | text | `LETTER`, `PACKAGE`, `OTHER` |

### `visitor.invited`

A person invited a visitor (expected time; without the visitor's details). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `invitationId` | text |  |
| `spaceId` | text |  |
| `expectedStartAt` | date and time (ISO 8601, UTC) |  |

### `visitor.arrived`

A person's visitor arrived (without the visitor's details). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `invitationId` | text |  |
| `spaceId` | text |  |
| `arrivedAt` | date and time (ISO 8601, UTC) |  |

### `attendance.checked_in`

A person checked in at an Attendance place. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `visitId` | text |  |
| `spaceId` | text |  |
| `at` | date and time (ISO 8601, UTC) |  |

### `attendance.checked_out`

A person checked out of an Attendance place. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `visitId` | text |  |
| `spaceId` | text |  |
| `at` | date and time (ISO 8601, UTC) |  |

### `support_ticket.created`

A person opened a Support ticket (kind and category; without the text or the photos). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `ticketId` | text |  |
| `spaceId` | text |  |
| `kind` | text | `MAINTENANCE`, `REQUEST` |
| `category` | text | `FACILITIES`, `CLEANING`, `EQUIPMENT`, `INTERNET`, `ACCESS`, `BILLING`, `OTHER` |

### `support_ticket.resolved`

A Support ticket was resolved. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `ticketId` | text |  |
| `spaceId` | text |  |
| `kind` | text | `MAINTENANCE`, `REQUEST` |
| `category` | text | `FACILITIES`, `CLEANING`, `EQUIPMENT`, `INTERNET`, `ACCESS`, `BILLING`, `OTHER` |

### `booking.created`

A person made a booking (resource, start, end and status). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `bookingId` | text |  |
| `resourceId` | text |  |
| `spaceId` | text |  |
| `startsAt` | date and time (ISO 8601, UTC) |  |
| `endsAt` | date and time (ISO 8601, UTC) |  |
| `status` | text | `PENDING_APPROVAL`, `PENDING_PAYMENT`, `CONFIRMED` |

### `booking.canceled`

A booking was canceled. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `bookingId` | text |  |
| `resourceId` | text |  |
| `spaceId` | text |  |
| `startsAt` | date and time (ISO 8601, UTC) |  |
| `endsAt` | date and time (ISO 8601, UTC) |  |

### `booking.checked_in`

A person checked in to a booking. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `bookingId` | text |  |
| `resourceId` | text |  |
| `spaceId` | text |  |
| `startsAt` | date and time (ISO 8601, UTC) |  |
| `endsAt` | date and time (ISO 8601, UTC) |  |

### `booking.no_show`

A booking was marked as a no-show. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `bookingId` | text |  |
| `resourceId` | text |  |
| `spaceId` | text |  |
| `startsAt` | date and time (ISO 8601, UTC) |  |
| `endsAt` | date and time (ISO 8601, UTC) |  |

### `download.item_published`

A Downloads item was published (ids of the item, the space and the category). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `itemId` | text |  |
| `spaceId` | text |  |
| `categoryId` | text or null |  |

### `download.item_updated`

The title, description or cover of a published Downloads item changed (which ones, never the text). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `itemId` | text |  |
| `spaceId` | text |  |
| `categoryId` | text or null |  |
| `changed` | array |  |

### `download.item_moved`

A published Downloads item moved to another category (the new one and the previous one). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `itemId` | text |  |
| `spaceId` | text |  |
| `categoryId` | text or null |  |
| `previousCategoryId` | text or null |  |

### `download.file_added`

A file was added to a published Downloads item (without the file name or the link). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `itemId` | text |  |
| `spaceId` | text |  |
| `fileId` | text |  |

### `download.file_replaced`

A file of a published Downloads item was replaced by a new version (with the version number). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `itemId` | text |  |
| `spaceId` | text |  |
| `fileId` | text |  |
| `version` | integer |  |

### `download.file_removed`

A file was removed from a published Downloads item. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `itemId` | text |  |
| `spaceId` | text |  |
| `fileId` | text |  |

### `download.item_deleted`

A published Downloads item was deleted. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `itemId` | text |  |
| `spaceId` | text |  |
| `categoryId` | text or null |  |

### `download.category_created`

A new category was created in a Downloads space. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `categoryId` | text |  |
| `spaceId` | text |  |

### `post.updated`

A published post was edited (without its text). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `postId` | text |  |
| `spaceId` | text or null |  |

### `post.moved`

A published post was moved to another space (the new one and the previous one). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `postId` | text |  |
| `spaceId` | text |  |
| `previousSpaceId` | text or null |  |

### `post.deleted`

A published post was deleted, by its author or by the team. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `postId` | text |  |
| `spaceId` | text or null |  |

### `comment.deleted`

A comment was deleted, by its author or by the team (without its text). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `commentId` | text |  |
| `target` | object: `type`, `id` |  |

### `reaction.removed`

A person took back a reaction to a post, a comment or an item. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `target` | object: `type`, `id` |  |
| `reaction` | text |  |

### `event.created`

An event was created and published. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `eventId` | text |  |
| `spaceId` | text or null |  |
| `title` | text |  |
| `startsAt` | date and time (ISO 8601, UTC) or null |  |
| `type` | text or null | `online`, `in_person`, `hybrid` |

### `event.updated`

A published event was edited. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `eventId` | text |  |
| `spaceId` | text or null |  |
| `title` | text |  |
| `startsAt` | date and time (ISO 8601, UTC) or null |  |
| `type` | text or null | `online`, `in_person`, `hybrid` |

### `event.deleted`

A published event was deleted (today, deleting is canceling). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `eventId` | text |  |
| `spaceId` | text or null |  |
| `title` | text |  |
| `startsAt` | date and time (ISO 8601, UTC) or null |  |
| `type` | text or null | `online`, `in_person`, `hybrid` |

### `event.stream_started`

An event's live stream started. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `eventId` | text |  |
| `spaceId` | text or null |  |
| `title` | text |  |
| `startsAt` | date and time (ISO 8601, UTC) or null |  |
| `type` | text or null | `online`, `in_person`, `hybrid` |

### `event.recording_published`

An event's recording was published. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `eventId` | text |  |
| `spaceId` | text or null |  |
| `title` | text |  |
| `startsAt` | date and time (ISO 8601, UTC) or null |  |
| `type` | text or null | `online`, `in_person`, `hybrid` |

### `event.rescheduled`

The date of a published event changed (with the previous date). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `eventId` | text |  |
| `spaceId` | text or null |  |
| `title` | text |  |
| `startsAt` | date and time (ISO 8601, UTC) or null |  |
| `type` | text or null | `online`, `in_person`, `hybrid` |
| `previousStartsAt` | date and time (ISO 8601, UTC) or null |  |

### `course.published`

A course was published. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `courseId` | text |  |
| `spaceId` | text or null |  |
| `title` | text |  |

### `course.updated`

A published course was edited. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `courseId` | text |  |
| `spaceId` | text or null |  |
| `title` | text |  |

### `lesson.published`

A new lesson was added to a published course. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `courseId` | text |  |
| `lessonId` | text |  |

### `course.left`

A person left a course (the progress is kept). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `courseId` | text |  |
| `title` | text |  |

### `space.created`

A space was created. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `spaceId` | text |  |
| `module` | text |  |

### `space.updated`

A space was edited. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `spaceId` | text |  |
| `module` | text |  |

### `space.deleted`

A space was deleted. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `spaceId` | text |  |
| `module` | text |  |

### `form.published`

A form was published. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `formId` | text |  |
| `spaceId` | text or null |  |
| `title` | text |  |

### `form.closed`

A form was closed by the team. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `formId` | text |  |
| `spaceId` | text or null |  |
| `title` | text |  |

### `form.reopened`

A closed form was reopened. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `formId` | text |  |
| `spaceId` | text or null |  |
| `title` | text |  |

### `message.received`

A member sent a DM to someone on the team (without the text). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `recipient` | object: `id`, `name` |  |
| `conversationId` | text |  |
| `messageId` | text |  |
| `newConversation` | true/false |  |

### `badge.awarded`

A person received a badge (by hand, from a course or event, by a workflow or an import). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `badge` | object: `id`, `name`, `visibility` |  |
| `grantId` | text |  |
| `source` | text | `manual`, `rule`, `workflow`, `import` |
| `sourceRef` | text or null |  |
| `awardedAt` | date and time (ISO 8601, UTC) |  |

### `badge.revoked`

A badge was taken back from a person. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `badge` | object: `id`, `name`, `visibility` |  |
| `grantId` | text |  |
| `revokedAt` | date and time (ISO 8601, UTC) |  |

### `member.level_changed`

A person's level changed: up (points and this week's requirements, at once) or down (points taken away, at once, or last week's requirements not met, on Monday). It carries the direction and the cause. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `direction` | text | `up`, `down` |
| `cause` | text | `points`, `activity` |
| `from` | object: `id`, `level`, `name` |  |
| `to` | object: `id`, `level`, `name` |  |
| `points` | integer |  |

### `member.points_changed`

A person's total points changed (an action, an adjustment by the team or a workflow, or points taken back). · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `member` | object, the person: `id`, `name`, `email`, `phone` (E.164 or null), `phoneCountry` (ISO 3166-1 alpha-2 or null) |  |
| `from` | integer |  |
| `to` | integer |  |
| `delta` | integer |  |
| `source` | text | `action`, `reversal`, `team`, `workflow` |

### `ping`

Test event, sent by the Send test button. · `version: 1`

| `data` field | Type | Values |
|---|---|---|
| `message` | text |  |

The `event.checked_in` (with `method`: `qr`, `code`, `manual`, `kiosk` or `online`, and `courtesy`) and `event.check_in_undone` events. The ticket token never goes. See [Events › Check-in](/espacos/eventos#check-in).

## What never goes

No event carries, nor will carry in this version:

| Never | Why |
|---|---|
| Fees, net amounts, costs | They're in the app's reports |
| Payment processor and card data (not even the last 4 digits) | Payment security and confidentiality |
| Tax IDs, address, date of birth, custom fields (the phone goes only in the `member` block) | Personal data beyond what's needed |
| Passwords, tokens, secrets of any kind | Security |
| IP, browsing identifiers, browser | Privacy |
| Text of posts, comments, tickets or forms | Member content |
| The team's internal notes | Internal |

## Related

- [Webhooks](/api/webhooks)
- [Fixed IPs](/api/ips-fixos)
- [Integrations & APIs](/configuracoes/integracoes-e-apis#webhooks)
