---
title: "Monitor Event History - API Reference"
description: "List the webhook events a monitor has delivered and inspect the exact payload and response for any single event"
source: "https://docs.socialdata.tools/monitoring/monitor-event-history/"
---

Every webhook request a monitor sends is recorded, together with the exact payload we posted and the response your server returned. These two endpoints let you read that history.

This is how you recover events that were lost because your endpoint was down, misconfigured, or deployed mid-delivery — [failed webhooks are never retried](https://docs.socialdata.tools/monitoring/processing-webhooks/#delivery-guarantees), so replaying from this history is the supported way to backfill.

## List monitor events

Returns the 100 most recent webhook events for a single monitor, newest first.

GET https://api.socialdata.tools/monitors/{monitor\_id}/events

### Headers

**Authorization** `string` — required

Authorization Bearer header containing your SocialData API key

Example: Bearer YOUR\_API\_KEY

### Path Parameters

**monitor\_id** `string` — required

Target monitor ID

Example: 01jeg76qa91b095gttamsbwa6q

### Example Response

```json
{
    "data": [
        {
            "id": "MTAwMDAwMDk4NzY1NDMyMQ==",
            "created_at": "2026-08-01T14:22:31.000000Z",
            "url": "https://my-website.com/webhook",
            "response_code": 200
        },
        {
            "id": "MTAwMDAwMDk4NzY1NDMyMA==",
            "created_at": "2026-08-01T14:19:02.000000Z",
            "url": "https://my-website.com/webhook",
            "response_code": 502
        }
    ]
}
```

`response_code` is the HTTP status your server returned. A `null` value means the request never completed — a timeout, a DNS failure, or a connection that was refused.

## Get event details

Returns a single event, including the full webhook payload we sent and the body your server responded with.

GET https://api.socialdata.tools/monitors/{monitor\_id}/events/{event\_id}

### Headers

**Authorization** `string` — required

Authorization Bearer header containing your SocialData API key

Example: Bearer YOUR\_API\_KEY

### Path Parameters

**monitor\_id** `string` — required

Target monitor ID

Example: 01jeg76qa91b095gttamsbwa6q

**event\_id** `string` — required

Event ID, as returned in the `id` field by the list endpoint above

Example: MTAwMDAwMDk4NzY1NDMyMQ==

### Example Response

```json
{
    "data": {
        "id": "MTAwMDAwMDk4NzY1NDMyMQ==",
        "created_at": "2026-08-01T14:22:31.000000Z",
        "url": "https://my-website.com/webhook",
        "response_code": 502,
        "request_body": "{\"event\":\"new_tweet\",\"data\":{ /* ... full tweet ... */ },\"meta\":{ /* ... */ }}",
        "response_body": "<html><head><title>502 Bad Gateway</title></head></html>"
    }
}
```

`request_body` contains the exact JSON we posted to your webhook URL — the same payload documented in [Processing webhook events](https://docs.socialdata.tools/monitoring/processing-webhooks/). Parse it to replay the event as if it had been delivered normally.

> **Backfilling missed events**
> 
> If your endpoint was down for a period, list the monitor’s events, select the ones whose `response_code` is not `2xx`, then fetch each one and feed its `request_body` through the same handler your webhook endpoint uses. Reading history costs nothing — these events were already billed when they were detected.

## Response Codes

-   **200 OK** - request succeeded
-   **404 Not Found** - requested monitor or event does not exist

## Related endpoints

-   [Get monitor details](https://docs.socialdata.tools/monitoring/get-monitor-details/)
-   [List active monitors](https://docs.socialdata.tools/monitoring/list-active-monitors/)
-   [Update monitor](https://docs.socialdata.tools/monitoring/edit-monitor-webhook/)
-   [Delete monitor](https://docs.socialdata.tools/monitoring/delete-monitor/)
-   [Set webhook URL](https://docs.socialdata.tools/monitoring/set-global-webhook-url/)
-   [Set webhook secret](https://docs.socialdata.tools/monitoring/set-webhook-secret/)
-   [Verifying webhooks](https://docs.socialdata.tools/monitoring/verifying-webhooks/)

## Before you integrate

-   [Authentication](https://docs.socialdata.tools/getting-started/authentication/)
-   [Rate limits](https://docs.socialdata.tools/getting-started/rate-limits/)
-   [Errors](https://docs.socialdata.tools/getting-started/errors/)
-   [Monitoring API pricing](https://docs.socialdata.tools/monitoring/pricing/)
-   [Processing webhook events](https://docs.socialdata.tools/monitoring/processing-webhooks/)
