openapi: 3.2.0
info:
title: Publiq Events API
contact:
name: publiq helpdesk
email: technical-support@publiq.be
url: https://docs.publiq.be
x-refined-note:
- x-source differs across the merged source definitions and was not carried
version: '1.0'
description: 'Operations tagged Events across 4 of this provider''s published API definitions: uitdatabank-entry.json, uitpas-uitpas.json, publiq-uitdatabank-entry-openapi.yml, publiq-uitpas-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
- url: https://api-test.uitpas.be
description: Testing
- url: https://api.uitpas.be
description: Production
tags:
- name: Events
paths:
/events:
post:
summary: event - create
tags:
- Events
responses:
'201':
description: The event was successfully created.
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
description: UUID of the created event to use in subsequent requests or to store as a reference in your application.
eventId:
type: string
format: uuid
deprecated: true
description: Deprecated, use `id` instead.
url:
type: string
example: https://io-test.uitdatabank.be/places/c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
format: uri
description: URL of the created event to use in subsequent requests or to store as a reference in your application.
commandId:
type: string
example: 92973349-967e-44d7-83a2-e1972d9e1622
format: uuid
deprecated: true
description: ID of the last internal command that was dispatched for this operation. Will be removed in the future.
required:
- id
- eventId
- url
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid data:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- jsonPointer: /
error: The required properties (name) are missing.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
operationId: event-post
description: 'Creates a new event with the required properties and any additional optional properties.
By default, the new event will be editable and removable by the user or client that the access token used to perform this request belongs to. If you use a user access token, the user for which the token was obtained will see the new event in their dashboard in UiTdatabank and will be able to edit or remove it. If you use a client access token, only API requests with a token for the same client will be able to edit or remove it.'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
description: 'The complete details of the new event to create. The schema of the event is the same as the response of the [`GET /events/{eventId}`](./entry.json/paths/~1events~1{eventId}/get) operation.
This request also supports an older deprecated schema that was used to create an event with just its required fields. If you have an existing integration that still uses this schema, you can view it by switching from the `event` schema to `event.post (deprecated)` below.'
content:
application/json:
schema:
$ref: ../models/event-post.json
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}:
parameters:
- $ref: '#/components/parameters/eventId'
get:
summary: event - get
tags:
- Events
responses:
'200':
description: Event details.
content:
application/json:
schema:
$ref: ../models/event-with-read-example.json
'404':
$ref: '#/components/responses/NotFound'
operationId: event-get
description: Returns the details of the event for the given `eventId`.
put:
summary: event - update
operationId: event-put
responses:
'200':
description: The event was updated successfully
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
format: uuid
description: UUID of the updated event to use in subsequent requests or to store as a reference in your application.
eventId:
type: string
format: uuid
example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
description: Deprecated, use `id` instead.
deprecated: true
url:
type: string
example: https://io-test.uitdatabank.be/events/c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
description: URL of the updated event to use in subsequent requests or to store as a reference in your application.
format: uri
commandId:
type: string
example: 92973349-967e-44d7-83a2-e1972d9e1622
format: uuid
deprecated: true
description: ID of the last internal command that was dispatched for this operation. Will be removed in the future.
required:
- id
- eventId
- url
examples:
Example:
value:
id: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
eventId: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
url: https://io-test.uitdatabank.be/events/c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
commandId: 92973349-967e-44d7-83a2-e1972d9e1622
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid data:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- jsonPointer: /
error: The required properties (name) are missing.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: 'Updates the event with the given `eventId` by completely overwriting it with the properties in the given JSON.
> Any existing optional properties on the event that are not included in the update request will be removed from the event when updating the event via this operation.
>
> As an exception, some existing `labels` or `hiddenLabels` may be kept on the event even if they are not included in the update request. For example if they were added via the UiTdatabank UI, or if the client or user making the request does not have sufficient permission to remove some specific labels.'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
content:
application/json:
schema:
$ref: ../models/event-with-write-example.json
description: The complete details of the event to update. The schema of the event is the same as the response of the [`GET /events/{eventId}`](./entry.json/paths/~1events~1{eventId}/get) operation.
tags:
- Events
delete:
summary: event - delete
operationId: event-delete
responses:
'204':
description: No Content. The event's `workflowStatus` was successfully updated to `DELETED`.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: Does a soft-delete of the event. The event will continue to exist but it's `workflowStatus` will be changed to `DELETED`. This will remove it from all publication channels.
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
tags:
- Events
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/imports/events:
post:
summary: event - import (create)
tags:
- Events
responses:
'201':
description: The event was successfully created.
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
description: UUID of the created event to use in subsequent requests or to store as a reference in your application.
eventId:
type: string
format: uuid
deprecated: true
description: Deprecated, use `id` instead.
url:
type: string
example: https://io-test.uitdatabank.be/places/c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
format: uri
description: URL of the created event to use in subsequent requests or to store as a reference in your application.
commandId:
type: string
example: 92973349-967e-44d7-83a2-e1972d9e1622
format: uuid
deprecated: true
description: ID of the last internal command that was dispatched for this operation. Will be removed in the future.
required:
- id
- eventId
- url
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid data:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- jsonPointer: /
error: The required properties (name) are missing.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
operationId: event-import-new
deprecated: true
description: 'Creates a new event via the historical `/imports/events` URL.
> This operation is deprecated and should not be used in new integrations. Use the `POST /events` operation instead to create new events.
>
> Both operations accept the same JSON bodies nowadays, and support creating events with only the required properties or with additional optional properties.
>
> The only difference is that the default `workflowStatus` for events created via `POST /events` is `DRAFT`, while new events created via this `POST /imports/events` operation will have the default workflowStatus `READY_FOR_VALIDATION` for backward compatibility with historical integrations.
>
> If you want your new events to also have the workflowStatus `READY_FOR_VALIDATION`, you can use the `POST /events` operation and explicitly set the `workflowStatus` property in your JSON body to `READY_FOR_VALIDATION`.'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
description: The complete details of the new event to create. The schema of the event is the same as the response of the [`GET /events/{eventId}`](./entry.json/paths/~1events~1{eventId}/get) operation.
content:
application/json:
schema:
$ref: ../models/event-post.json
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/imports/events/{eventId}:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: event - import (update)
operationId: event-import-update
deprecated: true
responses:
'200':
description: The event was updated successfully
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
format: uuid
description: UUID of the updated event to use in subsequent requests or to store as a reference in your application.
eventId:
type: string
format: uuid
example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
description: Deprecated, use `id` instead.
deprecated: true
url:
type: string
example: https://io-test.uitdatabank.be/events/c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
description: URL of the updated event to use in subsequent requests or to store as a reference in your application.
format: uri
commandId:
type: string
example: 92973349-967e-44d7-83a2-e1972d9e1622
format: uuid
deprecated: true
description: ID of the last internal command that was dispatched for this operation. Will be removed in the future.
required:
- id
- eventId
- url
examples:
Example:
value:
id: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
eventId: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
url: https://io-test.uitdatabank.be/events/c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf
commandId: 92973349-967e-44d7-83a2-e1972d9e1622
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid data:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- jsonPointer: /
error: The required properties (name) are missing.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: 'Updates the event via the historical `/imports/events/{eventId}` URL by completely overwriting it with the properties in the given JSON.
> This operation is deprecated and should not be used in new integrations. Use the `PUT /events/{eventId}` operation instead to update existing events, which accepts exactly the same JSON body.'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
content:
application/json:
schema:
$ref: ../models/event-with-write-example.json
description: The complete details of the event to update. The schema of the event is the same as the response of the [`GET /events/{eventId}`](./entry.json/paths/~1events~1{eventId}/get) operation.
tags:
- Events
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/copies:
parameters:
- $ref: '#/components/parameters/eventId'
post:
summary: event - copy
tags:
- Events
responses:
'201':
description: The event was copied successfully.
content:
application/json:
schema:
type: object
properties:
eventId:
type: string
description: UUID of the new event to use in subsequent requests or to store as a reference in your application.
url:
type: string
description: URL of the new event to use in subsequent requests or to store as a reference in your application.
examples:
Example:
value:
eventId: 83a12220-9459-4fc8-b1ed-71b3d1668e65
url: https://io-test.uitdatabank.be/events/83a12220-9459-4fc8-b1ed-71b3d1668e65
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid data:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- jsonPointer: /
error: The required properties (subEvent) are missing
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
operationId: event-copies-post
requestBody:
content:
application/json:
schema:
anyOf:
- $ref: ../models/event-calendar-put.json
- $ref: ../models/event-calendar-put-deprecated.json
examples:
single:
value:
calendarType: single
subEvent:
- startDate: '2021-05-17T22:00:00+00:00'
endDate: '2021-05-17T22:00:00+00:00'
status:
type: Available
bookingAvailability:
type: Available
multiple:
value:
calendarType: multiple
subEvent:
- startDate: '2020-05-17T22:00:00+00:00'
endDate: '2020-05-17T22:00:00+00:00'
status:
type: Unavailable
reason:
nl: Geannuleerd wegens COVID-19
en: Cancelled due to COVID-19
bookingAvailability:
type: Unavailable
- startDate: '2021-05-17T22:00:00+00:00'
endDate: '2021-05-17T22:00:00+00:00'
status:
type: Available
bookingAvailability:
type: Available
periodic:
value:
calendarType: periodic
startDate: '2021-05-17T22:00:00+00:00'
endDate: '2021-05-17T22:00:00+00:00'
openingHours:
- opens: '13:00'
closes: '17:00'
dayOfWeek:
- monday
- opens: 09:00
closes: '17:00'
dayOfWeek:
- tuesday
- wednesday
- thursday
- friday
- saturday
- sunday
status:
type: Available
bookingAvailability:
type: Available
permanent:
value:
calendarType: permanent
openingHours:
- opens: '13:00'
closes: '17:00'
dayOfWeek:
- monday
- opens: 09:00
closes: '17:00'
dayOfWeek:
- tuesday
- wednesday
- thursday
- friday
- saturday
- sunday
status:
type: Available
bookingAvailability:
type: Available
description: New calendar information for the event copy.
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
description: 'Creates a new event based on all the properties of an existing event with the given `eventId`. Only the calendar information will be completely replaced with a new one, which has to be included in the request body.
The schema of the request body is the same as the one for the `PUT /events/{eventId}/calendar` endpoint.'
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/attendance-mode:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: attendanceMode - update
tags:
- Events
responses:
'204':
description: No Content. The event's attendance mode was successfully updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid data:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- jsonPointer: /
error: The required properties (attendanceMode) are missing.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
operationId: event-attendance-mode-put
description: 'Updates the attendance mode of an event. There are three different attendance modes:
- `offline`: the event takes places on a physical location
- `online`: the events takes places on an online location
- `mixed`: the event takes places both on a real location and a online location
When changing from attendance mode online to either offline or mixed it is required to include the location property with the URI or UUID of the (physical) location that the event is taking place at.'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
content:
application/json:
schema:
$ref: ../models/event-attendanceMode-put.json
examples:
Online:
value:
attendanceMode: online
Offline:
value:
attendanceMode: offline
location: https://io-test.uitdatabank.be/places/85b04295-479c-40f5-b3dd-469dfb4387b3
description: New attendanceMode to set on the event, and optionally a new location (when moving from attendanceMode `online` to `mixed` or `offline`).
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/audience:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: audience - update
operationId: event-audience-put
responses:
'204':
description: No Content. The event's audience was successfully updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data
* https://api.publiq.be/probs/uitdatabank/incompatible-audience-type'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Example:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- jsonPointer: /audienceType
error: 'The data (int) should match the type: string'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Events
description: 'Updates the intended audience of the event, which currently only has one property `audienceType`.
By default the audienceType is set to `everyone`. If needed the audience can be updated to `members` to hide it on public channels, or `education` for CultuurKuur events for schools.'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
content:
application/json:
schema:
$ref: ../models/event-audience.json
examples:
Everyone (default):
value:
audienceType: everyone
Members:
value:
audienceType: members
Education (CultuurKuur):
value:
audienceType: education
description: New audienceType to set on the event.
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/available-from:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: availableFrom - update
operationId: event-availableFrom-put
responses:
'204':
description: No Content. The event's availableFrom was successfully updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Example:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- jsonPointer: /availableFrom
error: 'The data (int) should match the type: date-time'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Events
description: Updates the availableFrom of the event. This is the first date & time that the event is allowed to be visible on publication channels.
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
content:
application/json:
schema:
$ref: ../models/event-availableFrom-put.json
examples:
Example:
value:
availableFrom: '2021-05-17T22:00:00+00:00'
description: New availableFrom to set on the event.
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/booking-availability:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: bookingAvailability - update
operationId: event-bookingAvailability-put
responses:
'204':
description: No Content. The bookingAvailability has been updated successfully.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data
* https://api.publiq.be/probs/uitdatabank/calendar-type-not-supported'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Example:
value:
type: https://api.publiq.be/probs/uitdatabank/calendar-type-not-supported
title: Calendar type not supported
status: 400
detail: 'Not allowed to update booking availability on calendar type: "permanent". Only single and multiple calendar types can be updated.'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: 'Updates the general bookingAvailability info on the top level of the event with the given `eventId`.
The type of any subEvents that the event has will also be updated to match the general type in bookingAvailability.
> Note that you cannot update the bookingAvailability of an event with calendar type `periodic` or `permanent`. For now, they can only have "Available" as bookingAvailability.'
requestBody:
content:
application/json:
schema:
$ref: ../models/event-bookingAvailability.json
examples:
Tickets/places available:
value:
type: Available
No more tickets/places available:
value:
type: Unavailable
description: New bookingAvailability to set on the event.
tags:
- Events
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/booking-info:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: bookingInfo - update
description: 'Updates the bookingInfo for an event.
> There is no DELETE endpoint. To remove (specific) bookingInfo perform a PUT request with empty properties.'
operationId: event-bookingInfo-put
tags:
- Events
requestBody:
content:
application/json:
schema:
$ref: ../models/event-bookingInfo.json
examples:
Example:
value:
phone: +32/01234567890
email: info@example.com
url: https://www.example.com
urlLabel:
nl: Nederlandse tekst
fr: Texte français
de: Deutscher Text
en: English text
availabilityStarts: '2021-05-17T22:00:00+00:00'
availabilityEnds: '2021-05-17T22:00:00+00:00'
description: New bookingInfo to set on the event.
responses:
'204':
description: 'No Content. The bookingInfo has been updated successfully. '
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid data:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- jsonPointer: /
error: '''urlLabel'' property is required by ''url'' property'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/calendar:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: calendar - put
tags:
- Events
responses:
'204':
description: No Content. The calendar information has been updated successfully.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid data:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- jsonPointer: /
error: The required properties (subEvent) are missing
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
operationId: event-calendar-put
requestBody:
content:
application/json:
schema:
anyOf:
- $ref: ../models/event-calendar-put.json
- $ref: ../models/event-calendar-put-deprecated.json
examples:
single:
value:
calendarType: single
subEvent:
- startDate: '2021-05-17T22:00:00+00:00'
endDate: '2021-05-17T22:00:00+00:00'
status:
type: Available
bookingAvailability:
type: Available
multiple:
value:
calendarType: multiple
subEvent:
- startDate: '2020-05-17T22:00:00+00:00'
endDate: '2020-05-17T22:00:00+00:00'
status:
type: Unavailable
reason:
nl: Geannuleerd wegens COVID-19
en: Cancelled due to COVID-19
bookingAvailability:
type: Unavailable
- startDate: '2021-05-17T22:00:00+00:00'
endDate: '2021-05-17T22:00:00+00:00'
status:
type: Available
bookingAvailability:
type: Available
periodic:
value:
calendarType: periodic
startDate: '2021-05-17T22:00:00+00:00'
endDate: '2021-05-17T22:00:00+00:00'
openingHours:
- opens: '13:00'
closes: '17:00'
dayOfWeek:
- monday
- opens: 09:00
closes: '17:00'
dayOfWeek:
- tuesday
- wednesday
- thursday
- friday
- saturday
- sunday
status:
type: Available
bookingAvailability:
type: Available
permanent:
value:
calendarType: permanent
openingHours:
- opens: '13:00'
closes: '17:00'
dayOfWeek:
- monday
- opens: 09:00
closes: '17:00'
dayOfWeek:
- tuesday
- wednesday
- thursday
- friday
- saturday
- sunday
status:
type: Available
bookingAvailability:
type: Available
description: New calendar information.
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
description: 'Updates the calendar information of the given `eventId`. The calendar information will be completely replaced with the new one.
The required properties depend on the `calendarType` property.
| calendarType | required | optional |
|---|---|---|
| single | subEvent\[0\].startDate, subEvent\[0\].endDate | subEvent\[0\].status, subEvent\[0\].bookingAvailability |
| multiple | subEvent\[\*\].startDate, subEvent[\*\].endDate | subEvent\[\*\].status, subEvent\[\*\].bookingAvailability |
| periodic | startDate, endDate | openingHours, status, bookingAvailability |
| permanent | | openingHours, status, bookingAvailability |
> If `status` or `bookingAvailability` is missing on the event or a subEvent, it will default to `Available`.
>
> Although the status and bookingAvailability are optional they have a default value of `Available`. When the status and bookingAvailability is not provided an already set value will be overwritten to `Available`!
> You can use `single` and `multiple` interchangeably as long as you also include `subEvent` as well. The API will use the correct type based on the number of subEvents inside `subEvent`.
> This endpoint also supports a deprecated schema that uses `timeSpans` instead of `subEvent`. The `timeSpans` also have a slightly different structure than `subEvent`. For new integrations, it is recommended to use the schema with the `subEvent` property.
>
> For existing integrations the `timeSpans` property will be supported indefinitely for backward compatibility.'
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/calendar-summary:
parameters:
- $ref: '#/components/parameters/eventId'
get:
summary: calendar summary - get
tags:
- Events
responses:
'200':
description: 'The calendar summary in either plain text or HTML.
For example:
```
Van 6 januari 2021 tot 23 juni 2021 (geannuleerd)
```
Or:
```
Van 6 januari 2021 tot 23 juni 2021 (geannuleerd)
```'
'404':
$ref: '#/components/responses/NotFound'
operationId: event-calendar-summary-get
description: 'Returns a human-readable summary of the calendar information of the event. Can be configured to return either plain text or HTML, and to switch between five different formats depending on the amount of space you have to display it.
> For backward compatibility this endpoint is also accessible at the old abbreviated `/events/{eventId}/calsum` path.'
parameters:
- schema:
type: string
enum:
- text
- html
default: text
in: query
name: style
description: Deprecated alternative to the `accept` header. Supported for backward compatibility.
deprecated: true
- schema:
type: string
enum:
- xs
- sm
- md
- lg
default: lg
in: query
name: size
description: Defines the size of the summary. Larger summaries contain more detail for events with multiple dates/hours but will also take up more space when shown in a UI. We recommend to use the format `md` for the search results (and `lg` for events with calendarType single), and to always use `lg` for the detailpage. In some cases (e.g. mobile apps) calendar summary `xs` can be useful.
- schema:
type: string
enum:
- nl
- fr
- en
- de
default: nl
in: query
name: language
description: Defines the language that the summary will be written in. Also influences the date/time format used.
- schema:
type: boolean
default: false
in: query
name: hidePast
description: Will hide past dates in summaries of events with multiple dates. By default, past dates are not excluded from the calendar summary.
- schema:
type: string
default: Europe/Brussels
in: query
name: timezone
description: The timezone to format date/times in.
- schema:
type: string
enum:
- text/plain
- text/html
in: header
name: accept
description: Indicates the expected content-type. Defaults to `text/plain` but can be set to `text/html` for a HTML response.
- schema:
type: string
enum:
- nl_BE
- fr_BE
- en_BE
- de_BE
in: query
name: langCode
description: Deprecated alternative to the `language` query parameter. Supported for backward compatibility.
deprecated: true
- schema:
type: string
enum:
- xs
- sm
- md
- lg
in: query
name: format
description: Deprecated alternative to the `size` query parameter. Supported for backward compatibility.
deprecated: true
x-internal: false
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/contact-point:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: contactPoint - update
operationId: event-contactPoint-put
tags:
- Events
description: 'Updates the contact point information of the event with the given `eventId`.
> There is no DELETE endpoint. To remove contact information perform a PUT request with empty properties.
> Unlike `PUT /organizers/{organizerId}/contact-point`, all properties are required. There is also no partial updating.'
requestBody:
content:
application/json:
schema:
$ref: ../models/event-contactPoint-put.json
description: The contact point properties to set on the event.
responses:
'204':
description: The contactPoint has been successfully updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/contributors:
parameters:
- $ref: '#/components/parameters/eventId'
get:
summary: contributors - get
operationId: event-contributors-get
responses:
'200':
description: An array of contributors.
content:
application/json:
schema:
$ref: ../models/common-contributors.json
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Events
description: Returns a JSON array of contributors, meaning users that have edit rights on the event.
x-internal: true
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
put:
summary: contributors - update
operationId: event-contributors-put
responses:
'204':
description: No Content. The contributors have been successfully updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Example:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Events
description: Updates the list of contributors on the event. These users will have edit rights on the event.
x-internal: true
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
content:
application/json:
schema:
$ref: ../models/event-contributors-put.json
examples:
Example:
value:
- info@publiq.be
- vragen@publiq.be
description: New list of contributors of the event. Previous contributors of the event that are not included in this list will be removed.
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/description/{language}:
parameters:
- $ref: '#/components/parameters/eventId'
- $ref: '#/components/parameters/language'
put:
summary: description - update
tags:
- Events
responses:
'204':
description: No Content. The description was successfully updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
operationId: event-description-put
description: 'Updates the localized description of an event based on the given `eventId` and `language` inside the URL. The description is not limited in size, but it is recommended to use the first 200 characters of the description for promotional copy as these characters are visible in the list-view of results.
> Keep in mind:
> - The description should be UTF-8 encoded
> - Linebreaks are encoded as `\n`'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
content:
application/json:
schema:
$ref: ../models/event-description-put.json
examples: {}
description: The new description of the event.
delete:
summary: description - delete
tags:
- Events
operationId: event-description-delete
responses:
'204':
description: No Content. The description was successfully deleted.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: Deletes the localized description of an event based on the given `eventId` and `language` inside the URL.
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/facilities:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: facilities - update
operationId: event-facilities-put
responses:
'204':
description: No Content. The facilities have been successfully updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Example:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Events
description: 'Updates the list of available (accessibility) facilities on the event. These will show up in the event''s `terms`.
A list of possible facilities can be found using our guide about taxonomy terms.
**Note**: A special permission is required to update an event''s facilities in UiTdatabank, even if you are the event owner. Contact an administrator for further information.'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
content:
application/json:
schema:
$ref: ../models/event-facilities-put.json
examples:
Example:
value:
- 3.13.2.0.0
- 3.23.2.0.0
description: New list of facilities to set on the event. Facilities previously set on the event but not included in this list will be removed from the event. Other terms will be preserved.
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/history:
parameters:
- $ref: '#/components/parameters/eventId'
get:
summary: history - get
operationId: event-history-get
tags:
- Events
responses:
'200':
description: Event history.
content:
application/json:
schema:
type: array
description: ''
items:
type: object
properties:
description:
type: string
description: A human-readable description of the update to the event. (Always in Dutch.)
date:
type: string
format: date-time
example: '2021-08-26T16:54:38+00:00'
description: The date and time that the update happened in an ISO-8601 format with a timezone offset. For example `2021-08-26T16:54:38+00:00`.
author:
type: string
description: Identifier of the user who made the change. Should not be treated as a semantic user id though, because it can be an email, v1 user id, or v2 user id. Should only be displayed and used by admins that look at the history log to look up the user in the correct system.
api:
type: string
description: Human-readable name of the API that was used to make the change. Not always present in older history logs.
auth0ClientId:
type: string
description: The id of the Auth0 client that made the change. (If it was an Auth0 API client.)
auth0ClientName:
type: string
description: Name of the client in Auth0 that made the change. (If it was an Auth0 API client.)
apiKey:
type: string
description: API key of the UiTiD v1 consumer that made the change (if it was an UiTiD v1 consumer).
consumerName:
type: string
description: Name of the UiTiD v1 consumer that made the change (if it was an UiTiD v1 consumer).
required:
- description
- date
examples:
Auth0 client:
value:
- date: '2021-09-30T14:57:17+00:00'
description: Kalender-info aangepast
author: google-oauth2|108326107941342286958
auth0ClientId: JGJ3rAJLurRM9DHDE072zVhF3azl57mo
auth0ClientName: UiTdatabase JWT Provider
api: JSON-LD API
UiTiD v1 consumer:
value:
- date: '2021-10-04T09:40:59+00:00'
description: Reservatie-info aangepast
author: google-oauth2|108326107941342286958
apiKey: deb306a6-6f46-4c98-89ce-b03ec4fd11e2
api: JSON-LD API
consumerName: UiTdatabank Acceptatie
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: 'Returns the history log of the event for the given `eventId`.
The history log is an array of objects that contain info about each individual update to the event, who did the update, using what API, etc.
Because this history log can contain API keys which are secret (deprecated but still usable for backward compatibility), it can only be accessed by users that are a "god user".
Because of this limitation, the endpoint is also documented as internal and not visible in the public docs.'
x-internal: true
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/images:
parameters:
- $ref: '#/components/parameters/eventId'
post:
summary: images - add
operationId: event-images-post
responses:
'204':
description: The image was added to the event.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
requestBody:
content:
application/json:
schema:
$ref: ../models/event-image-post.json
examples:
Example:
value:
mediaObjectId: 546a90cd-a238-417b-aa98-1b6c50c1345c
description: The image to add to an event.
description: Adds an image to an event. To upload an image, use the `POST /images` endpoint.
tags:
- Events
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/images/{imageId}:
parameters:
- $ref: '#/components/parameters/eventId'
- $ref: '#/components/parameters/imageId'
delete:
summary: images - delete
operationId: event-image-delete
tags:
- Events
responses:
'204':
description: The image has been successfully removed from the event.
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: Removes the image with the given `imageId` from the event's `mediaObject` property.
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
put:
summary: images - update
operationId: event-image-put
description: Updates the metadata of an image on an event.
tags:
- Events
responses:
'204':
description: The image metadata was updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
requestBody:
content:
application/json:
schema:
$ref: ../models/event-image-put.json
examples:
Example:
value:
description: Picture of the last publiq event
copyrightHolder: publiq
description: The metadata to update on the image.
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/images/main:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: images main - update
operationId: event-main-image-put
tags:
- Events
description: Updates the main image of an event. The main image is the only image shown in search-result listviews and the image more prominently displayed on event-details, when the event has multiple images.
requestBody:
content:
application/json:
schema:
$ref: ../models/event-main-image-put.json
description: The id of the image to set as main image on the event.
responses:
'204':
description: The main image was updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/labels/{labelName}:
parameters:
- $ref: '#/components/parameters/eventId'
- $ref: '#/components/parameters/labelName'
put:
summary: labels - add
description: 'Adds the given label to the event with the given `eventId`.
If the specified label does not exist yet in UiTdatabank a new label will be created with default visibility and public permissions (usable by anyone), and linked to the event.
The label must be longer than 1 character and shorter than 255 characters. The label can also not contain the semicolon character. It should match the regex `^(?=.{2,255}$)(?=.*\S.*\S.*)[^;]*$`'
operationId: event-labels-add
tags:
- Events
responses:
'204':
description: No Content. The label has been added successfully.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
delete:
summary: labels - delete
operationId: event-labels-delete
responses:
'204':
description: No Content. The label was deleted from the event.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: Deletes a label from the `labels` or `hiddenLabels` property on an event based on the event id, the label name, and the label's visibility.
tags:
- Events
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/labels:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: labels - update
description: 'Updates the given labels on the event with the given `eventId`.
If one of the specified labels does not exist yet in UiTdatabank a new label will be created with default visibility and public permissions (usable by anyone), and linked to the event.
The label must be longer than 1 character and shorter than 255 characters. The label can also not contain the semicolon character. It should match the regex `^(?=.{2,255}$)(?=.*\S.*\S.*)[^;]*$`'
operationId: event-labels-update
x-internal: true
tags:
- Events
requestBody:
content:
application/json:
schema:
$ref: ../models/event-labels-put.json
description: The labels to add to the event.
responses:
'204':
description: No Content. The labels have been updated successfully.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Example:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/location/{placeId}:
parameters:
- $ref: '#/components/parameters/eventId'
- $ref: '#/components/parameters/placeId'
put:
summary: location - update
operationId: event-location-put
responses:
'204':
description: No Content
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/uitdatabank/attendance-mode-not-supported'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Attendance mode not supported:
value:
type: https://api.publiq.be/probs/uitdatabank/attendance-mode-not-supported
title: Attendance mode not supported
status: 400
detail: Cannot update the location of an online event to a real location. Set the attendanceMode to mixed or offline first.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: 'Updates the event''s location to a new place based on the given `eventId` and `placeId` in the URL.
If the `eventId` does not exist a `404 Not Found` response will be returned. If the `placeId` does not exist a `400 Bad Request` response will be returned. Otherwise a `204 No Content` will be returned if successful. (See response examples below.)'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
tags:
- Events
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/major-info:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: major-info - update
operationId: event-major-info-put
description: '> The major-info endpoint is deprecated and should not be used in new integrations!
Updates the "major info" of the event with the given `eventId`.
The major info contains:
* `name`: The name of the event in the event''s `mainLanguage`, as a string
* `type`: Id of the event''s `eventtype` taxonomy `term`, as a string
* `theme` (optional): Id of the event''s `theme` taxonomy `term`, as a string
* `location`: Object with the id of the event''s location, as a place''s uuid (string)
* `calendar`: Object with the event''s calendar information (see schema below)
All properties are required (except for `theme`) and will overwrite existing values of these properties on the event. If the event has a `theme` `term` before this update, but there is no `theme` in this major-info update, the `theme` will be removed.
> For backward-compatibility with older integrations, this operation can also be requested via `POST /event/{eventId}/major-info`.'
deprecated: true
tags:
- Events
responses:
'204':
description: No Content. The major-info has been updated successfully.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: A human-readable name in the main language of the event.
type:
type: string
description: The `eventtype` term used to categorize the event. Terms are pre-defined and can be browsed in our [guide about taxonomy terms](../docs/taxonomy-api/terms.md).
theme:
type: string
description: The `theme` term used to categorize the event. Terms are pre-defined and can be browsed in our [guide about taxonomy terms](../docs/taxonomy-api/terms.md).
location:
type: object
description: Reference to the location that the event is taking place at.
required:
- id
properties:
id:
type: string
description: UUID of the location that the event is taking place at.
calendar:
$ref: ../models/event-calendar-put-deprecated.json
required:
- name
- type
- location
- calendar
examples:
Single day:
value:
name: Single day example
type: 0.50.4.0.0
theme: 1.8.3.3.0
location:
id: DA5499B2-9C79-48D3-A02D-8F471308100D
calendar:
calendarType: single
timeSpans:
- start: '2021-05-17T22:00:00+00:00'
end: '2021-05-17T22:00:00+00:00'
status:
type: Available
bookingAvailability:
type: Available
Multiple days:
value:
name: Multiple days example
type: 0.50.4.0.0
theme: 1.8.3.3.0
location:
id: DA5499B2-9C79-48D3-A02D-8F471308100D
calendar:
calendarType: multiple
timeSpans:
- start: '2021-05-17T22:00:00+00:00'
end: '2021-05-17T22:00:00+00:00'
status:
type: Available
bookingAvailability:
type: Available
- start: '2021-05-18T22:00:00+00:00'
end: '2021-05-18T22:00:00+00:00'
status:
type: Available
bookingAvailability:
type: Available
Periodic with opening hours:
value:
name: Periodic with opening hours
type: 0.50.4.0.0
theme: 1.8.3.3.0
location:
id: DA5499B2-9C79-48D3-A02D-8F471308100D
calendar:
calendarType: periodic
startDate: '2021-05-17T22:00:00+00:00'
endDate: '2021-05-17T22:00:00+00:00'
openingHours:
- opens: '13:00'
closes: '17:00'
dayOfWeek:
- monday
- opens: 09:00
closes: '17:00'
dayOfWeek:
- tuesday
- wednesday
- thursday
- friday
- saturday
- sunday
Permanent with opening hours:
value:
name: Periodic with opening hours
type: 0.50.4.0.0
theme: 1.8.3.3.0
location:
id: DA5499B2-9C79-48D3-A02D-8F471308100D
calendar:
calendarType: permanent
openingHours:
- opens: '13:00'
closes: '17:00'
dayOfWeek:
- monday
- opens: 09:00
closes: '17:00'
dayOfWeek:
- tuesday
- wednesday
- thursday
- friday
- saturday
- sunday
description: All required fields for an event (whether they have been updated or not).
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/name/{language}:
parameters:
- $ref: '#/components/parameters/eventId'
- $ref: '#/components/parameters/language'
put:
summary: name - update
tags:
- Events
responses:
'204':
description: No Content. The name was successfully updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
operationId: event-name-put
description: Updates the localized name of an event based on the given `eventId` and `language` inside the URL.
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
content:
application/json:
schema:
$ref: ../models/event-name-put.json
examples: {}
description: The new name of the event.
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/online-url:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: onlineUrl - update
tags:
- Events
responses:
'204':
description: No Content. The onlineUrl was successfully updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid data:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- jsonPointer: /
error: The required properties (onlineUrl) are missing.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
operationId: event-online-url-put
description: Updates the online url of an event. Only events with attendance mode `online` or `mixed` can have an online url.
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
content:
application/json:
schema:
$ref: ../models/event-onlineUrl-put.json
examples:
Example:
value:
onlineUrl: https://www.publiq.be/livestream
description: New onlineUrl to set on the event.
delete:
summary: onlineUrl - delete
operationId: event-online-url-delete
responses:
'204':
description: No Content. The onlineUrl was successfully deleted.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: Delete the onlineUrl of an event.
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
tags:
- Events
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/organizer/{organizerId}:
parameters:
- $ref: '#/components/parameters/eventId'
- $ref: '#/components/parameters/organizerId'
delete:
summary: organizer - delete
description: Deletes the organizer of the event with the given `eventId`.
operationId: event-organizer-delete
tags:
- Events
responses:
'204':
description: No Content. The organizer has been deleted successfully.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
put:
summary: organizer - update
description: 'Updates the organizer of the event with the given `eventId`. A list of organizers can be found using our guide about finding existing organizers.
> An organizer is not required on an event, and it can only have one.'
operationId: event-organizer-update
tags:
- Events
responses:
'204':
description: No Content. The organizer has been updated successfully.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/permissions:
parameters:
- $ref: '#/components/parameters/eventId'
get:
summary: permissions - get
tags:
- Events
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
permissions:
type: array
description: The permissions granted to the user for the event.
items:
$ref: ../models/permission.json
required:
- permissions
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
operationId: get-events-eventId-permissions
x-internal: true
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
description: Get user permissions relating to an event.
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/price-info:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: priceInfo - update
tags:
- Events
responses:
'204':
description: No Content. The priceInfo was successfully updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid data:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- error: Tariff name "Kinderen" must be unique.
jsonPointer: /priceInfo/1/name/nl
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
operationId: event-price-info-put
description: Updates the price info of an event.
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
content:
application/json:
schema:
$ref: ../models/event-priceInfo.json
examples:
Example 1:
value:
- category: base
price: 10.5
priceCurrency: EUR
name:
nl: Basistarief
fr: Tarif de base
en: Base tariff
de: Basisrate
Example 2:
value:
- category: base
name:
nl: Basistarief
fr: Tarif de base
en: Base tariff
de: Basisrate
price: 10
priceCurrency: EUR
- category: tariff
name:
nl: Jongeren
en: Youth
price: 0
priceCurrency: EUR
- category: tariff
name:
nl: Senioren
en: Elderly
price: 6
priceCurrency: EUR
description: New priceInfo to set on the event.
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/status:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: status - update
operationId: event-status-put
responses:
'204':
description: No Content. The status has been updated successfully.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data
* https://api.publiq.be/probs/uitdatabank/calendar-type-not-supported'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Example:
value:
type: https://api.publiq.be/probs/body/invalid-syntax
title: Invalid body syntax
status: 400
detail: The given request body could not be parsed as JSON.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: 'Updates the general status on the top level of the event with the given `eventId`.
The status of any subEvents that the event has will also be updated to match the general status.'
requestBody:
content:
application/json:
schema:
$ref: ../models/event-status.json
examples:
Event takes place as planned:
value:
type: Available
Event postponed to a later date yet to be determined:
value:
type: TemporarilyUnavailable
Event cancelled:
value:
type: Unavailable
reason:
nl: Geannuleerd wegens ziekte van de lesgever
description: New status to set on the event.
tags:
- Events
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/sub-events:
parameters:
- $ref: '#/components/parameters/eventId'
patch:
summary: subEvent - patch
operationId: event-subEvent-patch
description: 'Updates the given subEvents on the event with the given `eventId`.
Allows partial updates, omitted properties will be ignored and remain unchanged. Omitted subEvents will also remain unchanged.
Every subEvent to update requires an `id` property that is an integer that corresponds to their index in the list of subEvents on the parent event. For example `0` for the first subEvent, `1` for the second subEvent, and so on.
> Note! If you change the `startDate` of a subEvent, the subEvents will be re-ordered on the parent event afterwards because subEvents are always sorted chronologically.
Only events with calendar type `single` and `multiple` have subEvents, so only events with those calendar types support this endpoint.'
tags:
- Events
responses:
'204':
description: No Content. The subEvents have been updated successfully.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data
* https://api.publiq.be/probs/uitdatabank/calendar-type-not-supported'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Example:
value:
type: https://api.publiq.be/probs/uitdatabank/calendar-type-not-supported
title: Calendar type not supported
status: 400
detail: 'Not allowed to update subEvents on calendar type: "permanent". Only subEvents on single and multiple calendar types can be updated.'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
requestBody:
content:
application/json:
schema:
$ref: ../models/event-subEvent-patch.json
examples:
Updating the dates of the first subEvent:
value:
- id: 0
startDate: '2021-05-17T22:00:00+00:00'
endDate: '2021-05-17T22:00:00+00:00'
Updating the status of the second subEvent:
value:
- id: 1
status:
type: Unavailable
reason:
nl: Afgelast wegens corona
Updating the booking availability of the third subEvent:
value:
- id: 2
bookingAvailability:
type: Unavailable
Updating multiple:
value:
- id: 0
startDate: '2021-05-17T22:00:00+00:00'
endDate: '2021-05-17T22:00:00+00:00'
- id: 1
status:
type: Unavailable
reason:
nl: Afgelast wegens corona
- id: 2
bookingAvailability:
type: Unavailable
description: "The subEvents to update, with the properties to update. \n\nEach subEvent must have an `id` property to indicate which subEvent should be updated. This `id` is the position of the subEvent in the list of subEvents on the parent event. For example `0` for the first subEvent, `1` for the second subEvent, and so on.\n\nAll other properties are optional, and only properties that are included will be updated. No subEvents or properties will be removed."
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/type/{termId}:
parameters:
- $ref: '#/components/parameters/eventId'
- $ref: '#/components/parameters/termId'
put:
summary: terms > eventtype - update
operationId: event-terms-eventtype-put
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Events
description: 'Updates the event''s type (examples of types are `Concert`, `Opendeurdag`, `Lessenreeks`, and so on) based on the given `eventId` and `termId`.
Terms are pre-defined and can be found using our guide about taxonomy terms. Only terms from the `eventtype` domain can be used as event types.
If the `eventId` does not exist a `404 Not Found` will be returned. If the `termId` does not exist or is not a term in the `eventtype` domain, a `400 Bad Request` will be returned. If the request is successful a `204 No Content` will be returned.'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/theme:
parameters:
- $ref: '#/components/parameters/eventId'
delete:
summary: terms > theme - delete
operationId: event-terms-theme-delete
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Events
description: 'Deletes the event''s current theme based on the given `eventId`.
If the `eventId` does not exist a `404 Not Found` will be returned. If the request is successful a `204 No Content` will be returned.'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/theme/{termId}:
parameters:
- $ref: '#/components/parameters/eventId'
- $ref: '#/components/parameters/termId'
put:
summary: terms > theme - update
operationId: event-terms-theme-put
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
tags:
- Events
description: 'Updates the event''s theme (examples of themes are `Audiovisuele kunst`, `Moderne dans`, `Actie en avontuur`, and so on) based on the given `eventId` and `termId`.
Terms are pre-defined and can be found using our guide about taxonomy terms. Only terms from the `theme` domain can be used as theme.
If the `eventId` does not exist a `404 Not Found` will be returned. If the `termId` does not exist or is not a term in the `theme` domain, a `400 Bad Request` will be returned. If the request is successful a `204 No Content` will be returned.'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/typical-age-range:
parameters:
- $ref: '#/components/parameters/eventId'
delete:
summary: typicalAgeRange - delete
operationId: event-typical-age-range-delete
tags:
- Events
description: Deletes the age range from an event.
responses:
'204':
description: The age range was successfully deleted.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
put:
summary: typicalAgeRange - update
operationId: event-typical-age-range-put
tags:
- Events
description: Updates the age range of the event with the given `eventId`.
requestBody:
content:
application/json:
schema:
$ref: ../models/event-typicalAgeRange-put.json
examples:
All ages:
value:
typicalAgeRange: '-'
Minimum age:
value:
typicalAgeRange: 6-
Maximum age:
value:
typicalAgeRange: '-12'
description: The age range to set on the event.
responses:
'204':
description: The age range was successfully updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/videos:
parameters:
- $ref: '#/components/parameters/eventId'
post:
summary: videos - add
operationId: event-videos-post
responses:
'200':
description: The video was added to the event.
content:
application/json:
schema:
type: object
properties:
videoId:
type: string
format: uuid
example: b504cf44-9ab8-4641-9934-38d1cc67242c
description: UUID used to identify the video on the event.
examples:
The new videoId:
value:
videoId: b504cf44-9ab8-4641-9934-38d1cc67242c
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid data:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- jsonPointer: /url
error: The required properties url is missing.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
requestBody:
content:
application/json:
schema:
$ref: ../models/event-videos-post.json
examples:
Video from Youtube and with Copyright:
value:
url: https://www.youtube.com/watch?v=cEItmb_a20D
language: nl
copyrightHolder: publiq
Video from Vimeo:
value:
url: https://www.vimeo.com/4dwe2
language: nl
Video from Youtube with Url Shortener:
value:
url: https://youtu.be/bsaAOun-dec
language: nl
copyrightHolder: publiq
description: The new video to add to an event.
description: 'Add a video as a URL reference to an event
The video objects contains:
* `url`: The full URL of the video. Currently only *Vimeo* and *Youtube* are supported as video source locations.
* `copyrightHolder`: The copyright holder of the video material. Although this field is optional it is strongly recommended to add a reference to the entity owning the rights on the video material.'
tags:
- Events
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
patch:
summary: videos - patch
operationId: event-videos-patch
responses:
'204':
description: No Content. The videos are updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid data:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- jsonPointer: /url
error: The required properties url is missing.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: 'Update one or more videos of an event.
The video object(s) must contain
* `id`: The id of the video object to be changed.
The video object(s) can contain:
* `url`: The full URL of the video. Currently only *Vimeo* and *Youtube* are supported as video source locations.
* `language`: The updated language of a video
* `copyrightHolder`: The copyright holder of the video material. Although this field is optional it is strongly recommended to add a reference to the entity owning the rights on the video material.'
tags:
- Events
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
content:
application/json:
schema:
$ref: ../models/event-videos-patch.json
examples:
Videos to be updated.:
value:
- id: 46e9ea9f-fc42-4759-a81b-4308467b7c35
url: https://www.youtube.com/watch?v=cEItmb_a20D
copyrightHolder: publiq
- id: b504cf44-9ab8-4641-9934-38d1cc67242c
language: fr
description: An array of videos to be changed.
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/videos/{videoId}:
parameters:
- $ref: '#/components/parameters/eventId'
- $ref: '#/components/parameters/videoId'
delete:
summary: videos - delete
operationId: event-videos-delete
responses:
'204':
description: No Content. The video was deleted from the event.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
description: Delete an embedded video from an event based on the event id and the video id.
tags:
- Events
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/workflow-status:
parameters:
- $ref: '#/components/parameters/eventId'
put:
summary: workflowStatus - update
tags:
- Events
responses:
'204':
description: No Content. The workflowStatus was successfully updated.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid data:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
schemaErrors:
- error: Missing required properties (workflowStatus)
jsonPointer: /
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
operationId: event-workflow-status-put
description: 'Updates the workflow status of an event. Possible statuses are:
- `DRAFT`: The default status of new events. Events with this status do not appear in online calendars like or the search on
- `READY_FOR_VALIDATION`: This status means the event has been published, but not approved yet. Most online calendars will already show it, and it will appear in the search on
- `APPROVED`: The event has been approved by a moderator. It will appear on all online calendars. You cannot set this status unless you have moderation permissions.
- `REJECTED`: The event has been rejected by a moderator. It will not appear on any online calendars. You cannot set this status unless you have moderation permissions.
- `DELETED`: The event has been deleted. It will not appear on any online calendars.'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
requestBody:
content:
application/json:
schema:
$ref: ../models/event-workflowStatus-put.json
examples: {}
description: New workflowStatus to set on the event. Depending on the new workflowStatus, other properties may/must be set as well.
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/organizers/{organizerId}/labels:
parameters:
- $ref: '#/components/parameters/organizerId'
put:
summary: labels - update
description: 'Updates the given labels on the organizer with the given `organizerID`.
If one of the specified labels does not exist yet in UiTdatabank a new label will be created with default visibility and public permissions (usable by anyone), and linked to the event.
The label must be longer than 1 character and shorter than 255 characters. The label can also not contain the semicolon character. It should match the regex `^(?=.{2,255}$)(?=.*\S.*\S.*)[^;]*$`'
operationId: organizer-labels-update
x-internal: true
tags:
- Events
requestBody:
content:
application/json:
schema:
$ref: ../models/organizer-labels-put.json
description: The labels to add to the organizer.
responses:
'204':
description: No Content. The labels have been updated successfully.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Example:
value:
type: https://api.publiq.be/probs/body/invalid-data
title: Invalid body data
status: 400
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
security:
- USER_ACCESS_TOKEN: []
- CLIENT_ACCESS_TOKEN: []
servers:
- url: https://io-test.uitdatabank.be
description: Testing
- url: https://io.uitdatabank.be
description: Production
/events/{eventId}/card-systems:
parameters:
- schema:
type: string
name: eventId
in: path
required: true
description: The id of the event
put:
summary: Update event card systems
operationId: put-events-card-systems
responses:
'204':
description: EventCardSytems updated. No content.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data
* https://api.publiq.be/probs/uitpas/invalid-card-system
* https://api.publiq.be/probs/uitpas/cardsystem-not-found
* https://api.publiq.be/probs/uitpas/distributionkey-not-found
* https://api.publiq.be/probs/uitpas/invalid-distributionkey
* https://api.publiq.be/probs/uitpas/event-already-has-ticketsales
The detail property might include more information for the client developer.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'404':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/uitpas/event-not-found
The detail property might include more information for the client developer.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
requestBody:
content:
application/json:
schema:
description: List of all possible (enabled and disabled) EventCardSystem objects
type: array
items:
$ref: '#/components/schemas/EventCardSystem'
examples:
Example:
value:
- id: 1
enabled: true
manualDistributionKeys:
- id: 123
enabled: true
- id: 8
enabled: false
description: New list of card systems that an event is related to. Will overwrite the old list.
description: 'Update the `EventCardSystem` objects of the given event.
The `EventCardSystem` object specifies that the event is available in
this specific card system and optionally what manual distribution keys are enabled.
This update is used to toggle the `enabled` state for specific card systems or distribution keys.
To update the `enabled` state for card systems or distribution keys, you typically retrieve the possible `EventCardSystem` objects first using `GET /events/{eventId}/card-systems`. You can then reuse the response from the `GET` request,
altering the `enabled` state. Note that you can also omit the name properties.
Only the required fields are used in this update request.
However, in case you know the card system(s) and distribution key(s) in advance, you might also make this `PUT` request without prior `GET` e.g. in case you need to disable all card systems for an event, you can simply put an empty array `[]` to indicate that (missing card systems in the array will be treated the same way as card systems with `enabled: "false"`).
Also note the implementation of this `PUT` endpoint is robust enough to allow updating card systems before the event is known in UiTPAS. (so even before the `GET` returns a valid HTTP 200 response).
> **This endpoint is only needed for exceptional cases.** In most cases card systems and distribution keys are set automatically on events, so you don''t need to retrieve or change them.
The caller of this request must have `EVENTS_UPDATE` permission for the organizer of this event or `EVENTS_UPDATE_ALL` permission for any organizer or the caller of this request must have "Aanbod bewerken" permission in the UiTdatabank for the given event.'
security:
- USER_ACCESS_TOKEN:
- https://api.publiq.be/auth/uitpas
- CLIENT_ACCESS_TOKEN:
- https://api.publiq.be/auth/uitpas
tags:
- Events
get:
summary: Get event card systems
operationId: get-events-card-systems
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EventCardSystem'
examples:
Example:
value:
- id: 1
name: UiTPAS Dender
enabled: true
manualDistributionKeys:
- id: 123
name: 3 euro per dag
enabled: true
- id: 8
name: UiTPAS Gent
enabled: true
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'404':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/uitpas/event-not-found
The detail property might include more information for the client developer.
'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
description: 'Retrieve social tariff settings specific for this card system and the given postal code.
This caller of this method, identified by client identification, client access token or user access token, does not require any permissions.'
security:
- USER_ACCESS_TOKEN:
- https://api.publiq.be/auth/uitpas
- CLIENT_ACCESS_TOKEN:
- https://api.publiq.be/auth/uitpas
tags:
- Events
servers:
- url: https://api-test.uitpas.be
description: Testing
- url: https://api.uitpas.be
description: Production
/events/{eventId}/settings:
parameters:
- schema:
type: string
name: eventId
in: path
required: true
description: The id of the event
put:
summary: Update event settings
operationId: put-events-settings
responses:
'204':
description: EventCardSytems updated. No content.
'400':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/body/missing
* https://api.publiq.be/probs/body/invalid-syntax
* https://api.publiq.be/probs/body/invalid-data
The detail property might include more information for the client developer.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'404':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/uitpas/event-not-found
The detail property might include more information for the client developer.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventSettings'
examples:
Example:
value:
checkinPoints: 1
id: 188dbbde-5ab1-497a-9083-8e56b5a33a1b
passholderTicketLimit:
volume: 1
periodType: ABSOLUTE
checkinLimit:
volume: 1
periodType: WEEK
description: 'Complete settings object of the given event. '
description: 'Update the event settings of the given event.
Make sure to perform a `GET events/{eventId}/settings` first, apply your changes and PUT the complete object using this request.
The caller of this request must have `EVENT_SETTINGS_UPDATE` permission for the organizer of this event or `EVENT_SETTINGS_UPDATE_ALL` permission for any organizer.'
security:
- USER_ACCESS_TOKEN:
- https://api.publiq.be/auth/uitpas
- CLIENT_ACCESS_TOKEN:
- https://api.publiq.be/auth/uitpas
tags:
- Events
get:
summary: Get event settings
operationId: get-events-settings
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EventSettings'
examples:
Example with both limits:
value:
id: 188dbbde-5ab1-497a-9083-8e56b5a33a1b
checkinPoints: 1
passholderTicketLimit:
volume: 1
periodType: ABSOLUTE
checkinLimit:
volume: 1
periodType: WEEK
Example without limits:
value:
id: 188dbbde-5ab1-497a-9083-8e56b5a33a1b
checkinPoints: 1
Example with checkin limits:
value:
id: 188dbbde-5ab1-497a-9083-8e56b5a33a1b
checkinPoints: 1
checkinLimit:
volume: 1
periodType: MONTH
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'404':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/uitpas/event-not-found
The detail property might include more information for the client developer.
'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
description: 'Get event settings of the given event.
The caller of this request must have `EVENT_SETTINGS_READ` permission for the organizer of this event or `EVENT_SETTINGS_READ_ALL` permission for any organizer.'
security:
- USER_ACCESS_TOKEN:
- https://api.publiq.be/auth/uitpas
- CLIENT_ACCESS_TOKEN:
- https://api.publiq.be/auth/uitpas
tags:
- Events
servers:
- url: https://api-test.uitpas.be
description: Testing
- url: https://api.uitpas.be
description: Production
/events/{eventId}/qr-checkincodes/download-link:
parameters:
- schema:
type: string
name: eventId
in: path
required: true
description: The id of the event
get:
summary: Get event QR checkin code as download link
operationId: get-events-qr-checkincodes-downloadlink
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadLinkResponse'
examples:
Example:
value:
downloadLink: https://api-test.uitpas.be/some/path/to/qr.zip?ts=202310231357&hash=1b5413636b41e9f774d416358060e613398b3ab017da13f3815c771a988b2d84
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'404':
description: 'Bad Request. Possible error types:
* https://api.publiq.be/probs/uitpas/event-not-found
The detail property might include more information for the client developer.
'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
description: 'Get a temporary download link to the QR checkin code of the given event.
This endpoint allows you to obtain a short-lived, hassle-free download link for your QR checkin code. After generation, this link remains active for a limited time, enabling direct QR downloads without the need for additional authentication. This is in particular convenient for applications that need to offer this link to users to start the download.
The caller of this request must have `EVENTS_QR_CHECKINCODE` permission for the organizer of this event.'
security:
- USER_ACCESS_TOKEN:
- https://api.publiq.be/auth/uitpas
- CLIENT_ACCESS_TOKEN:
- https://api.publiq.be/auth/uitpas
tags:
- Events
parameters:
- schema:
type: string
enum:
- pdf
- zip
default: pdf
in: query
name: format
description: format of the result file.
servers:
- url: https://api-test.uitpas.be
description: Testing
- url: https://api.uitpas.be
description: Production
components:
parameters:
eventId:
name: eventId
in: path
required: true
schema:
type: string
format: uuid
example: F2D5D20C-CC98-4979-9CD2-453ABAD979B5
description: Unique id of an event, in the format of a UUID
imageId:
name: imageId
in: path
required: true
schema:
type: string
format: uuid
example: 365f99a4-5490-4313-8ee9-adebea2dceb0
description: The unique uuid of an already uploaded image.
labelName:
name: labelName
in: path
required: true
schema:
type: string
example: MyLabel
pattern: ^(?=.{2,255}$)(?=.*\S.*\S.*)[^;]*$
description: The label to add to an event, place or organizer. The label name should be longer than 1 character but shorter than 255 characters. The label name should not contain semicolons.
videoId:
name: videoId
in: path
required: true
schema:
type: string
format: uuid
example: F2D5D20C-CC98-4979-9CD2-453ABAD979B5
description: Unique id of a video embedded in a place or event, in the format of a UUID
termId:
name: termId
in: path
required: true
schema:
type: string
description: Unique id of a taxonomy term. Taxonomy terms are pre-defined and can be found using our [guide about taxonomy terms](../docs/taxonomy-api/terms.md).
language:
name: language
in: path
required: true
schema:
type: string
enum:
- nl
- fr
- en
- de
description: The language of the request body properties
organizerId:
name: organizerId
in: path
required: true
schema:
type: string
format: uuid
example: F2D5D20C-CC98-4979-9CD2-453ABAD979B5
description: Unique id of an organizer, in the format of a UUID
placeId:
name: placeId
in: path
required: true
schema:
type: string
format: uuid
example: F2D5D20C-CC98-4979-9CD2-453ABAD979B5
description: Unique id of an place, in the format of a UUID
responses:
Unauthorized:
description: 'Unauthorized. Your request is missing the required credentials to authenticate. See the Authentication documentation for more info.
* type: https://api.publiq.be/probs/auth/unauthorized
* detail: might contain a developer-readable explanation of the reason'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Example:
value:
type: https://api.publiq.be/probs/auth/unauthorized
title: Unauthorized
status: 401
Forbidden:
description: 'Forbidden. Your request was successfully authenticated but you do not have permission to perform this particular request.
* type: https://api.publiq.be/probs/auth/forbidden
* detail: might contain a developer-readable explanation of the reason'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Example:
value:
type: https://api.publiq.be/probs/auth/forbidden
title: Forbidden
status: 403
detail: user must be admin of organizer abcd1234
NotFound:
description: 'The requested resource (URL) could not be found.
This can be due to one of multiple reasons:
* The endpoint has a typo and/or does not exist on the API
* One of the path parameters contains a value that is invalid or does not exist
* One of the required query parameters is missing
* One of the query parameters has an invalid value
The `detail` property of the response should contain more specific information.
The `type` will always be `https://api.publiq.be/probs/url/not-found`.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
examples:
Example:
value:
type: https://api.publiq.be/probs/url/not-found
title: URL not found
status: 404
detail: The resource with id "76C6AC08-763C-492E-A68C-CBC43A857229" was not found.
Unauthorized_2:
description: 'Unauthorized. Your request is missing the required credentials to authenticate. See the Authentication documentation for more info.
* type: https://api.publiq.be/probs/auth/unauthorized
* detail: might contain a developer-readable explanation of the reason'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
x-examples:
Unauthorized:
value:
type: https://api.publiq.be/probs/auth/unauthorized
title: Unauthorized
status: 401
Forbidden_2:
description: 'Forbidden. Your request was successfully authenticated but you do not have permission to perform this particular request.
* type: https://api.publiq.be/probs/auth/forbidden
* detail: might contain a developer-readable explanation of the reason'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
x-examples:
Forbidden:
value:
type: https://api.publiq.be/probs/auth/forbidden
title: Forbidden
status: 403
detail: user must be admin of organiser abcd1234
Unauthorized_3:
description: 'Unauthorized. Your request is missing the required credentials to authenticate. See the Authentication documentation for more info.
* type: https://api.publiq.be/probs/auth/unauthorized
* detail: might contain a developer-readable explanation of the reason'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error_3'
x-examples:
Unauthorized:
value:
type: https://api.publiq.be/probs/auth/unauthorized
title: Unauthorized
status: 401
Forbidden_3:
description: 'Forbidden. Your request was successfully authenticated but you do not have permission to perform this particular request.
* type: https://api.publiq.be/probs/auth/forbidden
* detail: might contain a developer-readable explanation of the reason'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error_3'
x-examples:
Forbidden:
value:
type: https://api.publiq.be/probs/auth/forbidden
title: Forbidden
status: 403
detail: user must be admin of organiser abcd1234
schemas:
Error:
$ref: https://raw.githubusercontent.com/cultuurnet/apidocs/main/projects/errors/models/Error.json
EventSettings:
title: EventSettings
x-stoplight:
id: vn36pgcxzw6l7
type: object
description: Event setting within UiTPAS
properties:
id:
type: string
description: ID of the event
passholderTicketLimit:
$ref: '#/components/schemas/PeriodLimit'
checkinLimit:
$ref: '#/components/schemas/PeriodLimit'
checkinPoints:
type: integer
x-stoplight:
id: 2w5lssksar2hk
description: Points earned after a checkin for this event
required:
- id
- checkinPoints
DownloadLinkResponse:
title: DownloadLinkResponse
x-stoplight:
id: a922luo99cksx
type: object
properties:
downloadLink:
type: string
x-stoplight:
id: 3opxrhpcw3s6u
description: Download link for the requested file
required:
- downloadLink
EventCardSystem:
title: EventCardSystem
type: object
example:
id: 1
name: UiTPAS Dender
enabled: true
manualDistributionKeys:
- id: 123
name: €1,5 halve dag
enabled: true
x-tags:
- Models
description: 'CardSystem in an event context, optionally including manual distributionKeys.
This model is only used in the GET and PUT `/events/{eventId}/card-systems` to configure the card systems and distribution keys for an event.
> **This model and corresponding endpoints are only needed for exceptional cases.** In most cases card systems and distribution keys are set automatically on events, so you don''t need to retrieve or change them.
'
properties:
id:
type: integer
description: ID of the card system
name:
type: string
description: Name of the card system
enabled:
type: boolean
description: State of this card system for the event.
manualDistributionKeys:
type: array
description: List of distribution keys, used to determine the price of discounted UiTPAS tariffs, which can be enabled or disabled manually for the event.
items:
type: object
description: Distribution key that can be enabled or disabled manually for the related event.
properties:
id:
type: integer
description: Unique ID of the manual distribution key.
name:
type: string
description: Human-readable name of the distribution key.
enabled:
type: boolean
description: Whether the distribution key is enabled or not for this specific event.
required:
- id
- enabled
required:
- id
- enabled
PeriodLimit:
title: PeriodLimit
type: object
description: Period limit settings
properties:
volume:
type: integer
description: Volume of this limit
periodType:
type: string
enum:
- ABSOLUTE
- DAY
- WEEK
- MONTH
- QUARTER
- YEAR
description: Period type of the limit
required:
- volume
- periodType
Error_2:
title: Error
type: object
description: RFC7807 error model for all publiq APIs.
properties:
type:
type: string
description: A URI reference that identifies the problem type. Can be used to recognize specific errors in your application code by comparing the complete URI.
title:
type: string
description: A short, human-readable summary of the problem type (for developers).
status:
type: integer
description: The HTTP status code.
detail:
type: string
description: 'A human-readable explanation specific to this occurrence of the problem (for developers). '
endUserMessage:
type: object
description: A human-readable explanation of the problem, specifically for end-users, in one or more languages. Typically available for domain errors, but not for errors caused by a technical issue in the integration (for example invalid JSON syntax in a request body). An `nl` value is always provided, other languages may be provided depending on the API and its intended audience. When this property is included, it is strongly encouraged to show this to the end-user.
properties:
nl:
type: string
description: A human-readable explanation of the problem, specifically for end-users, localized in Dutch.
fr:
type: string
description: A human-readable explanation of the problem, specifically for end-users, localized in French.
de:
type: string
description: A human-readable explanation of the problem, specifically for end-users, localized in German.
en:
type: string
description: A human-readable explanation of the problem, specifically for end-users, localized in English.
required:
- nl
schemaErrors:
type: array
description: A list of one or more schema validation errors (usually used for error type https://api.publiq.be/probs/body/invalid-data).
items:
type: object
properties:
jsonPointer:
type: string
format: json-pointer
description: RFC6901 compliant pointer that indicates what property/value was invalid.
error:
type: string
description: A human-readable (but often technical) reason why the property was invalid.
required:
- jsonPointer
- error
required:
- type
- title
- status
x-internal: false
Error_3:
title: Error
type: object
description: RFC7807 error model for all publiq APIs.
properties:
type:
type: string
description: A URI reference that identifies the problem type. Can be used to recognize specific errors in your application code by comparing the complete URI.
title:
type: string
description: A short, human-readable summary of the problem type (for developers).
status:
type: integer
description: The HTTP status code.
detail:
type: string
description: 'A human-readable explanation specific to this occurrence of the problem (for developers). '
endUserMessage:
type: object
description: A human-readable explanation of the problem, specifically for end-users, in one or more languages. Typically available for domain errors, but not for errors caused by a technical issue in the integration (for example invalid JSON syntax in a request body). An `nl` value is always provided, other languages may be provided depending on the API and its intended audience. When this property is included, it is strongly encouraged to show this to the end-user.
properties:
nl:
type: string
description: A human-readable explanation of the problem, specifically for end-users, localized in Dutch.
fr:
type: string
description: A human-readable explanation of the problem, specifically for end-users, localized in French.
de:
type: string
description: A human-readable explanation of the problem, specifically for end-users, localized in German.
en:
type: string
description: A human-readable explanation of the problem, specifically for end-users, localized in English.
required:
- nl
schemaErrors:
type: array
description: A list of one or more schema validation errors (usually used for error type https://api.publiq.be/probs/body/invalid-data).
items:
type: object
properties:
jsonPointer:
type: string
format: json-pointer
description: RFC6901 compliant pointer that indicates what property/value was invalid.
error:
type: string
description: A human-readable (but often technical) reason why the property was invalid.
required:
- jsonPointer
- error
required:
- type
- title
- status
x-internal: false
securitySchemes:
USER_ACCESS_TOKEN:
type: oauth2
flows: {}
description: A user access token, obtained by redirecting the end user to publiq's authorization server to login using the **Authorization Code OAuth Flow**. See the [authentication docs about user access tokens](https://docs.publiq.be/docs/authentication/methods/client-access-token) for more info.
CLIENT_ACCESS_TOKEN:
type: oauth2
flows: {}
description: A client access token, obtained by exchanging your client id and client secret for a token via an HTTP request to publiq's authorization server using the **Client Credentials OAuth Flow**. See the [authentication docs about client access tokens](https://docs.publiq.be/docs/authentication/methods/user-access-token) for more info.
CLIENT_IDENTIFICATION:
name: x-client-id
type: apiKey
in: header
CUSTOM_TOKEN:
name: x-custom-token
type: apiKey
in: header
x-refined-from:
- uitdatabank-entry.json
- uitpas-uitpas.json
- publiq-uitdatabank-entry-openapi.yml
- publiq-uitpas-openapi.yml