# Show our events

Build a public event listing using a server-side integration and public shop links.
Start with [summary](summary.md); decide which organization's events and dates should be published.

## Workflow
1. Authenticate on the organizer/company origin and GET `/events/my.json`.
2. Read the `events` array; each record contains an `Event` object.
3. Pass a four-digit `year` when requesting a particular year or historical events.
4. GET `/api/v2/events/{event_id}` for the selected event details.
5. Select public fields such as name, dates, timezone and `direct_link` for your website's response.
6. Verify published status and the actual shop link before displaying a registration button.
7. Refresh changed dates and links; use UUIDs to update existing records.

## Limits
- Discovery defaults to this and the previous year; without `year` it has a 2,000-event cap.
- Names containing “test” are excluded; a known test UUID can still be accessible directly.
- `/api/v2/events` is not the documented event-list endpoint.
- Organizer responses can contain internal metadata: do not forward entire responses to visitors.
- Interpret event dates in their configured timezone; do not infer an offset from SQL timestamps.

## Verify
Compare the listing with the selected published events, including an empty year and a changed date.
Check that each link opens the intended public shop and that credentials never reach the browser.

## More documentation
- [Events](https://developer.paydro.com/en-us/docs/events.md)
- [Data types](https://developer.paydro.com/en-us/docs/data-types.md)
- [Website registration](sell-tickets.md)
