openapi: 3.2.0 info: title: Publiq Places API version: '3.0' 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 description: 'Operations tagged Places across 2 of this provider''s published API definitions: uitdatabank-entry.json, publiq-uitdatabank-entry-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 tags: - name: Places paths: /places: post: summary: place - create tags: - Places responses: '201': description: The place was created successfully. content: application/json: schema: type: object properties: id: type: string description: The id of the created place. example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf format: uuid placeId: type: string description: The id of the created place (deprecated and replaced with `id`). deprecated: true example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf format: uuid url: type: string description: The url of the JSON-LD representation of the created place. example: https://io-test.uitdatabank.be/places/c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf 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 - placeId - url examples: Example: value: id: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf placeId: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf url: https://io-test.uitdatabank.be/places/c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf '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' '409': description: 'Status conflict To ensure data integrity and avoid duplication within the system, each place must have a unique combination of the main language title and address. You get this error when (multiple) matches already exist in the system. You can use the attached query to get existing place(s). Subsequently, appropriate actions, such as updates to an existing Place, can be done to maintain uniqueness and coherence in UDB.' content: application/json: schema: type: object x-examples: Example 1: query: /place/581314d4-637e-407b-ba35-8b60847012d0 type: https://api.publiq.be/probs/uitdatabank/duplicate-place title: Duplicate place status: 409 detail: This place already exists. Use the attached query to get existing place(s) for the place you tried to create. properties: query: type: string description: When multiple duplicated places are round, this provides a URI to existing places type: type: string description: https://api.publiq.be/probs/uitdatabank/duplicate-place title: type: string description: Duplicate place status: type: integer description: '409' detail: type: string description: Detailed description of the error duplicatePlaceUri: type: string description: When a single duplicated place is found, this is the URI of the original place required: - type - title - status - detail examples: Multi duplicated places found: value: query: /place/581314d4-637e-407b-ba35-8b60847012d0 type: https://api.publiq.be/probs/uitdatabank/duplicate-place title: Duplicate place status: 409 detail: This place already exists. Use the attached query to get existing place(s) for the place you tried to create. Single duplicated place found: value: duplicatePlaceUri: /place/581314d4-637e-407b-ba35-8b60847012d0 type: https://api.publiq.be/probs/uitdatabank/duplicate-place title: Duplicate place status: 409 detail: A place with this address / name combination already exists. Please use the existing place for your purposes. operationId: place-post description: 'Creates a new place with the required properties and any additional optional properties. By default, the new place 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 place 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. To ensure data integrity and avoid duplication within the system, each place must have a unique combination of the main language title and address.' security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] requestBody: description: 'The complete details of the new place to create. The schema of the place is the same as the response of the [`GET /places/{placeId}`](./entry.json/paths/~1places~1{placeId}/get) operation. This request also supports an older deprecated schema that was used to create an place with just its required fields. If you have an existing integration that still uses this schema, you can view it by switching from the `place` schema to `place.post (deprecated)` below.' content: application/json: schema: $ref: ../models/place-post.json servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}: parameters: - $ref: '#/components/parameters/placeId' get: summary: place - get tags: - Places responses: '200': description: Place details. content: application/json: schema: $ref: ../models/place-with-read-example.json '404': $ref: '#/components/responses/NotFound' operationId: place-get description: Returns the details of the place for the given `placeId`. put: summary: place - update operationId: place-put responses: '200': description: The place was updated successfully content: application/json: schema: type: object properties: id: type: string example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf format: uuid description: The id of the updated place. placeId: type: string deprecated: true example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf format: uuid description: The id of the updated place (deprecated and replaced with `id`). url: type: string example: https://io-test.uitdatabank.be/places/c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf format: uri description: The url of the JSON-LD representation of the updated place. 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 - placeId - url examples: Example: value: id: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf placeId: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf url: https://io-test.uitdatabank.be/places/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 place with the given `placeId` by completely overwriting it with the properties in the given JSON. > Any existing optional properties on the place that are not included in the update request will be removed from the place when updating the place via this operation. > > As an exception, some existing `labels` or `hiddenLabels` may be kept on the place 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/place-with-write-example.json description: The complete details of the place to update. The schema of the place is the same as the response of the [`GET /places/{placeId}`](./entry.json/paths/~1places~1{placeId}/get) operation. tags: - Places delete: summary: place - delete operationId: place-delete responses: '204': description: No Content. The place'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 place. The place 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: - Places x-internal: false servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /imports/places: post: summary: place - import (create) tags: - Places responses: '201': description: The place was created successfully. content: application/json: schema: type: object properties: id: type: string description: The id of the created place. example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf format: uuid placeId: type: string description: The id of the created place (deprecated and replaced with `id`). deprecated: true example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf format: uuid url: type: string description: The url of the JSON-LD representation of the created place. example: https://io-test.uitdatabank.be/places/c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf 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 - placeId - url examples: Example: value: id: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf placeId: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf url: https://io-test.uitdatabank.be/places/c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf '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: place-import-create deprecated: true description: 'Creates a new place via the historical `/imports/places` URL. > This operation is deprecated and should not be used in new integrations. Use the `POST /places` operation instead to create new places. > > Both operations accept the same JSON bodies nowadays, and support creating places with only the required properties or with additional optional properties. > > The only difference is that the default `workflowStatus` for places created via `POST /places` is `DRAFT`, while new places created via this `POST /imports/places` operation will have the default workflowStatus `READY_FOR_VALIDATION` for backward compatibility with historical integrations. > > If you want your new places to also have the workflowStatus `READY_FOR_VALIDATION`, you can use the `POST /places` 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 place to create. The schema of the place is the same as the response of the [`GET /places/{placeId}`](./entry.json/paths/~1places~1{placeId}/get) operation. content: application/json: schema: anyOf: - $ref: ../models/place.json - $ref: ../models/place-post-deprecated.json examples: Example: value: mainLanguage: nl name: nl: Nederlandse naam fr: Nom français de: Deutscher Name en: English name address: nl: addressCountry: BE addressLocality: Brussel postalCode: '1000' streetAddress: Wetstraat 1 fr: addressCountry: BE addressLocality: Bruxelles postalCode: '1000' streetAddress: Rue de la Loi 1 de: addressCountry: BE addressLocality: Brüssel postalCode: '1000' streetAddress: Wetstraat 1 en: addressCountry: BE addressLocality: Brussels postalCode: '1000' streetAddress: Wetstraat 1 calendarType: periodic startDate: '2021-05-17T22:00:00+00:00' endDate: '2021-05-17T22:00:00+00:00' openingHours: - opens: '17:00' closes: '17:00' dayOfWeek: - monday availableFrom: '2021-05-17T22:00:00+00:00' terms: - id: 0.14.0.0.0 label: Monument domain: eventtype typicalAgeRange: 6-12 description: nl: Nederlandse beschrijving fr: Description français de: Deutscher Beschreibung en: English description priceInfo: - category: base price: 10.5 priceCurrency: EUR name: nl: Basistarief fr: Tarif de base de: Base tariff en: Basisrate contactPoint: phone: - 016/112233 email: - info@example.com url: - https://www.example.com bookingInfo: phone: 016/112233 email: info@example.com url: https://www.example.com urlLabel: nl: Nederlandse beschrijving fr: Description français de: Deutscher Beschreibung en: English description availabilityStarts: '2021-05-17T22:00:00+00:00' availabilityEnds: '2021-05-17T22:00:00+00:00' mediaObject: - '@id': https://io-test.uitdatabank.be/images/74969172-E2A6-4626-BA63-4B6919242A24 - '@id': https://io-test.uitdatabank.be/images/85b04295-479c-40f5-b3dd-469dfb4387b3 description: optional overwritten description copyrightHolder: optional overwritten copyright holder inLanguage: nl videos: - id: b504cf44-9ab8-4641-9934-38d1cc67242c url: https://www.youtube.com/watch?v=cEItmb_a20D embedUrl: https://www.youtube.com/embed/cEItmb_a20D language: nl copyrightHolder: publiq labels: - label1 hiddenLabels: - label2 servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /imports/places/{placeId}: parameters: - $ref: '#/components/parameters/placeId' put: summary: place - import (update) operationId: place-import-update deprecated: true responses: '200': description: The place was updated successfully content: application/json: schema: type: object properties: id: type: string example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf format: uuid description: The id of the updated place. placeId: type: string deprecated: true example: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf format: uuid description: The id of the updated place (deprecated and replaced with `id`). url: type: string example: https://io-test.uitdatabank.be/places/c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf format: uri description: The url of the JSON-LD representation of the updated place. 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 - placeId - url examples: Example: value: id: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf placeId: c8e6ff82-8b30-4295-b937-ab2f4f6ab4bf url: https://io-test.uitdatabank.be/places/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 place via the historical `/imports/places/{placeId}` 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 /places/{placeId}` operation instead to update existing places, which accepts exactly the same JSON body.' security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] requestBody: content: application/json: schema: $ref: ../models/place-with-write-example.json description: The complete details of the place to update. The schema of the place is the same as the response of the [`GET /places/{placeId}`](./entry.json/paths/~1places~1{placeId}/get) operation. tags: - Places servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}/address/{language}: parameters: - $ref: '#/components/parameters/placeId' - $ref: '#/components/parameters/language' put: summary: address - update operationId: place-address-put tags: - Places description: Updates the address of a place. requestBody: content: application/json: schema: $ref: ../models/place-address-put.json description: New address of the place, localized in a single language. responses: '204': description: The address 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 /places/{placeId}/available-from: parameters: - $ref: '#/components/parameters/placeId' put: summary: availableFrom - update operationId: place-availableFrom-put responses: '204': description: No Content. The place 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: - Places description: Updates the availableFrom of the place. This is the first date & time that the place is allowed to be visible on publication channels. security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] requestBody: content: application/json: schema: $ref: ../models/place-availableFrom-put.json examples: Example: value: availableFrom: '2021-05-17T22:00:00+00:00' description: New availableFrom to set on the place. servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}/booking-info: parameters: - $ref: '#/components/parameters/placeId' put: summary: bookingInfo - update description: 'Updates the bookingInfo for a place. > There is no DELETE endpoint. To remove (specific) bookingInfo perform a PUT request with empty properties.' operationId: place-bookingInfo-put tags: - Places requestBody: content: application/json: schema: $ref: ../models/place-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 place. 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 /places/{placeId}/calendar: parameters: - $ref: '#/components/parameters/placeId' put: summary: calendar - update tags: - Places 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 (calendarType) are missing '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' operationId: place-calendar-put requestBody: content: application/json: schema: $ref: ../models/place-calendar-put.json examples: 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 `placeId`. The calendar information will be completely replaced with the new one. The required properties depend on the `calendarType` property. | calendarType | required | optional | |---|---|---| | periodic | startDate, endDate | openingHours, status, bookingAvailability | | permanent | | openingHours, status, bookingAvailability | > If the event has a `status` or `bookingAvailability` that is not `Available`, and you do not include this `status` or `bookingAvailability` in the new calendar information, they will get reverted back to the default `Available`! > Contrary to events, places cannot use calendarType `single` or `multiple`!' servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}/calendar-summary: parameters: - $ref: '#/components/parameters/placeId' get: summary: calendar summary - get tags: - Places 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: place-calendar-summary-get description: 'Returns a human-readable summary of the calendar information of the place. 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 `/places/{placeId}/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 deprecated: true description: Deprecated alternative to the `size` query parameter. Supported for backward compatibility. x-internal: false servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}/contact-point: parameters: - $ref: '#/components/parameters/placeId' put: summary: contactPoint - update operationId: place-contactPoint-put tags: - Places description: 'Updates the contact point information of the place with the given `placeId`. > 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/place-contactPoint-put.json description: The contact point properties to set on the place. 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 /places/{placeId}/contributors: parameters: - $ref: '#/components/parameters/placeId' get: summary: contributors - get operationId: place-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: - Places description: Returns a JSON array of contributors, meaning users that have edit rights on the place. x-internal: true security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] put: summary: contributors - update operationId: place-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: - Places description: Updates the list of contributors on the place. These users will have edit rights on the place. x-internal: true security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] requestBody: content: application/json: schema: $ref: ../models/place-contributors-put.json examples: Example: value: - info@publiq.be - vragen@publiq.be description: New list of contributors of the place. Previous contributors of the place 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 /places/{placeId}/description/{language}: parameters: - $ref: '#/components/parameters/placeId' - $ref: '#/components/parameters/language' put: summary: description - update tags: - Places 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: place-description-put description: 'Updates the localized description of a place based on the given `placeId` 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/place-description-put.json examples: {} description: The new description of the place. delete: summary: description - delete tags: - Places operationId: place-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 a place based on the given `placeId` 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 /places/{placeId}/facilities: parameters: - $ref: '#/components/parameters/placeId' put: summary: facilities - update operationId: place-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: - Places description: 'Updates the list of available (accessibility) facilities on the place. These will show up in the place''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 place''s facilities in UiTdatabank, even if you are the place owner. Contact an administrator for further information.' security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] requestBody: content: application/json: schema: $ref: ../models/place-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 /places/{placeId}/history: parameters: - $ref: '#/components/parameters/placeId' get: summary: history - get tags: - Places responses: '200': description: Place 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 place. (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: Locatie aangemaakt in UiTdatabank 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' operationId: place-history-get description: 'Returns the history log of the place for the given `placeId`. The history log is an array of objects that contain info about each individual update to the place, 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 /places/{placeId}/images: parameters: - $ref: '#/components/parameters/placeId' post: summary: images - add operationId: place-images-post responses: '204': description: The image was added to the place. '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/place-image-post.json examples: Example: value: mediaObjectId: 546a90cd-a238-417b-aa98-1b6c50c1345c description: The image to add to a place. description: Adds an image to a place. To upload an image, use the `POST /images` endpoint. tags: - Places security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}/images/{imageId}: parameters: - $ref: '#/components/parameters/placeId' - $ref: '#/components/parameters/imageId' delete: summary: images - delete operationId: place-image-delete tags: - Places responses: '204': description: The image has been successfully removed from the place. '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' description: Removes the image with the given `imageId` from the place's `mediaObject` property. security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] put: summary: images - update operationId: place-image-put description: Updates the metadata of an image on a place. tags: - Places 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/place-image-put.json examples: Example: value: description: Picture of the publiq office 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 /places/{placeId}/images/main: parameters: - $ref: '#/components/parameters/placeId' put: summary: images main - update operationId: place-main-image-put tags: - Places description: Updates the main image of a place. The main image is the only image shown in search-result listviews and the image more prominently displayed on place-details, when the place has multiple images. requestBody: content: application/json: schema: $ref: ../models/place-main-image-put.json description: The id of the image to set as main image on the place. 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 /places/{placeId}/labels/{labelName}: parameters: - $ref: '#/components/parameters/placeId' - $ref: '#/components/parameters/labelName' put: summary: labels - add description: 'Adds the given label to the place with the given `placeId`. 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 place. 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: places-labels-add tags: - Places 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: place-labels-delete responses: '204': description: No Content. The label was deleted from the place. '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 place based on the place id, the label name, and the label's visibility. tags: - Places security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}/labels: parameters: - $ref: '#/components/parameters/placeId' put: summary: labels - update description: 'Updates the given labels on the place with the given `placeId`. 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 place. 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: place-labels-update x-internal: true tags: - Places requestBody: content: application/json: schema: $ref: ../models/place-labels-put.json description: The labels to add to the place. 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 /places/{placeId}/major-info: parameters: - $ref: '#/components/parameters/placeId' put: operationId: place-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 `placeId`. The major info contains: * `name`: The name of the place in the place''s `mainLanguage`, as a string * `type`: Id of the place''s `eventtype` taxonomy `term`, as a string * `theme` (optional): Id of the place''s `theme` taxonomy `term`, as a string * `address`: Object with the address of the place (see schema below) * `calendar`: Object with the place''s calendar information (see schema below) All properties are required (except for `theme`) and will overwrite existing values of these properties on the place. If the place 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 /place/{placeId}/major-info`' summary: major-info - update deprecated: true 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 place. type: type: string description: The `eventtype` term used to categorize the place. Terms are pre-defined and can be found using our [guide about taxonomy terms](../docs/taxonomy-api/terms.md). theme: type: string description: The `theme` term used to categorize the place. Terms are pre-defined and can be found using our [guide about taxonomy terms](../docs/taxonomy-api/terms.md). address: $ref: ../models/common-address-localized.json description: The address the place is located at, in the main language of the place. calendar: $ref: ../models/place-calendar-put.json required: - name - type - address - calendar examples: Permanent with opening hours: value: name: Sint-Pieterskerk type: 0.14.0.0.0 theme: 1.44.0.0.0 address: streetAddress: Grote Markt 1 postalCode: '3000' addressLocality: Leuven addressCountry: BE calendar: calendarType: permanent openingHours: - opens: '10:00' closes: '16:30' dayOfWeek: - monday - tuesday - thursday - friday - saturday - opens: '11:00' closes: '16:30' dayOfWeek: - sunday Periodic with opening hours: value: name: Velodroom type: Yf4aZBfsUEu2NsQqsprngw address: streetAddress: Brusselsestraat postalCode: '3000' addressLocality: Leuven addressCountry: BE calendar: calendarType: periodic startDate: '2021-05-17T22:00:00+00:00' endDate: '2023-11-17T22:00:00+00:00' openingHours: - opens: '17:00' closes: '22:00' dayOfWeek: - thursday - friday - opens: '13:00' closes: '22:00' dayOfWeek: - saturday - sunday description: All required fields for a place (whether they have been updated or not). security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] tags: - Places servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}/name/{language}: parameters: - $ref: '#/components/parameters/placeId' - $ref: '#/components/parameters/language' put: summary: name - update tags: - Places 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: place-name-put description: Updates the localized name of a place based on the given `placeId` and `language` inside the URL. security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] requestBody: content: application/json: schema: $ref: ../models/place-name-put.json examples: {} description: The new name of the place. servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}/organizer/{organizerId}: parameters: - $ref: '#/components/parameters/placeId' - $ref: '#/components/parameters/organizerId' delete: summary: organizer - delete description: Deletes the organizer of the place with the given `placeId`. operationId: place-organizer-delete tags: - Places 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 place with the given `placeId`. A list of organizers can be found using our guide about finding existing organizers. > An organizer is not required on a place, and it can only have one.' operationId: place-organizer-update tags: - Places 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 /places/{placeId}/permissions: parameters: - $ref: '#/components/parameters/placeId' get: summary: permissions - get tags: - Places responses: '200': description: OK content: application/json: schema: type: object properties: permissions: type: array description: The permissions granted to the user for the place. items: $ref: ../models/permission.json required: - permissions '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' operationId: get-places-placeId-permissions x-internal: true security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] description: Get user permissions relating to a place. servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}/price-info: parameters: - $ref: '#/components/parameters/placeId' put: summary: priceInfo - update tags: - Places 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: place-price-info-put description: Updates the price info of a place. security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] requestBody: content: application/json: schema: $ref: ../models/place-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 place. servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}/status: parameters: - $ref: '#/components/parameters/placeId' put: summary: status - update operationId: place-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 status on the top level of the place with the given `placeId`. requestBody: content: application/json: schema: $ref: ../models/place-status.json examples: Place is open and can be visited during opening hours: value: type: Available Place is temporarily closed: value: type: TemporarilyUnavailable Place still exists (physically), but is permanently closed: value: type: Unavailable description: New status to set on the place. tags: - Places security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}/type/{termId}: parameters: - $ref: '#/components/parameters/placeId' - $ref: '#/components/parameters/termId' put: summary: type - update operationId: place-type-put responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Places description: 'Updates the place''s type (examples of types are `Bioscoop`, `Monument`, `Theater`, and so on) based on the given `placeId` 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 place types. If the `placeId` 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 /places/{placeId}/typical-age-range: parameters: - $ref: '#/components/parameters/placeId' delete: summary: typicalAgeRange - delete operationId: place-typical-age-range-delete tags: - Places description: Deletes the age range from a place. 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: place-typical-age-range-put tags: - Places description: Updates the age range of the place with the given `placeId`. requestBody: content: application/json: schema: $ref: ../models/place-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 place. 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 /places/{placeId}/videos: parameters: - $ref: '#/components/parameters/placeId' post: summary: videos - add operationId: place-videos-post responses: '200': description: The video was added to the place. 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 place. 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/place-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 a place. description: 'Add a video as a URL reference to place 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: - Places security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] patch: summary: videos - patch operationId: places-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 a place. 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.' requestBody: content: application/json: schema: $ref: ../models/place-videos-patch.json examples: Videos to be updated.: value: - id: 30a880ba-c406-4308-8031-eb39c334f8c2 url: https://www.youtube.com/watch?v=cEItmb_a20D language: fr copyrightHolder: publiq - id: 55f3859b-ad56-426e-acd8-435401372019 copyrightHolder: Creative Commons description: An array of videos to be changed. tags: - Places security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}/videos/{videoId}: parameters: - $ref: '#/components/parameters/placeId' - $ref: '#/components/parameters/videoId' delete: summary: videos - delete operationId: place-videos-delete responses: '204': description: No Content. The video was deleted from the place. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' description: Delete an embedded video from an place based on the place id and the video id. tags: - Places security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /places/{placeId}/workflow-status: parameters: - $ref: '#/components/parameters/placeId' put: summary: workflowStatus - update tags: - Places 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: place-workflow-status-put description: 'Updates the workflow status of an place. Possible statuses are: - `DRAFT`: The default status of new places. Places with this status do not appear in online calendars like or the search on - `READY_FOR_VALIDATION`: This status means the place has been published, but not approved yet. Most online calendars will already show it, and it will appear in the search on - `APPROVED`: The place 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 place 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 place 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/place-workflowStatus-put.json examples: {} description: New workflowStatus to set on the place. 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 components: 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. parameters: 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 schemas: Error: $ref: https://raw.githubusercontent.com/cultuurnet/apidocs/main/projects/errors/models/Error.json 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 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. x-refined-from: - uitdatabank-entry.json - publiq-uitdatabank-entry-openapi.yml