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

# Events

> A user's matched event history, with media attached.

The user's matched event history, newest first. One call backs both the events tab and the
event detail screen.

### Request

```http theme={null}
GET /v1/users/{user_id}/events?limit=25
X-PARTNER-API-KEY: <your partner key>
```

| Param           | Default | Notes                                    |
| --------------- | ------- | ---------------------------------------- |
| `limit`         | 25      | Page size, up to 100.                    |
| `cursor`        | —       | `next_cursor` from the previous page.    |
| `include_media` | `true`  | Pass `false` for a lighter list payload. |

### Response

```json theme={null}
{
  "events": [
    {
      "id": 18012359,
      "name": "Zach Bryan",
      "starts_at_local": "2026-06-13T19:30:00",
      "venue": {
        "id": 4412, "name": "Madison Square Garden",
        "city": "New York", "region": "NY", "country": "US",
        "latitude": 40.750504, "longitude": -73.993439
      },
      "performers": [
        { "id": 34421, "name": "Zach Bryan", "category": "Country",
          "image_url": "https://…", "is_headliner": true }
      ],
      "media_count": 12,
      "media": [
        { "media_id": "B84E8479-…/L0/001", "taken_at": "2026-06-14T02:31:07Z", "media_type": "photo" }
      ]
    }
  ],
  "next_cursor": null,
  "has_more": false,
  "total": 47
}
```

### Reading it

* Newest first, cursor-paginated. `total` is the user's full matched-event count and may be
  omitted on later pages; page with `has_more` and `next_cursor`, not with `total`.
* **`media` is included and complete, so opening an event detail screen costs no extra
  request.** It is not capped; a heavy event can carry hundreds of entries, so pass
  `include_media=false` on views that do not need it. Each entry echoes the `thumbnail_url`
  you submitted, when you submitted one.
* `media_id` echoes the id you originally submitted, so you can resolve each one back to the
  local asset on the device. **FanFeed stores metadata only; it does not host the images.**
  Rendering a photo means loading it from the user's own camera roll by that id.

Two things are filtered out of this list and will not appear:

* **Hidden events.** An event hidden from a profile disappears from these responses. If an
  event vanishes between pages or syncs, this is usually why.
* **Events not licensed for redistribution.** As in
  [The response](/guides/ingest-media#the-response): the photos still exist, but the event is
  never returned.
