Filtering retrieved events

Query parameters can be used to filter the retrieved events by the following criteria.

Ongoing local events

Use to quickly access local (municipality level) events that are upcoming or have not ended yet. Combines the search on a number of description, name, and keyword fields. Locality is defined on the basis of MUNIGEO_MUNI value, which is set in the settings file. In the Helsinki case all the events would be retrieved that happen within Helsinki. Comes in two flavors: AND and OR. Use local_ongoing_AND=lapset,musiikki to search for the events with both search terms in the description fields and local_ongoing_OR to search for the events with at least one term mentioned. In case you need to realize a more complicated logic and search for a combination of search terms as in (singing OR vocal) AND (workshop OR training) use local_ongoing_OR_setX parameter, where X is a number.

Examples:

event/?local_ongoing_OR=lapsi,musiikki

See the result

event/?local_ongoing_OR_set1=lapsi,musiikki&local_ongoing_OR_set2=leiri,kurssi

See the result

Ongoing internet events

Use to quickly access internet-based events that are upcoming or have not ended yet. Usage is the same as for local ongoing events, three variations: internet_ongoing_AND, internet_ongoing_OR, and internet_ongoing_OR_setX, Note, that local_ongoing and internet_ongoing are mutually exclusive.

Example:

event/?internet_ongoing_AND=lapsi,musiikki

See the result

All ongoing events

All ongoing events, both internet and local combined. Usage is the same as for local ongoing events: all_ongoing_AND, all_ongoing_OR and all_ongoing_OR_setX

Example:

event/?all_ongoing_AND=lapsi,musiikki

See the result

Internet based

Filter for all the events that happen in the internet, both past and upcoming.

Example:

event/?internet_based=true

See the result

Event time

Use start and end to restrict the date range of returned events. Any events that intersect with the given date range will be returned.

The parameters start and end can be given in the following formats:

  • ISO 8601 (including the time of day), i.e. YYYY-MM-DDTHH:MM:SSZ
  • yyyy-mm-dd

In addition, today (for start or end of today) and now (for the exact current timestamp) can be used in either parameter to get current events.

Example:

event/?start=today&end=2020-12-31

See the result

event/?start=now&end=today

See the result

You can also use days filter to restrict the date range of returned events. Any events that intersect with the current time and amount of days from current time will be returned.

The parameters start and end cannot be used together with the days parameter.

Example:

event/?days=7

See the result

Event start/end time

Use starts_after, starts_before, ends_after, and ends_before to filter for the events that start and end within certain hours, for example for the ones that start after 17:00 and end before 21:00.

The parameters can be given as:

  • Hours only
  • Hours and minutes separated by a colon

Example:

event/?starts_after=16:30&ends_before=21

See the result

Event weekday

Use weekday to filter for the events that occurs within certain weekdays. Weekdays are to be input as Iso 8601 weekday numbers, where 1 is Monday and 7 is Sunday.

The parameter can include:

  • One weekday
  • Multiple weekdays separated by a comma

Example (Saturdays and Sundays):

event/?weekday=6,7

See the result

Event duration

Use max_duration to filter for the events that last up to a specified time, or min_duration to filter for the events that last at least a specified amount of time.

The parameters are expressed in format:

  • 86400 or 86400s (24 hours)
  • 180m or 3h (3 hours)
  • 3d (3 days)

Example:

event/?max_duration=3d

See the result

Event location

Bounding box

To restrict the retrieved events to a geographical region, use the query parameter bbox in the format

bbox=west,south,east,north

Where west is the longitude of the rectangle's western boundary, south is the latitude of the rectangle's southern boundary, and so on. The default coordinate system is the trusty old EPSG:4326 known from all online maps, and can be overridden with srid parameter.

Example:

event/?bbox=24.9348,60.1762,24.9681,60.1889

See the result

Specific location

To restrict the retrieved events to a known location(s), use the query parameter location, separating values by commas if you wish to query for several locations.

Location ids are found at the place endpoint, which lists the locations in decreasing number of events found. Most locations originate from the Helsinki service point registry (tprek), hence the format tprek:28473. An easy way to locate service points is to browse servicemap.hel.fi, which uses the same location ids, e.g. servicemap.hel.fi/unit/28473.

Example:

event/?location=tprek:28473

See the result

District

To restrict the retrieved events to city district(s), use the query parameter division, separating values by commas if you wish to query for several divisions.

City of Helsinki neighborhoods (kaupunginosa), districts (peruspiiri) and subdistricts (osa-alue) are supported. Check the divisions on the Helsinki map service.

You may query either by specific OCD division type peruspiiri:malmi, or by division name malmi. The latter query checks all divisions with the name, regardless of division type.

Example:

event/?division=malmi

See the result

Within a distance (or "circle filter")

To restrict the retrieved events to a certain distance from a point, use the query parameters dwithin_origin and dwithin_metres in the format

dwithin_origin=lon,lat&dwithin_metres=distance

Where lon is the longitude of the origin point, lat is the latitude of the origin point, and distance is the radius in metres. Both parameters are required. The default coordinate system is EPSG:4326 and can be overridden with the srid parameter.

Example:

event/?dwithin_origin=24.9348,60.1762&dwithin_metres=1000

See the result

Event category

To restrict the retrieved events by category, use the query parameter keyword, separating values by commas if you wish to query for any of several keywords, or the parameter keyword_AND, if you require all provided values (separated by commas) to be present. Use parameter keyword! if you require all provided values (separated by commas) not to be present.

In case you need to realize a more complicated logic and search for a combination of keywords as in (yso:p1235 OR yso:p1947) AND (yso:p14004 OR yso:p11185) use keyword_OR_setX parameter, where X is a number.

Keyword ids are found at the keyword endpoint, which lists the keywords in decreasing number of events found. The common keywords used in all events originate from the general Finnish ontology (YSO), hence the format yso:p4354.

The most common event categories are listed in the two keyword sets helsinki:topics and helsinki:audiences, which list the YSO keywords that are present in most events to specify event main topic and audience.

Example:

event/?keyword=yso:p4354

See the result

event/?keyword_OR_set1=yso:p1235,yso:p1947&keyword_OR_set2=yso:p14004,yso:p11185

See the result

Keyword set search

Some services maintain curated keyword sets, which can also be used in search with query parameters keyword_set_AND and keyword_set_OR. As names of the keyword sets can repeat between the services, ids should be supplied. Say, we have one keyword set Music with id "myservice:1" that contains keywords rock and jazz, and another keyword set Workshops with keywords "workshop" and "seminar" and id "myservice:2". Then a request /event/?keyword_set_AND=myservice:1,myservice:2 would return the events matching the following expression: (rock OR jazz) AND (workshop OR seminar).

Event last modification time

To find events that have changed since you last polled Linkedevents API (to e.g. update your event cache), it is best to use the query parameter last_modified_since. This allows you to only return data that has changed after your last update. You may also include events that have been deleted in the API in the results by using the show_deleted filter. This allows you to update your cache with all added, modified and deleted events without having to fetch *all* future events every time.

Example:

event/?last_modified_since=2020-04-07&show_deleted=true

See the result

Specific ids

To find events that have specific id use parameter ids, separating values by commas if you wish to query for several event ids.

Example:

event/?ids=helsinki:1

See the result

Event status

Events in Linkedevents (indicated by the event_status field) may be either scheduled as planned (EventScheduled), rescheduled if their start time has changed after they were first published (EventRescheduled), cancelled if they were cancelled altogether after publication (EventCancelled), or postponed to the indefinite future if they could not be organized at the original time (EventPostponed). These statuses stem from schema.org.

You may filter events with only the desired status with the event_status filter.

Example:

event/?event_status=EventCancelled

See the result

It is also possible to use multiple event_status parameters in a single query. Statuses must be separated by a comma.

Example:

event/?event_status=EventCancelled,EventPostponed

Event type

Events in Linkedevents (indicated by the type_id field) may be event (General), course (Course) or volunteering (Volunteering). By default, only events with General type_id are returned.

You may filter events with only the desired type with the event_type filter, separating values by commas if you wish to query for several types.

Example:

event/?event_type=General,Course

See the result

Event text

To find out events that contain a specific string in any of the text fields, use the query parameter text.

Example:

event/?text=shostakovich

See the result

Combined text

While the text search is looking for the events containg exact matches of the search string, combined_text filtering finds events with exact text match for event text fields but retrieves expected keywords on the basis of similarity. Filtering for keywords works similar ways as keyword free_text filtering.

Example:

event/?combined_text=lapppset

See the result

Event price

Events may or may not contain the offers field that lists event pricing. To return only free or non-free events, use the query parameteris_free. However, note that from some data sources, no event pricing info is available, so this filter will only return those events which have pricing data available.

Example:

event/?is_free=true

See the result

Event language

To find events that have a set language or event data translated into that language, use the query parameter language. If you only wish to see events that have a set language, use the in_language parameter, and if you only want event data translated to a set language, use the translation parameter.

Supported languages are found at the language endpoint, which also lists which languages have translations available. Currently, translations are supported in fi, sv, en, ru, zh_hans, and ar.

Example:

event/?language=ru

See the result

Event audience age boundaries.

To find events that are designed for specific age audiences use the query paramteres audience_min_age_lt, audience_min_age_gt, audience_max_age_lt, audience_max_age_gt.

audience_min_age_lt returns the events whose minimal age is lower than or equals the specified value, audience_min_age_gt returns the events whose minimal age is greater than or equals the specified value. max_age parameteres, naturally, work the same way only for the maximum age of the event audience. Note, that the events that are not designed for the specific audiences will be omitted.

audience_max_age and audience_min_age parameters without lt and gt modifiers are left for backward compatibility only and should not be employed.

Example:

event/?audience_min_age_gt=10

See the result

Select events suitable for certain age.

To find events that are suitable for certain age use the query paramter suitable_for that returns all the events that are suitable for the age or age range specified. Under the hood it excludes all the events that have max age limit below or min age limit above the age specified. Suitable events with just one age boundary specified are returned, events with no age limits specified are excluded. Query parameter can take either one or two arguments, the order of parameters when specifying the age range is not important.

Examples:

event/?suitable_for=12

See the result

event/?suitable_for=12,14

See the result

Event publisher

To find out events that are published by a specific organization, use the query parameter publisher, separating values by commas if you wish to query for several publishers.

Existing publisher organizations are found at the organization endpoint. City of Helsinki internal publishers have ids of the form ahjo:origin_id as they originate from the Helsinki Ahjo decisionmaking system, and have a rather complex hierarchy. External publishers may have their own namespaces, ids and hierarchies.

Also, it is possible to fetch events under a specific publisher organization hierarchy (say City of Helsinki) by using the parameter publisher_ancestor, which returns all events published by any suborganizations (at any level) of the given organization.

Example:

event/?publisher=ytj:0586977-6

See the result

event/?publisher_ancestor=ahjo:00001

See the result

Event data source

To find out events that originate from a specific source system, use the query parameter data_source. All event ids are of the form data_source:origin_id, so this allows you to return only events coming to Linkedevents from a specific data system. helsinki is the name of our own data source, i.e. events where Linkedevents API itself is the master data.

Example:

event/?data_source=helsinki

See the result

Event hierarchy

Events in linkedevents may be either standalone events, or they may have super or sub events. There are two types of super events, indicated in the field super_event_type by recurring (repeating events, event series) and umbrella (festivals etc.).

recurring events last for a period and have sub_events that all have similar data, but different dates.

umbrella events last for a period and may have different sub_events, including recurring events (i.e. an umbrella festival may have a recurring theater play sub_event, which may have several nights as sub_events.)

Super event type

You may use the query parameter super_event_type, comma separated, to get only super events of specific types. You may use none if you want non-super events included.

Example:

event/?super_event_type=umbrella,none

See the result

Super event

You may use the query parameter super_event, comma separated, to get all subevents for specific superevents. You may use none if you want all events which have no superevent included.

Example:

event/?super_event=linkedevents:agg-103

See the result

Hide super event

You may use the query parameter hide_super_event to exclude super events from the response.

Example:

event/?hide_super_event=true

See the result

Hide recurring children

You may use the query parameter hide_recurring_children to hide all child events for super events which are of type recurring.

Example:

event/?hide_recurring_children=true

See the result

Sub events

You may use the query parameter hide_recurring_children_sub_events in pair with hide_recurring_children to apply other filters to child events.

If you want to get only super_events of weekend events then pair hide_recurring_children and hide_recurring_children_sub_events with weekday=6,7

Example:

event/?hide_recurring_children=true&hide_recurring_children_sub_events=true&weekday=6,7

See the result

Event with registration

To find out events with or without a registration, use the query parameterregistration.

Example:

event/?registration=true

See the result

Open enrolment

Two endpoints show the events that have connected registrations and have places either at the event itself enrolment_open or in the waiting lists enrolment_open_waitlist. Note that the latter query parameter when set to true returns also the events that have open spots at the event itself. Null values are regarded as unlimited number of spots at the event or in the waiting list.

For example:

event/?enrolment_open_waitlist=true

See the result

Enrolment open on a given date

It is possible to check if a given datetime is within events' enrolment start and end times. In other words, if any events are open on a given date and time. The given datetime is expected to be in the events' timezone.

enrolment_open_on parameter displays events where the given datetime is within the enrolment_start_time and enrolment_end_time of the events. If an event has a registration, the registration's enrolment start and end times will be preferred over the event's times.

For example:

event/?enrolment_open_on=2024-02-19T12:00:00

See the result

Attendee capacity

Filters for filtering by event maximum_attendee_capacity and minimum_attendee_capacity:

Filtering for maximum_attendee_capacity

It is possible to filter by maximum_attendee_capacity using gte (>) or lte (<) filters.

maximum_attendee_capacity_gte parameter displays events with maximum attendee capacity greater than or equal the applied parameter (integer value)

Example:

event/?maximum_attendee_capacity_gte=10

See the result

maximum_attendee_capacity_lte parameter displays events with maximum attendee capacity less than or equal the applied parameter (integer value)

Example:

event/?maximum_attendee_capacity_lte=10

See the result

Filtering for minimum_attendee_capacity

It is possible to filter by minimum_attendee_capacity using gte (>) or lte (<) filters.

minimum_attendee_capacity_gte parameter displays events with minimum attendee capacity greater than or equal the applied parameter (integer value)

Example:

event/?minimum_attendee_capacity_gte=10

See the result

minimum_attendee_capacity_lte parameter displays events with minimum attendee capacity less than or equal the applied parameter (integer value)

Example:

event/?minimum_attendee_capacity_lte=10

See the result

Remaining registration attendee or waiting list capacity

Filters for filtering by registration remaining_attendee_capacity and remaining_waiting_list_capacity:

Filtering for registration remaining_attendee_capacity

It is possible to filter by registration remaining_attendee_capacity using gte (>=) or isnull filters.

registration__remaining_attendee_capacity__gte parameter displays events where registration's remaining attendee capacity is greater than or equal the applied parameter (integer value)

Example:

event/?registration__remaining_attendee_capacity__gte=10

See the result

registration__remaining_attendee_capacity__isnull parameter displays events where registration's remaining attendee capacity is or is not NULL

The values True, true and 1 are all considered to be "true".

The values False, false and 0 are all considered to be "false".

Example:

event/?registration__remaining_attendee_capacity__isnull=true

See the result

Filtering for registration remaining_waiting_list_capacity

It is possible to filter by registration remaining_waiting_list_capacity using gte (>=) or isnull filters.

registration__remaining_waiting_list_capacity__gte parameter displays events where registration's remaining waiting list capacity is greater than or equal the applied parameter (integer value)

Example:

event/?registration__remaining_waiting_list_capacity__gte=10

See the result

registration__remaining_waiting_list_capacity__isnull parameter displays events where registration's remaining waiting list capacity is or is not NULL

The values True, true and 1 are all considered to be "true".

The values False, false and 0 are all considered to be "false".

Example:

event/?registration__remaining_waiting_list_capacity__isnull=true

See the result

Filtering for authenticated users

By default, only public events are shown in the event list. However, certain query parameters allow customizing the listing for authenticated users

Show all events

show_all parameter displays all events authenticated user can edit, including drafts, and public non-editable events

Example:

event/?show_all=true

See the result

Publication status

Events in Linkedevents (indicated by the publication_status field) may be either (draft) if the event is not published yet or (public) for published events.

You may filter events with only the desired publication status with the publication_status filter.

Example:

event/?publication_status=draft

See the result

Only editable events

admin_user parameter displays all events authenticated user can edit, including drafts, but no other public events

Example:

event/?admin_user=true

See the result

Only editable events for registration

registration_admin_user parameter displays all events whose registration the user can modify

Example:

event/?registration_admin_user=true

See the result

Events created by the user

created_by parameter only displays events by the authenticated user

Example:

event/?created_by=true

See the result

Getting detailed data

In the default case, keywords, locations, and other fields that refer to separate resources are only displayed as simple references.

If you want to include the complete data from related resources in the current response, use the keyword include. Please note, however, that including all the resources inlined in *every* event will result in a huge number of duplicate data in the json, making the json very slow to generate and process and causing considerable API load and long response times when too many such requests are made. Therefore, if you are listing the maximum number of events (100) or updating your cache with all events, please consider caching the keyword and location data separately to prevent unnecessary API slowdown and continuous repeated work. Keyword and location data seldom change and are easily fetched from their own endpoints separately.

Example:

event/?include=location,keywords

See the result

Ordering

Default ordering is descending order by -last_modified_time. You may also order results by start_time, end_time, name, duration, enrolment_start_time, enrolment_end_time, registration__enrolment_start_time, registration__enrolment_end_time, enrolment_start and enrolment_end. Descending order is denoted by adding - in front of the parameter, default order is ascending.

For example:

event/?sort=-end_time

See the result

Enrolment start and enrolment end

The ordering filters enrolment_start and enrolment_end have two notable differences compared to the rest of the ordering filters related to enrolment start and enrolment end times:

First, if an event has a registration with an enrolment time defined, the registration's time will be preferred over the event's time.

Second, if neither the event's registration nor the event has enrolment times defined (enrolment_start_time and enrolment_end_time are both NULL), the event will be placed at the end of the results list regardless of whether ascending or descending order was used.

GET /v1/event/?format=api&page=208&registration__remaining_waiting_list_capacity__isnull=true
HTTP 200 OK
Allow: GET, POST, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json ;utf-8
Vary: Accept

{
    "meta": {
        "count": 27037,
        "next": "https://linkedevents.api.test.hel.ninja/v1/event/?format=api&page=209&registration__remaining_waiting_list_capacity__isnull=true",
        "previous": "https://linkedevents.api.test.hel.ninja/v1/event/?format=api&page=207&registration__remaining_waiting_list_capacity__isnull=true"
    },
    "data": [
        {
            "id": "espoo_le:agmk23b6we",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p11617/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p1808/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p360/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p4354/?format=api"
                }
            ],
            "registration": null,
            "super_event": null,
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490373,
                    "has_user_editable_resources": false,
                    "license": "event_only",
                    "license_url": "",
                    "created_time": "2025-04-16T09:21:40.068738Z",
                    "last_modified_time": "2025-04-16T09:21:40.068758Z",
                    "name": "",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/4f529fcf-e7ac-4eb4-9c8f-2ac8489fc4b8.jpg",
                    "cropping": "149,0,531,382",
                    "photographer_name": "",
                    "alt_text": "Vocal Studio Eridanin oppilaat",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490373/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-16T09:21:49.045940Z",
            "last_modified_time": "2025-04-16T09:21:49.045955Z",
            "date_published": null,
            "start_time": "2025-05-27T15:00:00Z",
            "end_time": "2025-05-27T16:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Vocal Studio Eridan esiintyy Sellon kirjastossa 27.5. klo 18.00.</p><p> 5–16-vuotiaat lapset esittävät lauluja suomeksi, englanniksi, venäjäksi, ukrainaksi ja ranskaksi.</p><p> Monipuolinen ohjelma sopii kaikenikäisille</p><p> Vapaa pääsy.</p>",
                "sv": "<p>Vocal Studio Eridan uppträder på Sello bibliotek den 27 maj kl. 18.00.</p><p>Barn i åldern 5-16 år framför sånger på finska, engelska, ryska, ukrainska och franska.</p><p>Ett varierat program för alla åldrar</p><p>Fri entré till programmet.</p>",
                "en": "<p>Vocal Studio Eridan will perform at Sello Library on 27 May at 18.00.</p><p>Children aged 5-16 will perform songs in Finnish, English, Russian, Ukrainian and French.</p><p>A varied programme for all ages</p><p>Free admission.</p>"
            },
            "name": {
                "fi": "Vocal Studio Eridan esiintyy ",
                "sv": "Vocal Studio Eridan uppträder ",
                "en": "Vocal Studio Eridan performs"
            },
            "short_description": {
                "fi": " 5–16-vuotiaat lapset esittävät lauluja suomeksi, englanniksi, venäjäksi, ukrainaksi ja ranskaksi.",
                "sv": "Barn i åldern 5-16 år framför sånger på finska, engelska, ryska, ukrainska och franska.",
                "en": "Children aged 5-16 will perform songs in Finnish, English, Russian, Ukrainian and French."
            },
            "location_extra_info": {
                "fi": "Lava",
                "sv": "Scen",
                "en": "Stage"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23b6we/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agju5bjr7a",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p11406/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p14710/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p1650/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p360/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p4354/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p8113/?format=api"
                }
            ],
            "registration": null,
            "super_event": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agju5bjsxy/?format=api"
            },
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [],
            "videos": [],
            "in_language": [],
            "audience": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz7av4/?format=api"
                }
            ],
            "created_time": "2024-11-21T10:25:24.739442Z",
            "last_modified_time": "2025-04-16T08:07:59.148761Z",
            "date_published": null,
            "start_time": "2025-05-22T07:00:00Z",
            "end_time": "2025-05-22T07:30:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Sellon kirjastossa järjestetään joka toinen torstai avoin satuhetki kirjaston lastenosastolla. Tarinoiden äärelle ovat tervetulleita osallistumaan kaikki lapset, vanhemmat, isovanhemmat kuin myös varhaiskasvatuksen opettajat ja kasvattajat ryhmänsä kanssa. Luemme tarinoita suomenkielellä.</p><p><br></p>",
                "sv": "<p>Varannan torsdag anordnar Sellos bibliotek en öppen sagostund i bibliotekets barnavdelning. Alla barn, föräldrar, mor- och farföräldrar samt lärare och utbildare inom småbarnspedagogik är välkomna att delta i sagostunden med sin grupp. Vi läser sagor på finska.</p><p>Sista sagotiden är undantagsvis på Tisdag 10.12!</p>",
                "en": "<p>Every second Thursday, Sello Library organises an open story time in the children's section of the library. All children, parents, grandparents as well as early childhood teachers and educators are welcome to join the storytime with their group. We read stories in Finnish.</p><p><br></p><p>The last story time of the season is exceptionally on Tuesday 10th of December!</p>"
            },
            "name": {
                "fi": "Avoin satuhetki",
                "sv": "Sagostund på finska",
                "en": "Storytime in Finnish"
            },
            "short_description": {
                "fi": "Sellon kirjastossa järjestetään joka toinen torstai avoin satuhetki kirjaston lastenosastolla. ",
                "sv": "Varannan torsdag anordnar Sellos bibliotek en öppen sagostund i bibliotekets barnavdelning. ",
                "en": "Every second Thursday, Sello Library organises an open story time in the children's section of the library. "
            },
            "location_extra_info": {
                "fi": "Lastenmaa, Jaminurkka",
                "sv": "Lastenmaa, Jaminurkka",
                "en": "Lastenmaa, Jaminurkka"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agju5bjr7a/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agju5bjsxy",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p11406/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p14710/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p1650/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p360/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p4354/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p8113/?format=api"
                }
            ],
            "registration": null,
            "super_event": null,
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agju5bjr7a/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agju5bjsbq/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agju5bjsee/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agju5bjsgy/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agju5bjsji/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agju5bjsl4/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agju5bjsoi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agju5bjsqm/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agju5bjssu/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agju5bjsva/?format=api"
                }
            ],
            "images": [],
            "videos": [],
            "in_language": [],
            "audience": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz7av4/?format=api"
                }
            ],
            "created_time": "2024-11-21T10:25:15.032778Z",
            "last_modified_time": "2025-04-16T08:07:58.350749Z",
            "date_published": null,
            "start_time": "2025-01-16T08:00:00Z",
            "end_time": "2025-05-22T07:30:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": "recurring",
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Sellon kirjastossa järjestetään joka toinen torstai avoin satuhetki kirjaston lastenosastolla. Tarinoiden äärelle ovat tervetulleita osallistumaan kaikki lapset, vanhemmat, isovanhemmat kuin myös varhaiskasvatuksen opettajat ja kasvattajat ryhmänsä kanssa. Luemme tarinoita suomenkielellä.</p><p><br></p>",
                "sv": "<p>Varannan torsdag anordnar Sellos bibliotek en öppen sagostund i bibliotekets barnavdelning. Alla barn, föräldrar, mor- och farföräldrar samt lärare och utbildare inom småbarnspedagogik är välkomna att delta i sagostunden med sin grupp. Vi läser sagor på finska.</p><p>Sista sagotiden är undantagsvis på Tisdag 10.12!</p>",
                "en": "<p>Every second Thursday, Sello Library organises an open story time in the children's section of the library. All children, parents, grandparents as well as early childhood teachers and educators are welcome to join the storytime with their group. We read stories in Finnish.</p><p><br></p><p>The last story time of the season is exceptionally on Tuesday 10th of December!</p>"
            },
            "name": {
                "fi": "Avoin satuhetki",
                "sv": "Sagostund på finska",
                "en": "Storytime in Finnish"
            },
            "short_description": {
                "fi": "Sellon kirjastossa järjestetään joka toinen torstai avoin satuhetki kirjaston lastenosastolla. ",
                "sv": "Varannan torsdag anordnar Sellos bibliotek en öppen sagostund i bibliotekets barnavdelning. ",
                "en": "Every second Thursday, Sello Library organises an open story time in the children's section of the library. "
            },
            "location_extra_info": {
                "fi": "Lastenmaa, Jaminurkka",
                "sv": "Lastenmaa, Jaminurkka",
                "en": "Lastenmaa, Jaminurkka"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agju5bjsxy/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "kulke:64984",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:7255/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:31/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:41/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:53/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:54/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:55/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:669/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:755/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:758/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p29865/?format=api"
                }
            ],
            "registration": null,
            "super_event": null,
            "event_status": "EventRescheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": false,
                    "offer_price_groups": [],
                    "price": {
                        "fi": "20 € / 15 € / 6 €",
                        "sv": "20 € / 15 € / 6 €",
                        "en": "20 € / 15 € / 6 €"
                    },
                    "info_url": {
                        "fi": "https://www.lippu.fi/event/kanneltalo-margulis-and-mud-kanneltalo-19531141/",
                        "sv": "https://www.lippu.fi/event/kanneltalo-margulis-and-mud-kanneltalo-19531141/",
                        "en": "https://www.lippu.fi/event/kanneltalo-margulis-and-mud-kanneltalo-19531141/"
                    },
                    "description": null
                }
            ],
            "data_source": "kulke",
            "publisher": "ahjo:u48040010",
            "sub_events": [],
            "images": [
                {
                    "id": 153558,
                    "has_user_editable_resources": false,
                    "license": "event_only",
                    "license_url": "",
                    "created_time": "2024-12-30T08:15:24.062252Z",
                    "last_modified_time": "2024-12-30T08:15:24.062284Z",
                    "name": "",
                    "url": "http://www.kanneltalo.fi/instancedata/prime_product_resurssivaraus/kulke/embeds/EventPic_763316.jpg",
                    "cropping": "",
                    "photographer_name": null,
                    "alt_text": null,
                    "data_source": "kulke",
                    "publisher": "ahjo:u48040010",
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/153558/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2024-12-30T08:15:24.029727Z",
            "last_modified_time": "2025-04-16T07:14:29.279045Z",
            "date_published": null,
            "start_time": "2025-05-10T12:00:00Z",
            "end_time": null,
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": {
                "fi": "http://www.kanneltalo.fi/fi/tapahtumat/event/EFC7AF035706F8E0BC76018342C40F5A/Margulis_and_Mud",
                "sv": "http://www.kanneltalo.fi/sv/evenemang/event/EFC7AF035706F8E0BC76018342C40F5A/Margulis_and_Mud",
                "en": "http://www.kanneltalo.fi/en/events/event/EFC7AF035706F8E0BC76018342C40F5A/Margulis_and_Mud"
            },
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Margulis and Mud (Margulis ja Muta) on moniääninen, monitaiteinen ja monin tavoin vallaton teos kanssaolemisesta ja toisin näkemisestä.</p><p>Teoksessa yhdistyy kokeellinen nykymusiikki, kuvataide sekä monisukupolvinen esiintyjäkaarti.</p><p>Teoksen inspiraationa toimii evoluutiobiologi Lynn Margulis, ja hänen tutkimuksensa tapaan teos ammentaa yhteistyöstä ja symbioottisista suhteista.</p><p>Teoksessa esiintyy nykymusiikin, esittävien taiteiden, sekä kuvataiteen vahva pohjoismainen työryhmä. Ruotsalaiset Lise-Lotte Norelius (perkussiot ja elektroniikka), Anton Svanberg (tuuba), Emil Skogh (kontrabasso) ja Jenny Kalliokulju (taidemaalari) yhdessä suomalaisten Sini Onnen (vokalisti) ja Lauri Antti Mattilan/Lätsän (vokalisti) kanssa. Heidän lisäkseen näyttämöllä esiintyy helsinkiläisistä lapsista koostuva eliöiden kuoro.</p><p>Margulis and mud on Essi Kausalaisen ohjaama ja Jenny Kalliokuljun kirjoittama kokeellinen esitys. Teos kyseenalaistaa perinteisiä esitystapoja  yhdistelemällä epätodennäköisiä muotoja, instrumentteja ja ihmisiä.</p><p>Monitaiteinen teos esitetään Jenny Kalliokuljun (maalaukset & veistokset) ja Essi Kausalaisen (tekstiilit) luomassa näyttämökuvassa. Teoksen kieli on englanti.</p><p>Kantaesitys toteutetaan Kanneltalossa.</p><p>Teos toteutetaan Pohjoismaisen kulttuuripisteen, Pohjoismaisen kulttuurirahaston, Taiteen edistämiskeskuksen, Suomen kulttuurirahaston sekä Koneen säätiön tuella.</p><p>Teoksen kesto: noin 1 t 10 min<br>Kieli: Englanti<br>Ikäsuositus: 12</p><p><b>Valtuusto 150 v-etu</b><br>Tämä tapahtuma on maksuton 7–19-vuotiaille. Helsingin kaupunginvaltuusto juhlistaa 150-vuotissynttäreitään tarjoamalla vuoden 2025 ajaksi ilmaisia elämyksiä nuorille!</p><p>Lunasta maksuton lippu <u><a href=\"https://www.lippu.fi/event/kanneltalo-helsingin-kaupunki-nuorisolippu-kanneltalo-19738721/?affiliate=FSF\">TÄSTÄ</a></u></p>",
                "sv": "<p>Margulis and mud (Margulis och leran) är ett flerstämmigt, tvärkonstnärligt och på många sätt ostyrigt verk om medmänsklighet och att se annorlunda på saker och ting.</p><p>I verket förenas experimentell samtidsmusik, bildkonst och en artistuppsättning i flera generationer.</p><p>Evolutionsbiologen Lynn Margulis fungerar som inspiration till verket, och på samma sätt som hennes forskning inhämtar verket inspiration från samarbete och symbiotiska förhållanden.</p><p>Verket framförs av en stark nordisk arbetsgrupp inom samtidsmusik, scenkonst och bildkonst. Svenskarna Lise-Lotte Norelius (slagverk och elektronik), Anton Svanberg (tuba), Emil Skogh (kontrabas) och Jenny Kalliokulju (konstnär) tillsammans med finländarna Sini Onnen (vokalist) och Lauri Antti Mattilan/Lätsän (vokalist). Utöver dem uppträder på scenen en kör av varelser bestående av barn från Helsingfors.</p><p>Margulis and mud är en experimentell föreställning i regi av Essi Kausalaisen och med manus av Jenny Kalliokulju. Verket ifrågasätter traditionella framställningssätt genom att kombinera osannolika former, instrument och människor.</p><p>Det tvärkonstnärliga verket framförs i en scenbild som skapats av Jenny Kalliokulju (målningar & skulpturer) och Essi Kausalainen (textilier). Verkets språk är engelska.</p><p>Uruppförandet genomförs på Gamlasgården.</p><p>Verket genomförs med stöd av Nordisk kulturkontakt, Nordisk kulturfond, Centret för konstfrämjande, Uppslagsverket Finland samt Konestiftelsen.</p><p>Verkets längd: cirka 1 t 10 min.<br>Språk: Engelska<br>Åldersrekommendation: 12</p><p><b>Fullmäktige 150 år-fördel</b><br>Detta evenemang är avgiftsfritt för 7–19-åringar. Helsingfors stadsfullmäktige firar sitt 150-årsjubileum genom att erbjuda fantastiska avgiftsfria upplevelser för unga under 2025!</p><p>Lös ut en gratisbiljett <u><a href=\"https://www.lippu.fi/event/kanneltalo-helsingin-kaupunki-nuorisolippu-kanneltalo-19738721/?affiliate=FSF\">HÄR</a></u></p>",
                "en": "<p>Margulis and Mud is a polyphonic, multi-disciplinary, and – in many ways – unconstrained work about being together and seeing things differently.</p><p>The work combines experimental contemporary music, visual arts and a multi-generational cast of performers.</p><p>The work is inspired by evolutionary biologist Lynn Margulis and, like her research, draws on collaboration and symbiotic relationships.</p><p>The work features a strong Nordic team representing contemporary music, performing arts and visual arts: Swedes Lise-Lotte Norelius (percussion and electronics), Anton Svanberg (tuba), Emil Skogh (double bass) and Jenny Kalliokulju (painter) together with Finns Sini Onne (vocalist) and Lauri Antti Mattila/Lätsä (vocalist). They are joined on stage by a choir of organisms, which consists of children from Helsinki.</p><p>Margulis and Mud is an experimental performance directed by Essi Kausalainen and written by Jenny Kalliokulju. The work questions the traditional methods of performance by combining unlikely forms, instruments and people. The multi-disciplinary work is performed in a stage setting created by Jenny Kalliokulju (paintings & sculptures) and Essi Kausalainen (textiles). The language of the work is English.</p><p>The first performance will take place at Kanneltalo.</p><p>The work is funded by the Nordic Culture Point, the Nordic Culture Fund, the Arts Promotion Centre Finland, the Finnish Cultural Foundation and the Kone Foundation.</p><p>Duration of the work: approx. 1 h 10 min<br>Language: English<br>Age recommendation: 12+</p><p><b>Council 150 years</b><br>This event is free of charge for children and young people aged 7–19 years. The Helsinki City Council will celebrate its 150th anniversary by offering free benefits for young people in 2025!</p><p>Redeem your free ticket <u><a href=\"https://www.lippu.fi/event/kanneltalo-helsingin-kaupunki-nuorisolippu-kanneltalo-19738721/?affiliate=FSF\">HERE</a></u></p>"
            },
            "name": {
                "fi": "Margulis and Mud",
                "sv": "Margulis and Mud",
                "en": "Margulis and Mud"
            },
            "short_description": {
                "fi": "Margulis and Mud (Margulis ja Muta) on moniääninen, monitaiteinen ja monin tavoin vallaton teos kanssaolemisesta ja toisin näkemisestä.",
                "sv": "Margulis and mud (Margulis och leran) är ett flerstämmigt, tvärkonstnärligt och på många sätt ostyrigt verk om medmänsklighet och att se annorlunda på saker och ting.",
                "en": "Margulis and Mud is a polyphonic, multi-disciplinary, and – in many ways – unconstrained work about being together and seeing things differently."
            },
            "location_extra_info": null,
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/kulke:64984/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "kulke:64983",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:7255/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:31/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:41/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:53/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:54/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:55/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:669/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:755/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:758/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p29865/?format=api"
                }
            ],
            "registration": null,
            "super_event": null,
            "event_status": "EventRescheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": false,
                    "offer_price_groups": [],
                    "price": {
                        "fi": "20 € / 15 € / 6 €",
                        "sv": "20 € / 15 € / 6 €",
                        "en": "20 € / 15 € / 6 €"
                    },
                    "info_url": {
                        "fi": "https://www.lippu.fi/event/kanneltalo-margulis-and-mud-kanneltalo-19531141/",
                        "sv": "https://www.lippu.fi/event/kanneltalo-margulis-and-mud-kanneltalo-19531141/",
                        "en": "https://www.lippu.fi/event/kanneltalo-margulis-and-mud-kanneltalo-19531141/"
                    },
                    "description": null
                }
            ],
            "data_source": "kulke",
            "publisher": "ahjo:u48040010",
            "sub_events": [],
            "images": [
                {
                    "id": 153557,
                    "has_user_editable_resources": false,
                    "license": "event_only",
                    "license_url": "",
                    "created_time": "2024-12-30T08:15:23.903230Z",
                    "last_modified_time": "2024-12-30T08:15:23.903249Z",
                    "name": "",
                    "url": "http://www.kanneltalo.fi/instancedata/prime_product_resurssivaraus/kulke/embeds/EventPic_763290.jpg",
                    "cropping": "",
                    "photographer_name": null,
                    "alt_text": null,
                    "data_source": "kulke",
                    "publisher": "ahjo:u48040010",
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/153557/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2024-12-30T08:15:23.871865Z",
            "last_modified_time": "2025-04-16T07:14:29.013417Z",
            "date_published": null,
            "start_time": "2025-05-09T15:00:00Z",
            "end_time": null,
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": {
                "fi": "http://www.kanneltalo.fi/fi/tapahtumat/event/D308103DA178D34532711ABD059DEB8D/Margulis_and_Mud",
                "sv": "http://www.kanneltalo.fi/sv/evenemang/event/D308103DA178D34532711ABD059DEB8D/Margulis_and_Mud",
                "en": "http://www.kanneltalo.fi/en/events/event/D308103DA178D34532711ABD059DEB8D/Margulis_and_Mud"
            },
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Margulis and Mud (Margulis ja Muta) on moniääninen, monitaiteinen ja monin tavoin vallaton teos kanssaolemisesta ja toisin näkemisestä.</p><p>Teoksessa yhdistyy kokeellinen nykymusiikki, kuvataide sekä monisukupolvinen esiintyjäkaarti.</p><p>Teoksen inspiraationa toimii evoluutiobiologi Lynn Margulis, ja hänen tutkimuksensa tapaan teos ammentaa yhteistyöstä ja symbioottisista suhteista.</p><p>Teoksessa esiintyy nykymusiikin, esittävien taiteiden, sekä kuvataiteen vahva pohjoismainen työryhmä. Ruotsalaiset Lise-Lotte Norelius (perkussiot ja elektroniikka), Anton Svanberg (tuuba), Emil Skogh (kontrabasso) ja Jenny Kalliokulju (taidemaalari) yhdessä suomalaisten Sini Onnen (vokalisti) ja Lauri Antti Mattilan/Lätsän (vokalisti) kanssa. Heidän lisäkseen näyttämöllä esiintyy helsinkiläisistä lapsista koostuva eliöiden kuoro.</p><p>Margulis and mud on Essi Kausalaisen ohjaama ja Jenny Kalliokuljun kirjoittama kokeellinen esitys. Teos kyseenalaistaa perinteisiä esitystapoja  yhdistelemällä epätodennäköisiä muotoja, instrumentteja ja ihmisiä.</p><p>Monitaiteinen teos esitetään Jenny Kalliokuljun (maalaukset & veistokset) ja Essi Kausalaisen (tekstiilit) luomassa näyttämökuvassa. Teoksen kieli on englanti.</p><p>Kantaesitys toteutetaan Kanneltalossa.</p><p>Teos toteutetaan Pohjoismaisen kulttuuripisteen, Pohjoismaisen kulttuurirahaston, Taiteen edistämiskeskuksen, Suomen kulttuurirahaston sekä Koneen säätiön tuella.</p><p>Teoksen kesto: noin 1 t 10 min<br>Kieli: Englanti<br>Ikäsuositus: 12</p><p><b>Valtuusto 150 v-etu</b><br>Tämä tapahtuma on maksuton 7–19-vuotiaille. Helsingin kaupunginvaltuusto juhlistaa 150-vuotissynttäreitään tarjoamalla vuoden 2025 ajaksi ilmaisia elämyksiä nuorille!</p><p>Lunasta maksuton lippu <u><a href=\"https://www.lippu.fi/event/kanneltalo-helsingin-kaupunki-nuorisolippu-kanneltalo-19738721/?affiliate=FSF\">TÄSTÄ</a></u></p>",
                "sv": "<p>Margulis and mud (Margulis och leran) är ett flerstämmigt, tvärkonstnärligt och på många sätt ostyrigt verk om medmänsklighet och att se annorlunda på saker och ting.</p><p>I verket förenas experimentell samtidsmusik, bildkonst och en artistuppsättning i flera generationer.</p><p>Evolutionsbiologen Lynn Margulis fungerar som inspiration till verket, och på samma sätt som hennes forskning inhämtar verket inspiration från samarbete och symbiotiska förhållanden.</p><p>Verket framförs av en stark nordisk arbetsgrupp inom samtidsmusik, scenkonst och bildkonst. Svenskarna Lise-Lotte Norelius (slagverk och elektronik), Anton Svanberg (tuba), Emil Skogh (kontrabas) och Jenny Kalliokulju (konstnär) tillsammans med finländarna Sini Onnen (vokalist) och Lauri Antti Mattilan/Lätsän (vokalist). Utöver dem uppträder på scenen en kör av varelser bestående av barn från Helsingfors.</p><p>Margulis and mud är en experimentell föreställning i regi av Essi Kausalaisen och med manus av Jenny Kalliokulju. Verket ifrågasätter traditionella framställningssätt genom att kombinera osannolika former, instrument och människor.</p><p>Det tvärkonstnärliga verket framförs i en scenbild som skapats av Jenny Kalliokulju (målningar & skulpturer) och Essi Kausalainen (textilier). Verkets språk är engelska.</p><p>Uruppförandet genomförs på Gamlasgården.</p><p>Verket genomförs med stöd av Nordisk kulturkontakt, Nordisk kulturfond, Centret för konstfrämjande, Uppslagsverket Finland samt Konestiftelsen.</p><p>Verkets längd: cirka 1 t 10 min.<br>Språk: Engelska<br>Åldersrekommendation: 12</p><p><b>Fullmäktige 150 år-fördel</b><br>Detta evenemang är avgiftsfritt för 7–19-åringar. Helsingfors stadsfullmäktige firar sitt 150-årsjubileum genom att erbjuda fantastiska avgiftsfria upplevelser för unga under 2025!</p><p>Lös ut en gratisbiljett <u><a href=\"https://www.lippu.fi/event/kanneltalo-helsingin-kaupunki-nuorisolippu-kanneltalo-19738721/?affiliate=FSF\">HÄR</a></u></p>",
                "en": "<p>Margulis and Mud is a polyphonic, multi-disciplinary, and – in many ways – unconstrained work about being together and seeing things differently.</p><p>The work combines experimental contemporary music, visual arts and a multi-generational cast of performers.</p><p>The work is inspired by evolutionary biologist Lynn Margulis and, like her research, draws on collaboration and symbiotic relationships.</p><p>The work features a strong Nordic team representing contemporary music, performing arts and visual arts: Swedes Lise-Lotte Norelius (percussion and electronics), Anton Svanberg (tuba), Emil Skogh (double bass) and Jenny Kalliokulju (painter) together with Finns Sini Onne (vocalist) and Lauri Antti Mattila/Lätsä (vocalist). They are joined on stage by a choir of organisms, which consists of children from Helsinki.</p><p>Margulis and Mud is an experimental performance directed by Essi Kausalainen and written by Jenny Kalliokulju. The work questions the traditional methods of performance by combining unlikely forms, instruments and people. The multi-disciplinary work is performed in a stage setting created by Jenny Kalliokulju (paintings & sculptures) and Essi Kausalainen (textiles). The language of the work is English.</p><p>The first performance will take place at Kanneltalo.</p><p>The work is funded by the Nordic Culture Point, the Nordic Culture Fund, the Finnish Cultural Foundation, the Arts Promotion Centre Finland and the Kone Foundation.</p><p>Duration of the work: approx. 1 h 10 min<br>Language: English<br>Age recommendation: 12+</p><p><b>Council 150 years</b><br>This event is free of charge for children and young people aged 7–19 years. The Helsinki City Council will celebrate its 150th anniversary by offering free benefits for young people in 2025!</p><p>Redeem your free ticket <u><a href=\"https://www.lippu.fi/event/kanneltalo-helsingin-kaupunki-nuorisolippu-kanneltalo-19738721/?affiliate=FSF\">HERE</a></u></p>"
            },
            "name": {
                "fi": "Margulis and Mud",
                "sv": "Margulis and Mud",
                "en": "Margulis and Mud"
            },
            "short_description": {
                "fi": "Margulis and Mud (Margulis ja Muta) on moniääninen, monitaiteinen ja monin tavoin vallaton teos kanssaolemisesta ja toisin näkemisestä.",
                "sv": "Margulis and mud (Margulis och leran) är ett flerstämmigt, tvärkonstnärligt och på många sätt ostyrigt verk om medmänsklighet och att se annorlunda på saker och ting.",
                "en": "Margulis and Mud is a polyphonic, multi-disciplinary, and – in many ways – unconstrained work about being together and seeing things differently."
            },
            "location_extra_info": null,
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/kulke:64983/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "helsinki:agld2vbrji",
            "has_user_editable_resources": true,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:41518/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p1278/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p316/?format=api"
                }
            ],
            "registration": null,
            "super_event": null,
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": {
                        "fi": ""
                    },
                    "description": null
                }
            ],
            "data_source": "helsinki",
            "publisher": "ahjo:u480400",
            "sub_events": [],
            "images": [
                {
                    "id": 545342,
                    "has_user_editable_resources": true,
                    "license": "event_only",
                    "license_url": "",
                    "created_time": "2025-04-16T06:09:33.974365Z",
                    "last_modified_time": "2025-04-16T06:10:48.208388Z",
                    "name": "testi",
                    "url": "https://linkedevents.api.test.hel.ninja/media/images/HelsinginKaupunki-Luonnontiedelukio-laura-oja.jpg",
                    "cropping": "358,0,1803,1444",
                    "photographer_name": "Laura Oja",
                    "alt_text": "testikuvaus.",
                    "data_source": "helsinki",
                    "publisher": "ahjo:u480400",
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/545342/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p4354/?format=api"
                }
            ],
            "created_time": "2025-04-16T06:40:50.039980Z",
            "last_modified_time": "2025-04-16T06:40:50.040001Z",
            "date_published": null,
            "start_time": "2025-04-16T06:00:00Z",
            "end_time": "2026-04-01T06:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": 4,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": {
                "fi": ""
            },
            "provider_contact_info": null,
            "provider": {
                "fi": ""
            },
            "description": {
                "fi": "<p>Tässä on jälleen uusi testi.</p><p>Laitan tähänkin&nbsp;</p><p>ei tuule nyt on tyyni nyt ja tuulikin on tyyntynyt.</p>"
            },
            "name": {
                "fi": "Silmälasikauppias ei ole sokea"
            },
            "short_description": {
                "fi": "Jos teen tapahtuman, löytääkö poc tämän. Ei siis kurssi."
            },
            "location_extra_info": {
                "fi": ""
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/helsinki:agld2vbrji/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "kulke:65839",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:7256/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:104/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:29/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:47/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:52/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:53/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:54/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:55/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/kulke:669/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p16919/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p39492/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p40387/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p5088/?format=api"
                }
            ],
            "registration": null,
            "super_event": null,
            "event_status": "EventRescheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "kulke",
            "publisher": "ahjo:u48040010",
            "sub_events": [],
            "images": [
                {
                    "id": 415913,
                    "has_user_editable_resources": false,
                    "license": "event_only",
                    "license_url": "",
                    "created_time": "2025-03-27T14:13:43.552542Z",
                    "last_modified_time": "2025-03-27T14:13:43.552561Z",
                    "name": "",
                    "url": "http://www.caisa.fi/instancedata/prime_product_resurssivaraus/kulke/embeds/EventPic_767596.jpg",
                    "cropping": "",
                    "photographer_name": null,
                    "alt_text": null,
                    "data_source": "kulke",
                    "publisher": "ahjo:u48040010",
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/415913/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-03-27T14:13:43.525853Z",
            "last_modified_time": "2025-04-15T17:13:27.266136Z",
            "date_published": null,
            "start_time": "2025-04-16T15:00:00Z",
            "end_time": null,
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": {
                "fi": "http://www.caisa.fi/fi/tapahtumat/event/CFB5BCAFA1E272D6BB3D0EB0039976F0/CaisaKallio_esittaa_kirjallista_ilmaisua_ja_elokuvia",
                "sv": "http://www.caisa.fi/sv/evenemang/event/CFB5BCAFA1E272D6BB3D0EB0039976F0/CaisaKallio_esittaa_kirjallista_ilmaisua_ja_elokuvia",
                "en": "http://www.caisa.fi/en/events/event/CFB5BCAFA1E272D6BB3D0EB0039976F0/CaisaKallio_esittaa_kirjallista_ilmaisua_ja_elokuvia"
            },
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>CaisaKalliossa nähdään keskiviikkona otteita kirjallisen ilmaisun lopputöistä sekä elokuva Muurahaiset.</p><p>Otteita kirjallisen ilmaisun lopputöistään lukevat Viola Parpala, Aura Silventoinen, Laura Siivari, Eevi Sommers ja Hilma Soukka.</p><p>”Kun näkyminen on niin paljon kuulumista kauniimpaa, voi kahvikupin asettaminen pöytää vasten yhtä hyvin olla hiukkaskiihdyttimen aikaansaama törmäys.”</p><p>”Jos nyt kaataisin valtavasta vedenkeittimestä kiehuvaa vettä meren repaleiselle jääpinnalle, se sulaisi auki silmien edessä ja kaikki näkisivät suoraan sen unisiin sisuksiin, suoraan mun kiehuvaan sydämeen.”</p><p>”Toiset harrastavat ranskalaisia viinejä ja toiset ranskalaisia suudelmia.”</p><p>”Tyttö ei kiirehdi, se aistii hetken olevan venyvä ja raukea, tuntee katseeni ihollaan ja antaa sen levätä siinä.”</p><p>”Nykyään minulla on vain painavat siivet, joilla räpiköin eteenpäin, yhden linnun aura.”</p><p>Elokuva <b>Muurahaiset</b> on Nelli Gustafssonin, Maini Marilan ja Lumia Pesosen median lukiodiplomi ja näyttelijä Olga Trnkan teatterin lukiodiplomi.</p><p>Kesto noin 1,5h</p>"
            },
            "name": {
                "fi": "CaisaKallio esittää: kirjallista ilmaisua ja elokuvia",
                "sv": "CaisaKallio esittää: kirjallista ilmaisua ja elokuvia",
                "en": "CaisaKallio esittää: kirjallista ilmaisua ja elokuvia"
            },
            "short_description": {
                "fi": "CaisaKalliossa nähdään keskiviikkona otteita kirjallisen ilmaisun lopputöistä sekä elokuva Muurahaiset."
            },
            "location_extra_info": null,
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/kulke:65839/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agmk23b7km",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p360/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p5121/?format=api"
                }
            ],
            "registration": null,
            "super_event": null,
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490374,
                    "has_user_editable_resources": false,
                    "license": "cc_by",
                    "license_url": "https://creativecommons.org/licenses/by/4.0/",
                    "created_time": "2025-04-15T13:18:37.427035Z",
                    "last_modified_time": "2025-04-15T13:18:37.427057Z",
                    "name": "",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/b9506cd2-719a-4cf2-a24c-b5f143876a04.png",
                    "cropping": "82,0,718,635",
                    "photographer_name": "",
                    "alt_text": "Tapio Lehtonen: Keramiikka, arte poveraa, valokuvia",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490374/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-15T13:26:37.723536Z",
            "last_modified_time": "2025-04-15T13:26:37.723555Z",
            "date_published": "2025-04-15T13:13:00Z",
            "start_time": "2025-04-27T07:00:00Z",
            "end_time": "2025-05-23T17:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Tapio Lehtosen keramiikkaa, arte poveraa, valokuvia esillä kirjaston ylemmän kerroksen Vitriinigalleriassa kirjaston aukioloaikoina.</p>",
                "sv": "<p>Tapio Lehtonens keramik, arte povera, fotografier visas på bibliotekets övre våningen under bibliotekets öppettider.</p>",
                "en": "<p>Tapio Lehtonen's ceramics, arte povera, photographs on display in the library's upper floor showcase gallery during library opening hours.</p>"
            },
            "name": {
                "fi": "Näyttely: Tapio Lehtonen: Keramiikkaa, arte poveraa, valokuvia",
                "sv": "Utställning: Tapio Lehtonen: Keramik, arte povera, fotografier",
                "en": "Exhibition:  Tapio Lehtonen: Ceramics, arte povera, photographs"
            },
            "short_description": {
                "fi": "Taidenäyttely",
                "sv": "Konstutställning",
                "en": "Art exhibition"
            },
            "location_extra_info": {
                "fi": "Vitriinigalleria (2. krs)",
                "sv": "Glasmonter (2:a våningen)",
                "en": "Showcase Gallery (2nd floor)"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23b7km/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agmk23b7ve",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p6062/?format=api"
                }
            ],
            "registration": null,
            "super_event": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cls4/?format=api"
            },
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490375,
                    "has_user_editable_resources": false,
                    "license": "cc_by",
                    "license_url": "https://creativecommons.org/licenses/by/4.0/",
                    "created_time": "2025-04-15T11:33:05.644082Z",
                    "last_modified_time": "2025-04-15T11:33:05.644098Z",
                    "name": "Ristikon ratkojia",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/4f6b4091-e996-4003-ad33-93b04137e81f.png",
                    "cropping": "420,0,1500,1080",
                    "photographer_name": "Merituuli Hemilä, kuvankäsittely Aleksi Tonteri",
                    "alt_text": "kolme mustavalkoista hahmoa istuu ja ratkoo ristikoita hymyillen",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490375/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-15T11:46:43.849743Z",
            "last_modified_time": "2025-04-15T11:46:43.849761Z",
            "date_published": null,
            "start_time": "2025-12-30T09:00:00Z",
            "end_time": "2025-12-30T10:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Tule kirjaston pajaan oman ristikkosi kanssa jakamaan ajatuksia ja ideoita muiden harrastajien kanssa. Ryhmä kokoontuu omatoimisesti ilman ohjausta.</p>",
                "sv": "<p>Kom till bibliotekets verkstad med ditt eget korsord för att utbyta idéer och tankar med andra entusiaster. Gruppen träffas på egen hand utan handledning.</p>",
                "en": "<p>Come to the library's workshop with your own crossword puzzle to share ideas and thoughts with other enthusiasts. The group meets on its own without guidance.</p>"
            },
            "name": {
                "fi": "Ristikon ratkojat ",
                "sv": "Lös korsord",
                "en": "Solve crosswords "
            },
            "short_description": {
                "fi": "Tule ratkomaan ristikoita muiden harrastajien kanssa",
                "sv": "Kom och lös korsord med andra entusiaster",
                "en": "Come and solve crosswords with other enthusiasts"
            },
            "location_extra_info": {
                "fi": "Paja",
                "sv": "Verkstad",
                "en": "Maker Space"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23b7ve/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agmk23caay",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p6062/?format=api"
                }
            ],
            "registration": null,
            "super_event": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cls4/?format=api"
            },
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490375,
                    "has_user_editable_resources": false,
                    "license": "cc_by",
                    "license_url": "https://creativecommons.org/licenses/by/4.0/",
                    "created_time": "2025-04-15T11:33:05.644082Z",
                    "last_modified_time": "2025-04-15T11:33:05.644098Z",
                    "name": "Ristikon ratkojia",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/4f6b4091-e996-4003-ad33-93b04137e81f.png",
                    "cropping": "420,0,1500,1080",
                    "photographer_name": "Merituuli Hemilä, kuvankäsittely Aleksi Tonteri",
                    "alt_text": "kolme mustavalkoista hahmoa istuu ja ratkoo ristikoita hymyillen",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490375/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-15T11:46:43.734972Z",
            "last_modified_time": "2025-04-15T11:46:43.734991Z",
            "date_published": null,
            "start_time": "2025-12-23T09:00:00Z",
            "end_time": "2025-12-23T10:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Tule kirjaston pajaan oman ristikkosi kanssa jakamaan ajatuksia ja ideoita muiden harrastajien kanssa. Ryhmä kokoontuu omatoimisesti ilman ohjausta.</p>",
                "sv": "<p>Kom till bibliotekets verkstad med ditt eget korsord för att utbyta idéer och tankar med andra entusiaster. Gruppen träffas på egen hand utan handledning.</p>",
                "en": "<p>Come to the library's workshop with your own crossword puzzle to share ideas and thoughts with other enthusiasts. The group meets on its own without guidance.</p>"
            },
            "name": {
                "fi": "Ristikon ratkojat ",
                "sv": "Lös korsord",
                "en": "Solve crosswords "
            },
            "short_description": {
                "fi": "Tule ratkomaan ristikoita muiden harrastajien kanssa",
                "sv": "Kom och lös korsord med andra entusiaster",
                "en": "Come and solve crosswords with other enthusiasts"
            },
            "location_extra_info": {
                "fi": "Paja",
                "sv": "Verkstad",
                "en": "Maker Space"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23caay/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agmk23cama",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p6062/?format=api"
                }
            ],
            "registration": null,
            "super_event": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cls4/?format=api"
            },
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490375,
                    "has_user_editable_resources": false,
                    "license": "cc_by",
                    "license_url": "https://creativecommons.org/licenses/by/4.0/",
                    "created_time": "2025-04-15T11:33:05.644082Z",
                    "last_modified_time": "2025-04-15T11:33:05.644098Z",
                    "name": "Ristikon ratkojia",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/4f6b4091-e996-4003-ad33-93b04137e81f.png",
                    "cropping": "420,0,1500,1080",
                    "photographer_name": "Merituuli Hemilä, kuvankäsittely Aleksi Tonteri",
                    "alt_text": "kolme mustavalkoista hahmoa istuu ja ratkoo ristikoita hymyillen",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490375/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-15T11:46:43.634502Z",
            "last_modified_time": "2025-04-15T11:46:43.634518Z",
            "date_published": null,
            "start_time": "2025-12-16T09:00:00Z",
            "end_time": "2025-12-16T10:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Tule kirjaston pajaan oman ristikkosi kanssa jakamaan ajatuksia ja ideoita muiden harrastajien kanssa. Ryhmä kokoontuu omatoimisesti ilman ohjausta.</p>",
                "sv": "<p>Kom till bibliotekets verkstad med ditt eget korsord för att utbyta idéer och tankar med andra entusiaster. Gruppen träffas på egen hand utan handledning.</p>",
                "en": "<p>Come to the library's workshop with your own crossword puzzle to share ideas and thoughts with other enthusiasts. The group meets on its own without guidance.</p>"
            },
            "name": {
                "fi": "Ristikon ratkojat ",
                "sv": "Lös korsord",
                "en": "Solve crosswords "
            },
            "short_description": {
                "fi": "Tule ratkomaan ristikoita muiden harrastajien kanssa",
                "sv": "Kom och lös korsord med andra entusiaster",
                "en": "Come and solve crosswords with other enthusiasts"
            },
            "location_extra_info": {
                "fi": "Paja",
                "sv": "Verkstad",
                "en": "Maker Space"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cama/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agmk23caxi",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p6062/?format=api"
                }
            ],
            "registration": null,
            "super_event": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cls4/?format=api"
            },
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490375,
                    "has_user_editable_resources": false,
                    "license": "cc_by",
                    "license_url": "https://creativecommons.org/licenses/by/4.0/",
                    "created_time": "2025-04-15T11:33:05.644082Z",
                    "last_modified_time": "2025-04-15T11:33:05.644098Z",
                    "name": "Ristikon ratkojia",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/4f6b4091-e996-4003-ad33-93b04137e81f.png",
                    "cropping": "420,0,1500,1080",
                    "photographer_name": "Merituuli Hemilä, kuvankäsittely Aleksi Tonteri",
                    "alt_text": "kolme mustavalkoista hahmoa istuu ja ratkoo ristikoita hymyillen",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490375/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-15T11:46:43.520481Z",
            "last_modified_time": "2025-04-15T11:46:43.520498Z",
            "date_published": null,
            "start_time": "2025-12-09T09:00:00Z",
            "end_time": "2025-12-09T10:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Tule kirjaston pajaan oman ristikkosi kanssa jakamaan ajatuksia ja ideoita muiden harrastajien kanssa. Ryhmä kokoontuu omatoimisesti ilman ohjausta.</p>",
                "sv": "<p>Kom till bibliotekets verkstad med ditt eget korsord för att utbyta idéer och tankar med andra entusiaster. Gruppen träffas på egen hand utan handledning.</p>",
                "en": "<p>Come to the library's workshop with your own crossword puzzle to share ideas and thoughts with other enthusiasts. The group meets on its own without guidance.</p>"
            },
            "name": {
                "fi": "Ristikon ratkojat ",
                "sv": "Lös korsord",
                "en": "Solve crosswords "
            },
            "short_description": {
                "fi": "Tule ratkomaan ristikoita muiden harrastajien kanssa",
                "sv": "Kom och lös korsord med andra entusiaster",
                "en": "Come and solve crosswords with other enthusiasts"
            },
            "location_extra_info": {
                "fi": "Paja",
                "sv": "Verkstad",
                "en": "Maker Space"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23caxi/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agmk23cbci",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p6062/?format=api"
                }
            ],
            "registration": null,
            "super_event": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cls4/?format=api"
            },
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490375,
                    "has_user_editable_resources": false,
                    "license": "cc_by",
                    "license_url": "https://creativecommons.org/licenses/by/4.0/",
                    "created_time": "2025-04-15T11:33:05.644082Z",
                    "last_modified_time": "2025-04-15T11:33:05.644098Z",
                    "name": "Ristikon ratkojia",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/4f6b4091-e996-4003-ad33-93b04137e81f.png",
                    "cropping": "420,0,1500,1080",
                    "photographer_name": "Merituuli Hemilä, kuvankäsittely Aleksi Tonteri",
                    "alt_text": "kolme mustavalkoista hahmoa istuu ja ratkoo ristikoita hymyillen",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490375/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-15T11:46:43.417779Z",
            "last_modified_time": "2025-04-15T11:46:43.417795Z",
            "date_published": null,
            "start_time": "2025-12-02T09:00:00Z",
            "end_time": "2025-12-02T10:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Tule kirjaston pajaan oman ristikkosi kanssa jakamaan ajatuksia ja ideoita muiden harrastajien kanssa. Ryhmä kokoontuu omatoimisesti ilman ohjausta.</p>",
                "sv": "<p>Kom till bibliotekets verkstad med ditt eget korsord för att utbyta idéer och tankar med andra entusiaster. Gruppen träffas på egen hand utan handledning.</p>",
                "en": "<p>Come to the library's workshop with your own crossword puzzle to share ideas and thoughts with other enthusiasts. The group meets on its own without guidance.</p>"
            },
            "name": {
                "fi": "Ristikon ratkojat ",
                "sv": "Lös korsord",
                "en": "Solve crosswords "
            },
            "short_description": {
                "fi": "Tule ratkomaan ristikoita muiden harrastajien kanssa",
                "sv": "Kom och lös korsord med andra entusiaster",
                "en": "Come and solve crosswords with other enthusiasts"
            },
            "location_extra_info": {
                "fi": "Paja",
                "sv": "Verkstad",
                "en": "Maker Space"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cbci/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agmk23cbnm",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p6062/?format=api"
                }
            ],
            "registration": null,
            "super_event": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cls4/?format=api"
            },
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490375,
                    "has_user_editable_resources": false,
                    "license": "cc_by",
                    "license_url": "https://creativecommons.org/licenses/by/4.0/",
                    "created_time": "2025-04-15T11:33:05.644082Z",
                    "last_modified_time": "2025-04-15T11:33:05.644098Z",
                    "name": "Ristikon ratkojia",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/4f6b4091-e996-4003-ad33-93b04137e81f.png",
                    "cropping": "420,0,1500,1080",
                    "photographer_name": "Merituuli Hemilä, kuvankäsittely Aleksi Tonteri",
                    "alt_text": "kolme mustavalkoista hahmoa istuu ja ratkoo ristikoita hymyillen",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490375/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-15T11:46:43.313683Z",
            "last_modified_time": "2025-04-15T11:46:43.313699Z",
            "date_published": null,
            "start_time": "2025-11-25T09:00:00Z",
            "end_time": "2025-11-25T10:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Tule kirjaston pajaan oman ristikkosi kanssa jakamaan ajatuksia ja ideoita muiden harrastajien kanssa. Ryhmä kokoontuu omatoimisesti ilman ohjausta.</p>",
                "sv": "<p>Kom till bibliotekets verkstad med ditt eget korsord för att utbyta idéer och tankar med andra entusiaster. Gruppen träffas på egen hand utan handledning.</p>",
                "en": "<p>Come to the library's workshop with your own crossword puzzle to share ideas and thoughts with other enthusiasts. The group meets on its own without guidance.</p>"
            },
            "name": {
                "fi": "Ristikon ratkojat ",
                "sv": "Lös korsord",
                "en": "Solve crosswords "
            },
            "short_description": {
                "fi": "Tule ratkomaan ristikoita muiden harrastajien kanssa",
                "sv": "Kom och lös korsord med andra entusiaster",
                "en": "Come and solve crosswords with other enthusiasts"
            },
            "location_extra_info": {
                "fi": "Paja",
                "sv": "Verkstad",
                "en": "Maker Space"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cbnm/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agmk23cbze",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p6062/?format=api"
                }
            ],
            "registration": null,
            "super_event": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cls4/?format=api"
            },
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490375,
                    "has_user_editable_resources": false,
                    "license": "cc_by",
                    "license_url": "https://creativecommons.org/licenses/by/4.0/",
                    "created_time": "2025-04-15T11:33:05.644082Z",
                    "last_modified_time": "2025-04-15T11:33:05.644098Z",
                    "name": "Ristikon ratkojia",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/4f6b4091-e996-4003-ad33-93b04137e81f.png",
                    "cropping": "420,0,1500,1080",
                    "photographer_name": "Merituuli Hemilä, kuvankäsittely Aleksi Tonteri",
                    "alt_text": "kolme mustavalkoista hahmoa istuu ja ratkoo ristikoita hymyillen",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490375/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-15T11:46:43.211203Z",
            "last_modified_time": "2025-04-15T11:46:43.211249Z",
            "date_published": null,
            "start_time": "2025-11-18T09:00:00Z",
            "end_time": "2025-11-18T10:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Tule kirjaston pajaan oman ristikkosi kanssa jakamaan ajatuksia ja ideoita muiden harrastajien kanssa. Ryhmä kokoontuu omatoimisesti ilman ohjausta.</p>",
                "sv": "<p>Kom till bibliotekets verkstad med ditt eget korsord för att utbyta idéer och tankar med andra entusiaster. Gruppen träffas på egen hand utan handledning.</p>",
                "en": "<p>Come to the library's workshop with your own crossword puzzle to share ideas and thoughts with other enthusiasts. The group meets on its own without guidance.</p>"
            },
            "name": {
                "fi": "Ristikon ratkojat ",
                "sv": "Lös korsord",
                "en": "Solve crosswords "
            },
            "short_description": {
                "fi": "Tule ratkomaan ristikoita muiden harrastajien kanssa",
                "sv": "Kom och lös korsord med andra entusiaster",
                "en": "Come and solve crosswords with other enthusiasts"
            },
            "location_extra_info": {
                "fi": "Paja",
                "sv": "Verkstad",
                "en": "Maker Space"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cbze/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agmk23ccey",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p6062/?format=api"
                }
            ],
            "registration": null,
            "super_event": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cls4/?format=api"
            },
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490375,
                    "has_user_editable_resources": false,
                    "license": "cc_by",
                    "license_url": "https://creativecommons.org/licenses/by/4.0/",
                    "created_time": "2025-04-15T11:33:05.644082Z",
                    "last_modified_time": "2025-04-15T11:33:05.644098Z",
                    "name": "Ristikon ratkojia",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/4f6b4091-e996-4003-ad33-93b04137e81f.png",
                    "cropping": "420,0,1500,1080",
                    "photographer_name": "Merituuli Hemilä, kuvankäsittely Aleksi Tonteri",
                    "alt_text": "kolme mustavalkoista hahmoa istuu ja ratkoo ristikoita hymyillen",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490375/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-15T11:46:43.106768Z",
            "last_modified_time": "2025-04-15T11:46:43.106785Z",
            "date_published": null,
            "start_time": "2025-11-11T09:00:00Z",
            "end_time": "2025-11-11T10:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Tule kirjaston pajaan oman ristikkosi kanssa jakamaan ajatuksia ja ideoita muiden harrastajien kanssa. Ryhmä kokoontuu omatoimisesti ilman ohjausta.</p>",
                "sv": "<p>Kom till bibliotekets verkstad med ditt eget korsord för att utbyta idéer och tankar med andra entusiaster. Gruppen träffas på egen hand utan handledning.</p>",
                "en": "<p>Come to the library's workshop with your own crossword puzzle to share ideas and thoughts with other enthusiasts. The group meets on its own without guidance.</p>"
            },
            "name": {
                "fi": "Ristikon ratkojat ",
                "sv": "Lös korsord",
                "en": "Solve crosswords "
            },
            "short_description": {
                "fi": "Tule ratkomaan ristikoita muiden harrastajien kanssa",
                "sv": "Kom och lös korsord med andra entusiaster",
                "en": "Come and solve crosswords with other enthusiasts"
            },
            "location_extra_info": {
                "fi": "Paja",
                "sv": "Verkstad",
                "en": "Maker Space"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23ccey/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agmk23ccqm",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p6062/?format=api"
                }
            ],
            "registration": null,
            "super_event": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cls4/?format=api"
            },
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490375,
                    "has_user_editable_resources": false,
                    "license": "cc_by",
                    "license_url": "https://creativecommons.org/licenses/by/4.0/",
                    "created_time": "2025-04-15T11:33:05.644082Z",
                    "last_modified_time": "2025-04-15T11:33:05.644098Z",
                    "name": "Ristikon ratkojia",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/4f6b4091-e996-4003-ad33-93b04137e81f.png",
                    "cropping": "420,0,1500,1080",
                    "photographer_name": "Merituuli Hemilä, kuvankäsittely Aleksi Tonteri",
                    "alt_text": "kolme mustavalkoista hahmoa istuu ja ratkoo ristikoita hymyillen",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490375/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-15T11:46:42.996595Z",
            "last_modified_time": "2025-04-15T11:46:42.996613Z",
            "date_published": null,
            "start_time": "2025-11-04T09:00:00Z",
            "end_time": "2025-11-04T10:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Tule kirjaston pajaan oman ristikkosi kanssa jakamaan ajatuksia ja ideoita muiden harrastajien kanssa. Ryhmä kokoontuu omatoimisesti ilman ohjausta.</p>",
                "sv": "<p>Kom till bibliotekets verkstad med ditt eget korsord för att utbyta idéer och tankar med andra entusiaster. Gruppen träffas på egen hand utan handledning.</p>",
                "en": "<p>Come to the library's workshop with your own crossword puzzle to share ideas and thoughts with other enthusiasts. The group meets on its own without guidance.</p>"
            },
            "name": {
                "fi": "Ristikon ratkojat ",
                "sv": "Lös korsord",
                "en": "Solve crosswords "
            },
            "short_description": {
                "fi": "Tule ratkomaan ristikoita muiden harrastajien kanssa",
                "sv": "Kom och lös korsord med andra entusiaster",
                "en": "Come and solve crosswords with other enthusiasts"
            },
            "location_extra_info": {
                "fi": "Paja",
                "sv": "Verkstad",
                "en": "Maker Space"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23ccqm/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agmk23cc3u",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p6062/?format=api"
                }
            ],
            "registration": null,
            "super_event": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cls4/?format=api"
            },
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490375,
                    "has_user_editable_resources": false,
                    "license": "cc_by",
                    "license_url": "https://creativecommons.org/licenses/by/4.0/",
                    "created_time": "2025-04-15T11:33:05.644082Z",
                    "last_modified_time": "2025-04-15T11:33:05.644098Z",
                    "name": "Ristikon ratkojia",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/4f6b4091-e996-4003-ad33-93b04137e81f.png",
                    "cropping": "420,0,1500,1080",
                    "photographer_name": "Merituuli Hemilä, kuvankäsittely Aleksi Tonteri",
                    "alt_text": "kolme mustavalkoista hahmoa istuu ja ratkoo ristikoita hymyillen",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490375/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-15T11:46:42.886339Z",
            "last_modified_time": "2025-04-15T11:46:42.886357Z",
            "date_published": null,
            "start_time": "2025-10-28T09:00:00Z",
            "end_time": "2025-10-28T10:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Tule kirjaston pajaan oman ristikkosi kanssa jakamaan ajatuksia ja ideoita muiden harrastajien kanssa. Ryhmä kokoontuu omatoimisesti ilman ohjausta.</p>",
                "sv": "<p>Kom till bibliotekets verkstad med ditt eget korsord för att utbyta idéer och tankar med andra entusiaster. Gruppen träffas på egen hand utan handledning.</p>",
                "en": "<p>Come to the library's workshop with your own crossword puzzle to share ideas and thoughts with other enthusiasts. The group meets on its own without guidance.</p>"
            },
            "name": {
                "fi": "Ristikon ratkojat ",
                "sv": "Lös korsord",
                "en": "Solve crosswords "
            },
            "short_description": {
                "fi": "Tule ratkomaan ristikoita muiden harrastajien kanssa",
                "sv": "Kom och lös korsord med andra entusiaster",
                "en": "Come and solve crosswords with other enthusiasts"
            },
            "location_extra_info": {
                "fi": "Paja",
                "sv": "Verkstad",
                "en": "Maker Space"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cc3u/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agmk23cdgu",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p6062/?format=api"
                }
            ],
            "registration": null,
            "super_event": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cls4/?format=api"
            },
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490375,
                    "has_user_editable_resources": false,
                    "license": "cc_by",
                    "license_url": "https://creativecommons.org/licenses/by/4.0/",
                    "created_time": "2025-04-15T11:33:05.644082Z",
                    "last_modified_time": "2025-04-15T11:33:05.644098Z",
                    "name": "Ristikon ratkojia",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/4f6b4091-e996-4003-ad33-93b04137e81f.png",
                    "cropping": "420,0,1500,1080",
                    "photographer_name": "Merituuli Hemilä, kuvankäsittely Aleksi Tonteri",
                    "alt_text": "kolme mustavalkoista hahmoa istuu ja ratkoo ristikoita hymyillen",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490375/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-15T11:46:42.781241Z",
            "last_modified_time": "2025-04-15T11:46:42.781257Z",
            "date_published": null,
            "start_time": "2025-10-21T08:00:00Z",
            "end_time": "2025-10-21T09:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Tule kirjaston pajaan oman ristikkosi kanssa jakamaan ajatuksia ja ideoita muiden harrastajien kanssa. Ryhmä kokoontuu omatoimisesti ilman ohjausta.</p>",
                "sv": "<p>Kom till bibliotekets verkstad med ditt eget korsord för att utbyta idéer och tankar med andra entusiaster. Gruppen träffas på egen hand utan handledning.</p>",
                "en": "<p>Come to the library's workshop with your own crossword puzzle to share ideas and thoughts with other enthusiasts. The group meets on its own without guidance.</p>"
            },
            "name": {
                "fi": "Ristikon ratkojat ",
                "sv": "Lös korsord",
                "en": "Solve crosswords "
            },
            "short_description": {
                "fi": "Tule ratkomaan ristikoita muiden harrastajien kanssa",
                "sv": "Kom och lös korsord med andra entusiaster",
                "en": "Come and solve crosswords with other enthusiasts"
            },
            "location_extra_info": {
                "fi": "Paja",
                "sv": "Verkstad",
                "en": "Maker Space"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cdgu/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        },
        {
            "id": "espoo_le:agmk23cdse",
            "has_user_editable_resources": false,
            "location": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15417/?format=api"
            },
            "keywords": [
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/espoo_le:agggfz66oi/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p2787/?format=api"
                },
                {
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/keyword/yso:p6062/?format=api"
                }
            ],
            "registration": null,
            "super_event": {
                "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cls4/?format=api"
            },
            "event_status": "EventScheduled",
            "type_id": "General",
            "external_links": [],
            "offers": [
                {
                    "is_free": true,
                    "offer_price_groups": [],
                    "price": null,
                    "info_url": null,
                    "description": null
                }
            ],
            "data_source": "espoo_le",
            "publisher": "espoo:sito",
            "sub_events": [],
            "images": [
                {
                    "id": 1490375,
                    "has_user_editable_resources": false,
                    "license": "cc_by",
                    "license_url": "https://creativecommons.org/licenses/by/4.0/",
                    "created_time": "2025-04-15T11:33:05.644082Z",
                    "last_modified_time": "2025-04-15T11:33:05.644098Z",
                    "name": "Ristikon ratkojia",
                    "url": "https://tapahtumasyotto.espoo.fi/media/images/4f6b4091-e996-4003-ad33-93b04137e81f.png",
                    "cropping": "420,0,1500,1080",
                    "photographer_name": "Merituuli Hemilä, kuvankäsittely Aleksi Tonteri",
                    "alt_text": "kolme mustavalkoista hahmoa istuu ja ratkoo ristikoita hymyillen",
                    "data_source": "espoo_le",
                    "publisher": null,
                    "@id": "https://linkedevents.api.test.hel.ninja/v1/image/1490375/?format=api",
                    "@context": "http://schema.org",
                    "@type": "ImageObject"
                }
            ],
            "videos": [],
            "in_language": [],
            "audience": [],
            "created_time": "2025-04-15T11:46:42.666204Z",
            "last_modified_time": "2025-04-15T11:46:42.666220Z",
            "date_published": null,
            "start_time": "2025-10-14T08:00:00Z",
            "end_time": "2025-10-14T09:00:00Z",
            "custom_data": null,
            "environmental_certificate": null,
            "environment": null,
            "audience_min_age": null,
            "audience_max_age": null,
            "super_event_type": null,
            "deleted": false,
            "maximum_attendee_capacity": null,
            "minimum_attendee_capacity": null,
            "enrolment_start_time": null,
            "enrolment_end_time": null,
            "local": false,
            "replaced_by": null,
            "info_url": null,
            "provider_contact_info": null,
            "provider": null,
            "description": {
                "fi": "<p>Tule kirjaston pajaan oman ristikkosi kanssa jakamaan ajatuksia ja ideoita muiden harrastajien kanssa. Ryhmä kokoontuu omatoimisesti ilman ohjausta.</p>",
                "sv": "<p>Kom till bibliotekets verkstad med ditt eget korsord för att utbyta idéer och tankar med andra entusiaster. Gruppen träffas på egen hand utan handledning.</p>",
                "en": "<p>Come to the library's workshop with your own crossword puzzle to share ideas and thoughts with other enthusiasts. The group meets on its own without guidance.</p>"
            },
            "name": {
                "fi": "Ristikon ratkojat ",
                "sv": "Lös korsord",
                "en": "Solve crosswords "
            },
            "short_description": {
                "fi": "Tule ratkomaan ristikoita muiden harrastajien kanssa",
                "sv": "Kom och lös korsord med andra entusiaster",
                "en": "Come and solve crosswords with other enthusiasts"
            },
            "location_extra_info": {
                "fi": "Paja",
                "sv": "Verkstad",
                "en": "Maker Space"
            },
            "@id": "https://linkedevents.api.test.hel.ninja/v1/event/espoo_le:agmk23cdse/?format=api",
            "@context": "http://schema.org",
            "@type": "Event/LinkedEvent"
        }
    ]
}