---
title: "List calendar events"
method: GET
path: "/discourse-post-event/events.json"
tags: ["Events"]
---

# List calendar events

`GET /discourse-post-event/events.json`

## Query parameters

- `include_details` 'true' | 'false'
- `category_id` integer
- `include_subcategories` 'true' | 'false'
- `post_id` integer
- `attending_user` string
- `before` string, date-time
- `after` string, date-time
- `order` 'asc' | 'desc'
- `limit` integer

## Response `200`

success response (detailed)

- object
  - `events` object[], required
    - `id` integer, required
    - `category_id` integer, nullable, required
    - `name` string, nullable
    - `recurrence` string, nullable
    - `recurrence_until` string, date-time, nullable
    - `starts_at` string, date-time, nullable, required
    - `ends_at` string, date-time, nullable, required
    - `rrule` string
    - `show_local_time` boolean, required
    - `timezone` string, nullable, required
    - `duration` string
    - `all_day` boolean
    - `custom_fields` object, nullable
    - `post` object, required
      - `id` integer, required
      - `post_number` integer, required
      - `url` string, required
      - `category_slug` string, required
      - `topic` object, required
        - `id` integer, required
        - `title` string, required
        - `tags` string[], required
        - `tags_descriptions` object, required
        - `slug` string, required
    - `occurrences` object[], required
      - `starts_at` string, nullable, required
      - `ends_at` string, nullable, required
    - `can_act_on_discourse_post_event` boolean, nullable, required
    - `can_update_attendance` boolean, nullable, required
    - `creator` object
      - `id` integer, required
      - `username` string, required
      - `name` string, nullable
      - `avatar_template` string, required
    - `is_closed` boolean, required
    - `is_expired` boolean, required
    - `is_ongoing` boolean, required
    - `is_private` boolean, required
    - `is_public` boolean, required
    - `is_standalone` boolean, required
    - `minimal` boolean, nullable
    - `raw_invitees` string[], nullable
    - `reminders` object[]
      - `value` integer, required
      - `unit` string, required
      - `period` 'before' | 'after', required
      - `type` string, required
    - `sample_invitees` object[]
    - `should_display_invitees` boolean, required
    - `stats` object
    - `status` 'public' | 'private' | 'standalone', required
    - `url` string
    - `description` string, nullable
    - `description_html` string, nullable
    - `location` string, nullable
    - `url_restates_location` boolean
    - `watching_invitee` object, nullable
    - `chat_enabled` boolean, nullable
    - `channel` object
    - `livestream` boolean
    - `livestream_onebox` string, nullable
    - `is_zoom_livestream` boolean
    - `max_attendees` integer, nullable
    - `at_capacity` boolean, required
    - `image_upload` object, nullable

## Changes

> 10 revisions in range; 7 could not be searched.

- **2026-07-26** `6be3dcbee910` — 2 info
  - added the optional property `events/items/is_zoom_livestream` to the response with the `200` status
  - added the required property `events/items/post/topic/slug` to the response with the `200` status

[Change history](https://skmtc.dev/discourse/apis/discourse-api-documentation/changes/discourse-post-event/events.json/get.md)

---

[API](https://skmtc.dev/discourse/apis/discourse-api-documentation.md) · [All operations](https://skmtc.dev/discourse/apis/discourse-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/discourse/discourse-api-documentation/revisions/2fd8fd2d6fd0/schema)
