# Reference

<!-- GENERATED by scripts/generate-api-reference.js from docs/graphql-schema.graphql. Do not edit by hand. -->

Every type of the GraphQL API of Tysnes Kalender, with the descriptions the server itself carries.
The same schema is available verbatim as [schema.graphql](https://hvaskjer-staging.web.app/utviklere/schema.graphql) and through
introspection at `https://hvaskjer-staging.web.app/graphQL`. How to use it — dates, identifiers, pagination, errors — is on
the [API page](/utviklere/api).

Category ids are per licence: where a description says `<CATEGORY_IDS>`, the list for this calendar is
the one `categories` returns (also printed on the API page).

There is no `Mutation` type: the API is read-only.

## Query

### `events(filter: Filter, page: Int, pageSize: Int): EventConnection`

Get all the events that match the criteria on the filter. Page (default 0) and pageSize (default 10) are optional for pagination.

| Argument | Type | Description |
|---|---|---|
| `filter` | `Filter` |  |
| `page` | `Int` |  |
| `pageSize` | `Int` |  |

### `eventByID(eventID: String!): Event`

Get an event by the event ID

| Argument | Type | Description |
|---|---|---|
| `eventID` | `String!` |  |

### `eventsBySlugs(eventsSlugs: [String]!): [Event]`

Get events by their event slugs

| Argument | Type | Description |
|---|---|---|
| `eventsSlugs` | `[String]!` |  |

### `eventBySlug(eventSlug: String!): Event`

Get an event by the event slug (unique identifier that appears on the URL)

| Argument | Type | Description |
|---|---|---|
| `eventSlug` | `String!` |  |

### `eventByTitle(title: String!, lan: String!): Event`

Get an event by title. 'lan' values are 'nb' or 'en'

| Argument | Type | Description |
|---|---|---|
| `title` | `String!` |  |
| `lan` | `String!` |  |

### `allUpcomingSuperEvents: [Event]`

Get all the upcomming (or happening) super events

### `allUpcomingEventsInArea(minLatitude: Float!, maxLatitude: Float!, minLongitude: Float!, maxLongitude: Float!): [Event]`

Get all the upcoming events taking place in one square area.

| Argument | Type | Description |
|---|---|---|
| `minLatitude` | `Float!` |  |
| `maxLatitude` | `Float!` |  |
| `minLongitude` | `Float!` |  |
| `maxLongitude` | `Float!` |  |

### `categories: [Category]`

Get all the categories

### `venues: [Venue]`

Get all the venues

### `organizers: [Organizer]`

Get all the organizers

## type CategoriesInfo

| Field | Type | Description |
|---|---|---|
| `category` | `String` |  |
| `hits` | `Int` |  |

## type Category

| Field | Type | Description |
|---|---|---|
| `id` | `ID` |  |
| `name_en` | `String` |  |
| `name_nb` | `String` |  |
| `slug_en` | `String` |  |
| `slug_nb` | `String` |  |
| `visible` | `Boolean` |  |
| `subcategories` | `[Category]` |  |

## type Event

| Field | Type | Description |
|---|---|---|
| `activeTickets` | `Int` | Total number of currently active tickets in case the event has bookings available |
| `ageRestriction` | `String!` | Possible values: no-restriction, minimum-age or maximum-age |
| `availableTickets` | `Int` | Number of available tickets for an event |
| `author_id` | `ID!` | ID of the user who created the event |
| `cancellationPeriod` | `Int` | Number of days before the event starts for cancelling a ticket |
| `categories` | `[String]!` | Categories of the event |
| `created_at` | `String` | Creation date of the event instance in ISO format. Example: 2020-10-21 23:00:00+00 |
| `desc_en` | `String` | Description of the event in English. It may be null or empty |
| `desc_nb` | `String` | Description of the event in Norwegian. It may be null or empty |
| `duration` | `Int` | Duration of the event in minutes |
| `editableBy` | `String` | Permissions to edit the event. Possible values: only-me or a Team ID |
| `embeddedVideoURL` | `String` | Video URL from Youtube or Vimeo to be embedded in the event details page |
| `endDate` | `String!` | End date and time of the event instance, in Norwegian local time with the UTC offset that applies ON THAT DATE: +02:00 during summer time, +01:00 during winter time. Format: YYYY-MM-DD HH:mm:ss+HH:mm — note the SPACE separator, this is not RFC 3339, so a strict ISO parser will reject it. Render it in Europe/Oslo; formatting it in the server's own zone shifts the clock and the shift changes at each daylight-saving switch. Example: 2026-11-01 10:00:00+01:00 |
| `eventCancelled` | `Boolean` | Indicates if the event is cancelled or not |
| `eventSoldOut` | `Boolean` | Indicates if the event is sold out or not |
| `event_slug` | `String!` | Event slug. It is used to build the event link |
| `eventLink` | `String!` | Link of the event |
| `eventVMFest` | `Boolean` | DEPRECATED: Use isFeaturedSpecialEvent instead. Always returns false. |
| `facebookURL` | `String` | Facebook event URL |
| `id` | `ID!` | Unique id of the event |
| `images` | `[Image]` | Images of the event |
| `isImported` | `Boolean` | True when the event was imported from an external feed. Lets aggregators skip re-ingesting feed-imported events (feedback-loop guard) without exposing internal feed ids. Human-created events synced from another HSK calendar are NOT flagged. |
| `isFeaturedEvent` | `Boolean` | Indicates if the event was set as featured by the creator |
| `isFeaturedSpecialEvent` | `Boolean` | Indicates if the event is featured in any special event |
| `isFeaturedVMFestEvent` | `Boolean` | DEPRECATED: Use isFeaturedSpecialEvent instead. Maps to isFeaturedSpecialEvent for backward compatibility. |
| `maximumAge` | `Int` | Maximum age (in years) for the event entrance |
| `minimumAge` | `Int` | Minimum age (in years) for the event entrance |
| `maxBookingDate` | `String` | Maximum date for ordering tickets (nullable) |
| `maxBookingTime` | `String` | Maximum time for ordering tickets (HH:mm format) |
| `mode` | `String` | Indicates the event mode. Possible values: offline or online |
| `moreInfoURL` | `String` | Event URL for more information |
| `organizers` | `[Organizer]!` | Organizer(s) of the event |
| `paymentMethod` | `String` | Payment method accepted for the tickets of an event: door or invoice |
| `publishingDate` | `String` | Publishing date of the event instance in ISO format. Example: 2020-10-21 23:00:00+00 |
| `prices` | `[Price]` | Prices for the event in case it is not gratis |
| `registrationEnabled` | `Boolean` | Wether if the users can register within this website or not |
| `repetitions` | `[Repetition]` | Repetitions of an event |
| `startDate` | `String!` | Start date and time of the event instance, in Norwegian local time with the UTC offset that applies ON THAT DATE: +02:00 during summer time, +01:00 during winter time. Format: YYYY-MM-DD HH:mm:ss+HH:mm — note the SPACE separator, this is not RFC 3339, so a strict ISO parser will reject it. Render it in Europe/Oslo; formatting it in the server's own zone shifts the clock and the shift changes at each daylight-saving switch. For the wall-clock time alone, use startTime. Example: 2026-11-01 10:00:00+01:00 |
| `startTime` | `String` | Start time of the event instance. Example: 14:00 |
| `streamingURL` | `String` | URL for the streaming of an online event |
| `super_event` | `String` | ID of the super (container) event if it exists (a festival, a market, etc.) |
| `tags` | `String` | Tags or key words related to the event (comma separated values) |
| `ticketsFromDate` | `String` | Date for which the tickets are open to the public |
| `ticketsFromTime` | `String` | Time for which the tickets are open to the public |
| `ticketsInformation` | `String` | Information about the tickets of the event. Possible values: 'free', 'noTicketsInfo' or 'ticketsInfo' |
| `ticketsURL` | `String` | URL for buying tickets of the event |
| `title_en` | `String` | Title of the event in English. It may be null or empty |
| `title_nb` | `String!` | Title of the event in Norwegian |
| `translationMeta` | `TranslationMeta` | Metadata about which fields were auto-translated |
| `type` | `String` | Type of the event. Possible values: orphan, has-super or super-event |
| `updated_at` | `String` | Last update datetime of the event instance in ISO format. Example: 2020-10-21 23:00:00+00 |
| `venue` | `Venue` | Venue of the event. It may be null if the event is online |
| `venueNote` | `String` | Relevant information concerning the venue of the event |
| `videosURL` | `String` | URL for videos of the event. |
| `views` | `Int` | Views of the event. |

## type EventConnection

| Field | Type | Description |
|---|---|---|
| `totalCount` | `Int` |  |
| `hasMore` | `Boolean` |  |
| `data` | `[Event]` |  |
| `pageInfo` | `PageInfo` |  |
| `venues` | `[VenuesInfo]` |  |
| `organizers` | `[OrganizersInfo]` |  |
| `categories` | `[CategoriesInfo]` |  |

## input Filter

| Field | Type | Description |
|---|---|---|
| `categories` | `[String]` | Events with any of the given categories. Empty array is equivalent to all the categories. Possible values: <CATEGORY_IDS: per-tenant, see assets/data/categories.json> |
| `fromDate` | `String` | Events taking place during such date and later. Defaults to current datetime. Format: YYYY-MM-DD HH:mm:ss+ZZ (2020-09-16 23:00:00+00) |
| `untilDate` | `String` | Events taking place until such date and an earlier. Defaults to empty. Format: YYYY-MM-DD HH:mm:ss+ZZ (2020-09-16 23:00:00+00) |
| `fromStartDate` | `String` | Events starting on that date and time or later. Defaults to empty. Format: YYYY-MM-DD HH:mm:ss+ZZ (2020-09-16 23:00:00+00) |
| `mode` | `String` | Events with the given mode: online or offline |
| `organizers` | `[String]` | Events for the given organizers slugs |
| `organizerSlug` | `String` | Events for the given organizer slug |
| `sortBy` | `String` | Sorting of the result. Possible values: 'date' or 'popularity'. Default: 'popularity' - DEPRECATED: only chronological order is supported **Deprecated:** Only chronological order is supported |
| `searchTerm` | `String` | Events for the given search term. |
| `superEvent` | `String` | ID of the super (container) event (a festival, a market, etc.) |
| `venues` | `[String]` | Events taken place in the given venues slugs |
| `venueSlug` | `String` | Events taken place in the given venueSlug |
| `onlyFeatured` | `Boolean` | Set to true if you only want the featured events. Default: false |
| `onlyFeaturedSpecialEvent` | `Boolean` | Set to true if you only want featured events from a special event. Default: false |
| `notCategories` | `[String]` | Events with none of the given categories. Possible values: <CATEGORY_IDS: per-tenant, see assets/data/categories.json> |
| `tag` | `String` | Keyword associated with an event |
| `cancelledNotIncluded` | `Boolean` | Set to true if you do not want the cancelled events. Default: false |
| `soldOutNotIncluded` | `Boolean` | Set to true if you do not want the sold out events. Default: false |
| `hoursRange` | `String` | Hours range for the events to be filtered. Default to empty. Format: HH:mm-HH:mm (16:00-22:00) |
| `groupRepetitionsByDay` | `Boolean` | If true, it will return the repetitions taking place different days as single events |
| `municipality` | `String` | Filter events by municipality/kommune |
| `postalCodes` | `[String]` | Filter events by postal codes (zip codes) - array of strings |
| `onlyFeaturedVMFest` | `Boolean` | DEPRECATED: Use onlyFeaturedSpecialEvent instead. Set to true if you only want featured VM Fest events |
| `onlyVMFest` | `Boolean` | DEPRECATED: Use superEvent filter instead. Set to true if you only want VM Fest events |

## type Image

| Field | Type | Description |
|---|---|---|
| `alt` | `String` |  |
| `caption` | `String` |  |
| `credits` | `String` |  |
| `urlLarge` | `String` |  |
| `urlSmall` | `String` |  |
| `urlOriginal` | `String` |  |
| `originalSize` | `Int` |  |
| `largeSize` | `Int` |  |
| `smallSize` | `Int` |  |

## type Location

| Field | Type | Description |
|---|---|---|
| `latitude` | `Float` |  |
| `longitude` | `Float` |  |

## type Organizer

| Field | Type | Description |
|---|---|---|
| `id` | `ID` |  |
| `email` | `String` |  |
| `name` | `String` |  |
| `slug` | `String` |  |
| `telephoneNumber` | `String` |  |
| `website` | `String` |  |

## type OrganizersInfo

| Field | Type | Description |
|---|---|---|
| `organizer` | `Organizer` |  |
| `hits` | `Int` |  |

## type PageInfo

| Field | Type | Description |
|---|---|---|
| `currentPage` | `Int` |  |
| `pageSize` | `Int` |  |
| `totalPages` | `Int` |  |

## type Price

| Field | Type | Description |
|---|---|---|
| `type` | `String` |  |
| `price` | `Int` |  |
| `name_nb` | `String` |  |
| `name_en` | `String` |  |

## type Repetition

| Field | Type | Description |
|---|---|---|
| `id` | `ID` |  |
| `activeTickets` | `Int` |  |
| `availableTickets` | `Int` |  |
| `startDate` | `String` | Start date and time of this occurrence. Same format and timezone rules as Event.startDate. |
| `endDate` | `String` | End date and time of this occurrence. Same format and timezone rules as Event.startDate. |
| `startTime` | `String` | Wall-clock start time of this occurrence in Norwegian local time, unaffected by daylight saving. Example: 14:00 |
| `duration` | `Int` | Duration of this occurrence in minutes |
| `eventCancelled` | `Boolean` |  |
| `eventSoldOut` | `Boolean` |  |
| `mode` | `String` |  |
| `ticketsURL` | `String` |  |
| `streamingURL` | `String` |  |
| `venue` | `Venue` | Venue of the event. It may be null if the event is online |
| `prices` | `[Price]` | Prices for this specific repetition. If null, use the event's prices |

## type TranslationMeta

| Field | Type | Description |
|---|---|---|
| `title_nb` | `Boolean` | Indicates if the Norwegian title was auto-translated |
| `title_en` | `Boolean` | Indicates if the English title was auto-translated |
| `desc_nb` | `Boolean` | Indicates if the Norwegian description was auto-translated |
| `desc_en` | `Boolean` | Indicates if the English description was auto-translated |

## type Venue

| Field | Type | Description |
|---|---|---|
| `address` | `String` |  |
| `id` | `ID` |  |
| `location` | `Location` |  |
| `mapImageURL` | `String` |  |
| `municipality` | `String` | DEPRECATED: Municipality information. Returns empty string for backward compatibility. |
| `name` | `String` |  |
| `slug` | `String` |  |

## type VenuesInfo

| Field | Type | Description |
|---|---|---|
| `venue` | `Venue` |  |
| `hits` | `Int` |  |
