How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

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.

EU Open Data Portal Registry API (hub-repo) is one of 7 APIs that EU Open Data Portal publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Registry, DCAT-AP, RDF, Catalogues, and Publishing. The published artifact set on APIs.io includes an OpenAPI specification, an API reference, API documentation, and a changelog.

This API exposes 91 operations across 37 paths, organized into 11 resource areas. It is described by OpenAPI 3.1.2, at version 4.3.3.

Requests are made against a single base URL, https://data.europa.eu/api/hub/repo.

91 operations 37 paths 0 schemas 13 DELETE32 GET22 HEAD8 POST16 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.2
API Version
4.3.3
Base URL
https://data.europa.eu/api/hub/repo
Authentication
API Key, HTTP Bearer
Resource Areas
11

Authentication & Security 2

EU Open Data Portal Registry API (hub-repo) declares 2 security schemes for authenticating requests. An API key is passed in the header as X-API-Key (ApiKeyAuth). It accepts HTTP bearer tokens (JWT) (BearerAuth).

Paths & Operations 91

Across 37 paths, the API surfaces 91 operations — 13 DELETE, 32 GET, 22 HEAD, 8 POST, 16 PUT. They span 11 resource areas, including Organizations, Catalogues, Datasets, DCAT Resources, Distributions, Drafts, Vocabularies, Translation, and 3 more. Each is listed below with its method, path, parameters, and response codes.

Organizations 6
GET
/organizations
List organizations
listOrganizations 3 params → 200400
HEAD
/organizations
Headers only for "List organizations"
headListOrganizations 3 params → 200400
GET
/organizations/{organizationId}
Get organization
getOrganization 1 param → 200404
HEAD
/organizations/{organizationId}
Headers only for "Get organization"
headGetOrganization 1 param → 200404
PUT
/organizations/{organizationId}
Create or update organization
putOrganization 1 param body → 201204400401403
DELETE
/organizations/{organizationId}
Delete organization
deleteOrganization 1 param → 204401403404
Catalogues 6
GET
/catalogues
List catalogues
listCatalogues 3 params → 200400
HEAD
/catalogues
Headers only for "List catalogues"
headListCatalogues 3 params → 200400
GET
/catalogues/{catalogueId}
Get catalogue
getCatalogue 1 param → 200404
HEAD
/catalogues/{catalogueId}
Headers only for "Get catalogue"
headGetCatalogue 1 param → 200404
PUT
/catalogues/{catalogueId}
Create or update catalogue
putCatalogue 1 param body → 201204400401403
DELETE
/catalogues/{catalogueId}
Delete catalogue
deleteCatalogue 1 param → 204401403404
Datasets 31

Deprecated ! Please use general DCAT Resources API instead

GET
/catalogues/{catalogueId}/datasetsdeprecated
List datasets of catalogue
listCatalogueDatasets 4 params → 200400404
HEAD
/catalogues/{catalogueId}/datasetsdeprecated
Headers only for "List datasets of catalogue"
headListCatalogueDatasets 4 params → 200400404
POST
/catalogues/{catalogueId}/datasetsdeprecated
Add dataset to catalogue
postCatalogueDataset 3 params body → 201400401403404
GET
/catalogues/{catalogueId}/datasets/origindeprecated
Get datasets of catalogue by means of an original id
getCatalogueDatasetsOrigin 2 params → 200400404
HEAD
/catalogues/{catalogueId}/datasets/origindeprecated
Headers only for "Get dataset of a catalogue by means of an original id"
headGetCatalogueDatasetsOrigin 2 params → 200400404
PUT
/catalogues/{catalogueId}/datasets/origindeprecated
Create or update dataset of catalogue by means of an original id
putCatalogueDatasetsOrigin 4 params body → 201204304400401403404
DELETE
/catalogues/{catalogueId}/datasets/origindeprecated
Delete dataset of catalogue by means of an original id
deleteCatalogueDatasetsOrigin 2 params → 204400401403404
GET
/datasetsdeprecated
List datasets
listDatasets 6 params → 200400404
HEAD
/datasetsdeprecated
Headers only for "List datasets"
headListDatasets 6 params → 200400
POST
/datasetsdeprecated
Add dataset
postCatalogueDatasetLegacy 3 params body → 201400401403404
PUT
/datasetsdeprecated
Create or update dataset
putDatasetLegacy 5 params body → 201204304400401404
DELETE
/datasetsdeprecated
Delete a dataset
deleteDatasetLegacy 2 params → 204401403404
GET
/datasets/{datasetId}deprecated
Get dataset
getDataset 2 params → 200400404
HEAD
/datasets/{datasetId}deprecated
Headers only for "Get dataset"
headGetDataset 2 params → 200400404
PUT
/datasets/{datasetId}deprecated
Update a Dataset
putDataset 4 params body → 201204304400401403404
DELETE
/datasets/{datasetId}deprecated
Delete a dataset
deleteDataset 2 params → 204401403404
GET
/datasets/revisions/{revisionId}deprecated
Get dataset revision
getDatasetRevision 1 param → 200400404
GET
/datasets/{datasetId}/diffdeprecated
Get difference between two revisions
getDatasetDiff 3 params → 200400404
GET
/datasets/{datasetId}/distributionsdeprecated
List dataset distributions
listDatasetDistributions 4 params → 200400404
HEAD
/datasets/{datasetId}/distributionsdeprecated
Headers only for "List dataset distributions"
headListDatasetDistributions 4 params → 200400404
POST
/datasets/{datasetId}/distributionsdeprecated
Add distribution to dataset
postDatasetDistribution 1 param body → 201400401403404
GET
/datasets/{datasetId}/metricsdeprecated
Get dataset metrics
getMetrics 2 params → 200400404
HEAD
/datasets/{datasetId}/metricsdeprecated
Headers only for "Get dataset metrics"
headGetMetrics 2 params → 200400404
PUT
/datasets/{datasetId}/metricsdeprecated
Create/Update metrics for a dataset
putMetrics 1 param body → 201204400401403404
DELETE
/datasets/{datasetId}/metricsdeprecated
Delete metrics
deleteMetrics 1 param → 204401403404
GET
/datasets/{datasetId}/recorddeprecated
Get catalogue record
getRecord 1 param → 200404
HEAD
/datasets/{datasetId}/recorddeprecated
Headers only for "Get catalogue record"
headGetRecord 1 param → 200404
GET
/records/revisionRecord/{revisionId}
Get catalogue record of a dataset revision
getRevisionRecord 1 param → 200404
GET
/records/{datasetId}deprecated
Get catalogue record
getRecordLegacy 2 params → 200404
HEAD
/records/{datasetId}deprecated
Headers only for "Get catalogue record"
headGetRecordLegacy 2 params → 200404
GET
/datasets/{datasetId}/indexdeprecated
Index/Reindex a dataset
getDatasetIndex 1 param → 200401403404
DCAT Resources 18

Manage DCAT resources and its sub-classes, except DCAT Catalogues.

GET
/catalogues/{catalogueId}/resources
List DCAT resources of catalogue
listCatalogueResources 5 params → 200400404
HEAD
/catalogues/{catalogueId}/resources
Headers only for "List DCAT resources of catalogue"
headListCatalogueResources 5 params → 200400404
POST
/catalogues/{catalogueId}/resources
Add a new DCAT resource to catalogue
postCatalogueResources 4 params body → 201400401403404
GET
/catalogues/{catalogueId}/resources/origin
Get DCAT resources of catalogue by means of an original id
getCatalogueResourcesOrigin 2 params → 200400404
HEAD
/catalogues/{catalogueId}/resources/origin
Headers only for "Get DCAT resource of a catalogue by means of an original id"
headGetCatalogueResourcesOrigin 2 params → 200400404
PUT
/catalogues/{catalogueId}/resources/origin
Create or update DCAT resource of catalogue by means of an original id
putCatalogueResourcesOrigin 6 params body → 201204304400401403404409
DELETE
/catalogues/{catalogueId}/resources/origin
Delete DCAT resource of catalogue by means of an original id
deleteCatalogueResourcesOrigin 2 params → 204400401403404
GET
/resources
listDCATResources 4 params → 200400
HEAD
/resources
headListDCATResources 4 params → 200400
GET
/resources/{resourceId}
getDCATResource 1 param → 200400404
HEAD
/resources/{resourceId}
headGetDCATResource 1 param → 200400404
DELETE
/resources/{resourceId}
deleteDCATResource 1 param → 204401403404
GET
/resources/{resourceId}/record
Get catalogue record
getDCATResourceRecord 1 param → 200404
HEAD
/resources/{resourceId}/record
Headers only for "Get catalogue record"
headGetDCATResourceRecord 1 param → 200404
GET
/resources/{resourceId}/metrics
Get DCAT resources metrics
getDCATResourceMetrics 2 params → 200400404
HEAD
/resources/{resourceId}/metrics
Headers only for "Get DCAT resource metrics"
headGetDCATResourceMetrics 2 params → 200400404
PUT
/resources/{resourceId}/metrics
Create/Update metrics for a dataset
putDCATResourceMetrics 1 param body → 201204400401403404
DELETE
/resources/{resourceId}/metrics
Delete DCAT resource metrics
deleteDCATResourceMetrics 1 param → 204401403404
Distributions 4

Deprecated ! Will be removed completely in the future

GET
/distributions/{distributionId}deprecated
Get distribution
getDistribution 1 param → 200404
HEAD
/distributions/{distributionId}deprecated
Headers only for "Get distribution"
headGetDistribution 1 param → 200404
PUT
/distributions/{distributionId}deprecated
Update distribution
putDistribution 1 param body → 204400401403404
DELETE
/distributions/{distributionId}deprecated
Delete distribution
deleteDistribution 1 param → 204401403404
Drafts 7
GET
/drafts/datasets
Get dataset drafts
listDatasetDrafts 1 param → 200400
POST
/drafts/datasets
Create a dataset draft
createDatasetDraft 1 param → 201400
GET
/drafts/datasets/{id}
Get a dataset draft
readDatasetDraft 2 params → 200400404
PUT
/drafts/datasets/{id}
Create or Update a dataset draft
createOrUpdateDatasetDraft 2 params body → 204201400
DELETE
/drafts/datasets/{id}
Delete a dataset draft
deleteDatasetDraft 2 params → 200404
PUT
/drafts/datasets/publish/{id}
Publish a dataset draft
publishDatasetDraft 2 params → 204400
PUT
/drafts/datasets/hide/{id}
Hide a published dataset
hideDataset 2 params → 204400
Vocabularies 7
GET
/vocabularies
Get list of vocabularies
listVocabularies 3 params → 200400
HEAD
/vocabularies
Head get list of vocabularies
headListVocabularies 3 params → 200400
PUT
/vocabulariesdeprecated
Create or Update a vocabulary
createOrUpdateVocabulary 5 params body → 204201202400401403
GET
/vocabularies/{vocabularyId}
Get a vocabulary
getVocabulary 1 param → 200404
HEAD
/vocabularies/{vocabularyId}
Head get a vocabulary
headGetVocabulary 1 param → 200404
PUT
/vocabularies/{vocabularyId}
Create or update a vocabulary
putVocabulary 1 param body → 204201400401403
DELETE
/vocabularies/{vocabularyId}
Delete a vocabulary
deleteVocabulary 1 param → 204401403404
Translation 1
POST
/translation
Post a completed translation.
postTranslation body → 204400401403404
Persistent Identifiers 2

Create persistent identifiers for data artifacts.

PUT
/identifiers/datasets/{datasetId}
Create a persistent identifier for a dataset
createDatasetIdentifier 3 params → 200401403404422
GET
/identifiers/datasets/{datasetId}/eligibility
Check if an identifier can be issued for the given dataset.
checkIdentifierEligibility 3 params → 200404
Custom Resources 8

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.

GET
/customresourcesdeprecated
List custom resource types
listCustomResourceTypes → 200400
GET
/customresources/{type}deprecated
List custom resources
listCustomResources 3 params → 200404
POST
/customresources/{type}deprecated
Create a custom resource
postCustomResource 4 params body → 201400404
PUT
/customresources/{type}deprecated
Create or Update a custom resource
putCustomResource 5 params body → 204201400404
GET
/customresources/{type}/{id}deprecated
Get a custom resource
getCustomResource 3 params → 200400404
HEAD
/customresources/{type}/{id}deprecated
HEAD a custom resource
headGetCustomResource 3 params → 200400404
DELETE
/customresources/{type}/{id}deprecated
Delete a custom resource
deleteCustomResource 3 params → 204400404
GET
/customresources/{type}/origindeprecated
Get custom resource
getCustomResourceOrigin 3 params → 200400404
Actions 1

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…

POST
/action
Call an Action
postAction body → 200202

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

eu-open-data-portal-hub-repo-openapi.yaml Raw ↑

Other APIs EU Open Data Portal publishes across the network.

EU Open Data Portal Search API (hub-search)
EU Open Data Portal MQA Metrics Cache API
EU Open Data Portal SHACL Validation API
EU Open Data Portal MQA Metrics Reporter API
EU Open Data Portal Statistics API
EU Open Data Portal SPARQL API
Where this information came from

This is an independent, third-party profile of EU Open Data Portal Registry API (hub-repo), published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.