Skip to content

LF Events API: Add missing fields needed for the AAIF website events integration #1114

@pariola-anyday

Description

@pariola-anyday

Context

We recently merged the events integration on the AAIF website (staging). It
consumes the LF Events API and renders an events listing with map pins, country
flags, and event cards.

During the build we found several fields that our previous Sanity-backed model
had but the API doesn't return. We've worked around what we could, but a few
gaps are filled with curated/hardcoded data that won't scale as the event list
grows. This issue requests adding those fields upstream so we can drop the
workarounds.

Current API response (for reference)

{
  "id": 278373,
  "name": "Open Source Summit North America",
  "start_date": "2026/05/18",
  "end_date": "2026/05/20",
  "location": {
    "city": "Minneapolis",
    "country": "United States",
    "virtual": false
  },
  "url": "https://pr-1108-lfeventsci.pantheonsite.io/open-source-summit-north-america/",
  "menu_background_color": "#325560",
  "menu_gradient_color": "#003942",
  "menu_dropdown_color": "#003942"
}

Requested additions (priority order)

1. Latitude / longitude — highest priority

  • Needed for: map pins on the events map.
  • Current workaround: a hand-curated CITY_GEO lookup table keyed by city
    name. Not sustainable — every new event in a new city requires a manual
    code change, and city-name collisions/spelling are fragile.
  • Ask: add location.lat and location.lng (or a coordinates object).
    Even city-centroid precision is fine; we only need it for the pin.
"location": {
  "city": "Minneapolis",
  "country": "United States",
  "virtual": false,
  "lat": 44.98,
  "lng": -93.27
}

2. Event image

  • Needed for: event cards and the listing hero.
  • Current state: API returns only theme colors (menu_background_color,
    etc.); we fall back to a generic placeholder image for every event.
  • Ask: add an image (or banner / thumbnail) URL field.

3. Summary / description

  • Needed for: card copy and previews.
  • Current state: absent — cards have no descriptive text.
  • Ask: add a short summary (and/or description) field.

4. Venue name & address

  • Needed for: event detail / location display beyond city + country.
  • Current state: absent.
  • Ask: add location.venue_name and location.address.

5. Time-of-day on dates

  • Needed for: showing start/end times, not just dates.
  • Current state: start_date / end_date are date-only (YYYY/MM/DD).
  • Ask: include start/end times (ideally full ISO-8601 datetimes with
    timezone), e.g. start_at: "2026-05-18T09:00:00-05:00".

Gaps we've already solved on our side (no API change needed)

These are listed only so the scope is clear — please don't prioritize them:

  • ISO 3166-1 country code (for flags): solved with a complete curated
    COUNTRY_CODE_BY_NAME map. Sustainable, no API change required — though if a
    country_code field is ever added, we'd happily drop our map.
  • Categories: we repurposed this into a status filter (all / upcoming /
    past) plus an event type filter (virtual vs. in-person, derived from the
    existing location.virtual flag). No API change needed.

Summary of the ask

Field Needed for Priority
location.lat / location.lng Map pins High
image / banner URL Event cards & hero High
summary / description Card copy Medium
location.venue_name / address Location detail Medium
Start/end time (ISO datetime) Time display Medium

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions