> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devmob.app.br/llms.txt
> Use this file to discover all available pages before exploring further.

# membership.updated

> Evento emitido após a atualização de uma Membership

`membership.updated` é emitido depois que uma [Membership](/data-modelling/tenant/membership) é atualizada.

Handlers usam este evento para executar efeitos assíncronos fora do fluxo síncrono.

## Detalhes do Evento

| Propriedade    | Valor                                  |
| -------------- | -------------------------------------- |
| **Tipo**       | `membership.updated`                   |
| **Origem**     | Atualização de Membership              |
| **Publicação** | Após commit da atualização             |
| **Quando**     | A role de um vínculo ativo é alterada. |

## Handlers

| Handler                    | Responsabilidade                                       | Dados usados         | Execução    |
| -------------------------- | ------------------------------------------------------ | -------------------- | ----------- |
| Nenhum handler obrigatório | Disponível para reações futuras ao vínculo atualizado. | `identifier`, `data` | Assíncrona. |

## Payload

| Campo        | Tipo         | Descrição                      |
| ------------ | ------------ | ------------------------------ |
| `identifier` | `UUID`       | Identificador da Membership    |
| `data`       | `Membership` | Entidade Membership atualizada |

## Regras dos handlers

* Handlers não rodam na transação que publicou a Membership.
* Falha em handler não desfaz a atualização.
* Cada handler deve ser idempotente.
* Novos handlers podem ser adicionados sem mudar o fluxo síncrono.

## Exemplo

```json theme={null}
{
  "type": "membership.updated",
  "identifier": "0197a803-39a7-75e7-8cc2-62fb0542e642",
  "data": {
    "membershipId": "0197a803-39a7-75e7-8cc2-62fb0542e642",
    "userId": "0197a7f5-2a88-7c1e-9b65-1f6d8f3b3a10",
    "organizationId": "0197a7f7-7291-7a43-96db-2c8580b80c5d",
    "roleId": "0197a90b-15d1-7320-9b60-02497d7a0d61",
    "status": "ACTIVE",
    "revokedAt": null,
    "revokedBy": null,
    "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "createdAt": "2026-07-03T13:30:00.000Z",
    "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
    "updatedAt": "2026-07-03T14:00:00.000Z"
  }
}
```
