---
title: "Show an event"
method: GET
path: "/events/{id}"
tags: ["Events"]
---

# Show an event

`GET /events/{id}`

Returns details of a specific event. The authenticated user must own the event or be an owner/admin on one of its associated schedules.

## Path parameters

- `id` string, required

## Response `200`

Event details

- object
  - `data` Event
    - `id` string — Encoded event ID
    - `url` string, uri — Public URL of the event
    - `name` string — Event name
    - `short_description` string, nullable — Brief event description
    - `description` string, nullable — Full event description (may contain markdown)
    - `starts_at` string, date-time — Event start date and time in UTC (Y-m-d H:i:s)
    - `duration` number, nullable — Event duration in hours
    - `category_id` integer, nullable — Category ID from /categories
    - `category_name` string, nullable — Human-readable category name
    - `event_url` string, uri, nullable — External URL for the event
    - `registration_url` string, uri, nullable — External registration URL
    - `venue_id` string, nullable — Encoded ID of the associated venue schedule
    - `venue_name` string, nullable — Name of the associated venue
    - `venue_address1` string, nullable — Street address of the associated venue
    - `venue_subdomain` string, nullable — Subdomain of the associated venue schedule
    - `flyer_image_url` string, uri, nullable — URL of the flyer image
    - `is_private` boolean — Whether the event is private (hidden from calendar, only accessible via direct link)
    - `is_password_protected` boolean — Whether the event page is protected by a password
    - `schedule_type` 'single' | 'recurring' — Whether this is a single or recurring event
    - `recurring_frequency` 'daily' | 'weekly' | 'every_n_weeks' | 'monthly_date' | 'monthly_weekday' | 'yearly', nullable — Recurrence frequency (only present for recurring events)
    - `recurring_interval` integer, nullable — Interval for every_n_weeks frequency (only present for recurring events)
    - `days_of_week` string, nullable — 7-character string where each position represents a day (Sunday to Saturday), '1' means active (only present for recurring events)
    - `recurring_end_type` 'never' | 'on_date' | 'after_events', nullable — How the recurrence ends (only present for recurring events)
    - `recurring_end_value` string, nullable — End date (Y-m-d) or number of occurrences, depending on recurring_end_type
    - `tickets_enabled` boolean — Whether ticket sales are enabled for this event
    - `ticket_currency_code` string, nullable — 3-letter ISO currency code for tickets
    - `payment_method` 'stripe' | 'invoiceninja' | 'payment_url' | 'manual', nullable — Payment method for ticket sales
    - `terms_url` string, uri, nullable — URL to terms and conditions for ticket sales
    - `tickets` Ticket[] — Ticket types for this event (only present when tickets are enabled)
      - `id` string — Encoded ticket ID
      - `type` string — Ticket type name
      - `price` number — Ticket price
      - `quantity` integer, nullable — Number of tickets available (null for unlimited)
      - `description` string, nullable — Ticket description
    - `members` object — Map of encoded member schedule IDs to member details
    - `event_parts` EventPart[] — Sub-sections or segments of the event
      - `id` string — Encoded part ID
      - `name` string — Part name
      - `description` string, nullable — Part description
      - `start_time` string, nullable — Start time for this part
      - `end_time` string, nullable — End time for this part
    - `schedules` object[] — Schedules associated with this event
      - `id` string — Encoded schedule ID
      - `subdomain` string — Schedule subdomain
      - `name` string — Schedule name
      - `type` 'venue' | 'talent' | 'curator' — Schedule type
      - `group` object, nullable — Sub-schedule assignment for this event on this schedule
        - `id` string — Encoded sub-schedule ID
        - `name` string — Sub-schedule name
        - `slug` string — Sub-schedule slug
    - `created_at` string, date-time, nullable — ISO 8601 creation timestamp
    - `updated_at` string, date-time, nullable — ISO 8601 last update timestamp

## Other responses

- `401` — Missing or invalid API key
- `403` — Unauthorized to view this event
- `404` — Event not found

## Changes

- **2026-02-23** `37529a7e8800` — 2 info
  - added the optional property `data/is_password_protected` to the response with the `200` status
  - added the optional property `data/is_private` to the response with the `200` status
- **2026-02-17** `c1e54e26b0db` — 8 info
  - added the optional property `data/category_name` to the response with the `200` status
  - added the optional property `data/payment_method` to the response with the `200` status
  - added the optional property `data/schedules` to the response with the `200` status
  - added the optional property `data/terms_url` to the response with the `200` status
  - …4 more
- **2026-02-12** `2596baa89e80` — 1 info
  - added the optional property `data/event_parts/items/id` to the response with the `200` status
- **2026-02-11** `e24c8532211b` — 1 info
  - api operation id `show_event` was added
- **2026-02-11** `36ccba39bc4d` — 11 warning, 1 info
  - removed the optional property `data/category_name` from the response with the `200` status
  - removed the optional property `data/event_parts/items/id` from the response with the `200` status
  - removed the optional property `data/is_password_protected` from the response with the `200` status
  - removed the optional property `data/is_private` from the response with the `200` status
  - …8 more

[Change history](https://skmtc.dev/eventschedule/apis/event-schedule-api/changes/events/:id/get.md)

---

[API](https://skmtc.dev/eventschedule/apis/event-schedule-api.md) · [All operations](https://skmtc.dev/eventschedule/apis/event-schedule-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/eventschedule/event-schedule-api/revisions/fc24d7d227c4/schema)
