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

# Detalhes do Evento de Webhook

> Busque um evento de webhook pelo ID com payload, tentativas e última resposta do endpoint

## Visão Geral

Retorna o evento completo — payload entregue, contador de tentativas e código HTTP da última resposta do seu endpoint. É a chamada que alimenta a página de detalhes do evento no dashboard.

Disponível a partir da **v0.10.3**. Aceita chave de API (`sk_test_…` / `sk_live_…`) ou JWT do dashboard.

## Exemplo de Requisição

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET https://garu.com.br/api/webhook-events/12345 \
    -H "Authorization: Bearer sk_test_sua_chave"
  ```

  ```javascript JavaScript theme={null}
  import { Garu } from '@garuhq/node';

  const garu = new Garu({ apiKey: process.env.GARU_API_KEY });

  const event = await garu.webhookEvents.get(12345);
  console.log(event.status, event.attempts);
  console.log(event.payload); // o objeto completo enviado ao seu endpoint
  ```

  ```python Python theme={null}
  import requests
  import os

  response = requests.get(
      "https://garu.com.br/api/webhook-events/12345",
      headers={"Authorization": f"Bearer {os.environ['GARU_API_KEY']}"}
  )
  event = response.json()
  print(event["status"], event["lastResponseStatus"])
  ```
</CodeGroup>

## Parâmetros de Path

<ParamField path="id" type="number" required>
  ID numérico do evento (retornado por `GET /api/webhook-events`).
</ParamField>

## Resposta

```json theme={null}
{
  "id": 12345,
  "endpointId": 7,
  "eventType": "transaction.payment.succeeded",
  "status": "failed",
  "attempts": 6,
  "lastResponseStatus": 503,
  "lastResponseBody": "Service Unavailable",
  "manualResendOf": null,
  "createdAt": "2026-05-18T14:22:11Z",
  "deliveredAt": null,
  "nextRetryAt": null,
  "payload": {
    "id": "evt_1a2b3c",
    "type": "transaction.payment.succeeded",
    "timestamp": "2026-05-18T14:22:10Z",
    "data": {
      "object": {
        "id": 999,
        "value": 49.9,
        "paymentMethod": "pix",
        "customer": { "email": "joao@email.com" }
      }
    },
    "seller_id": 42
  }
}
```

### Campos

| Campo                | Tipo         | Descrição                                                                                                                                                     |
| -------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `status`             | string       | `pending`, `success` ou `failed`                                                                                                                              |
| `attempts`           | number       | Quantas tentativas foram feitas até agora                                                                                                                     |
| `lastResponseStatus` | number\|null | HTTP da última resposta (ex: `200`, `503`, `404`)                                                                                                             |
| `lastResponseBody`   | string\|null | Body da última resposta, truncado em 4KB                                                                                                                      |
| `manualResendOf`     | number\|null | ID do evento original, quando este registro for um clone de reenvio manual (`POST /resend`). `null` em eventos originais. Disponível a partir da **v0.11.0**. |
| `nextRetryAt`        | string\|null | Próximo retry agendado, se status `pending` e ainda em janela de retry                                                                                        |
| `deliveredAt`        | string\|null | ISO timestamp da entrega que respondeu 2xx                                                                                                                    |
| `payload`            | object       | Payload completo — o mesmo JSON que foi enviado ao seu endpoint                                                                                               |

<Tip>
  Para reenviar este evento, prefira `POST /api/webhook-events/:id/resend` (v0.11.0+) — clona o evento e preserva o original. Veja [Reenviar (clonando)](/api-reference/webhooks/eventos/resend). O endpoint `/retry` (legado) segue disponível.
</Tip>
