{"openapi":"3.1.0","info":{"title":"Kulturpool API","description":"\n## Willkommen zur Kulturpool API!\n\nDie offizielle API für den Zugriff auf digitale Kultur- und Kunstsammlungen\nösterreichischer Institutionen.\n\n**Lesen Sie die [Dokumentation](/reference/) für weitere Informationen.**\n\n### 🔍 Suche (`/v2/search`)\n- **Drei Sammlungen:** Digitalisate (`chos`), redaktionelle Inhalte\n  (`editorial`) und die Wissensdatenbank (`knowledge`)\n- **Facetten und Filter:** nach Institution, Zeitraum, Objekttyp, Rechtestatus,\n  Medien und IIIF-Verfügbarkeit\n- **`/v2/search/federated`:** alle drei Sammlungen in einer Anfrage\n\n### 🎨 Ähnliche Objekte (`/v2/similar`)\n- **Inhaltlich oder visuell ähnliche Objekte** zu einem Datensatz\n- **`/v2/similar/image`:** ähnliche Objekte zu einem hochgeladenen Bild —\n  der Vektor kommt zurück und lässt sich per `GET` weiterverwenden\n\n### 🗿 Objekte (`/v2/object`)\n- **Der vollständige Originaldatensatz** als JSON-LD/EDM\n\n### 🏛️ Institutionen (`/institutions`)\n- **Alle teilnehmenden Institutionen**, einzeln oder als Liste\n\n### 📄 Inhalte (`/content`)\n- **Redaktionelle Inhalte** mit Übersetzungen und Metadaten\n\n### 🖼️ Assets (`/assets`)\n- **Bilder** mit Transformationsparametern (Größe, Format, Anpassung)\n\n### 📚 OAI-PMH (`/oai`)\n- **Metadata Harvesting** für Aggregatoren und Forschung\n\n---\n\nDie Endpunkte `/search` und `/object` ohne Versionspräfix sind **veraltet** und\ntragen die Header `Deprecation` und `Sunset`. Siehe\n[Ältere Endpunkte](/reference/grundlagen/#legacy).\n    ","version":"2.0.3"},"paths":{"/v2/search":{"get":{"tags":["Suche"],"summary":"Kulturpool Suche (v2)","description":"**Durchsucht den Kulturpool über die Typesense-Suchmaschine.**\n\n### Sammlungen\n\nMit `collection` wird gewählt, was durchsucht wird:\n\n- **chos** (Standard) — Digitalisate\n- **editorial** — redaktionelle Seiten und Institutionen\n- **knowledge** — die Wissensdatenbank\n\nFür eine Suche über alle drei gleichzeitig siehe `/v2/search/federated`.\n\n### Wichtigste Parameter\n\n- **q** — Suchbegriff\n- **query_by** — zu durchsuchende Felder (Standard je Sammlung)\n- **filter_by** — Filterausdruck, z.B. `dataProvider:=Albertina`\n- **sort_by** — z.B. `titleKey:asc` (alphabetisch), `dateMin:desc`, `_rand()`\n- **facet_by** — Facetten (Standard je Sammlung); leerer Wert schaltet sie ab\n\nAlle weiteren Parameter gehen unverändert an Typesense — `prefix`, `num_typos`,\n`infix`, `group_by` und der Rest der Such-API stehen damit zur Verfügung.\n\n### Standardmäßig ausgeschlossene Felder\n\n`sourceRecord` und die Embedding-Vektoren werden nicht mitgeliefert: sie wiegen\nzusammen rund 8,6 KB pro Treffer. Mit `exclude_fields` lässt sich das\nüberschreiben.","operationId":"search_v2_search_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","description":"Suchbegriff","title":"Q"},"description":"Suchbegriff"},{"name":"collection","in":"query","required":false,"schema":{"type":"string","description":"chos | editorial | knowledge","default":"chos","title":"Collection"},"description":"chos | editorial | knowledge"},{"name":"query_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Zu durchsuchende Felder","title":"Query By"},"description":"Zu durchsuchende Felder"},{"name":"filter_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filterausdruck","title":"Filter By"},"description":"Filterausdruck"},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Sortierung, z.B. titleKey:asc","title":"Sort By"},"description":"Sortierung, z.B. titleKey:asc"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":250,"minimum":1,"default":20,"title":"Per Page"}},{"name":"facet_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Facetten","title":"Facet By"},"description":"Facetten"},{"name":"max_facet_values","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"wird auf 1000 begrenzt","default":50,"title":"Max Facet Values"},"description":"wird auf 1000 begrenzt"},{"name":"highlight_full_fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"title,description,creator,subject","title":"Highlight Full Fields"}},{"name":"use_cache","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Use Cache"}}],"responses":{"200":{"description":"Typesense-Suchergebnisse mit Treffern, Facetten und Highlighting","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search V2 Search Get"}}}},"400":{"description":"Typesense rejected the query"},"502":{"description":"The search engine could not be reached"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/search/federated":{"get":{"tags":["Suche"],"summary":"Suche über alle Sammlungen (v2)","description":"**Durchsucht Digitalisate, redaktionelle Inhalte und die Wissensdatenbank in\neiner Anfrage.**\n\nJeder Treffer trägt dieselben Kernfelder — `docType`, `title`, `description`,\n`url`, `docLanguage`, `updatedAt`, `previewImage` — unabhängig davon, welche\nSammlung geantwortet hat. Eine Anwendung kann alle drei mit derselben\nDarstellung rendern und über `docType` unterscheiden.\n\nDie Antwort ist Typesense' `multi_search`-Hülle: `results` in der Reihenfolge\nvon `collections`.\n\nMit `docLanguage` lässt sich auf eine Sprache eingrenzen: `chos` trägt `mul`\n(mehrsprachige Metadaten), die beiden anderen `de` bzw. `en`. Eine deutsche\nSuche filtert daher auf `docLanguage:[de,mul]`.","operationId":"federated_v2_search_federated_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","description":"Suchbegriff","title":"Q"},"description":"Suchbegriff"},{"name":"collections","in":"query","required":false,"schema":{"type":"string","description":"Kommagetrennt, in Antwortreihenfolge","default":"chos,editorial,knowledge","title":"Collections"},"description":"Kommagetrennt, in Antwortreihenfolge"},{"name":"filter_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter By"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":250,"minimum":1,"default":10,"title":"Per Page"}},{"name":"facet_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Standardmäßig aus","default":"","title":"Facet By"},"description":"Standardmäßig aus"},{"name":"max_facet_values","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":50,"title":"Max Facet Values"}},{"name":"use_cache","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Use Cache"}}],"responses":{"200":{"description":"Ein Ergebnis je Sammlung, in der angefragten Reihenfolge","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Federated V2 Search Federated Get"}}}},"400":{"description":"Typesense rejected the query"},"502":{"description":"The search engine could not be reached"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/similar":{"get":{"tags":["Ähnliche Objekte"],"summary":"Ähnliche Objekte finden (v2)","description":"**Findet die nächsten Nachbarn eines Objekts.**\n\n- **id** — die Kulturpool-ID des Ausgangsobjekts\n- **on** — `metadata` (Standard) sucht inhaltlich Ähnliches, `image` sucht\n  visuell Ähnliches\n- **threshold** — optionale Distanzgrenze\n\n### Zur Distanz\n\nEine Vektorsuche liefert **nie ein leeres Ergebnis**: sie sortiert die gesamte\nSammlung, die letzten Treffer einer Seite sind also die am wenigsten schlechten\nund nicht die guten. Nur `threshold` macht „keine gute Übereinstimmung“ zu einer\nmöglichen Antwort.\n\nDie beiden Felder liegen dabei auf verschiedenen Skalen: ein starker\nMetadaten-Treffer liegt bei etwa **0,12**, ein starker Bild-Treffer bei etwa\n**0,65**. Lesen Sie erst die Distanzen der Treffer, dann setzen Sie die Grenze.\n\nDas Ausgangsobjekt selbst ist im Ergebnis nicht enthalten. Objekte ohne\nVektor im gewählten Feld — etwa ein Datensatz ohne brauchbares Bild — führen zu\neinem 400 mit der Meldung der Suchmaschine.","operationId":"similar_v2_similar_get","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string","description":"Kulturpool-ID des Ausgangsobjekts","title":"Id"},"description":"Kulturpool-ID des Ausgangsobjekts"},{"name":"on","in":"query","required":false,"schema":{"type":"string","description":"metadata | image","default":"metadata","title":"On"},"description":"metadata | image"},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":250,"minimum":1,"default":20,"title":"Per Page"}},{"name":"filter_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter By"}},{"name":"threshold","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Maximale Distanz; ohne Angabe keine Grenze","title":"Threshold"},"description":"Maximale Distanz; ohne Angabe keine Grenze"}],"responses":{"200":{"description":"Treffer nach Distanz sortiert, mit `vector_distance` je Treffer","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Similar V2 Similar Get"}}}},"400":{"description":"Das Objekt hat keinen Vektor in diesem Feld"},"502":{"description":"The search engine could not be reached"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/similar/image":{"post":{"tags":["Ähnliche Objekte"],"summary":"Ähnliche Objekte zu einem hochgeladenen Bild (v2)","description":"**Sucht Objekte, die einem mitgeschickten Bild visuell ähnlich sehen.**\n\nEin Upload, eine Antwort. Das Bild wird hier durch CLIP geschickt und der\nresultierende Vektor direkt gegen `imageEmbedding` gesucht — Typesense kann\nBilder nicht selbst einbetten, es bettet nur Text ein.\n\n```bash\ncurl https://api.kulturpool.at/v2/similar/image \\\n  -F image=@kirche.jpg -F per_page=24\n```\n\n- **image** — die Bilddatei (multipart/form-data), höchstens 8 MB\n- **per_page**, **filter_by**, **threshold** — wie bei `/v2/similar`\n\nDas Bild wird **nicht gespeichert**: es wird gelesen, eingebettet und verworfen.\nZurück kommt neben den Treffern sein Vektor — das Feld `vector` der Antwort.\n\n### Weitersuchen ohne erneuten Upload\n\nMit `GET /v2/similar/image?vector=…` lässt sich dieselbe Suche beliebig oft\nwiederholen — mit anderem `filter_by`, anderer Seitengröße, oder aus einem Link\nheraus. Das kostet keine Einbettung und unterliegt keiner Anfragegrenze; das\nErgebnis ist mit dem des Uploads identisch.\n\n### Grenzen\n\nDieser Endpunkt ist der einzige, der nennenswert Rechenzeit kostet, und daher\nstrenger begrenzt: **10 Anfragen pro Minute** je Adresse (kurzzeitig bis 4 am\nStück). Darüber kommt ein `429` mit `Retry-After`. Sind gerade zu viele\nEinbettungen gleichzeitig unterwegs, antwortet der Dienst mit `503` statt die\nAnfrage in eine unbegrenzte Warteschlange zu stellen.\n\n### Zur Distanz\n\nEine gute Übereinstimmung liegt bei etwa **0,65** — CLIP legt Text und Bilder in\neinen Raum, aber ein Foto einer Kirche und eine *Zeichnung* einer Kirche liegen\ndarin weiter auseinander als zwei Zeichnungen. Ohne `threshold` sortiert die\nSuche die gesamte Sammlung; die letzten Treffer einer Seite sind dann die am\nwenigsten schlechten.","operationId":"similar_to_image_v2_similar_image_post","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_similar_to_image_v2_similar_image_post"}}}},"responses":{"200":{"description":"Treffer nach Distanz sortiert, mit `vector_distance` je Treffer","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Similar To Image V2 Similar Image Post"}}}},"400":{"description":"Das Objekt hat keinen Vektor in diesem Feld"},"502":{"description":"The search engine could not be reached"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Ähnliche Objekte"],"summary":"Bildsuche mit dem Vektor wiederholen (v2)","description":"**Wiederholt eine Bildsuche mit dem Vektor aus einer früheren Antwort.**\n\n`POST /v2/similar/image` gibt im Feld `vector` den Vektor des hochgeladenen\nBildes zurück. Hier hereingereicht, läuft dieselbe Suche noch einmal — ohne\nUpload, ohne CLIP, und darum auch ohne Anfragegrenze. Das Ergebnis ist mit dem\ndes Uploads identisch: schon die Suche beim Upload verwendet genau den Vektor,\nden der Token trägt.\n\n```bash\ncurl \"https://api.kulturpool.at/v2/similar/image?vector=$VECTOR&per_page=24\"\n```\n\n- **vector** — die 1366 Zeichen aus dem Feld `vector` einer Antwort\n- **per_page**, **filter_by**, **threshold** — wie bei `/v2/similar`\n\nDer Token ist der Vektor selbst — 512 Werte als float16, base64url-kodiert —\nund sonst nichts: kein Bild, kein Vorschaubild, keine Kennung auf dem Server.\nEr ist nur für dieses Modell gültig und sollte als undurchsichtig behandelt\nwerden. Ein String, der kein solcher Token ist, führt zu `422`.","operationId":"similar_to_vector_v2_similar_image_get","parameters":[{"name":"vector","in":"query","required":true,"schema":{"type":"string","description":"Das Feld `vector` aus einer Antwort von POST /v2/similar/image (1366 Zeichen)","title":"Vector"},"description":"Das Feld `vector` aus einer Antwort von POST /v2/similar/image (1366 Zeichen)"},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":250,"minimum":1,"default":20,"title":"Per Page"}},{"name":"filter_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter By"}},{"name":"threshold","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Maximale Distanz; ohne Angabe keine Grenze","title":"Threshold"},"description":"Maximale Distanz; ohne Angabe keine Grenze"}],"responses":{"200":{"description":"Treffer nach Distanz sortiert, mit `vector_distance` je Treffer","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Similar To Vector V2 Similar Image Get"}}}},"400":{"description":"Das Objekt hat keinen Vektor in diesem Feld"},"502":{"description":"The search engine could not be reached"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/object":{"get":{"tags":["Objekt"],"summary":"Einzelnes Objekt abrufen (v2)","description":"**Liefert den vollständigen Originaldatensatz eines Digitalisats.**\n\n`metadata` ist der Datensatz als JSON-LD nach dem Europeana Data Model —\ndieselbe Struktur, die der Kulturpool an die Europeana weitergibt, unverändert\nso, wie ihn die Institution geliefert hat.\n\nDie Kulturpool-ID steht in jedem Suchtreffer im Feld `uuid`. Wenn Sie ohnehin\nsuchen, sparen Sie sich diese Anfrage mit\n`include_fields=sourceRecord` — das Feld enthält genau dieses Objekt.\n\nWas der Index *über* einen Datensatz weiß — Medienanzahl, IIIF-Verfügbarkeit,\nBildmaße — steht als eigenes Feld an jedem Suchtreffer.","operationId":"get_object_v2_object_get","parameters":[{"name":"id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Die Kulturpool-ID (UUID) des Datensatzes","examples":["b1eaac0f-69a1-4174-8ac6-90a61615d0ae"],"title":"Id"},"description":"Die Kulturpool-ID (UUID) des Datensatzes"}],"responses":{"200":{"description":"Der Originaldatensatz als JSON-LD","content":{"application/json":{"schema":{}}}},"404":{"description":"Kein Objekt mit dieser Kulturpool-ID"},"502":{"description":"The search engine could not be reached"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/institutions":{"get":{"tags":["Institutionen"],"summary":"Alle Institutionen abrufen","description":"**Ruft alle registrierten Institutionen aus dem Kulturpool ab.**\n\nDiese API liefert eine vollständige Liste aller teilnehmenden Institutionen\nmit ihren Metadaten, Standortinformationen und mehrsprachigen Beschreibungen.","operationId":"get_institutions_institutions_get","responses":{"200":{"description":"Erfolgreiche Antwort mit Institutionen-Liste","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstitutionsResponse"},"example":{"data":[{"id":"naturhistorisches-museum-wien","legal_name":"Naturhistorisches Museum Wien","location":{"type":"MultiPoint","coordinates":[[16.35976,48.20527]]},"favicon":{"id":"12345678-1234-5678-9abc-123456789abc"},"hero_image":{"id":"87654321-8765-4321-9def-987654321fed","title":"Naturhistorisches Museum Wien","author":"Max Mustermann","license":"CC BY-SA","license_url":"https://creativecommons.org/licenses/by-sa/4.0/deed.de"},"logo":{"id":"11111111-2222-3333-4444-555555555555"},"translations":[{"place":"Wien","title":"Naturhistorisches Museum Wien","languages_code":"de","web_links":[{"display_name":"website","url":"https://www.nhm.at"}],"slugs":[{"slug":"nhmw"}],"summary":"Das Naturhistorische Museum Wien ist eines der bedeutendsten naturwissenschaftlichen Museen der Welt.","content":"<p>Das NHM Wien beherbergt rund 30 Millionen Sammlungsobjekte.</p>"}]}]}}}},"404":{"description":"Institution not found"},"500":{"description":"Internal server error"}}}},"/institutions/{institution_id}":{"get":{"tags":["Institutionen"],"summary":"Einzelne Kulturinstitution nach ID abrufen","description":"**Ruft detaillierte Informationen zu einer spezifischen Kulturinstitution ab.**\n\nDiese API liefert vollständige Details zu einer einzelnen Institution\ninklusive aller verfügbaren Metadaten, Standortinformationen und Übersetzungen.","operationId":"get_institution_institutions__institution_id__get","parameters":[{"name":"institution_id","in":"path","required":true,"schema":{"type":"string","description":"Die eindeutige ID der Kulturinstitution","examples":["naturhistorisches-museum-wien"],"title":"Institution Id"},"description":"Die eindeutige ID der Kulturinstitution"}],"responses":{"200":{"description":"Erfolgreiche Antwort mit Institution-Details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstitutionResponse"},"example":{"data":{"id":"naturhistorisches-museum-wien","legal_name":"Naturhistorisches Museum Wien","location":{"type":"MultiPoint","coordinates":[[16.35976,48.20527]]},"favicon":{"id":"12345678-1234-5678-9abc-123456789abc"},"hero_image":{"id":"87654321-8765-4321-9def-987654321fed","title":"Naturhistorisches Museum Wien","author":"Max Mustermann","license":"CC BY-SA","license_url":"https://creativecommons.org/licenses/by-sa/4.0/deed.de"},"logo":{"id":"11111111-2222-3333-4444-555555555555"},"translations":[{"place":"Wien","title":"Naturhistorisches Museum Wien","languages_code":"de","web_links":[{"display_name":"website","url":"https://www.nhm.at"}],"slugs":[{"slug":"nhmw"}],"summary":"Das Naturhistorische Museum Wien ist eines der bedeutendsten naturwissenschaftlichen Museen der Welt.","content":"<p>Das NHM Wien beherbergt rund 30 Millionen Sammlungsobjekte.</p>"}]}}}}},"404":{"description":"Institution mit der angegebenen ID wurde nicht gefunden","content":{"application/json":{"example":{"detail":"Error fetching data from upstream API"}}}},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/content":{"get":{"tags":["Inhalte"],"summary":"Inhalte abrufen (Index oder einzelne Seite per Slug)","description":"**Ruft redaktionelle Inhalte vom Kulturpool CMS ab.**\n\nDer Endpunkt hat zwei Betriebsarten:\n\n### Ohne Parameter — schlanker Index\n\nLiefert **alle** Einträge mit Übersetzungen, SEO-Metadaten und Kategorien,\naber **ohne** die verschachtelten Inhaltsblöcke (`translations[].items`).\nDas ist rund 68× kleiner als die vollständige Expansion (ca. 0,1 MB statt 7,4 MB).\n\nNutzen Sie den Index für Navigationen, Sitemaps und Slug-Auflösung.\n\n### Mit `?slug=` — einzelne Seite samt Inhaltsblöcken\n\nLiefert den Eintrag, dessen Übersetzung den angegebenen Slug trägt —\ninklusive aller Inhaltsblöcke. Die Antwort enthält weiterhin alle Übersetzungen\ndes Eintrags, nicht nur die zum Slug passende.\n\n```\nGET /content?slug=home\n```\n\nAlternativ liefert `GET /content/{content_id}` denselben vollständigen Datensatz\nüber die numerische ID.\n\n**Hinweis:** `translations[].items` ist im Index immer `null`. Wenn Sie die\nInhaltsblöcke benötigen, verwenden Sie `?slug=` oder `/content/{content_id}`.","operationId":"get_content_content_get","parameters":[{"name":"slug","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Slug einer Übersetzung. Liefert den passenden Eintrag inklusive aller Inhaltsblöcke statt des schlanken Index.","examples":["home"],"title":"Slug"},"description":"Slug einer Übersetzung. Liefert den passenden Eintrag inklusive aller Inhaltsblöcke statt des schlanken Index."}],"responses":{"200":{"description":"Erfolgreiche Antwort mit Content-Liste","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentResponse"},"example":{"data":[{"id":1,"status":"published","sort":1,"date_published":"2024-01-15T09:00:00Z","color_text":"#333333","color_background":"#ffffff","seo":{"id":1,"title":"Willkommen im Kulturpool - Digitale Kunst entdecken","meta_description":"Entdecken Sie die Vielfalt österreichischer Kultur im digitalen Raum","canonical_url":"https://kulturpool.at/willkommen"},"category":{"id":1,"sort":1,"translations":[]},"translations":[{"id":1,"languages_code":"de","title":"Willkommen im Kulturpool","slug":"willkommen","summary":"Entdecken Sie die Vielfalt österreichischer Kultur","items":[{"id":1,"collection":"block_text","item":{"id":1,"type":"hero","heading":"Willkommen im Kulturpool","body":"<p>Hier finden Sie digitalisierte Kunst und Kultur aus österreichischen Institutionen.</p>","heading_tag":"h1","is_enabled":true}}]}]}]}}}},"404":{"description":"Content not found"},"500":{"description":"Internal server error or validation error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/content/{content_id}":{"get":{"tags":["Inhalte"],"summary":"Einzelnen Content-Eintrag nach ID abrufen","description":"**Ruft einen spezifischen Content-Eintrag anhand seiner eindeutigen ID ab.**\n\nDiese API liefert detaillierte Informationen zu einem einzelnen Content-Eintrag\ninklusive aller Übersetzungen, strukturierten Inhaltsblöcke und Metadaten.","operationId":"get_content_by_id_content__content_id__get","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"Die eindeutige ID des Content-Eintrags","examples":[1],"title":"Content Id"},"description":"Die eindeutige ID des Content-Eintrags"}],"responses":{"200":{"description":"Erfolgreiche Antwort mit Content-Details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleContentResponse"},"example":{"data":{"id":1,"status":"published","sort":1,"date_published":"2024-01-15T09:00:00Z","color_text":"#333333","color_background":"#ffffff","seo":{"id":1,"title":"Willkommen im Kulturpool - Digitale Kunst entdecken","meta_description":"Entdecken Sie die Vielfalt österreichischer Kultur im digitalen Raum","canonical_url":"https://kulturpool.at/willkommen"},"category":{"id":1,"sort":1,"translations":[]},"translations":[{"id":1,"languages_code":"de","title":"Willkommen im Kulturpool","slug":"willkommen","summary":"Entdecken Sie die Vielfalt österreichischer Kultur","items":[{"id":1,"collection":"block_text","item":{"id":1,"type":"hero","heading":"Willkommen im Kulturpool","body":"<p>Hier finden Sie digitalisierte Kunst und Kultur aus österreichischen Institutionen.</p>","heading_tag":"h1","is_enabled":true}}]}]}}}}},"404":{"description":"Content mit der angegebenen ID wurde nicht gefunden","content":{"application/json":{"example":{"detail":"Content not found"}}}},"500":{"description":"Internal server error or validation error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/assets/{asset_id}":{"get":{"tags":["Assets"],"summary":"Asset abrufen","description":"**Ruft ein Asset (Bild) vom CMS ab und gibt es mit den angegebenen Transformationsparametern zurück.**\n\nDiese Route leitet Anfragen an das CMS weiter und ermöglicht die Bildtransformation\nmit verschiedenen Parametern für Größe, Format und Anpassung.\n\n### Parameter\n\n- **asset_id**: Die eindeutige ID des Assets im CMS\n- **width**: Breite des Bildes in Pixeln\n- **height**: Höhe des Bildes in Pixeln\n- **quality**: Bildqualität (1-100), Standard ist API-spezifisch für das Format\n- **without_enlargement**: Automatische Vergrößerung deaktivieren (true)\n- **format**: Ausgabeformat (auto, jpg, png, webp, tiff)\n    - `auto` (Standard): Versucht webp/avif wenn Browser unterstützt, sonst jpg\n- **fit**: Anpassung des Bildes an die Dimensionen:\n    - `cover` (Standard): Bild in Dimensionen einpassen unter Beibehaltung des Seitenverhältnisses\n    - `contain`: In Dimensionen einpassen mit \"Letterboxing\" für den Rest\n    - `inside`: So groß wie möglich innerhalb der Dimensionen\n    - `outside`: So klein wie möglich innerhalb oder außerhalb der Dimensionen\n\n### Beispiel\n```\nGET /assets/8e1cf6a9-d1d6-4090-9a36-303f1f57a016?format=avif&width=1500&height=700&fit=cover\n```","operationId":"get_asset_assets__asset_id__get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","description":"Die eindeutige ID des Assets im CMS","examples":["8e1cf6a9-d1d6-4090-9a36-303f1f57a016"],"title":"Asset Id"},"description":"Die eindeutige ID des Assets im CMS"},{"name":"width","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"Breite des Bildes in Pixeln","examples":[1500],"title":"Width"},"description":"Breite des Bildes in Pixeln"},{"name":"height","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"Höhe des Bildes in Pixeln","examples":[700],"title":"Height"},"description":"Höhe des Bildes in Pixeln"},{"name":"quality","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100,"minimum":1},{"type":"null"}],"description":"Bildqualität (1-100). Höhere Werte = größere Dateigröße, niedrigere Werte = mehr Kompressionsartefakte","examples":[80],"title":"Quality"},"description":"Bildqualität (1-100). Höhere Werte = größere Dateigröße, niedrigere Werte = mehr Kompressionsartefakte"},{"name":"without_enlargement","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Automatische Vergrößerung des Bildes deaktivieren","examples":[true],"title":"Without Enlargement"},"description":"Automatische Vergrößerung des Bildes deaktivieren"},{"name":"format","in":"query","required":false,"schema":{"anyOf":[{"enum":["auto","avif","jpg","png","webp","tiff"],"type":"string"},{"type":"null"}],"description":"Ausgabeformat des Bildes. 'auto' versucht webp/avif wenn Browser unterstützt, sonst jpg","examples":["avif"],"title":"Format"},"description":"Ausgabeformat des Bildes. 'auto' versucht webp/avif wenn Browser unterstützt, sonst jpg"},{"name":"fit","in":"query","required":false,"schema":{"anyOf":[{"enum":["cover","contain","inside","outside"],"type":"string"},{"type":"null"}],"description":"Anpassung des Bildes an die angegebenen Dimensionen","examples":["cover"],"title":"Fit"},"description":"Anpassung des Bildes an die angegebenen Dimensionen"}],"responses":{"200":{"description":"Asset erfolgreich abgerufen","content":{"application/json":{"schema":{}},"image/*":{"example":"Binary image data"}}},"404":{"description":"Asset nicht gefunden"},"500":{"description":"Interner Serverfehler"},"302":{"description":"Weiterleitung zum CMS-Asset","headers":{"Location":{"description":"URL des Assets im CMS","schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/search":{"get":{"tags":["Veraltet"],"summary":"Kulturpool Suche (veraltet)","description":"**Veraltet — bitte `/v2/search` verwenden.**\n\nDieser Endpunkt funktioniert weiterhin und liefert dieselben Daten, antwortet\naber in der alten Feldstruktur: `title` als Liste, `kp_id` statt `uuid`,\nEinzelwerte statt Listen bei den Rechteangaben.\n\nDer Umstieg ist meist klein — `/v2` voranstellen und die Feldnamen prüfen. Die\nvollständige Liste der Unterschiede steht unter\n[Ältere Endpunkte](/reference/grundlagen/#legacy).\n\nAntworten tragen die Header `Deprecation` und `Sunset`.","operationId":"search_documents_search_get","deprecated":true,"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","description":"Suchbegriff","title":"Q"},"description":"Suchbegriff"},{"name":"query_by","in":"query","required":false,"schema":{"type":"string","description":"Kommagetrennte Liste der zu durchsuchenden Felder","default":"title,description,creator,subject,dataProvider,publisher,contributor,coverage,spatial,temporal,dcType,medium,isPartOf,identifier,alternative","title":"Query By"},"description":"Kommagetrennte Liste der zu durchsuchenden Felder"},{"name":"filter_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter für Facetten (z.B. 'dataProvider:=Albertina')","title":"Filter By"},"description":"Filter für Facetten (z.B. 'dataProvider:=Albertina')"},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Sortierung (z.B. 'titleSort:asc' oder 'dateMin:desc')","title":"Sort By"},"description":"Sortierung (z.B. 'titleSort:asc' oder 'dateMin:desc')"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Seitennummer (ab 1)","default":1,"title":"Page"},"description":"Seitennummer (ab 1)"},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":250,"minimum":1,"description":"Anzahl Ergebnisse pro Seite (max. 250)","default":20,"title":"Per Page"},"description":"Anzahl Ergebnisse pro Seite (max. 250)"},{"name":"facet_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Kommagetrennte Liste der Facetten","default":"dataProvider,creator,edmType,dcType,subject,medium,publisher,isPartOf,edmRightsName,edmRightsReusePolicy,dateMin,contributor,intermediateProvider","title":"Facet By"},"description":"Kommagetrennte Liste der Facetten"},{"name":"max_facet_values","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Maximale Anzahl Facetten-Werte (wird auf max. 1000 begrenzt)","default":50,"title":"Max Facet Values"},"description":"Maximale Anzahl Facetten-Werte (wird auf max. 1000 begrenzt)"},{"name":"highlight_full_fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Felder für vollständiges Highlighting","default":"title,description,creator,subject","title":"Highlight Full Fields"},"description":"Felder für vollständiges Highlighting"},{"name":"use_cache","in":"query","required":false,"schema":{"type":"boolean","description":"Typesense-Cache verwenden","default":true,"title":"Use Cache"},"description":"Typesense-Cache verwenden"}],"responses":{"200":{"description":"Typesense-Suchergebnisse mit Objekten, Facetten und Highlighting","content":{"application/json":{"schema":{}}}},"404":{"description":"No search results found"},"500":{"description":"Internal server error or Typesense API error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/object":{"get":{"tags":["Veraltet"],"summary":"Einzelnes Objekt abrufen (veraltet)","description":"**Veraltet — bitte `/v2/object` verwenden.**\n\nLiefert weiterhin dieselben Metadaten. `/v2/object` holt den Datensatz direkt\naus dem Suchindex, braucht keinen zweiten Dienst dahinter und liefert zusätzlich\neine aufbereitete Medienliste.\n\nSiehe [Objekt API](/reference/api/object/).","operationId":"get_object_object_get","deprecated":true,"parameters":[{"name":"id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Kulturpool-ID als eindeutige UUID des Originaldatensatzes","examples":["b1eaac0f-69a1-4174-8ac6-90a61615d0ae"],"title":"Id"},"description":"Kulturpool-ID als eindeutige UUID des Originaldatensatzes"}],"responses":{"200":{"description":"Detaillierte Informationen zum angeforderten Objekt","content":{"application/json":{"schema":{}}},"metadata":{"@context":{},"id":"#tms_40502_AGG","type":"Aggregation","aggregatedCHO":{}},"media":[{"url":"https://sammlungenonline.albertina.at/iiif/tms_40502/manifest.json","type":"iiif","content_type":"application/json"}]},"404":{"description":"Objekt mit der angegebenen Kulturpool-ID wurde nicht gefunden","content":{"application/json":{"example":{"detail":"Error fetching data from upstream API"}}}},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"tags":["system"],"summary":"System Health Check","description":"**Überprüft den Status der API und ihrer Abhängigkeiten.**","operationId":"health_check_health_get","responses":{"200":{"description":"API ist gesund und einsatzbereit","content":{"application/json":{"schema":{},"example":{"status":"healthy"}}}}}}}},"components":{"schemas":{"BlockEmbed":{"properties":{"id":{"type":"integer","title":"Id"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Link"},"file":{"anyOf":[{"$ref":"#/components/schemas/File"},{"type":"null"}]},"aspect_ratio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aspect Ratio"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"max_width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Width"},"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Enabled"},"date_published":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Published"},"date_unpublished":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Unpublished"}},"type":"object","required":["id"],"title":"BlockEmbed"},"BlockLinks":{"properties":{"id":{"type":"integer","title":"Id"},"heading":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Heading"},"item":{"anyOf":[{},{"type":"null"}],"title":"Item"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Enabled"},"date_published":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Published"},"date_unpublished":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Unpublished"}},"type":"object","required":["id"],"title":"BlockLinks"},"BlockList":{"properties":{"id":{"type":"integer","title":"Id"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"color_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color Text"},"color_background":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color Background"},"aspect_ratio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aspect Ratio"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"heading":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Heading"},"pick_items":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pick Items"},"show_filter":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show Filter"},"row_mode":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Row Mode"},"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode"},"collection":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Collection"},"randomize":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Randomize"},"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Enabled"},"date_published":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Published"},"date_unpublished":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Unpublished"},"filter_interface":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Filter Interface"},"items":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Items"}},"type":"object","required":["id"],"title":"BlockList"},"BlockSlider":{"properties":{"id":{"type":"integer","title":"Id"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"aspect_ratio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aspect Ratio"},"row_mode":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Row Mode"},"pick_items":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pick Items"},"randomize":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Randomize"},"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Enabled"},"date_published":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Published"},"date_unpublished":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Unpublished"},"items":{"anyOf":[{},{"type":"null"}],"title":"Items"}},"type":"object","required":["id"],"title":"BlockSlider"},"BlockText":{"properties":{"id":{"type":"integer","title":"Id"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"heading":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Heading"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"heading_tag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Heading Tag"},"heading_size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Heading Size"},"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Enabled"},"date_published":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Published"},"date_unpublished":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Unpublished"}},"type":"object","required":["id"],"title":"BlockText"},"Body_similar_to_image_v2_similar_image_post":{"properties":{"image":{"type":"string","contentMediaType":"application/octet-stream","title":"Image","description":"Die Bilddatei"},"per_page":{"type":"integer","maximum":250.0,"minimum":1.0,"title":"Per Page","default":20},"filter_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter By"},"threshold":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Threshold"}},"type":"object","required":["image"],"title":"Body_similar_to_image_v2_similar_image_post"},"Content":{"properties":{"id":{"type":"integer","title":"Id"},"envs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Envs"},"sort":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sort"},"category":{"anyOf":[{"$ref":"#/components/schemas/ContentCategory"},{"type":"null"}]},"status":{"type":"string","title":"Status"},"seo":{"anyOf":[{"$ref":"#/components/schemas/SEO"},{"type":"null"}]},"color_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color Text"},"color_background":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color Background"},"date_unpublished":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Unpublished"},"date_published":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Published"},"translations":{"anyOf":[{"items":{"$ref":"#/components/schemas/ContentTranslation"},"type":"array"},{"type":"null"}],"title":"Translations"}},"type":"object","required":["id","status"],"title":"Content"},"ContentCategory":{"properties":{"id":{"type":"integer","title":"Id"},"sort":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sort"},"date_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Updated"},"translations":{"anyOf":[{},{"type":"null"}],"title":"Translations"}},"type":"object","required":["id"],"title":"ContentCategory"},"ContentResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Content"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"ContentResponse"},"ContentTranslation":{"properties":{"id":{"type":"integer","title":"Id"},"languages_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Languages Code"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"items":{"anyOf":[{"items":{"$ref":"#/components/schemas/ContentTranslationsItem"},"type":"array"},{"type":"null"}],"title":"Items"}},"type":"object","required":["id"],"title":"ContentTranslation"},"ContentTranslationsItem":{"properties":{"id":{"type":"integer","title":"Id"},"content_translations_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Content Translations Id"},"item":{"anyOf":[{"$ref":"#/components/schemas/BlockSlider"},{"$ref":"#/components/schemas/BlockText"},{"$ref":"#/components/schemas/BlockLinks"},{"$ref":"#/components/schemas/BlockEmbed"},{"$ref":"#/components/schemas/BlockList"},{"type":"null"}],"title":"Item"},"collection":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Collection"},"sort":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sort"}},"type":"object","required":["id"],"title":"ContentTranslationsItem"},"File":{"properties":{"id":{"type":"string","title":"Id","example":"12345678-1234-5678-9abc-123456789abc"}},"type":"object","required":["id"],"title":"File"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HeroImage":{"properties":{"id":{"type":"string","title":"Id","example":"87654321-8765-4321-9def-987654321fed"},"title":{"type":"string","title":"Title","example":"Hauptgebäude der Kulturinstitution Musterhausen"},"author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author","example":"Max Mustermann"},"license":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License","example":"CC BY-SA"},"license_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License Url","example":"https://creativecommons.org/licenses/by-sa/4.0/deed.de"}},"type":"object","required":["id","title"],"title":"HeroImage"},"Institution":{"properties":{"id":{"type":"string","title":"Id","example":"naturhistorisches-museum-wien"},"legal_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Name","example":"Naturhistorisches Museum Wien"},"location":{"anyOf":[{"$ref":"#/components/schemas/Location"},{"type":"null"}]},"parent_institution":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Institution"},"cultural_sector":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cultural Sector"},"cultural_subsector":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cultural Subsector"},"date_created":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Created"},"date_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Updated"},"favicon":{"anyOf":[{"$ref":"#/components/schemas/File"},{"type":"null"}]},"hero_image":{"anyOf":[{"$ref":"#/components/schemas/HeroImage"},{"type":"null"}]},"logo":{"anyOf":[{"$ref":"#/components/schemas/File"},{"type":"null"}]},"translations":{"items":{"$ref":"#/components/schemas/Translation"},"type":"array","title":"Translations","default":[]},"provider_names":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Provider Names"},"child_institutions":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Child Institutions"}},"type":"object","required":["id"],"title":"Institution"},"InstitutionResponse":{"properties":{"data":{"$ref":"#/components/schemas/Institution"}},"type":"object","required":["data"],"title":"InstitutionResponse"},"InstitutionsResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Institution"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"InstitutionsResponse"},"Location":{"properties":{"type":{"type":"string","title":"Type","example":"MultiPoint"},"coordinates":{"items":{"items":{"type":"number"},"type":"array"},"type":"array","title":"Coordinates","example":[[10.12345,52.6789]]}},"type":"object","required":["type","coordinates"],"title":"Location"},"SEO":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"meta_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meta Description"},"no_index":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"No Index"},"no_follow":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"No Follow"},"og_image":{"anyOf":[{"$ref":"#/components/schemas/File"},{"type":"null"}]},"sitemap_change_frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sitemap Change Frequency"},"sitemap_priority":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sitemap Priority"},"node_type":{"anyOf":[{},{"type":"null"}],"title":"Node Type"},"canonical_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Canonical Url"}},"type":"object","required":["id"],"title":"SEO"},"SingleContentResponse":{"properties":{"data":{"$ref":"#/components/schemas/Content"}},"type":"object","required":["data"],"title":"SingleContentResponse"},"Slug":{"properties":{"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"}},"type":"object","title":"Slug"},"Translation":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"place":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place","example":"Wien"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title","example":"Naturhistorisches Museum Wien"},"languages_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Languages Code","example":"de"},"institution":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Institution"},"web_links":{"anyOf":[{"items":{"$ref":"#/components/schemas/WebLink"},"type":"array"},{"type":"null"}],"title":"Web Links"},"slugs":{"anyOf":[{"items":{"$ref":"#/components/schemas/Slug"},"type":"array"},{"type":"null"}],"title":"Slugs"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","example":"Das Naturhistorische Museum Wien ist eines der bedeutendsten naturwissenschaftlichen Museen der Welt."},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content","example":"<p>Das NHM Wien beherbergt rund 30 Millionen Sammlungsobjekte.</p>"},"items":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Items"}},"type":"object","title":"Translation"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WebLink":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","title":"WebLink"}}}}