Skip to main content

List Events

List all upcoming events across all clubs

Authentication

Optional - unauthenticated users may have limited access to event details

Query Parameters

Search events by name or description
club__code
string
Filter events by club code
type
integer
Filter by event type (0=Other, 1=Recruitment, 2=GBM, 3=Speaker, 4=Fair, 5=Social, 6=Career)
earliest_start_time
datetime
Filter events starting after this time (format: YYYY-MM-DDTHH:MM:SSZ)
latest_start_time
datetime
Filter events starting before this time
earliest_end_time
datetime
Filter events ending after this time
latest_end_time
datetime
Filter events ending before this time
fair
integer
Filter events for a specific club fair by fair ID

Response Fields

id
integer
required
Event ID
name
string
required
Event name
description
string
Event description (HTML)
club
string
Club code hosting the event
club_name
string
Club name
type
integer
Event type (0-6)
url
string
Event URL (e.g., Zoom link)
image_url
string
Event image/flyer URL
large_image_url
string
Full-size event image URL
ticketed
boolean
Whether event requires tickets
pinned
boolean
Whether event is pinned/featured
showings
array
Array of event showing times
earliest_start_time
datetime
Earliest showing start time
latest_start_time
datetime
Latest showing start time
earliest_end_time
datetime
Earliest showing end time
latest_end_time
datetime
Latest showing end time
badges
array
Club badges

Event Showing Fields

id
integer
Showing ID
start_time
datetime
Showing start time
end_time
datetime
Showing end time
location
string
Event location (null if hidden from public)
location_visible_to_public
boolean
Whether location is visible to unauthenticated users
ticketed
boolean
Whether this showing requires tickets

Example Request

curl "https://pennclubs.com/api/events/?type=1&earliest_start_time=2024-01-01T00:00:00Z"

Example Response

{
  "count": 42,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": 123,
      "name": "Fall Recruitment Info Session",
      "description": "<p>Learn about joining our team!</p>",
      "club": "pppjo",
      "club_name": "Penn Labs",
      "type": 1,
      "url": "https://zoom.us/j/123456789",
      "image_url": "https://pennclubs.com/media/events/123.png",
      "ticketed": false,
      "pinned": true,
      "showings": [
        {
          "id": 456,
          "start_time": "2024-09-15T18:00:00Z",
          "end_time": "2024-09-15T19:30:00Z",
          "location": "Towne 100",
          "location_visible_to_public": true,
          "ticketed": false
        }
      ],
      "earliest_start_time": "2024-09-15T18:00:00Z",
      "latest_end_time": "2024-09-15T19:30:00Z"
    }
  ]
}

Get Event Details

Retrieve detailed information about a specific event

Path Parameters

id
integer
required
Event ID

Response

Same fields as list endpoint

Example Request

curl https://pennclubs.com/api/events/123/

Club Events

List events for a specific club

Authentication

Required - must have access to the club

Path Parameters

club_code
string
required
Club code identifier

Response

Array of event objects (same fields as event list endpoint)

Example Request

curl https://pennclubs.com/api/clubs/pppjo/events/ \
  -H "Authorization: Bearer YOUR_TOKEN"

Create Event

Create a new event for a club

Authentication

Required - must be club officer or owner

Path Parameters

club_code
string
required
Club code identifier

Request Body

name
string
required
Event name
description
string
Event description (HTML allowed)
type
integer
Event type (0=Other, 1=Recruitment, 2=GBM, 3=Speaker, 4=Fair, 5=Social, 6=Career)
url
string
Event URL (meeting link, registration, etc.)
image
file
Event flyer/image

Example Request

curl -X POST https://pennclubs.com/api/clubs/pppjo/events/ \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Workshop: Intro to React",
    "description": "<p>Learn React fundamentals</p>",
    "type": 2,
    "url": "https://zoom.us/j/123456789"
  }'

Update Event

Update an existing event

Authentication

Required - must be club officer or owner

Path Parameters

club_code
string
required
Club code identifier
id
integer
required
Event ID

Request Body

Same fields as create endpoint (all optional for PATCH)

Delete Event

Delete an event

Authentication

Required - must be club officer or owner

Path Parameters

club_code
string
required
Club code identifier
id
integer
required
Event ID

Event Showings

List showings for an event

Path Parameters

event_id
integer
required
Event ID

Response

Array of event showing objects

Create Event Showing

Create a showing/occurrence for an event

Authentication

Required - must be club officer or owner

Request Body

start_time
datetime
required
Showing start time (ISO 8601 format)
end_time
datetime
required
Showing end time
location
string
Event location
location_visible_to_public
boolean
Whether to show location to unauthenticated users (default: false)
ticket_drop_time
datetime
When tickets become available (for ticketed events)
ticket_order_limit
integer
Maximum tickets per order (default: 10)

Example Request

curl -X POST https://pennclubs.com/api/clubs/pppjo/events/123/showings/ \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "start_time": "2024-09-15T18:00:00Z",
    "end_time": "2024-09-15T19:30:00Z",
    "location": "Towne 100",
    "location_visible_to_public": true
  }'

Build docs developers (and LLMs) love