# trip.contact.updated

> A trip's booking contact was made, changed or removed (`data` null when there is none).

A trip's booking contact was made, changed or removed (`data` null when there is none). Personal data.

**Needs:** `travelers:read` on the subscription's key · **Subject:** `contact`

## Envelope

```json
{
  "id": "evt_…",
  "type": "trip.contact.updated",
  "timestamp": "2027-05-01T09:00:00Z",
  "subject": {
    "object": "contact",
    "id": "<id>",
    "tripId": "<tripId>"
  },
  "changed": [
    "title"
  ],
  "data": {}
}
```

## `data`

`data` is the contact exactly as [Get a trip's booking contact](https://api.bymundi.com/docs/reference/travelers.contact.get.md) returns it, read at delivery time with the subscription key's permissions. It is `null` when the object is gone or no longer visible.

| Field | Type | Required | Description |
|---|---|---|---|
| `object` | "trip_contact" | yes |  |
| `tripId` | uuid | yes |  |
| `name` | string \| null | yes |  |
| `email` | string \| null | yes |  |
| `phone` | string \| null | yes |  |
| `address` | object \| null | yes |  |
| `address.line1` | string \| null | yes |  |
| `address.line2` | string \| null | yes |  |
| `address.postalCode` | string \| null | yes |  |
| `address.city` | string \| null | yes |  |
| `address.region` | string \| null | yes |  |
| `address.country` | string \| null | yes |  |
| `docType` | "dni" \| "nie" \| "passport" \| "other" \| null | yes |  |
| `docNumber` | string \| null | yes |  |
| `docCountry` | string \| null | yes |  |
| `taxId` | string \| null | yes |  |
| `account` | object | yes |  |
| `account.userId` | uuid | yes |  |
| `account.email` | string \| null | yes |  |
| `account.name` | string \| null | yes |  |
| `access` | "invited" \| "queued" \| "failed" \| "no_email" \| "not_yet" \| null | yes |  |
| `accessOpenedAt` | string \| null | yes |  |

Verify the signature before trusting the body: [Webhooks guide](https://api.bymundi.com/docs/guides/webhooks.md#verifying-signatures).
