Discovering the I14Y catalog

I14Y exposes two complementary ways to discover resources:

  • i14y_search() — full-text search with facets (publisher, theme, registration status, …), returns a flat tibble of resource summaries.
  • i14y_list_*() — flat list endpoints, one per resource type, with identifier-style filters (publisherIdentifier, version, …).

This vignette walks through both, then shows how to export catalog metadata in DCAT for downstream tools.

library(I14Y)
library(dplyr)

Faceted search across all resource types

i14y_search() covers everything: datasets, data services, public services, concepts, mapping tables.

i14y_search(query = "education", language = "en") |>
  glimpse()
#> Rows: 268
#> Columns: 68
#> $ businessEvents                       <list> [<data.frame[0 x 0]>], [<data.fr…
#> $ formats                              <list> [<data.frame[0 x 0]>], [<data.fr…
#> $ id                                   <chr> "88c4c883-e87c-489c-82a4-b9e8d413…
#> $ identifier                           <chr> "EDUCA_EDULOG", "RPS", "educa_nav…
#> $ lifeEvents                           <list> [<data.frame[3 x 5]>], [<data.fr…
#> $ publicationLevel                     <chr> "Public", "Public", "Public", "Pu…
#> $ registrationStatus                   <chr> "Recorded", "Recorded", "Recorded…
#> $ themes                               <list> [<data.frame[8 x 5]>], [<data.fr…
#> $ type                                 <chr> "PublicService", "PublicService",…
#> $ structure                            <chr> NA, NA, "WithoutStructure", "With…
#> $ version                              <chr> NA, NA, "1.1", NA, "1.0.0", "4.0.…
#> $ conceptType                          <chr> NA, NA, NA, NA, "CodeList", "Code…
#> $ validFrom                            <chr> NA, NA, NA, NA, "2024-05-07T22:00…
#> $ description.de                       <chr> "Im Auftrag der Kantone vereinfac…
#> $ description.en                       <chr> "On behalf of the Swiss cantons, …
#> $ description.fr                       <chr> "Sur mandat des cantons, Edulog s…
#> $ description.it                       <chr> "Su mandato dei cantoni, Edulog s…
#> $ publisher.homePage                   <chr> "https://www.educa.ch", "https://…
#> $ publisher.id                         <chr> "67219342-70fe-4d0b-9a80-ef659c14…
#> $ publisher.identifier                 <chr> "CH_EDUCA", "CH_BAG", "CH_EDUCA",…
#> $ publisher.images                     <list> [<data.frame[1 x 6]>], [<data.fr…
#> $ publisher.spatial                    <list> "CH", "CH", "CH", "LU", "CH", "C…
#> $ publisher.spatialCH                  <list> [<data.frame[1 x 6]>], [<data.fr…
#> $ publisher.subAgents                  <list> [<data.frame[0 x 0]>], [<data.fr…
#> $ publisher.uid                        <chr> "CHE271002692", "CHE467023568", "…
#> $ publisher.classification.code        <chr> "0224", "0220", "0224", "0221", N…
#> $ publisher.classification.name.de     <chr> "Andere öffentlich-rechtliche Ver…
#> $ publisher.classification.name.en     <chr> "Other public-law administrative …
#> $ publisher.classification.name.fr     <chr> "Autre unité de l’administration …
#> $ publisher.classification.name.it     <chr> "Altra unità amministrativa di di…
#> $ publisher.contactPoint.hasEmail      <chr> "[email protected]", "[email protected].…
#> $ publisher.contactPoint.hasTelephone  <chr> "+41 31 300 55 00", "+41 58 46467…
#> $ publisher.contactPoint.kind          <chr> "Organization", "Organization", "…
#> $ publisher.contactPoint.hasAddress.de <chr> "Erlachstrasse 21, 3012, Bern, BE…
#> $ publisher.contactPoint.hasAddress.en <chr> "Erlachstrasse 21, 3012, Bern, BE…
#> $ publisher.contactPoint.hasAddress.fr <chr> "Erlachstrasse 21, 3012, Bern, BE…
#> $ publisher.contactPoint.hasAddress.it <chr> "Erlachstrasse 21, 3012, Bern, BE…
#> $ publisher.contactPoint.hasAddress.rm <chr> "", "", "", NA, NA, "", "", "", "…
#> $ publisher.description.de             <chr> "Als Fachagentur im Auftrag von B…
#> $ publisher.description.en             <chr> "As a specialist agency commissio…
#> $ publisher.description.fr             <chr> "En tant qu'agence spécialisée ma…
#> $ publisher.description.it             <chr> "In qualità di agenzia specializz…
#> $ publisher.description.rm             <chr> "", "", "", "", NA, "", "", "", "…
#> $ publisher.name.de                    <chr> "Educa", "Bundesamt für Gesundhei…
#> $ publisher.name.en                    <chr> "Educa", "Federal Office of Publi…
#> $ publisher.name.fr                    <chr> "Educa", "Office fédéral de la sa…
#> $ publisher.name.it                    <chr> "Educa", "Ufficio federale della …
#> $ publisher.name.rm                    <chr> "", "", "", "", NA, "", "", "", "…
#> $ publisher.prefLabel.de               <chr> "EDUCA", "BAG", "EDUCA", "LUSTAT"…
#> $ publisher.prefLabel.en               <chr> "EDUCA", "FOPH", "EDUCA", "LUSTAT…
#> $ publisher.prefLabel.fr               <chr> "EDUCA", "OFSP", "EDUCA", "LUSTAT…
#> $ publisher.prefLabel.it               <chr> "EDUCA", "UFSP", "EDUCA", "LUSTAT…
#> $ publisher.prefLabel.rm               <chr> "", "", "", "", NA, "", "", "", "…
#> $ publisher.system.createdAt           <chr> "0001-01-01T00:00:00+00:00", "000…
#> $ publisher.system.modifiedAt          <chr> "2026-07-10T07:42:08.184905+00:00…
#> $ system.createdAt                     <chr> "0001-01-01T00:00:00+00:00", "000…
#> $ system.modifiedAt                    <chr> "2025-02-17T15:34:02+00:00", "202…
#> $ system.creationType                  <chr> NA, NA, NA, NA, NA, NA, "Automate…
#> $ title.de                             <chr> "Edulog – die Föderation der Iden…
#> $ title.en                             <chr> "Edulog - the Federation of Ident…
#> $ title.fr                             <chr> "Edulog – la Fédération des servi…
#> $ title.it                             <chr> "Edulog - la federazione dei serv…
#> $ accessRights.code                    <chr> NA, NA, "PUBLIC", "PUBLIC", NA, N…
#> $ accessRights.uri                     <chr> NA, NA, "http://publications.euro…
#> $ accessRights.name.de                 <chr> NA, NA, "Öffentlich", "Öffentlich…
#> $ accessRights.name.en                 <chr> NA, NA, "Public", "Public", NA, N…
#> $ accessRights.name.fr                 <chr> NA, NA, "Public", "Public", NA, N…
#> $ accessRights.name.it                 <chr> NA, NA, "Pubblico", "Pubblico", N…

Filter by resource type:

i14y_search(
  language = "en",
  types = c("DataService")
) |>
  glimpse()
#> Rows: 77
#> Columns: 66
#> $ businessEvents                       <list> [], [], [], [], [], [], [], [], …
#> $ formats                              <list> [], [], [], [], [], [], [], [], …
#> $ id                                   <chr> "019f3d36-5cb9-7f2f-8128-7a0175a5…
#> $ identifier                           <chr> "pension-api-openpension", "card-…
#> $ lifeEvents                           <list> [], [], [], [], [], [], [], [], …
#> $ publicationLevel                     <chr> "Public", "Public", "Public", "Pu…
#> $ registrationStatus                   <chr> "Recorded", "Recorded", "Recorded…
#> $ registrationStatusProposal           <chr> "PreferredStandard", "PreferredSt…
#> $ themes                               <list> [<data.frame[1 x 5]>], [<data.fr…
#> $ type                                 <chr> "DataService", "DataService", "Da…
#> $ version                              <chr> "v4", "v1", "1.0", "1.2.0", "1.1.…
#> $ accessRights.code                    <chr> "PUBLIC", "PUBLIC", "RESTRICTED",…
#> $ accessRights.uri                     <chr> "http://publications.europa.eu/re…
#> $ accessRights.name.de                 <chr> "Öffentlich", "Öffentlich", "Eing…
#> $ accessRights.name.en                 <chr> "Public", "Public", "Restricted",…
#> $ accessRights.name.fr                 <chr> "Public", "Public", "Restreint", …
#> $ accessRights.name.it                 <chr> "Pubblico", "Pubblico", "Ristrett…
#> $ description.de                       <chr> "Die Pension API wurde in breiter…
#> $ description.en                       <chr> "The Pension API was developed in…
#> $ description.fr                       <chr> "La Pension API a été développée …
#> $ description.it                       <chr> "La Pension API è stata sviluppat…
#> $ publisher.id                         <chr> "8418ab4f-bb95-46c9-b875-e5969670…
#> $ publisher.identifier                 <chr> "CH_SFTI", "CH_SFTI", "CH_BJ", "C…
#> $ publisher.images                     <list> [<data.frame[0 x 0]>], [<data.fr…
#> $ publisher.spatial                    <list> "CH", "CH", "CH", "CH", "CH", "C…
#> $ publisher.spatialCH                  <list> [<data.frame[0 x 0]>], [<data.fr…
#> $ publisher.subAgents                  <list> [<data.frame[0 x 0]>], [<data.fr…
#> $ publisher.homePage                   <chr> NA, NA, "https://bj.admin.ch", "h…
#> $ publisher.uid                        <chr> NA, NA, "CHE378338277", "CHE22103…
#> $ publisher.name.de                    <chr> "Swiss Fintech Innovations", "Swi…
#> $ publisher.name.en                    <chr> "Swiss Fintech Innovations", "Swi…
#> $ publisher.name.fr                    <chr> "Swiss Fintech Innovations", "Swi…
#> $ publisher.name.it                    <chr> "Swiss Fintech Innovations", "Swi…
#> $ publisher.name.rm                    <chr> NA, NA, "", "", "", NA, "", "", N…
#> $ publisher.prefLabel.de               <chr> "Swiss Fintech Innovations", "Swi…
#> $ publisher.prefLabel.en               <chr> "Swiss Fintech Innovations", "Swi…
#> $ publisher.prefLabel.fr               <chr> "Swiss Fintech Innovations", "Swi…
#> $ publisher.prefLabel.it               <chr> "Swiss Fintech Innovations", "Swi…
#> $ publisher.prefLabel.rm               <chr> NA, NA, "", "", "", NA, "", "", N…
#> $ publisher.system.createdAt           <chr> "2023-09-14T06:48:10.468993+00:00…
#> $ publisher.system.modifiedAt          <chr> NA, NA, "2026-07-09T20:31:55.9522…
#> $ publisher.classification.code        <chr> NA, NA, "0220", "0220", "0220", "…
#> $ publisher.classification.name.de     <chr> NA, NA, "Verwaltungseinheit des B…
#> $ publisher.classification.name.en     <chr> NA, NA, "Administrative unit of t…
#> $ publisher.classification.name.fr     <chr> NA, NA, "Unité de l’administratio…
#> $ publisher.classification.name.it     <chr> NA, NA, "Unità amministrativa del…
#> $ publisher.contactPoint.hasEmail      <chr> NA, NA, "[email protected]", "info…
#> $ publisher.contactPoint.kind          <chr> NA, NA, "Organization", "Organiza…
#> $ publisher.contactPoint.hasTelephone  <chr> NA, NA, NA, NA, NA, NA, "+41 58 4…
#> $ publisher.contactPoint.hasAddress.de <chr> NA, NA, "Bundesrain 20, 3005 Bern…
#> $ publisher.contactPoint.hasAddress.en <chr> NA, NA, "Bundesrain 20, 3005 Bern…
#> $ publisher.contactPoint.hasAddress.fr <chr> NA, NA, "Bundesrain 20, 3005 Bern…
#> $ publisher.contactPoint.hasAddress.it <chr> NA, NA, "Bundesrain 20, 3005 Bern…
#> $ publisher.contactPoint.hasAddress.rm <chr> NA, NA, "", "", "", "Seftigenstra…
#> $ publisher.description.de             <chr> NA, NA, "Das Bundesamt für Justiz…
#> $ publisher.description.en             <chr> NA, NA, "The Federal Office of Ju…
#> $ publisher.description.fr             <chr> NA, NA, "L'Office fédéral de la j…
#> $ publisher.description.it             <chr> NA, NA, "L’Ufficio federale di gi…
#> $ publisher.description.rm             <chr> NA, NA, "", "", "", NA, "", "", N…
#> $ system.createdAt                     <chr> "2026-07-07T15:33:20+00:00", "202…
#> $ system.creationType                  <chr> "Manual", "Manual", NA, NA, NA, N…
#> $ system.modifiedAt                    <chr> "2026-07-07T16:03:06+00:00", "202…
#> $ title.de                             <chr> "Pension API (OpenPension)", "Car…
#> $ title.en                             <chr> "Pension API (OpenPension)", "Car…
#> $ title.fr                             <chr> "Pension API (OpenPension)", "Car…
#> $ title.it                             <chr> "Pension API (OpenPension)", "Car…

Filter by publisher and theme — the values come from the I14Y vocabularies (visible in any search result’s publisher.identifier / themes fields). For example, the Federal Statistical Office has publisher identifier CH1, and the theme code 115 is “Economy”:

i14y_search(
  language = "en",
  publishers = "CH1",
  themes = "115",
  pageSize = 10
) |>
  glimpse()
#> Rows: 10
#> Columns: 65
#> $ businessEvents                       <list> [], [], [], [], [], [], [], [], …
#> $ formats                              <list> [], [], [], [], [], [], [], [], …
#> $ id                                   <chr> "019edf1b-25cd-725c-ad86-813cd2f4…
#> $ identifier                           <chr> "33367831@bundesamt-fur-statistik…
#> $ lifeEvents                           <list> [], [], [], [], [], [], [], [], …
#> $ publicationLevel                     <chr> "Public", "Public", "Public", "Pu…
#> $ registrationStatus                   <chr> "Recorded", "Recorded", "Recorded…
#> $ structure                            <chr> "WithoutStructure", "WithStructur…
#> $ themes                               <list> [<data.frame[1 x 5]>], [<data.fr…
#> $ type                                 <chr> "Dataset", "Dataset", "Dataset", …
#> $ accessRights.code                    <chr> "PUBLIC", "PUBLIC", "PUBLIC", "PU…
#> $ accessRights.uri                     <chr> "http://publications.europa.eu/re…
#> $ accessRights.name.de                 <chr> "Öffentlich", "Öffentlich", "Öffe…
#> $ accessRights.name.en                 <chr> "Public", "Public", "Public", "Pu…
#> $ accessRights.name.fr                 <chr> "Public", "Public", "Public", "Pu…
#> $ accessRights.name.it                 <chr> "Pubblico", "Pubblico", "Pubblico…
#> $ description.de                       <chr> "In der vorliegenden Publikation …
#> $ description.en                       <chr> "This publication presents findin…
#> $ description.fr                       <chr> "La présente publication décrit l…
#> $ description.it                       <chr> NA, "Questo dataset presenta il c…
#> $ publisher.homePage                   <chr> "https://bfs.admin.ch", "https://…
#> $ publisher.id                         <chr> "a88d610b-62f9-4e45-b288-3b23ff4f…
#> $ publisher.identifier                 <chr> "CH1", "CH1", "CH1", "CH1", "CH1"…
#> $ publisher.images                     <list> [<data.frame[1 x 6]>], [<data.fr…
#> $ publisher.spatial                    <list> "CH", "CH", "CH", "CH", "CH", "C…
#> $ publisher.spatialCH                  <list> [<data.frame[1 x 6]>], [<data.fr…
#> $ publisher.subAgents                  <list> [<data.frame[1 x 6]>], [<data.fr…
#> $ publisher.uid                        <chr> "CHE131608474", "CHE131608474", "…
#> $ publisher.classification.code        <chr> "0220", "0220", "0220", "0220", "…
#> $ publisher.classification.name.de     <chr> "Verwaltungseinheit des Bundes", …
#> $ publisher.classification.name.en     <chr> "Administrative unit of the Confe…
#> $ publisher.classification.name.fr     <chr> "Unité de l’administration fédéra…
#> $ publisher.classification.name.it     <chr> "Unità amministrativa della Confe…
#> $ publisher.contactPoint.hasEmail      <chr> "[email protected]", "[email protected]
#> $ publisher.contactPoint.hasTelephone  <chr> "+41 58 463 60 11", "+41 58 463 6…
#> $ publisher.contactPoint.kind          <chr> "Organization", "Organization", "…
#> $ publisher.contactPoint.hasAddress.de <chr> "Espace de l'Europe 10, 2010 Neuc…
#> $ publisher.contactPoint.hasAddress.en <chr> "Espace de l'Europe 10, 2010 Neuc…
#> $ publisher.contactPoint.hasAddress.fr <chr> "Espace de l'Europe 10, 2010 Neuc…
#> $ publisher.contactPoint.hasAddress.it <chr> "Espace de l'Europe 10, 2010 Neuc…
#> $ publisher.contactPoint.hasAddress.rm <chr> "", "", "", "", "", "", "", "", "…
#> $ publisher.description.de             <chr> "Das BFS ist das nationale Kompet…
#> $ publisher.description.en             <chr> "The FSO is Switzerland's nationa…
#> $ publisher.description.fr             <chr> "L'OFS est le centre de compétenc…
#> $ publisher.description.it             <chr> "L’UST è il centro di competenza …
#> $ publisher.description.rm             <chr> "", "", "", "", "", "", "", "", "…
#> $ publisher.name.de                    <chr> "Bundesamt für Statistik (BFS)", …
#> $ publisher.name.en                    <chr> "Federal Statistical Office (FSO)…
#> $ publisher.name.fr                    <chr> "Office Fédéral de la Statistique…
#> $ publisher.name.it                    <chr> "Ufficio federale di statistica (…
#> $ publisher.name.rm                    <chr> "", "", "", "", "", "", "", "", "…
#> $ publisher.prefLabel.de               <chr> "BFS", "BFS", "BFS", "BFS", "BFS"…
#> $ publisher.prefLabel.en               <chr> "FSO", "FSO", "FSO", "FSO", "FSO"…
#> $ publisher.prefLabel.fr               <chr> "OFS", "OFS", "OFS", "OFS", "OFS"…
#> $ publisher.prefLabel.it               <chr> "UFS", "UFS", "UFS", "UFS", "UFS"…
#> $ publisher.prefLabel.rm               <chr> "", "", "", "", "", "", "", "", "…
#> $ publisher.system.createdAt           <chr> "0001-01-01T00:00:00+00:00", "000…
#> $ publisher.system.modifiedAt          <chr> "2026-07-10T07:18:44.32979+00:00"…
#> $ system.createdAt                     <chr> "2026-06-19T08:59:18+00:00", "202…
#> $ system.creationType                  <chr> "Automated", "Automated", "Automa…
#> $ system.modifiedAt                    <chr> "2026-06-19T08:59:19+00:00", "202…
#> $ title.de                             <chr> "Schweizer Tourismusstatistik 202…
#> $ title.en                             <chr> "Swiss tourism statistics 2023", …
#> $ title.fr                             <chr> "La statistique suisse du tourism…
#> $ title.it                             <chr> NA, "Conto della produzione, 16 s…

Restrict to datasets that actually have a published structure:

i14y_search(
  types = "Dataset",
  structure = "WithStructure",
  pageSize = 10
) |>
  glimpse()
#> Rows: 10
#> Columns: 65
#> $ businessEvents                       <list> [], [], [], [], [], [], [], [], …
#> $ formats                              <list> [], [], [], [], [], [], [], [], …
#> $ id                                   <chr> "019edf1a-b5fb-71bd-9ff0-2020acaf…
#> $ identifier                           <chr> "32567807@bundesamt-fur-statistik…
#> $ lifeEvents                           <list> [], [], [], [], [], [], [], [], …
#> $ publicationLevel                     <chr> "Public", "Public", "Public", "Pu…
#> $ registrationStatus                   <chr> "Recorded", "Recorded", "Recorded…
#> $ structure                            <chr> "WithStructure", "WithStructure",…
#> $ themes                               <list> [<data.frame[1 x 5]>], [<data.fr…
#> $ type                                 <chr> "Dataset", "Dataset", "Dataset", …
#> $ accessRights.code                    <chr> "PUBLIC", "PUBLIC", "PUBLIC", "PU…
#> $ accessRights.uri                     <chr> "http://publications.europa.eu/re…
#> $ accessRights.name.de                 <chr> "Öffentlich", "Öffentlich", "Öffe…
#> $ accessRights.name.en                 <chr> "Public", "Public", "Public", "Pu…
#> $ accessRights.name.fr                 <chr> "Public", "Public", "Public", "Pu…
#> $ accessRights.name.it                 <chr> "Pubblico", "Pubblico", "Pubblico…
#> $ description.de                       <chr> "Dieses Dataset präsentiert die j…
#> $ description.fr                       <chr> "Ce dataset présente les prévisio…
#> $ description.it                       <chr> NA, "Per le descrizioni delle var…
#> $ description.en                       <chr> NA, NA, NA, NA, NA, "This dataset…
#> $ publisher.homePage                   <chr> "https://bfs.admin.ch", "https://…
#> $ publisher.id                         <chr> "a88d610b-62f9-4e45-b288-3b23ff4f…
#> $ publisher.identifier                 <chr> "CH1", "CH1", "CH1", "CH1", "CH1"…
#> $ publisher.images                     <list> [<data.frame[1 x 6]>], [<data.fr…
#> $ publisher.spatial                    <list> "CH", "CH", "CH", "CH", "CH", "C…
#> $ publisher.spatialCH                  <list> [<data.frame[1 x 6]>], [<data.fr…
#> $ publisher.subAgents                  <list> [<data.frame[1 x 6]>], [<data.fr…
#> $ publisher.uid                        <chr> "CHE131608474", "CHE131608474", "…
#> $ publisher.classification.code        <chr> "0220", "0220", "0220", "0220", "…
#> $ publisher.classification.name.de     <chr> "Verwaltungseinheit des Bundes", …
#> $ publisher.classification.name.en     <chr> "Administrative unit of the Confe…
#> $ publisher.classification.name.fr     <chr> "Unité de l’administration fédéra…
#> $ publisher.classification.name.it     <chr> "Unità amministrativa della Confe…
#> $ publisher.contactPoint.hasEmail      <chr> "[email protected]", "[email protected]
#> $ publisher.contactPoint.hasTelephone  <chr> "+41 58 463 60 11", "+41 58 463 6…
#> $ publisher.contactPoint.kind          <chr> "Organization", "Organization", "…
#> $ publisher.contactPoint.hasAddress.de <chr> "Espace de l'Europe 10, 2010 Neuc…
#> $ publisher.contactPoint.hasAddress.en <chr> "Espace de l'Europe 10, 2010 Neuc…
#> $ publisher.contactPoint.hasAddress.fr <chr> "Espace de l'Europe 10, 2010 Neuc…
#> $ publisher.contactPoint.hasAddress.it <chr> "Espace de l'Europe 10, 2010 Neuc…
#> $ publisher.contactPoint.hasAddress.rm <chr> "", "", "", "", "", "", "", "", "…
#> $ publisher.description.de             <chr> "Das BFS ist das nationale Kompet…
#> $ publisher.description.en             <chr> "The FSO is Switzerland's nationa…
#> $ publisher.description.fr             <chr> "L'OFS est le centre de compétenc…
#> $ publisher.description.it             <chr> "L’UST è il centro di competenza …
#> $ publisher.description.rm             <chr> "", "", "", "", "", "", "", "", "…
#> $ publisher.name.de                    <chr> "Bundesamt für Statistik (BFS)", …
#> $ publisher.name.en                    <chr> "Federal Statistical Office (FSO)…
#> $ publisher.name.fr                    <chr> "Office Fédéral de la Statistique…
#> $ publisher.name.it                    <chr> "Ufficio federale di statistica (…
#> $ publisher.name.rm                    <chr> "", "", "", "", "", "", "", "", "…
#> $ publisher.prefLabel.de               <chr> "BFS", "BFS", "BFS", "BFS", "BFS"…
#> $ publisher.prefLabel.en               <chr> "FSO", "FSO", "FSO", "FSO", "FSO"…
#> $ publisher.prefLabel.fr               <chr> "OFS", "OFS", "OFS", "OFS", "OFS"…
#> $ publisher.prefLabel.it               <chr> "UFS", "UFS", "UFS", "UFS", "UFS"…
#> $ publisher.prefLabel.rm               <chr> "", "", "", "", "", "", "", "", "…
#> $ publisher.system.createdAt           <chr> "0001-01-01T00:00:00+00:00", "000…
#> $ publisher.system.modifiedAt          <chr> "2026-07-10T07:18:44.32979+00:00"…
#> $ system.createdAt                     <chr> "2026-06-19T08:58:50+00:00", "202…
#> $ system.creationType                  <chr> "Automated", "Automated", "Automa…
#> $ system.modifiedAt                    <chr> "2026-06-19T08:58:50+00:00", "202…
#> $ title.de                             <chr> "Szenarien 2024-2033 für die Hoch…
#> $ title.fr                             <chr> "Scénarios 2024-2033 pour les hau…
#> $ title.it                             <chr> NA, "Statistica svizzera dei muse…
#> $ title.en                             <chr> NA, NA, NA, NA, NA, "Permanent an…

List endpoints, one per resource type

When you know the resource type and want to filter by identifier metadata instead of full-text, use the list endpoints.

Datasets

i14y_list_datasets(page = 1, pageSize = 10) |>
  glimpse()
#> Rows: 10
#> Columns: 81
#> $ conformsTo                       <list> [], [], [], [], [], [], [], [], [], …
#> $ contactPoints                    <list> [<data.frame[1 x 9]>], [<data.frame[…
#> $ distributions                    <list> [<data.frame[2 x 33]>], [<data.frame…
#> $ documentation                    <list> [<data.frame[0 x 0]>], [<data.frame[…
#> $ geoIvIds                         <list> [], [], [], [], [], [], [], [], [], …
#> $ id                               <chr> "0091031d-c82c-4861-9ea9-42b9e23451f7…
#> $ identifiers                      <list> "BAZG_VZ_LAND", "BAZG_TN8_VK", "CH_K…
#> $ images                           <list> [], [], [], [], [], [], [], [], [], …
#> $ isReferencedBy                   <list> [], [], [], [], [], [], [], [], [], …
#> $ keywords                         <list> [<data.frame[5 x 3]>], [<data.frame[…
#> $ landingPages                     <list> [<data.frame[0 x 0]>], [<data.frame[…
#> $ languages                        <list> [<data.frame[3 x 6]>], [<data.frame[…
#> $ publicationLevel                 <chr> "Public", "Public", "Public", "Public…
#> $ qualifiedAttributions            <list> [], [], [], [], [], [], [], [], [], …
#> $ qualifiedRelations               <list> [<data.frame[0 x 0]>], [<data.frame[…
#> $ registrationStatus               <chr> "Recorded", "Recorded", "Recorded", "…
#> $ relations                        <list> [<data.frame[0 x 0]>], [<data.frame[…
#> $ spatial                          <list> <"Schweiz", "Suisse", "Switzerland">…
#> $ temporalCoverage                 <list> [<data.frame[0 x 0]>], [<data.frame[…
#> $ themes                           <list> [<data.frame[2 x 5]>], [<data.frame[…
#> $ version                          <chr> "1", "1", NA, NA, NA, NA, NA, NA, NA,…
#> $ issued                           <chr> NA, NA, "2024-11-17T01:00:00+01:00", …
#> $ modified                         <chr> NA, NA, "2026-07-10T03:15:57+02:00", …
#> $ accessRights.code                <chr> "PUBLIC", "PUBLIC", "PUBLIC", "PUBLIC…
#> $ accessRights.uri                 <chr> "http://publications.europa.eu/resour…
#> $ accessRights.name.de             <chr> "Öffentlich", "Öffentlich", "Öffentli…
#> $ accessRights.name.en             <chr> "Public", "Public", "Public", "Public…
#> $ accessRights.name.fr             <chr> "Public", "Public", "Public", "Public…
#> $ accessRights.name.it             <chr> "Pubblico", "Pubblico", "Pubblico", "…
#> $ confidentialityPerson.code       <chr> "no_person", "no_person", NA, NA, NA,…
#> $ confidentialityPerson.name.de    <chr> "Enthält keine Personendaten", "Enthä…
#> $ confidentialityPerson.name.en    <chr> "Does not contain personal data", "Do…
#> $ confidentialityPerson.name.fr    <chr> "Ne contient pas de données personnel…
#> $ confidentialityPerson.name.it    <chr> "Non contiene dati personali", "Non c…
#> $ description.de                   <chr> "Waren: Aussenhandel aggregiert nach …
#> $ description.en                   <chr> "Goods: Foreign trade aggregated by b…
#> $ description.fr                   <chr> "Marchandises: Commerce extérieur agr…
#> $ description.it                   <chr> NA, NA, NA, "Questo dataset presenta …
#> $ frequency.code                   <chr> "MONTHLY", "MONTHLY", NA, "ANNUAL", "…
#> $ frequency.uri                    <chr> "http://publications.europa.eu/resour…
#> $ frequency.name.de                <chr> "monatlich", "monatlich", NA, "jährli…
#> $ frequency.name.en                <chr> "monthly", "monthly", NA, "annual", "…
#> $ frequency.name.fr                <chr> "mensuel", "mensuel", NA, "annuel", "…
#> $ frequency.name.it                <chr> "mensile", "mensile", NA, "annuale", …
#> $ publisher.homePage               <chr> "https://www.bazg.admin.ch/", "https:…
#> $ publisher.id                     <chr> "4e590552-11c9-42f3-96ce-918bda9244cc…
#> $ publisher.identifier             <chr> "CH_BAZG", "CH_BAZG", "CH_KT_BL", "CH…
#> $ publisher.images                 <list> [], [], [], [], [], [], [], [], [], …
#> $ publisher.spatial                <list> "CH", "CH", "BL", "CH", "CH", "CH", …
#> $ publisher.spatialCH              <list> [<data.frame[1 x 6]>], [<data.frame[…
#> $ publisher.subAgents              <list> [], [], [], [], [], [], [], [], [], …
#> $ publisher.uid                    <chr> "CHE226598037", "CHE226598037", "CHE1…
#> $ publisher.classification.code    <chr> "0220", "0220", "0221", "0220", "0220…
#> $ publisher.classification.name.de <chr> "Verwaltungseinheit des Bundes", "Ver…
#> $ publisher.classification.name.en <chr> "Administrative unit of the Confedera…
#> $ publisher.classification.name.fr <chr> "Unité de l’administration fédérale",…
#> $ publisher.classification.name.it <chr> "Unità amministrativa della Confedera…
#> $ publisher.description.de         <chr> "Das Bundesamt für Zoll und Grenzsich…
#> $ publisher.description.en         <chr> "The Federal Customs and Border Secur…
#> $ publisher.description.fr         <chr> "L'Office fédéral de la douane et de …
#> $ publisher.description.it         <chr> "L'Ufficio federale della dogana e de…
#> $ publisher.description.rm         <chr> "", "", "", "", "", "", "", "", "", ""
#> $ publisher.name.de                <chr> "Bundesamt für Zoll und Grenzsicherhe…
#> $ publisher.name.en                <chr> "Federal Office for Customs and Borde…
#> $ publisher.name.fr                <chr> "Office fédéral de la douane et de la…
#> $ publisher.name.it                <chr> "Ufficio federale della dogana e dell…
#> $ publisher.name.rm                <chr> "", "", "", "", "", "", "", "", "", ""
#> $ publisher.prefLabel.de           <chr> "BAZG", "BAZG", "BL", "BFS", "BFS", "…
#> $ publisher.prefLabel.en           <chr> "FOCBS", "FOCBS", "BL", "FSO", "FSO",…
#> $ publisher.prefLabel.fr           <chr> "OFDF", "OFDF", "BL", "OFS", "OFS", "…
#> $ publisher.prefLabel.it           <chr> "UDSC", "UDSC", "BL", "UFS", "UFS", "…
#> $ publisher.prefLabel.rm           <chr> "", "", "", "", "", "", "", "", "", ""
#> $ publisher.system.createdAt       <chr> "0001-01-01T00:00:00+00:00", "0001-01…
#> $ publisher.system.modifiedAt      <chr> "2026-07-10T07:29:11.402126+00:00", "…
#> $ system.createdAt                 <chr> "2025-11-17T16:59:03.675066+00:00", "…
#> $ system.modifiedAt                <chr> "2025-11-17T17:01:16.409195+00:00", "…
#> $ system.creationType              <chr> NA, NA, "Automated", "Automated", "Au…
#> $ title.de                         <chr> "Waren: Aussenhandel nach Verwendungs…
#> $ title.en                         <chr> "Goods: Foreign trade by broad econom…
#> $ title.fr                         <chr> "Marchandises: Commerce extérieur sel…
#> $ title.it                         <chr> NA, NA, NA, "Adozioni secondo il Cant…

Data services

i14y_list_dataservices(page = 1, pageSize = 10) |>
  glimpse()
#> Rows: 10
#> Columns: 70
#> $ conformsTo                       <list> [<data.frame[1 x 5]>], [<data.frame[…
#> $ contactPoints                    <list> [<data.frame[1 x 10]>], [<data.frame…
#> $ documentation                    <list> [<data.frame[1 x 5]>], [<data.frame[…
#> $ endpointDescriptions             <list> [<data.frame[1 x 5]>], [<data.frame[…
#> $ endpointUrls                     <list> [<data.frame[1 x 5]>], [<data.frame[…
#> $ id                               <chr> "019f3d36-5cb9-7f2f-8128-7a0175a512c8…
#> $ identifiers                      <list> "pension-api-openpension", "card-api…
#> $ issued                           <chr> "2026-05-27T00:00:00+02:00", "2025-05…
#> $ keywords                         <list> [<data.frame[4 x 4]>], [<data.frame[…
#> $ landingPages                     <list> [<data.frame[1 x 5]>], [<data.frame[…
#> $ publicationLevel                 <chr> "Public", "Public", "Public", "Public…
#> $ registrationStatus               <chr> "Recorded", "Recorded", "Recorded", "…
#> $ registrationStatusProposal       <chr> "PreferredStandard", "PreferredStanda…
#> $ servesDatasets                   <list> [<data.frame[0 x 0]>], [<data.frame[…
#> $ themes                           <list> [<data.frame[1 x 5]>], [<data.frame[…
#> $ version                          <chr> "v4", "v1", "1.0", "1.2.0", "1.1.0", …
#> $ modified                         <chr> NA, NA, NA, "2025-02-25T23:00:00+01:0…
#> $ accessRights.code                <chr> "PUBLIC", "PUBLIC", "RESTRICTED", "NO…
#> $ accessRights.uri                 <chr> "http://publications.europa.eu/resour…
#> $ accessRights.name.de             <chr> "Öffentlich", "Öffentlich", "Eingesch…
#> $ accessRights.name.en             <chr> "Public", "Public", "Restricted", "No…
#> $ accessRights.name.fr             <chr> "Public", "Public", "Restreint", "Non…
#> $ accessRights.name.it             <chr> "Pubblico", "Pubblico", "Ristretto", …
#> $ description.de                   <chr> "Die Pension API wurde in breiter Zus…
#> $ description.en                   <chr> "The Pension API was developed in clo…
#> $ description.fr                   <chr> "La Pension API a été développée dans…
#> $ description.it                   <chr> "La Pension API è stata sviluppata gr…
#> $ license.code                     <chr> "terms_by", "terms_by", NA, NA, NA, N…
#> $ license.uri                      <chr> "http://dcat-ap.ch/vocabulary/license…
#> $ license.name.de                  <chr> "Opendata BY: Freie Nutzung. Quellena…
#> $ license.name.en                  <chr> "Opendata BY: Open use. Must provide …
#> $ license.name.fr                  <chr> "Opendata BY: Utilisation libre. Obli…
#> $ license.name.it                  <chr> "Opendata BY: Libero utilizzo. Indica…
#> $ publisher.id                     <chr> "8418ab4f-bb95-46c9-b875-e59696702a5b…
#> $ publisher.identifier             <chr> "CH_SFTI", "CH_SFTI", "CH_BJ", "CH_BI…
#> $ publisher.images                 <list> [], [], [], [], [], [], [], [], [], …
#> $ publisher.spatial                <list> "CH", "CH", "CH", "CH", "CH", "CH", …
#> $ publisher.spatialCH              <list> [<data.frame[0 x 0]>], [<data.frame[…
#> $ publisher.subAgents              <list> [], [], [], [], [], [], [], [], [], …
#> $ publisher.homePage               <chr> NA, NA, "https://bj.admin.ch", "https…
#> $ publisher.uid                    <chr> NA, NA, "CHE378338277", "CHE221032573…
#> $ publisher.name.de                <chr> "Swiss Fintech Innovations", "Swiss F…
#> $ publisher.name.en                <chr> "Swiss Fintech Innovations", "Swiss F…
#> $ publisher.name.fr                <chr> "Swiss Fintech Innovations", "Swiss F…
#> $ publisher.name.it                <chr> "Swiss Fintech Innovations", "Swiss F…
#> $ publisher.name.rm                <chr> NA, NA, "", "", "", NA, "", "", NA, NA
#> $ publisher.prefLabel.de           <chr> "Swiss Fintech Innovations", "Swiss F…
#> $ publisher.prefLabel.en           <chr> "Swiss Fintech Innovations", "Swiss F…
#> $ publisher.prefLabel.fr           <chr> "Swiss Fintech Innovations", "Swiss F…
#> $ publisher.prefLabel.it           <chr> "Swiss Fintech Innovations", "Swiss F…
#> $ publisher.prefLabel.rm           <chr> NA, NA, "", "", "", NA, "", "", NA, NA
#> $ publisher.system.createdAt       <chr> "2023-09-14T06:48:10.468993+00:00", "…
#> $ publisher.system.modifiedAt      <chr> NA, NA, "2026-07-09T20:31:55.95226+00…
#> $ publisher.classification.code    <chr> NA, NA, "0220", "0220", "0220", "0220…
#> $ publisher.classification.name.de <chr> NA, NA, "Verwaltungseinheit des Bunde…
#> $ publisher.classification.name.en <chr> NA, NA, "Administrative unit of the C…
#> $ publisher.classification.name.fr <chr> NA, NA, "Unité de l’administration fé…
#> $ publisher.classification.name.it <chr> NA, NA, "Unità amministrativa della C…
#> $ publisher.description.de         <chr> NA, NA, "Das Bundesamt für Justiz wir…
#> $ publisher.description.en         <chr> NA, NA, "The Federal Office of Justic…
#> $ publisher.description.fr         <chr> NA, NA, "L'Office fédéral de la justi…
#> $ publisher.description.it         <chr> NA, NA, "L’Ufficio federale di giusti…
#> $ publisher.description.rm         <chr> NA, NA, "", "", "", NA, "", "", NA, NA
#> $ system.createdAt                 <chr> "2026-07-07T15:33:20.700952+00:00", "…
#> $ system.creationType              <chr> "Manual", "Manual", NA, NA, NA, NA, N…
#> $ system.modifiedAt                <chr> "2026-07-07T16:03:06.597804+00:00", "…
#> $ title.de                         <chr> "Pension API (OpenPension)", "Card AP…
#> $ title.en                         <chr> "Pension API (OpenPension)", "Card AP…
#> $ title.fr                         <chr> "Pension API (OpenPension)", "Card AP…
#> $ title.it                         <chr> "Pension API (OpenPension)", "Card AP…

Public services

i14y_list_publicservices(page = 1, pageSize = 10) |>
  glimpse()
#> Rows: 10
#> Columns: 56
#> $ businessEvents                   <list> [<data.frame[3 x 5]>], [<data.frame[…
#> $ channels                         <list> [<data.frame[3 x 14]>], [<data.frame…
#> $ id                               <chr> "013f9b30-5756-49e1-bf60-addfcd784e11…
#> $ identifiers                      <list> "EDA-KD-TravelAdmin", "Quota_BAZG", …
#> $ isDescribedAt                    <list> [], [], [], [], [], [], [], [], [], …
#> $ keywords                         <list> [<data.frame[9 x 4]>], [<data.frame[…
#> $ languages                        <list> [<data.frame[4 x 6]>], [<data.frame[…
#> $ lifeEvents                       <list> [<data.frame[4 x 5]>], [<data.frame[…
#> $ publicationLevel                 <chr> "Public", "Public", "Public", "Public…
#> $ registrationStatus               <chr> "Recorded", "Candidate", "Recorded", …
#> $ relations                        <list> [], [], [], [], [], [], [], [], [], …
#> $ requires                         <list> [], [], [], [], [], [], [], [], [], …
#> $ sectors                          <list> [<data.frame[5 x 5]>], [<data.frame[…
#> $ spatial                          <list> "Weltweit", "Ganze Schweiz", <>, "Sc…
#> $ thematicAreas                    <list> [<data.frame[5 x 5]>], [<data.frame[…
#> $ spatialCH                        <list> [<data.frame[0 x 0]>], [<data.frame[…
#> $ description.de                   <chr> "Sicher und entspannt reisen mit Trav…
#> $ description.en                   <chr> "Travel safe and worry-free with Trav…
#> $ description.fr                   <chr> "Voyagez en toute sécurité et en tout…
#> $ description.it                   <chr> "Viaggi sicuri e senza troppi pensier…
#> $ name.de                          <chr> "Travel Admin : Die App für Ihre Reis…
#> $ name.en                          <chr> "Travel Admin : the app to prepare yo…
#> $ name.fr                          <chr> "Travel Admin : l’application pour pr…
#> $ name.it                          <chr> "Travel Admin : l’app per preparare i…
#> $ publisher.homePage               <chr> "https://www.eda.admin.ch", "https://…
#> $ publisher.id                     <chr> "eb61770b-d6b0-43a9-b5e5-c6c6e99edd80…
#> $ publisher.identifier             <chr> "CH_EDA", "CH_BAZG", "CH_BAG", "CH_AG…
#> $ publisher.images                 <list> [], [], [], [], [], [], [], [], [], …
#> $ publisher.spatial                <list> "CH", "CH", "CH", "CH", "CH", "CH", …
#> $ publisher.spatialCH              <list> [<data.frame[1 x 6]>], [<data.frame[…
#> $ publisher.subAgents              <list> [], [], [], [], [], [], [], [], [], …
#> $ publisher.uid                    <chr> "CHE335670007", "CHE226598037", "CHE4…
#> $ publisher.classification.code    <chr> "0220", "0220", "0220", "0220", "0220…
#> $ publisher.classification.name.de <chr> "Verwaltungseinheit des Bundes", "Ver…
#> $ publisher.classification.name.en <chr> "Administrative unit of the Confedera…
#> $ publisher.classification.name.fr <chr> "Unité de l’administration fédérale",…
#> $ publisher.classification.name.it <chr> "Unità amministrativa della Confedera…
#> $ publisher.description.de         <chr> "Das EDA wahrt die aussenpolitischen …
#> $ publisher.description.en         <chr> "The FDFA safeguards Switzerland's fo…
#> $ publisher.description.fr         <chr> "Le DFAE sauvegarde les intérêts de l…
#> $ publisher.description.it         <chr> "Il DFAE tutela gli interessi della S…
#> $ publisher.description.rm         <chr> NA, "", "", "", "", "", NA, "", "", ""
#> $ publisher.name.de                <chr> "Eidgenössisches Departement für ausw…
#> $ publisher.name.en                <chr> "Federal Department of Foreign Affair…
#> $ publisher.name.fr                <chr> "Département fédéral des affaires étr…
#> $ publisher.name.it                <chr> "Dipartimento federale degli affari e…
#> $ publisher.name.rm                <chr> NA, "", "", "", "", "", NA, "", "", ""
#> $ publisher.prefLabel.de           <chr> "EDA", "BAZG", "BAG", "Agroscope", "B…
#> $ publisher.prefLabel.en           <chr> "FDFA", "FOCBS", "FOPH", "Agroscope",…
#> $ publisher.prefLabel.fr           <chr> "DFAE", "OFDF", "OFSP", "Agroscope", …
#> $ publisher.prefLabel.it           <chr> "DFAE", "UDSC", "UFSP", "Agroscope", …
#> $ publisher.prefLabel.rm           <chr> NA, "", "", "", "", "", NA, "", "", ""
#> $ publisher.system.createdAt       <chr> "2024-04-24T12:48:49.814985+00:00", "…
#> $ publisher.system.modifiedAt      <chr> "2025-07-16T08:18:33.790564+00:00", "…
#> $ system.createdAt                 <chr> "2025-10-09T13:11:25.811194+00:00", "…
#> $ system.modifiedAt                <chr> "2025-11-25T10:49:16.858139+00:00", "…

Mapping tables

i14y_list_mappingtables(page = 1, pageSize = 10) |>
  glimpse()
#> Rows: 1
#> Columns: 48
#> $ conformsTo                       <list> []
#> $ id                               <chr> "703b7365-5090-4247-ad70-ae98cbc77df6"
#> $ identifiers                      <list> "mapping-geo-focus-iso-3166-1"
#> $ keywords                         <list> []
#> $ publicationLevel                 <chr> "Public"
#> $ registrationStatus               <chr> "Incomplete"
#> $ themes                           <list> []
#> $ validFrom                        <chr> "2026-04-26T22:00:00+00:00"
#> $ validTo                          <chr> "2026-04-28T22:00:00+00:00"
#> $ version                          <chr> "1.0.0"
#> $ description.en                   <chr> "This mapping table associates the i…
#> $ name.en                          <chr> "Mapping Geo Focus to ISO 3166-1 Alph…
#> $ publisher.homePage               <chr> "https://www.deza.admin.ch"
#> $ publisher.id                     <chr> "4d5cd931-fabe-46b6-b9af-c48075679f5d"
#> $ publisher.identifier             <chr> "CH_DEZA"
#> $ publisher.images                 <list> []
#> $ publisher.spatial                <list> "CH"
#> $ publisher.spatialCH              <list> [<data.frame[1 x 6]>]
#> $ publisher.subAgents              <list> []
#> $ publisher.classification.code    <chr> "0220"
#> $ publisher.classification.name.de <chr> "Verwaltungseinheit des Bundes"
#> $ publisher.classification.name.en <chr> "Administrative unit of the Confeder…
#> $ publisher.classification.name.fr <chr> "Unité de l’administration fédérale"
#> $ publisher.classification.name.it <chr> "Unità amministrativa della Confeder…
#> $ publisher.description.de         <chr> "Weltweit Not und Armut lindern, Frie…
#> $ publisher.description.en         <chr> "Weltweit Not und Armut lindern, Frie…
#> $ publisher.description.fr         <chr> "Weltweit Not und Armut lindern, Fri…
#> $ publisher.description.it         <chr> "Weltweit Not und Armut lindern, Frie…
#> $ publisher.description.rm         <chr> ""
#> $ publisher.name.de                <chr> "Direktion für Entwicklung und Zusamm…
#> $ publisher.name.en                <chr> "Swiss Agency for Development and Coo…
#> $ publisher.name.fr                <chr> "Direction du développement et de la …
#> $ publisher.name.it                <chr> "Direzione dello sviluppo e della coo…
#> $ publisher.name.rm                <chr> ""
#> $ publisher.prefLabel.de           <chr> "DEZA"
#> $ publisher.prefLabel.en           <chr> "SDC"
#> $ publisher.prefLabel.fr           <chr> "DDC"
#> $ publisher.prefLabel.it           <chr> "DSC"
#> $ publisher.prefLabel.rm           <chr> ""
#> $ publisher.system.createdAt       <chr> "2025-03-26T15:57:55.817814+00:00"
#> $ publisher.system.modifiedAt      <chr> "2026-07-10T07:39:02.442767+00:00"
#> $ system.createdAt                 <chr> "2026-04-27T08:37:03.703464+00:00"
#> $ system.modifiedAt                <chr> "2026-07-09T17:59:39.626729+00:00"
#> $ source.uri                       <chr> "https://register.ld.admin.ch/i14y/co…
#> $ source.name.en                   <chr> "Geo Focus SAP"
#> $ target.uri                       <chr> "https://register.ld.admin.ch/i14y/co…
#> $ target.name.en                   <chr> "ISO 3166-1 Alpha-2 Country Codes"
#> $ target.name.fr                   <chr> "Codes pays ISO 3166-1 Alpha-2"

Concepts

i14y_list_concepts(page = 1, pageSize = 10) |>
  glimpse()
#> Rows: 10
#> Columns: 53
#> $ codeListEntryValueMaxLength      <int> 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
#> $ codeListEntryValueType           <chr> "String", "String", "String", "String…
#> $ conceptType                      <chr> "CodeList", "CodeList", "CodeList", "…
#> $ conformsTo                       <list> [], [], [], [], [], [], [], [], [], […
#> $ id                               <chr> "08dd632d-a98d-34ff-9252-123e46d6f05…
#> $ identifiers                      <list> "2.16.756.5.30.1.127.3.10.1.1.4", "2.…
#> $ isLocked                         <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, F…
#> $ keywords                         <list> [], [], [], [], [], [], [], [], [], […
#> $ replaces                         <list> [], [], [], [], [], [], [], [], [], …
#> $ isReplacedBy                     <list> [], [], [], [], [], [], [], [], [], …
#> $ publicationLevel                 <chr> "Public", "Public", "Public", "Publi…
#> $ registrationStatus               <chr> "Recorded", "Recorded", "Recorded", "…
#> $ themes                           <list> [], [], [], [], [], [], [], [], [], […
#> $ validFrom                        <chr> "2024-06-01T00:00:00+00:00", "2024-0…
#> $ version                          <chr> "2.0.0", "2.0.0", "2.0.0", "2.0.0", "…
#> $ description.de                   <chr> "Spezialisierung des Autors gemäss An…
#> $ description.en                   <chr> "Speciality of the author as per Anne…
#> $ description.fr                   <chr> "Spécialisation de l'auteur selon l'a…
#> $ description.it                   <chr> "Specializzazione dell'autore secondo…
#> $ name.de                          <chr> "DocumentEntry.author.authorSpecialit…
#> $ name.en                          <chr> "DocumentEntry.author.authorSpecialit…
#> $ name.fr                          <chr> "DocumentEntry.author.authorSpecialit…
#> $ name.it                          <chr> "DocumentEntry.author.authorSpecialit…
#> $ publisher.homePage               <chr> "https://www.e-health-suisse.ch", "ht…
#> $ publisher.id                     <chr> "6fc9ea64-2a0e-44df-8c8b-5fb5528faa16…
#> $ publisher.identifier             <chr> "CH_eHealth", "CH_eHealth", "CH_eHeal…
#> $ publisher.images                 <list> [], [], [], [], [], [], [], [], [], […
#> $ publisher.spatial                <list> "CH", "CH", "CH", "CH", "CH", "CH", …
#> $ publisher.spatialCH              <list> [<data.frame[1 x 6]>], [<data.frame[…
#> $ publisher.subAgents              <list> [], [], [], [], [], [], [], [], [], …
#> $ publisher.classification.code    <chr> "0220", "0220", "0220", "0220", "022…
#> $ publisher.classification.name.de <chr> "Verwaltungseinheit des Bundes", "Ver…
#> $ publisher.classification.name.en <chr> "Administrative unit of the Confedera…
#> $ publisher.classification.name.fr <chr> "Unité de l’administration fédérale",…
#> $ publisher.classification.name.it <chr> "Unità amministrativa della Confedera…
#> $ publisher.description.de         <chr> "Die Geschäftsstelle von eHealth Suis…
#> $ publisher.description.en         <chr> "Entdecken Sie die vielfaeltigen digi…
#> $ publisher.description.fr         <chr> "Le secrétariat d’eHealth Suisse s’as…
#> $ publisher.description.it         <chr> "La segreteria di eHealth Suisse assi…
#> $ publisher.description.rm         <chr> "", "", "", "", "", "", "", "", "", ""
#> $ publisher.name.de                <chr> "eHealth Suisse", "eHealth Suisse", "…
#> $ publisher.name.en                <chr> "eHealth Suisse", "eHealth Suisse", "…
#> $ publisher.name.fr                <chr> "eHealth Suisse", "eHealth Suisse", "…
#> $ publisher.name.it                <chr> "eHealth Suisse", "eHealth Suisse", "…
#> $ publisher.name.rm                <chr> "", "", "", "", "", "", "", "", "", ""
#> $ publisher.prefLabel.de           <chr> "eHealth Suisse", "eHealth Suisse", "…
#> $ publisher.prefLabel.en           <chr> "eHealth Suisse", "eHealth Suisse", "…
#> $ publisher.prefLabel.fr           <chr> "eHealth Suisse", "eHealth Suisse", "…
#> $ publisher.prefLabel.it           <chr> "eHealth Suisse", "eHealth Suisse", "…
#> $ publisher.prefLabel.rm           <chr> "", "", "", "", "", "", "", "", "", ""
#> $ publisher.system.createdAt       <chr> "0001-01-01T00:00:00+00:00", "0001-01…
#> $ publisher.system.modifiedAt      <chr> "2026-07-10T07:46:18.399941+00:00", "…
#> $ system.createdAt                 <chr> "2025-05-07T16:16:51.799821+00:00", "…

All of them accept the same facet-style filters: publisherIdentifier, publicationLevel ("Internal" or "Public"), and registrationStatus (one of Incomplete, Candidate, Recorded, Qualified, Standard, PreferredStandard, Superseded, Retired). Dataset-shaped resources additionally accept accessRights, and mapping tables accept codeSystemUri and version.

Getting a single resource

Each list endpoint has a matching get function:

dataset <- i14y_get_dataset(id = "b902add5-9538-47ed-b663-f9fbfac92381")
dataset$title$en
#> [1] "Set di dati SpiGes (file di dati)"
dataset$registrationStatus
#> [1] "Recorded"

Each resource type has its own get function:

ds_id <- i14y_list_dataservices()$id[1]
dataservice <- i14y_get_dataservice(id = ds_id)
dataservice$title$en
#> [1] "Pension API (OpenPension)"

ps_id <- i14y_list_publicservices()$id[1]
publicservice <- i14y_get_publicservice(id = ps_id)
publicservice$title$en
#> NULL

Mapping tables expose their full metadata (source/target codelists, publisher, version, …) via i14y_get_mappingtable():

mt_id <- i14y_list_mappingtables()$id[1]
mt <- i14y_get_mappingtable(id = mt_id)
mt$name$en
#> [1] "Mapping Geo Focus to ISO 3166-1 Alpha-2"
mt$source$uri
#> [1] "https://register.ld.admin.ch/i14y/concept/geo-focus/version/1.0.0"
mt$target$uri
#> [1] "https://register.ld.admin.ch/i14y/concept/iso-3166-1-alpha2/version/1.0.0"

The actual code-to-code relations of a mapping table (source/target/relation-type triples) are exported with i14y_get_mappingtable_relations(). The default format = "Json" returns a tidy data.frame; format = "Csv" returns the raw CSV as a character string.

relations <- i14y_get_mappingtable_relations(id = mt_id)
head(relations)
#> # A tibble: 0 × 0

Catalogs and DCAT export

Resources on I14Y belong to one or more catalogs (typically one per federal office or cantonal organization). List them with:

catalogs <- i14y_list_catalogs()
head(catalogs[, c("id", "title.en")], 5)
#> # A tibble: 5 × 2
#>   id                                   title.en                                 
#>   <chr>                                <chr>                                    
#> 1 8ec39bcd-9f7c-4dd5-b0c9-ce69e2aafb39 Federal Office of Topography swisstopo O…
#> 2 b1d443a5-535d-4b1d-92d3-9244091a63ca eHealth Suisse Opendata.swiss            
#> 3 cc98af80-593a-41a5-93e7-99ed454721f0 Federal Tax Administration AFC Opendata.…
#> 4 32c0a9c1-df9f-4426-8c48-8a2ea2410f34 Federal Office of Justice FOJ Opendata.s…
#> 5 950e523a-8f5c-42dc-b512-6d2e402e4ab0 NL Opendata.swiss

For a single catalog, you can fetch its metadata or download the whole catalog as a DCAT/RDF or DCAT/TTL document:

catalog_id <- catalogs$id[1]

catalog <- i14y_get_catalog(id = catalog_id)
catalog$title$en
#> [1] "Federal Office of Topography swisstopo Opendata.swiss"

dcat_ttl <- i14y_get_catalog_dcat(id = catalog_id, format = "TTL")
cat(substr(dcat_ttl, 1, 500))
#> @base <https://i14y.admin.ch/resources/dcat/catalogs/8ec39bcd-9f7c-4dd5-b0c9-ce69e2aafb39>.
#> 
#> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
#> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
#> @prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
#> @prefix dcat: <http://www.w3.org/ns/dcat#>.
#> @prefix vcard: <http://www.w3.org/2006/vcard/ns#>.
#> @prefix dct: <http://purl.org/dc/terms/>.
#> @prefix foaf: <http://xmlns.com/foaf/0.1/>.
#> @prefix spdx: <http://spdx.org/rdf/terms#>.
#> @prefix dcatap: <

The TTL/RDF export is the canonical format for harvesting I14Y into other metadata systems (CKAN, opendata.swiss, custom triple-stores).

Each catalog also exposes the individual records (one per resource listed in the catalog) via i14y_get_catalog_records(). Not every catalog has records — many federal catalogs are currently empty — so pick one that does, for example the NL Opendata.swiss catalog:

records_catalog_id <- catalogs$id[catalogs$title.en == "NL Opendata.swiss"][1]
records <- i14y_get_catalog_records(id = records_catalog_id)
str(records, max.level = 1)
#> tibble [14 × 5] (S3: tbl_df/tbl/data.frame)

Each record points at an underlying resource (dataset, data service, …) through primaryTopic.resourceId and primaryTopic.resourceType, which you can then fetch with the matching i14y_get_*() function:

records[, c("id", "primaryTopic.resourceId", "primaryTopic.resourceType")] |>
  head(3)
#> # A tibble: 3 × 3
#>   id                               primaryTopic.resourc…¹ primaryTopic.resourc…²
#>   <chr>                            <chr>                  <chr>                 
#> 1 0c352cf6-b3c9-478e-8b32-f89d9b3… 0699e542-e6f0-4038-be… Dataset               
#> 2 1c7a458c-1d8d-449c-8d6b-bb06df9… 21d9c29e-7a21-4deb-97… Dataset               
#> 3 2c03f216-f40d-41be-95b7-c9461b8… 96857d76-0ddc-4721-99… Dataset               
#> # ℹ abbreviated names: ¹​primaryTopic.resourceId, ²​primaryTopic.resourceType

The single-record endpoint i14y_get_catalog_record(id, recordId) exists but currently requires authentication on the public API (HTTP 401 for anonymous callers), so we don’t show a live call here.