EU Open Data Portal Registry API (hub-repo)
The piveau hub-repo registry service: the DCAT-AP write surface of data.europa.eu. Manages catalogues, DCAT resources (datasets, data services, dataset series), distributions, drafts, vocabularies, quality metrics and persistent identifiers in the Virtuoso triplestore, in RDF/XML, Turtle, JSON-LD, N-Triples, N-Quads, TriG, TriX and N3. Writes require a catalogue-scoped API key or an EU Login / service-account party token.
GET
/organizations
List organizations
#
HEAD
/organizations
Headers only for "List organizations"
#
GET
/organizations/{organizationId}
Get organization
#
HEAD
/organizations/{organizationId}
Headers only for "Get organization"
#
PUT
/organizations/{organizationId}
Create or update organization
#
DELETE
/organizations/{organizationId}
Delete organization
#
GET
/catalogues
List catalogues
#
HEAD
/catalogues
Headers only for "List catalogues"
#
GET
/catalogues/{catalogueId}
Get catalogue
#
HEAD
/catalogues/{catalogueId}
Headers only for "Get catalogue"
#
PUT
/catalogues/{catalogueId}
Create or update catalogue
#
DELETE
/catalogues/{catalogueId}
Delete catalogue
#
GET
/catalogues/{catalogueId}/datasets
List datasets of catalogue
#
HEAD
/catalogues/{catalogueId}/datasets
Headers only for "List datasets of catalogue"
#
POST
/catalogues/{catalogueId}/datasets
Add dataset to catalogue
#
GET
/catalogues/{catalogueId}/datasets/origin
Get datasets of catalogue by means of an original id
#
HEAD
/catalogues/{catalogueId}/datasets/origin
Headers only for "Get dataset of a catalogue by means of an original id"
#
PUT
/catalogues/{catalogueId}/datasets/origin
Create or update dataset of catalogue by means of an original id
#
DELETE
/catalogues/{catalogueId}/datasets/origin
Delete dataset of catalogue by means of an original id
#
GET
/catalogues/{catalogueId}/resources
List DCAT resources of catalogue
#
HEAD
/catalogues/{catalogueId}/resources
Headers only for "List DCAT resources of catalogue"
#
POST
/catalogues/{catalogueId}/resources
Add a new DCAT resource to catalogue
#
GET
/catalogues/{catalogueId}/resources/origin
Get DCAT resources of catalogue by means of an original id
#
HEAD
/catalogues/{catalogueId}/resources/origin
Headers only for "Get DCAT resource of a catalogue by means of an original id"
#
PUT
/catalogues/{catalogueId}/resources/origin
Create or update DCAT resource of catalogue by means of an original id
#
DELETE
/catalogues/{catalogueId}/resources/origin
Delete DCAT resource of catalogue by means of an original id
#
GET
/resources/{resourceId}
#
HEAD
/resources/{resourceId}
#
DELETE
/resources/{resourceId}
#
GET
/resources/{resourceId}/record
Get catalogue record
#
HEAD
/resources/{resourceId}/record
Headers only for "Get catalogue record"
#
GET
/resources/{resourceId}/metrics
Get DCAT resources metrics
#
HEAD
/resources/{resourceId}/metrics
Headers only for "Get DCAT resource metrics"
#
PUT
/resources/{resourceId}/metrics
Create/Update metrics for a dataset
#
DELETE
/resources/{resourceId}/metrics
Delete DCAT resource metrics
#
GET
/datasets
List datasets
#
HEAD
/datasets
Headers only for "List datasets"
#
POST
/datasets
Add dataset
#
PUT
/datasets
Create or update dataset
#
DELETE
/datasets
Delete a dataset
#
GET
/datasets/{datasetId}
Get dataset
#
HEAD
/datasets/{datasetId}
Headers only for "Get dataset"
#
PUT
/datasets/{datasetId}
Update a Dataset
#
DELETE
/datasets/{datasetId}
Delete a dataset
#
GET
/datasets/revisions/{revisionId}
Get dataset revision
#
GET
/datasets/{datasetId}/diff
Get difference between two revisions
#
GET
/datasets/{datasetId}/distributions
List dataset distributions
#
HEAD
/datasets/{datasetId}/distributions
Headers only for "List dataset distributions"
#
POST
/datasets/{datasetId}/distributions
Add distribution to dataset
#
GET
/distributions/{distributionId}
Get distribution
#
HEAD
/distributions/{distributionId}
Headers only for "Get distribution"
#
PUT
/distributions/{distributionId}
Update distribution
#
DELETE
/distributions/{distributionId}
Delete distribution
#
GET
/datasets/{datasetId}/metrics
Get dataset metrics
#
HEAD
/datasets/{datasetId}/metrics
Headers only for "Get dataset metrics"
#
PUT
/datasets/{datasetId}/metrics
Create/Update metrics for a dataset
#
DELETE
/datasets/{datasetId}/metrics
Delete metrics
#
GET
/datasets/{datasetId}/record
Get catalogue record
#
HEAD
/datasets/{datasetId}/record
Headers only for "Get catalogue record"
#
GET
/records/revisionRecord/{revisionId}
Get catalogue record of a dataset revision
#
GET
/records/{datasetId}
Get catalogue record
#
HEAD
/records/{datasetId}
Headers only for "Get catalogue record"
#
GET
/datasets/{datasetId}/index
Index/Reindex a dataset
#
GET
/drafts/datasets
Get dataset drafts
#
POST
/drafts/datasets
Create a dataset draft
#
GET
/drafts/datasets/{id}
Get a dataset draft
#
PUT
/drafts/datasets/{id}
Create or Update a dataset draft
#
DELETE
/drafts/datasets/{id}
Delete a dataset draft
#
PUT
/drafts/datasets/publish/{id}
Publish a dataset draft
#
PUT
/drafts/datasets/hide/{id}
Hide a published dataset
#
GET
/vocabularies
Get list of vocabularies
#
HEAD
/vocabularies
Head get list of vocabularies
#
PUT
/vocabularies
Create or Update a vocabulary
#
GET
/vocabularies/{vocabularyId}
Get a vocabulary
#
HEAD
/vocabularies/{vocabularyId}
Head get a vocabulary
#
PUT
/vocabularies/{vocabularyId}
Create or update a vocabulary
#
DELETE
/vocabularies/{vocabularyId}
Delete a vocabulary
#
POST
/translation
Post a completed translation.
#
PUT
/identifiers/datasets/{datasetId}
Create a persistent identifier for a dataset
#
GET
/identifiers/datasets/{datasetId}/eligibility
Check if an identifier can be issued for the given dataset.
#
GET
/customresources
List custom resource types
#
GET
/customresources/{type}
List custom resources
#
POST
/customresources/{type}
Create a custom resource
#
PUT
/customresources/{type}
Create or Update a custom resource
#
GET
/customresources/{type}/{id}
Get a custom resource
#
HEAD
/customresources/{type}/{id}
HEAD a custom resource
#
DELETE
/customresources/{type}/{id}
Delete a custom resource
#
GET
/customresources/{type}/origin
Get custom resource
#
POST
/action
Call an Action
#
Documentation
Specifications
Other Resources
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/eu-open-data-portal-registry-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.2
info:
version: 4.3.3
title: piveau hub-repo service
description: 'The API simplifies the management of DCAT resources, adhering to the DCAT-AP standard
for structured data descriptions.
It integrates seamlessly with Virtuoso, an efficient database server and Triplestore, making dataset
management more
accessible. The DCAT-AP standard ensures consistent, comprehensive data descriptions, enhancing data
sharing and
discovery. The API simplifies the process of making datasets accessible to a wider audience. This
promotes
transparency, knowledge sharing, and collaboration. This introduction lays the groundwork for exploring
the hub-repo
Open API. Detailed information on authentication, API endpoints, error handling, and practical examples
can be found
in the subsequent sections to gain a comprehensive understanding of the API''s functionality.
'
x-logo:
url: images/logo
tags:
- name: Organizations
x-displayName: Organizations
- name: Catalogues
x-displayName: Catalogues
- name: Datasets
x-displayName: Datasets
description: '**Deprecated !** Please use general DCAT Resources API instead
'
- name: DCAT Resources
x-displayName: DCAT Resources
description: 'Manage DCAT resources and its sub-classes, except DCAT Catalogues.
'
- name: Distributions
x-displayName: Distributions
description: '**Deprecated !** Will be removed completely in the future
'
- name: Vocabularies
x-displayName: Vocabularies
- name: Drafts
x-displayName: Drafts
- name: Persistent Identifiers
x-displayName: Persistent Identifiers
description: 'Create persistent identifiers for data artifacts.
'
- name: Custom Resources
x-displayName: Custom Resources
description: '**Deprecated !** Will be replaced with the generic DCAT resource API (endpoints will be
reused). Any future custom resource
definitions must be sub-classed from DCAT Resource.
'
- name: Actions
x-displayName: Action API
description: 'The action API utilizes the [JSON-RPC 2.0](https://www.jsonrpc.org/specification) specification
with the following constraints:
* `id` reference needs to be a string
* `params` are passed as object map, not as array list
* `data` of an error is an object
* Batch processing of actions is not yet supported
Although a correlation identifier (`id`) is not necessary on top of HTTP, you should always include
it to allow
the server to distinguish between sync calls and notifications. Omit the `id` only in case of a notification.
For notifications, the server will immediately respond with a `202 Accepted` without a body.
'
paths:
/organizations:
get:
summary: List organizations
operationId: listOrganizations
tags:
- Organizations
parameters:
- $ref: '#/components/parameters/ValueType'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/RDFLIST200'
'400':
description: Bad Request
head:
summary: Headers only for "List organizations"
operationId: headListOrganizations
tags:
- Organizations
parameters:
- $ref: '#/components/parameters/ValueType'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: Headers of list organizations
'400':
description: Bad Request
/organizations/{organizationId}:
parameters:
- $ref: '#/components/parameters/OrganizationId'
get:
summary: Get organization
operationId: getOrganization
tags:
- Organizations
responses:
'200':
$ref: '#/components/responses/RDF200'
'404':
description: Organization Not Found
head:
summary: Headers only for "Get organization"
operationId: headGetOrganization
tags:
- Organizations
responses:
'200':
description: Headers of get organization
'404':
description: Organization Not Found
put:
summary: Create or update organization
operationId: putOrganization
tags:
- Organizations
security:
- ApiKeyAuth: []
- BearerAuth: []
requestBody:
$ref: '#/components/requestBodies/RDFBody'
responses:
'201':
description: Organization created
headers:
Location:
$ref: '#/components/headers/LocationURIRef'
'204':
description: Organization updated
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
delete:
summary: Delete organization
operationId: deleteOrganization
tags:
- Organizations
security:
- ApiKeyAuth: []
- BearerAuth: []
responses:
'204':
description: Organization deleted
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Organization Not Found
/catalogues:
get:
description: To retrieve the list of catalogues, send a GET request to the specified URL of the
API with the resource path "catalogues". The query parameter "limit" specifies the number of resources
to retrieve, while the query parameter "offset" determines the starting point for counting. Upon
success, the response will contain, by default, an array with the URLs of the chosen number of
catalogues (with 100 being the default limit). To retrieve identifiers (normalized IDs), metadata,
or original IDs (IDs as by data provider) , you can choose a different value for the parameter
"valueType".
summary: List catalogues
operationId: listCatalogues
tags:
- Catalogues
parameters:
- $ref: '#/components/parameters/ValueType'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/RDFLIST200'
'400':
description: Bad Request
head:
description: To retrieve only the headers for the list of catalogues, send a HEAD request to the
specified URL of the API with the resource path "catalogues". The query parameter "limit" specifies
the number of catalogues to retrieve, while the query parameter "offset" determines the starting
point for counting. Upon success, the response will contain, by default, the headers for chosen
number of catalogues' URLs (with 100 being the default limit). To retrieve the headers for the
other data of catalogues select a different value for the parameter "valueType".
summary: Headers only for "List catalogues"
operationId: headListCatalogues
tags:
- Catalogues
parameters:
- $ref: '#/components/parameters/ValueType'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: Headers of list catalogues
'400':
description: Bad request
/catalogues/{catalogueId}:
parameters:
- $ref: '#/components/parameters/CatalogueId'
get:
description: You can get a catalogue making a GET request to the specified URL of the API endpoint
with the resource path "catalogues/{catalogueId}" set the unique ID of the catalogue as {catalogueId}
element of the URL. If successful, the response contains the information about the specified catalogue.
summary: Get catalogue
operationId: getCatalogue
tags:
- Catalogues
responses:
'200':
$ref: '#/components/responses/RDF200'
'404':
description: Catalogue Not Found
head:
description: You can get only the headers for catalogue making a HEAD request to the specified URL
of the API endpoint with the resource path "catalogues/{catalogueId}" set the unique ID of the
catalogue as {catalogueId} element of the URL. If successful, the response contains the headers
of the specified catalogue.
summary: Headers only for "Get catalogue"
operationId: headGetCatalogue
tags:
- Catalogues
responses:
'200':
description: Headers of get catalogue
'404':
description: Catalogue Not Found
put:
description: This function is reserved for internal use only and is not part of our public API offerings.
As an authorized user you can create or update the information of a specific catalog. Send a PUT
request to the specified URL of the API endpoint, including the unique ID of the catalogue as
{catalogueId} element of the URL and the updated information in the request. If the request is
successful and the catalogueID already exists, the information in the catalogue will be updated
with the newly provided information. If the catalogueID is new, a new catalogue will be created.
summary: Create or update catalogue
operationId: putCatalogue
tags:
- Catalogues
security:
- ApiKeyAuth: []
- BearerAuth: []
requestBody:
$ref: '#/components/requestBodies/RDFBody'
responses:
'201':
description: Catalogue created
headers:
Location:
$ref: '#/components/headers/LocationURIRef'
'204':
description: Catalogue updated
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
delete:
description: 'This function is reserved for internal use only and is not part of our public API
offerings. As an authorized user you can delete a specific catalogue. Send a DELETE request to
the specified URL of the API endpoint with the resource path "/catalogues/{catalogueId}" at the
end of URL, set the unique ID of the catalogue as {catalogueId} element of the URL. This operation
deletes a catalogue''s metadata, as well as the metadata of all referenced datasets, from the
repository and the index. It also removes any related quality measurements if they exist. Caution:
you cannot revert this operation'
summary: Delete catalogue
operationId: deleteCatalogue
tags:
- Catalogues
security:
- ApiKeyAuth: []
- BearerAuth: []
responses:
'204':
description: Catalogue deleted
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Catalogue Not Found
/catalogues/{catalogueId}/datasets:
description: Deprecated!
parameters:
- $ref: '#/components/parameters/CatalogueId'
get:
deprecated: true
description: To retrieve a list of datasets of a specific catalogue make a GET request to the specified
URL of the API endpoint with the resource path "/catalogues/{catalogueId}/datasets" at the end
of the URL, including the unique ID of the catalogue as {catalogueId} element of the URL. The
query parameter "limit" specifies the number of datasets to retrieve, while the query parameter
"offset" determines the starting point for counting. If the request is successful, by default,
the response will contain an array with the URLs of the chosen number of datasets (with 100 being
the default limit) from the specified catalogue. To retrieve other data of the datasets from the
specified catalogue select a different value for the parameter "valueType".
summary: List datasets of catalogue
operationId: listCatalogueDatasets
tags:
- Datasets
security:
- ApiKeyAuth: []
- BearerAuth: []
parameters:
- $ref: '#/components/parameters/ValueType'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/RDFLIST200'
'400':
description: Bad Request
'404':
description: Catalogue Not Found
head:
deprecated: true
description: To retrieve only the headers for the list of datasets from a specific catalogue, you
can make a HEAD request to the specified URL of the API endpoint with the resource path "/catalogues/{catalogueId}/datasets"
at the end of the URL, including the unique ID of the catalogue as {catalogueId} element of the
URL. The query parameter "limit" specifies the number of datasets to retrieve, while the query
parameter "offset" determines the starting point for counting. If the request is successful, by
default, the response will contain the headers for chosen number of datasets' URLs (with 100 being
the default limit) from the specified catalogue. To retrieve the headers for other data of the
datasets from the specified catalogue select a different value for the parameter "valueType".
summary: Headers only for "List datasets of catalogue"
operationId: headListCatalogueDatasets
tags:
- Datasets
parameters:
- $ref: '#/components/parameters/ValueType'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: Headers of list dataset of catalogue
'400':
description: Bad Request
'404':
description: Catalogue Not Found
post:
deprecated: true
description: This function is reserved for internal use only and is not part of our public API offerings.
You must be authorized to add a dataset. As an authorized user, you make a POST request to the
specified URL of the API endpoint with the resource path "/catalogues/{catalogueId}/datasets"
at the end of the URL and specify the unique ID of the catalogues as the {catalogueId} element
of the URL.
summary: Add dataset to catalogue
operationId: postCatalogueDataset
tags:
- Datasets
parameters:
- in: query
name: publicationStatus
schema:
type: string
enum:
- draft
- published
required: false
- in: query
name: accessLevel
schema:
type: string
enum:
- public
- internal
- restricted
required: false
security:
- ApiKeyAuth: []
- BearerAuth: []
requestBody:
$ref: '#/components/requestBodies/RDFBody'
responses:
'201':
description: Dataset created
headers:
Location:
$ref: '#/components/headers/LocationURIRef'
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Catalogue Not Found
/catalogues/{catalogueId}/datasets/origin:
description: Deprecated!
parameters:
- $ref: '#/components/parameters/CatalogueId'
- name: originalId
required: true
in: query
description: The original id of the dataset
schema:
type: string
get:
deprecated: true
description: To retrieve a specific dataset send a GET request to the specified URL of the API endpoint
with the resource path "/catalogues/{catalogueId}/datasets/origin" at the end of the URL, set
the unique ID of the catalogue as {catalogueId} element and the unique ID of the dataset as {origin}
element of the URL.
summary: Get datasets of catalogue by means of an original id
operationId: getCatalogueDatasetsOrigin
tags:
- Datasets
security:
- ApiKeyAuth: []
- BearerAuth: []
responses:
'200':
$ref: '#/components/responses/RDF200'
'400':
description: Bad Request
'404':
description: Catalogue or Dataset Not Found
head:
deprecated: true
description: To retrieve the headers for a specific dataset send a HEAD request to the specified
URL of the API endpoint with the resource path "/catalogues/{catalogueId}/datasets/origin" at
the end of the URL, set the unique ID of the catalogue as {catalogueId} element and the unique
ID of the dataset as {origin} element of the URL.
summary: Headers only for "Get dataset of a catalogue by means of an original id"
operationId: headGetCatalogueDatasetsOrigin
tags:
- Datasets
responses:
'200':
description: Headers of get dataset of catalogue by means of an original id
'400':
description: Bad Request
'404':
description: Catalogue or Dataset Not Found
put:
deprecated: true
description: This function is reserved for internal use only and is not part of our public API offerings.
You must be authorized to create or update a dataset. As an authorized user, you make a PUT request
to the specified URL of the API endpoint with the resource path "/catalogues/{catalogueId}/datasets/origin"
at the end of the URL. Specify the unique ID of the catalogue, where the dataset is created, as
the {catalogueId} and the unique ID of the dataset as the {origin} element of the URL accordingly.
If the dataset with this ID already exists, it is updated.
summary: Create or update dataset of catalogue by means of an original id
operationId: putCatalogueDatasetsOrigin
tags:
- Datasets
parameters:
- in: query
name: publicationStatus
schema:
type: string
enum:
- draft
- published
required: false
- in: query
name: accessLevel
schema:
type: string
enum:
- public
- internal
- restricted
required: false
security:
- ApiKeyAuth: []
- BearerAuth: []
requestBody:
$ref: '#/components/requestBodies/RDFBody'
responses:
'201':
description: Dataset created
headers:
Location:
$ref: '#/components/headers/LocationURIRef'
'204':
description: Dataset updated
'304':
description: Not modified, no update necessary
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Catalogue Not Found
delete:
deprecated: true
description: 'This function is reserved for internal use only and is not part of our public API
offerings. As an authorized user you can delete a dataset of a specific catalogue. Send a DELETE
request to the specified URL of the API endpoint with the resource path "/catalogues/{catalogueId}/datasets/origin".
Specify the unique ID of the catalogue as the {catalogueId} and the unique ID of the dataset as
the {origin} element of the URL accordingly. This operation deletes the specified dataset, as
well as all referenced distributions, from the repository and the index. It also removes any related
quality measurements if they exist. Caution: you cannot revert this operation'
summary: Delete dataset of catalogue by means of an original id
operationId: deleteCatalogueDatasetsOrigin
tags:
- Datasets
security:
- ApiKeyAuth: []
- BearerAuth: []
responses:
'204':
description: Dataset deleted
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Catalogue or Dataset Not Found
/catalogues/{catalogueId}/resources:
parameters:
- $ref: '#/components/parameters/CatalogueId'
get:
description: To retrieve a list of DCAT resources of a specific catalogue make a GET request to
the specified URL of the API endpoint with the resource path "/catalogues/{catalogueId}/resources"
at the end of the URL, including the unique ID of the catalogue as {catalogueId} element of the
URL. The query parameter "limit" specifies the number of DCAT resources to retrieve, while the
query parameter "offset" determines the starting point for counting. If the request is successful,
by default, the response will contain an array with the URLs of the chosen number of DCAT resources
(with 100 being the default limit) from the specified catalogue. To retrieve other data of the
DCAT resources from the specified catalogue select a different value for the parameter "valueType".
summary: List DCAT resources of catalogue
operationId: listCatalogueResources
tags:
- DCAT Resources
security:
- ApiKeyAuth: []
- BearerAuth: []
parameters:
- $ref: '#/components/parameters/ValueType'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
- name: resourceTypes
description: Return only values for specific DCAT resource types. If not provided or empty, all
DCAT resource types are returned.
in: query
schema:
type: array
items:
enum:
- Dataset
- DataService
- DatasetSeries
responses:
'200':
$ref: '#/components/responses/RDFLIST200'
'400':
description: Bad Request
'404':
description: Catalogue Not Found
head:
description: To retrieve only the headers for the list of DCAT resources from a specific catalogue,
you can make a HEAD request to the specified URL of the API endpoint with the resource path "/catalogues/{catalogueId}/resources"
at the end of the URL, including the unique ID of the catalogue as {catalogueId} element of the
URL. The query parameter "limit" specifies the number of DCAT resources to retrieve, while the
query parameter "offset" determines the starting point for counting. If the request is successful,
by default, the response will contain the headers for chosen number of DCAT resources URLs (with
100 being the default limit) from the specified catalogue. To retrieve the headers for other data
of the DCAT resources from the specified catalogue select a different value for the parameter
"valueType".
summary: Headers only for "List DCAT resources of catalogue"
operationId: headListCatalogueResources
tags:
- DCAT Resources
security:
- ApiKeyAuth: []
- BearerAuth: []
parameters:
- $ref: '#/components/parameters/ValueType'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
- name: resourceTypes
description: Return only values for specific DCAT resource types. If not provided or empty, all
DCAT resource types are returned.
in: query
schema:
type: array
items:
enum:
- dataset
- dataService
- datasetSeries
- other
responses:
'200':
description: Headers of list DCAT resources of catalogue
'400':
description: Bad Request
'404':
description: Catalogue Not Found
post:
description: Create a new DCAT resource. For the final id check the LOCATION response header
summary: Add a new DCAT resource to catalogue
operationId: postCatalogueResources
tags:
- DCAT Resources
parameters:
- in: query
name: resourceId
description: If not exists in this catalogue, use this id as resource id. If it already exists,
the service will assign it a generated new id.
schema:
type: string
required: false
- in: query
name: publicationStatus
schema:
type: string
enum:
- draft
- published
default: published
required: false
- in: query
name: accessLevel
schema:
type: string
enum:
- public
- internal
- restricted
default: public
required: false
security:
- ApiKeyAuth: []
- BearerAuth: []
requestBody:
$ref: '#/components/requestBodies/RDFBody'
responses:
'201':
description: DCAT Resource created
headers:
Location:
$ref: '#/components/headers/LocationURIRef'
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Catalogue Not Found
/catalogues/{catalogueId}/resources/origin:
parameters:
- $ref: '#/components/parameters/CatalogueId'
- name: originalId
required: true
in: query
description: The original id of the DCAT resource
schema:
type: string
get:
description: To retrieve a specific dataset send a GET request to the specified URL of the API endpoint
with the resource path "/catalogues/{catalogueId}/datasets/origin" at the end of the URL, set
the unique ID of the catalogue as {catalogueId} element and the unique ID of the dataset as {origin}
element of the URL.
summary: Get DCAT resources of catalogue by means of an original id
operationId: getCatalogueResourcesOrigin
tags:
- DCAT Resources
security:
- ApiKeyAuth: []
- BearerAuth: []
responses:
'200':
$ref: '#/components/responses/RDF200'
'400':
description: Bad Request
'404':
description: Catalogue or DCAT Resource Not Found
head:
description: To retrieve the headers for a specific dataset send a HEAD request to the specified
URL of the API endpoint with the resource path "/catalogues/{catalogueId}/resources/origin" at
the end of the URL, set the unique ID of the catalogue as {catalogueId} element and the unique
ID of the DCAT resource as {origin} element of the URL.
summary: Headers only for "Get DCAT resource of a catalogue by means of an original id"
operationId: headGetCatalogueResourcesOrigin
tags:
- DCAT Resources
security:
- ApiKeyAuth: []
- BearerAuth: []
responses:
'200':
description: Headers of get resource of catalogue by means of an original id
'400':
description: Bad Request
'404':
description: Catalogue or DCAT Resource Not Found
put:
description: This function is reserved for internal use only and is not part of our public API offerings.
You must be authorized to create or update a DCAT resource. As an authorized user, you make a
PUT request to the specified URL of the API endpoint with the resource path "/catalogues/{catalogueId}/resources/origin"
at the end of the URL. Specify the unique ID of the catalogue, where the DCAT resource is created,
as the {catalogueId} and the unique ID of the DCAT resource as the {origin} element of the URL
accordingly. If the DCAT resource with this ID already exists, it is updated.
summary: Create or update DCAT resource of catalogue by means of an original id
operationId: putCatalogueResourcesOrigin
tags:
- DCAT Resources
parameters:
- in: query
name: recordModified
description: If set the DCAT resource is only updated when the server side is not newer
schema:
type: string
format: date-time
required: false
- in: query
name: enforceUpdate
description: If set to true, the resource is updated, regardless of the hash comparison result
schema:
type: boolean
default: false
required: false
- in: query
name: publicationStatus
schema:
type: string
enum:
- draft
- published
default: published
required: false
- in: query
name: accessLevel
schema:
type: string
enum:
- public
- internal
- restricted
default: public
required: false
security:
- ApiKeyAuth: []
- BearerAuth: []
requestBody:
$ref: '#/components/requestBodies/RDFBody'
responses:
'201':
description: DCAT resource created
headers:
Location:
$ref: '#/components/headers/LocationURIRef'
'204':
description: DCAT resource updated
'304':
description: Not modified, no update necessary
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Catalogue Not Found
'409':
description: DCAT resource on server side is newer
delete:
description: 'This function is reserved for internal use only and is not part of our public API
offerings. As an authorized user you can delete a DCAT resource of a specific catalogue. Send
a DELETE request to the specified URL of the API endpoint with the resource path "/catalogues/{catalogueId}/resources/origin".
Specify the unique ID of the catalogue as the {catalogueId} and the unique ID of the DCAT resource
as the {origin} element of the URL accordingly. This operation deletes the specified DCAT resource
from the repository and the index. It also removes any related quality measurements if they exist.
Caution: you cannot revert this operation'
summary: Delete DCAT resource of catalogue by means of an original id
operationId: deleteCatalogueResourcesOrigin
tags:
- DCAT Resources
security:
- ApiKeyAuth: []
- BearerAuth: []
responses:
'204':
description: DCAT resource deleted
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Catalogue or DCAT Resource Not Found
/resources:
get:
operationId: listDCATResources
tags:
- DCAT Resources
security:
- ApiKeyAuth: []
- BearerAuth: []
parameters:
- $ref: '#/components/parameters/ValueType'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/UsePagedCollection'
responses:
'200':
$ref: '#/components/responses/RDFLIST200'
'400':
description: Bad Request
head:
operationId: headListDCATResources
tags:
- DCAT Resources
security:
- ApiKeyAuth: []
- BearerAuth: []
parameters:
- $ref: '#/components/parameters/ValueType'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/UsePagedCollection'
responses:
'200':
$ref: '#/components/responses/RDFLIST200'
'400':
description: Bad Request
/resources/{resourceId}:
parameters:
- $ref: '#/components/parameters/ResourceId'
get:
operationId: getDCATResource
tags:
- DCAT Resources
security:
- ApiKeyAuth: []
- BearerAuth: []
responses:
'200':
$ref: '#/components/responses/RDF200'
'400':
description: Bad Request
'404':
description: Catalogue or DCAT Resource Not Found
head:
operationId: headGetDCATResource
tags:
- DCAT Resources
security:
- ApiKeyAuth: []
- BearerAuth: []
responses:
'200':
description: Headers of get dataset
'400':
description: Bad request
'404':
description:
# --- truncated at 32 KB (100 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/eu-open-data-portal/refs/heads/main/openapi/eu-open-data-portal-hub-repo-openapi.yaml