Discourse Calendar - Events API
The Discourse Calendar - Events API from Discourse — 2 operation(s) for discourse calendar - events.
The Discourse Calendar - Events API from Discourse — 2 operation(s) for discourse calendar - events.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/discourse:discourse-discourse-calendar-events-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Discourse API Documentation Discourse Calendar - Events API
x-logo:
url: https://docs.discourse.org/logo.svg
version: latest
description: This page contains the documentation on how to use Discourse through API calls.
license:
name: MIT
url: https://docs.discourse.org/LICENSE.txt
servers:
- url: https://{defaultHost}
variables:
defaultHost:
default: discourse.example.com
tags:
- name: Discourse Calendar - Events
paths:
/discourse-post-event/events.json:
get:
summary: List calendar events
tags:
- Discourse Calendar - Events
operationId: listEvents
parameters:
- name: include_details
in: query
required: false
schema:
type: string
enum:
- 'true'
- 'false'
description: 'Include detailed event information (creator, invitees, stats,
etc.)'
- name: category_id
in: query
required: false
schema:
type: integer
description: Filter events by category ID
- name: include_subcategories
in: query
required: false
schema:
type: string
enum:
- 'true'
- 'false'
description: Include events from subcategories when filtering by category
- name: post_id
in: query
required: false
schema:
type: integer
description: Filter to events associated with a specific post ID
- name: attending_user
in: query
required: false
schema:
type: string
description: 'Filter to events where the specified user (username) has RSVP''d
as going'
- name: before
in: query
required: false
schema:
type: string
format: date-time
description: Return events starting before this date/time (ISO 8601 format)
- name: after
in: query
required: false
schema:
type: string
format: date-time
description: Return events starting after this date/time (ISO 8601 format)
- name: order
in: query
required: false
schema:
type: string
enum:
- asc
- desc
description: 'Sort order for events by start date (default: asc)'
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 200
description: 'Maximum number of events to return (default: 200)'
responses:
'200':
description: success response (detailed)
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
events:
type: array
items:
type: object
additionalProperties: false
properties:
id:
type: integer
category_id:
type:
- integer
- 'null'
name:
type:
- string
- 'null'
recurrence:
type:
- string
- 'null'
recurrence_until:
type:
- string
- 'null'
format: date-time
starts_at:
type:
- string
- 'null'
format: date-time
ends_at:
type:
- string
- 'null'
format: date-time
rrule:
type: string
show_local_time:
type: boolean
timezone:
type:
- string
- 'null'
duration:
type: string
pattern: ^\d{2}:\d{2}:\d{2}$
all_day:
type: boolean
post:
type: object
additionalProperties: false
properties:
id:
type: integer
post_number:
type: integer
url:
type: string
category_slug:
type: string
topic:
type: object
additionalProperties: false
properties:
id:
type: integer
title:
type: string
tags:
type: array
items:
type: string
tags_descriptions:
type: object
required:
- id
- title
- tags
- tags_descriptions
required:
- id
- post_number
- url
- category_slug
- topic
occurrences:
type: array
items:
type: object
additionalProperties: false
properties:
starts_at:
type:
- string
- 'null'
ends_at:
type:
- string
- 'null'
required:
- starts_at
- ends_at
can_act_on_discourse_post_event:
type:
- boolean
- 'null'
can_update_attendance:
type:
- boolean
- 'null'
creator:
type: object
additionalProperties: false
properties:
id:
type: integer
username:
type: string
name:
type:
- string
- 'null'
avatar_template:
type: string
required:
- id
- username
- avatar_template
custom_fields:
type:
- object
- 'null'
is_closed:
type: boolean
is_expired:
type: boolean
is_ongoing:
type: boolean
is_private:
type: boolean
is_public:
type: boolean
is_standalone:
type: boolean
minimal:
type:
- boolean
- 'null'
raw_invitees:
type:
- array
- 'null'
items:
type: string
reminders:
type: array
items:
type: object
properties:
value:
type: integer
unit:
type: string
period:
type: string
enum:
- before
- after
type:
type: string
required:
- value
- unit
- period
- type
sample_invitees:
type: array
items:
type: object
should_display_invitees:
type: boolean
stats:
type: object
status:
type: string
enum:
- public
- private
- standalone
url:
type: string
description:
type:
- string
- 'null'
location:
type:
- string
- 'null'
watching_invitee:
type:
- object
- 'null'
chat_enabled:
type:
- boolean
- 'null'
channel:
type: object
max_attendees:
type:
- integer
- 'null'
at_capacity:
type: boolean
required:
- id
- category_id
- starts_at
- ends_at
- show_local_time
- timezone
- can_act_on_discourse_post_event
- can_update_attendance
- is_closed
- is_expired
- is_ongoing
- is_private
- is_public
- is_standalone
- should_display_invitees
- status
- at_capacity
- post
- occurrences
required:
- events
/discourse-post-event/events.ics:
get:
summary: Export calendar events in iCalendar format
tags:
- Discourse Calendar - Events
operationId: exportEventsICS
parameters:
- name: category_id
in: query
required: false
schema:
type: integer
description: Filter events by category ID
- name: include_subcategories
in: query
required: false
schema:
type: string
enum:
- 'true'
- 'false'
description: Include events from subcategories when filtering by category
- name: attending_user
in: query
required: false
schema:
type: string
description: 'Filter to events where the specified user (username) has RSVP''d
as going'
- name: before
in: query
required: false
schema:
type: string
format: date-time
description: Return events starting before this date/time (ISO 8601 format)
- name: after
in: query
required: false
schema:
type: string
format: date-time
description: Return events starting after this date/time (ISO 8601 format)
- name: order
in: query
required: false
schema:
type: string
enum:
- asc
- desc
description: 'Sort order for events by start date (default: asc)'
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 200
description: 'Maximum number of events to return (default: 200)'
responses:
'200':
description: iCalendar file
content:
text/calendar:
schema:
type: string
format: binary