Introduction
The EU Pollinator Hub is an integrative tool to centralise, analyse and visualise bee and pollinator-related data based on principles of collaboration and conservation.
Bees and other insect pollinators are becoming increasingly relevant in the public debate. European authorities now recognise the environmental risks pollinators face and the need for institutional action. Given their importance for ecosystems and their role in our food security, the commitment to protect pollinators has been growing, and data is essential to fulfilling this commitment.
Different agents and stakeholders are continually collecting data related to the status of pollinators, such as researchers, environmental, health or agricultural authorities, national beekeeping or farming associations. The EU Pollinator Hub has been conceived to valorise their efforts and improve collaborations based on data-sharing. At the same time, the EU Pollinator Hub is constantly developing to provide access to valuable data from different consenting sources. In a collaborative spirit, the EU Pollinator Hub centralises and presents this data, also working as a communicative tool for the benefit of bees and pollinators in general.
The EU Pollinator Hub is coordinated by BeeLife European Beekeeping Coordination, an NGO focused on the protection of pollinators and biodiversity in Europe. BeeLife has initialised the first stages of this integrative platform within the Internet of Bees (IoBee) project.
The EU Pollinator Hub is also an attempt to materialise the conclusions of the EU Bee Partnership regarding the need for further bee-data integration. The partnership is a stakeholder platform dynamised by the European Food Safety Authority that includes representatives from the beekeeping and farming sectors, NGOs, veterinarians, academia, industry, producers, and scientists.
This new tool also includes developments from the Apimondia working group on the standardisation of data on bees - Bee XML. Bee XML is the ongoing measure to reach a new model for sharing bee data, and the EU Pollinator Hub aims at implementing these standards.
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve your token by visiting your dashboard and clicking API Tokens.
Index
API Index
Index of the Restfull API. Returns a list of all second level routes, this api has to offer.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
access-control-allow-origin: *
{
"data": {
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1"
},
"health": {
"href": "https://app.pollinatorhub.eu/api/v1/status"
},
"discovery": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets"
},
"vocabulary": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary"
},
"entities": {
"href": "https://app.pollinatorhub.eu/api/v1/entities",
"auth": true
},
"datasets": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets",
"auth": true
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
string[]
A list of metadata associated with the requested dataset.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
health
string[]
Link to check the status of this API.
discovery
string[]
Link to public dataset discovery API.
entities
string[]
Link to list of entities of current user. Requires authentication.
datasets
string[]
Link to list of datasets of current user. Requires authentication.
vocabulary
string[]
Link to index page of the vocabulary.
API vocabulary Index
Index of the vocabulary Restfull API. Returns a list of all third level routes of the vocabulary, this api has to offer.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/vocabulary" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/vocabulary';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/vocabulary"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/vocabulary'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 58
access-control-allow-origin: *
{
"data": {
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary"
},
"classes": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes"
},
"descriptors": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors"
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1"
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
string[]
A list of metadata associated with the requested dataset.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
classes
string[]
Link to list of all publicly accessible classes.
descriptors
string[]
Link to list of all publicly accessible descriptors.
parent
string[]
Link to the root of the API.
Health
Publicly accessible routes, that do not require any special permissions.
Pipeline health check
Tests whether the API functions according to expectations. Should return "status": "OK" when successful.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/status" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/status';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/status"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/status'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 57
access-control-allow-origin: *
{
"status": "OK"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Discovery
List datasets
Get a list of all publicly accessible datasets. Does not return all metadata fields contained within the dataset. Only returns datasets with completely integrated data. Note, list contains publicly inaccessible datasets as well (see attribute public). Uses pagination.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=1&limit=3" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/discovery/datasets';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '1',
'limit' => '3',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/discovery/datasets"
);
const params = {
"page": "1",
"limit": "3",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/discovery/datasets'
params = {
'page': '1',
'limit': '3',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
Show headers
cache-control: cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 56
access-control-allow-origin: *
{
"current_page": 1,
"data": [
{
"id": 5,
"uid": "CRRNC5.0.0",
"name": "Currencies",
"long_name": "EUPH reference dataset containing currencies",
"description": "This dataset contains standardised information on current and historic currencies, funds and precious metal codes contained in the ISO 4217 standard.",
"featured_image": null,
"status": "publish",
"public": false,
"licence": "EU Pollinator Hub",
"published_at": "2023-01-26T23:00:00.000000Z",
"created_at": "2023-11-27T21:19:41.000000Z",
"updated_at": "2025-09-30T10:26:23.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/CRRNC5.0.0"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets"
},
"parts.index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/CRRNC5.0.0/parts"
}
}
},
{
"id": 7,
"uid": "UNITS7.0.0",
"name": "Units",
"long_name": "EUPH Reference dataset containing units",
"description": "This dataset contains standardised information on units.",
"featured_image": null,
"status": "publish",
"public": false,
"licence": "EU Pollinator Hub",
"published_at": "2023-02-03T23:00:00.000000Z",
"created_at": "2022-11-26T17:56:00.000000Z",
"updated_at": "2025-04-18T09:44:16.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/UNITS7.0.0"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets"
},
"parts.index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/UNITS7.0.0/parts"
}
}
},
{
"id": 25,
"uid": "UNSDA25.0.0",
"name": "UNSD",
"long_name": "World Customs Organization/UN Comtrade Supplementary Quantity Units",
"description": "The dataset contains quantity units used in detailed UN Comtrade data, which is maintained by the United Nations Statistics Division (UNSD), servingh under the United Nations Department of Economic and Social Affairs as the central mechanism within the Secretariat of the United Nations to supply the statistical needs and coordinating activities of the global statistical system. The units of measurement are based on the standards of quantity recommended by the World Customs Organization (WCO).",
"featured_image": null,
"status": "publish",
"public": false,
"licence": "EU Pollinator Hub",
"published_at": "2023-02-03T23:00:00.000000Z",
"created_at": "2022-11-26T13:56:52.000000Z",
"updated_at": "2025-09-30T10:10:03.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/UNSDA25.0.0"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets"
},
"parts.index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/UNSDA25.0.0/parts"
}
}
}
],
"first_page_url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=1",
"from": 1,
"last_page": 11,
"last_page_url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=11",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=1",
"label": "1",
"active": true
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=2",
"label": "2",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=3",
"label": "3",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=4",
"label": "4",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=5",
"label": "5",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=6",
"label": "6",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=7",
"label": "7",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=8",
"label": "8",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=9",
"label": "9",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=10",
"label": "10",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=11",
"label": "11",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets?page=2",
"path": "https://app.pollinatorhub.eu/api/v1/discovery/datasets",
"per_page": 3,
"prev_page_url": null,
"to": 3,
"total": 33
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
A list of Datasets available to the User.
*
object
id
integer
Numeric identifier of the dataset.
uid
string
The unique identifier used to identify the entity within the platform.
name
string
The actual name of the dataset.
long_name
string|null
The long version of the name of the dataset.
description
string|null
Dataset abstract. Uses Markdown for styling.
featured_image
string|null
URL to uploaded image representing this dataset.
status
string
The status of the dataset. The list of available status are the following: draft, pending, reject, reviewing, pending-peer-rev, peer-reviewing, publish, publish-with-pw, trash, hidden
public
boolean
True means that the data of this dataset are public.
licence
string|null
The uid of the licence of this entity.
published_at
string|null
The date and time the dataset was published.
created_at
string
The date and time the dataset was created.
updated_at
string
The date and time the dataset was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
Show dataset
Get detailed information about specific dataset.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
Show headers
cache-control: cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 55
access-control-allow-origin: *
{
"data": {
"id": 80,
"uid": "RGLTN80.0.0",
"name": "Regulation (EU) 2017/269",
"long_name": "The Harmonised classification of substances according to Regulation (EU) 2017/269 amending Regulation (EC) No 1185/2009.",
"description": "The dataset contains the harmonised classification of substances contained in annex III of Commission Regulation (EU) 2017/269 of 16 February 2017 amending Regulation (EC) No 1185/2009 of the European Parliament and of the Council concerning statistics on pesticides, as regards the list of active substances.",
"featured_image": null,
"data_overview": null,
"data_value": null,
"data_description": null,
"data_application": null,
"data_issues": null,
"introduction": null,
"acquisition": null,
"preparation": null,
"validation": null,
"analysis": null,
"status": "publish",
"public": true,
"fairness": {
"findable": "evaluation",
"accessible": "evaluation",
"interoperable": "evaluation",
"reusable": "evaluation",
"quality": "evaluation"
},
"licence": {
"uid": "cc-by-4-0",
"name": "CC BY 4.0",
"abbreviation": "CC BY 4.0",
"description": "### You are free to:\n\n* Share — copy and redistribute the material in any medium or format for any purpose, even commercially.\n* Adapt — remix, transform, and build upon the material for any purpose, even commercially.\n* The licensor cannot revoke these freedoms as long as you follow the license terms.\n\n### Under the following terms:\n\n* Attribution - You must give appropriate credit , provide a link to the license, and indicate if changes were made . You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.\n* No additional restrictions - You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.\n\n### Notices:\n\nYou do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation.\n\nNo warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.\n",
"url_summary": "https://creativecommons.org/licenses/by/4.0/",
"url_legal": "https://creativecommons.org/licenses/by/4.0/legalcode",
"image_url": "/storage/01HF961C5YQASH3TQ6MNYKN9WN.svg"
},
"contacts": [],
"entities": [
{
"id": 3,
"uid": "euph",
"name": "EU Pollinator Hub",
"description": "The EU Pollinator Hub (EUPH) is a data hub related to pollinators, which is provided by the European Food Safety Authority (EFSA).",
"type": "legal-entity",
"featured_image": "https://app.pollinatorhub.eu/storage/entities/01HZHN8AQYJDJ2SV1Z8X3XS661.jpg",
"created_at": "2023-10-05T10:02:30.000000Z",
"updated_at": "2024-06-04T12:59:02.000000Z",
"links": []
}
],
"contributors": [],
"parts": [
{
"id": 149,
"uid": "RGLTN80.HRMNS149.0",
"name": "Harmonised classification - CAS",
"description": "The tabe contains the CAS codes corrisponding to a given code of the harmonised classification of substances.",
"featured_image": null,
"type": "file",
"licence": null,
"dataset_id": 80,
"created_at": "2023-12-13T16:40:42.000000Z",
"updated_at": "2024-01-25T09:26:58.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/parts/RGLTN80.HRMNS149.0"
},
"data.index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/data/RGLTN80.HRMNS149.0"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts"
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0"
}
}
},
{
"id": 150,
"uid": "RGLTN80.HRMNS150.0",
"name": "Harmonised classification - CIPAC",
"description": "The tabe contains the CIPA codes corrisponding to a given code of the harmonised classification of substances.",
"featured_image": null,
"type": "file",
"licence": null,
"dataset_id": 80,
"created_at": "2023-12-13T16:41:32.000000Z",
"updated_at": "2024-01-25T09:26:58.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/parts/RGLTN80.HRMNS150.0"
},
"data.index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/data/RGLTN80.HRMNS150.0"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts"
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0"
}
}
},
{
"id": 151,
"uid": "RGLTN80.HRMNS151.0",
"name": "Harmonised classification",
"description": "The table contains a summary of the table in annex III of Commission Regulation (EU) 2017/269 of 16 February 2017 amending Regulation (EC) No 1185/2009 of the European Parliament and of the Council concerning statistics on pesticides, as regards the list of active substances.",
"featured_image": null,
"type": "file",
"licence": null,
"dataset_id": 80,
"created_at": "2023-12-15T14:58:05.000000Z",
"updated_at": "2024-01-25T09:26:58.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/parts/RGLTN80.HRMNS151.0"
},
"data.index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/data/RGLTN80.HRMNS151.0"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts"
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0"
}
}
}
],
"descriptors": [
{
"id": 313,
"uid": "0.0.NTGER313",
"namespace": null,
"name": "Integer",
"description": "> A number with no fractional part, including the negative and positive numbers as well as zero.",
"class": "integer",
"datatypes": [
"Integer"
],
"unit": null,
"created_at": null,
"updated_at": "2024-09-14T11:14:52.000000Z",
"links": []
},
{
"id": 314,
"uid": "0.0.DCMLN314",
"namespace": null,
"name": "DecimalNumber",
"description": "> Any of the rational or irrational numbers.",
"class": "real number",
"datatypes": [
"Decimal"
],
"unit": null,
"created_at": null,
"updated_at": "2025-01-12T10:31:26.000000Z",
"links": []
},
{
"id": 315,
"uid": "0.0.TEXTA315",
"namespace": null,
"name": "Text",
"description": "> In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The latter may allow its elements to be mutated and the length changed, or it may be fixed (after creation). A string is generally considered as a data type and is often implemented as an array data structure of bytes (or words) that stores a sequence of elements, typically characters, using some character encoding. String may also denote more general arrays or other sequence (or list) data types and structures.",
"class": "string",
"datatypes": [
"String"
],
"unit": null,
"created_at": null,
"updated_at": "2024-09-14T11:17:02.000000Z",
"links": []
}
],
"references": [
"[\n\t{\n\t\t\"id\": \"http://zotero.org/users/7799586/items/NLXEF83P\",\n\t\t\"type\": \"webpage\",\n\t\t\"note\": \"Usr_lan: EN\",\n\t\t\"title\": \"L_2017040EN.01000401.xml\",\n\t\t\"URL\": \"https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX%3A32017R0269\",\n\t\t\"accessed\": {\n\t\t\t\"date-parts\": [\n\t\t\t\t[\n\t\t\t\t\t\"2023\",\n\t\t\t\t\t12,\n\t\t\t\t\t13\n\t\t\t\t]\n\t\t\t]\n\t\t}\n\t}\n]"
],
"published_at": "2023-12-13T23:00:00.000000Z",
"created_at": "2023-12-13T16:37:54.000000Z",
"updated_at": "2025-08-21T06:35:16.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets"
},
"parts.index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts"
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
A list of metadata associated with the requested dataset.
id
integer
Numeric identifier of the dataset.
uid
string
The unique identifier used to identify the entity within the platform.
name
string
The actual name of the dataset.
long_name
string|null
The long version of the name of the dataset.
description
string|null
Abstract about the dataset. Uses Markdown for styling.
featured_image
string|null
URL to uploaded image representing this dataset.
data_overview
string|null
Concise information (less than 200 words) about: e.g. provider of the data (who?); origin of the data and the subject area covered by the dataset (what?); geographical origin of the data (where?); time period covered by the dataset (when?). Uses Markdown for styling.
data_value
string|null
Concise information (less than 200 words) about: e.g. reason for collecting the data; possible benefits resulting from the collection of the data (why?). Uses Markdown for styling.
data_description
string|null
Concise description (less than 200 words) of the dataset metrics: e.g. number of files; categories of data; size of the datasets in bytes. Uses Markdown for styling.
data_application
string|null
A concise summary (less than 200 words) of possible applications for which the data could be used, scientific or technical questions or other issues that could be addressed (for what?). Uses Markdown for styling.
data_issues
string|null
A list of unresolved issues and quality concerns. Uses Markdown for styling.
introduction
string|null
A longer description about the dataset. Uses Markdown for styling.
acquisition
string|null
Description of or a reference to material and methods used to acquire the data in the dataset and a detailed list of terms under which the data has been made available (licensing).Uses Markdown for styling.
preparation
string|null
Detailed description of material (product, model) and methods (provide references if possible) used to prepare the dataset. Uses Markdown for styling.
validation
string|null
Detailed description of material (product, model) and methods (provide references if possible) used to validate the dataset for the purpose of data quality assessment. Uses Markdown for styling.
analysis
string|null
Detailed description of material (product, model) and methods (provide references if possible) used to analyse the dataset for the purpose of data quality assessment. Uses Markdown for styling.
status
string
The status of the dataset. The list of available status are the following: draft, pending, reject, reviewing, pending-peer-rev, peer-reviewing, publish, publish-with-pw, trash, hidden
public
boolean
Value of true means that the data of this dataset are publicly accessible.
fairness
string[]
The fairness status of this dataset.
fidnable
string
The findable fairness status of this dataset.
accessible
string
The accessible fairness status of this dataset.
interoperable
string
The interoperable fairness status of this dataset.
reusable
string
The reusable fairness status of this dataset.
quality
string
The quality status of this dataset.
licence
array|null The licence information of this entity.
name
string
The name of the licence.
abbreviation
string
The short name of the licence.
description
string
The description of the licence.
uid
string
The unique identifier of the licence.
url_summary
string|null
Url to external description of this licence.
url_legal
string|null
Url to external legal definition of this licence.
image_url
string|null
Url to licence image representation.
contact
object[]
A list of contact points for the entity.
type
string
The type of the contact.
value
string
The actual value of the contact, for
entities
string[]
Array containing the list of the entities of this dataset.
*
object
id
integer
Numeric identifier of the entity.
uid
string
The unique identifier used to identify the entity within the platform.
name
string
A descriptive name of the entity.
featured_image
string|null
URL to uploaded image representing this dataset.
description
string|null
Longer description about the entity.
type
string
Type of the Entity. Can be 'person' or 'legal-entity'.
created_at
string
The date and time the entity was created.
updated_at
string
The date and time the entity was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
contributors
string[]
Array containing the list of the contributors of this dataset.
*
TODO
parts
string[]
An array containing all related dataset tables. Field is hidden for non-public datasets.
*
object
id
integer
Numeric identifier of the table.
uid
string|null
The unique identifier used to identify the table within the platform.
name
string
Name of the table.
description
string|null
Description of the table. Uses Markdown for styling.
structure
string
An unordered list of potential links between columns of the same file, of different files of the same dataset or of different files of different datasets as follows: Column [dataset].[file].[column] links on [dataset].[file].[column]. Uses Markdown for styling.
preparation
string
It contains an unordered list of all changes made in the preparatory file described in the parent section according to Directory-006 (Dataset preparation). Uses Markdown for styling.
changes
string
It contains an unordered list of all changes made in the data after integration of the file described in the parent section into the EUPH according to Directory-006 (Dataset preparation). Uses Markdown for styling.
unresolved
string
It contains an unordered list of all unresolved issues in the file of the parent section requiring intervention by the data provider according to Directory-007 (Data profiling). Uses Markdown for styling.
created_at
string
The date and time the table was created.
updated_at
string
The date and time the table was last updated.
descriptors
string[]
An array of all descriptors, used to integrate this dataset. Field is hidden for non-public datasets.
*
object
uid
string
The unique identifier used to identify the descriptor within the platform.
namespace
string|null
The namespace this descriptor belongs to.
name
string
Name of the descriptor.
description
string|null
A short, concise description of the descriptor. If a class is assigned to descriptor, this field contains the accepted definition of the related class. Uses Markdown for styling.
notes
string|null
Any additional notes attached to the descriptor. Uses Markdown for styling.
examples
string|null
A list of examples, how the data may appear. Uses Markdown for styling.
class
string|null
An optional class, related to this descriptor.
unit
string|null
The unit data is saved in. May not be set.
datatypes
string[]
The underlying datatypes to store the data. Is one of: String, Integer, Decimal, Date, DateTime, Time, Boolean, Coordinates.
deprecated
boolean
Whether this descriptor is deprecated or not. Deprecated descriptors can not be used to import new data.
created_at
string
The date and time the table was created.
updated_at
string
The date and time the table was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
index
string[]
Link to list of all resources.
references
string[]
An array of references in CSL JSON format, included with this dataset.
*
string
The CSL JSON of the reference.
published_at
string|null
The date and time the dataset was published.
created_at
string
The date and time the dataset was created.
updated_at
string
The date and time the dataset was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
parts
object
index
string[]
Link to list of all parts this resource contains.
create
string[]
Link to create a new part under this resource.
List tables
Display a list of all tables of the supplied dataset.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts?page=1&limit=3" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '1',
'limit' => '3',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts"
);
const params = {
"page": "1",
"limit": "3",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts'
params = {
'page': '1',
'limit': '3',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 54
access-control-allow-origin: *
{
"current_page": 1,
"data": [
{
"id": 149,
"uid": "RGLTN80.HRMNS149.0",
"name": "Harmonised classification - CAS",
"description": "The tabe contains the CAS codes corrisponding to a given code of the harmonised classification of substances.",
"featured_image": null,
"type": "file",
"licence": null,
"dataset_id": 80,
"created_at": "2023-12-13T16:40:42.000000Z",
"updated_at": "2024-01-25T09:26:58.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/parts/RGLTN80.HRMNS149.0"
},
"data.index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/data/RGLTN80.HRMNS149.0"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts"
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0"
}
}
},
{
"id": 150,
"uid": "RGLTN80.HRMNS150.0",
"name": "Harmonised classification - CIPAC",
"description": "The tabe contains the CIPA codes corrisponding to a given code of the harmonised classification of substances.",
"featured_image": null,
"type": "file",
"licence": null,
"dataset_id": 80,
"created_at": "2023-12-13T16:41:32.000000Z",
"updated_at": "2024-01-25T09:26:58.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/parts/RGLTN80.HRMNS150.0"
},
"data.index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/data/RGLTN80.HRMNS150.0"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts"
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0"
}
}
},
{
"id": 151,
"uid": "RGLTN80.HRMNS151.0",
"name": "Harmonised classification",
"description": "The table contains a summary of the table in annex III of Commission Regulation (EU) 2017/269 of 16 February 2017 amending Regulation (EC) No 1185/2009 of the European Parliament and of the Council concerning statistics on pesticides, as regards the list of active substances.",
"featured_image": null,
"type": "file",
"licence": null,
"dataset_id": 80,
"created_at": "2023-12-15T14:58:05.000000Z",
"updated_at": "2024-01-25T09:26:58.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/parts/RGLTN80.HRMNS151.0"
},
"data.index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/data/RGLTN80.HRMNS151.0"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts"
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0"
}
}
}
],
"first_page_url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"next_page_url": null,
"path": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts",
"per_page": 3,
"prev_page_url": null,
"to": 3,
"total": 3
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
A list of dataset tables available to the User.
*
object
id
integer
Numeric identifier of the table.
uid
string
The unique identifier used to identify the table within the platform.
name
string
The title of the table.
description
string|null
Detailed description of the table.
featured_image
string|null
URL to uploaded image representing this table.
type
string
The type of this table.
licence
string|null
The licence defined specifically for this table.
dataset_id
integer
The dataset this table belongs to.
created_at
string
The date and time it was created.
updated_at
string
The date and time it was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
parent
string[]
Link to the parent of this resource.
columns
object
index
string[]
Link to list of all columns this resource contains.
create
string[]
Link to create a new column under this resource.
data
object
index
string[]
Link to list of all data this resource contains.
create
string[]
Link to create new data under this resource.
update
string[]
Link to update data under this resource.
delete
string[]
Link to delete data under this resource.
Show table
Get detailed information about specific dataset table.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/discovery/parts/RGLTN80.HRMNS149.0" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/discovery/parts/RGLTN80.HRMNS149.0';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/discovery/parts/RGLTN80.HRMNS149.0"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/discovery/parts/RGLTN80.HRMNS149.0'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 53
access-control-allow-origin: *
{
"data": {
"id": 149,
"uid": "RGLTN80.HRMNS149.0",
"name": "Harmonised classification - CAS",
"description": "The tabe contains the CAS codes corrisponding to a given code of the harmonised classification of substances.",
"featured_image": null,
"structure": null,
"preparation": null,
"changes": null,
"unresolved": null,
"additional_information": null,
"type": "file",
"licence": null,
"columns": [
{
"id": 1216,
"name": "code",
"description": "Code of the Harmonised Classification of Substances",
"descriptor": "0.0.TEXTA315",
"unit": null,
"datatype": null,
"order": 0,
"part_id": 149,
"created_at": "2023-12-13T17:17:11.000000Z",
"updated_at": "2024-01-26T18:23:50.000000Z",
"links": {
"descriptor.show": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/315"
}
}
},
{
"id": 1217,
"name": "cas",
"description": "Chemical Abstracts Service registry numbers.",
"descriptor": "0.0.TEXTA315",
"unit": null,
"datatype": null,
"order": 0,
"part_id": 149,
"created_at": "2023-12-13T17:17:11.000000Z",
"updated_at": "2024-01-26T18:23:50.000000Z",
"links": {
"descriptor.show": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/315"
}
}
}
],
"data_files": [
{
"id": 282,
"name": "euph_000046_eu-regulation-2017-269_table_harmonised_cas.csv",
"description": null,
"status": "completed",
"type": "csv",
"mimetype": "text/csv",
"file_size": 11843,
"download_count": 0,
"created_at": "2023-12-13T17:17:40.000000Z",
"updated_at": "2025-08-21T06:35:08.000000Z"
}
],
"supplemental_files": [],
"references": [],
"dataset_id": 80,
"created_at": "2023-12-13T16:40:42.000000Z",
"updated_at": "2024-01-25T09:26:58.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/parts/RGLTN80.HRMNS149.0"
},
"data.index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/data/RGLTN80.HRMNS149.0"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0/parts"
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/discovery/datasets/RGLTN80.0.0"
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
A list of metadata associated with the requested dataset table.
id
integer
Numeric identifier of the table.
uid
string
The unique identifier used to identify the table within the platform.
name
string
The title of the table.
description
string|null
Detailed description of the table.
featured_image
string|null
URL to uploaded image representing this table.
structure
string|null
An unordered list of potential links between columns of the same file, of different files of the same dataset or of different files of different datasets as follows: Column [dataset].[file].[column] links on [dataset].[file].[column].
preparation
string|null
It contains an unordered list of all changes made in the preparatory file described in the parent section according to Directory-006 (Dataset preparation).
changes
string|null
It contains an unordered list of all changes made in the data after integration of the file described in the parent section into the EUPH according to Directory-006 (Dataset preparation).
unresolved
string|null
It contains an unordered list of all unresolved issues in the file of the parent section requiring intervention by the data provider according to Directory-007 (Data profiling).
type
string
The type of this table.
additional_information
string|null
Any additional information required to acquire this table data.
licence
string|null
The licence defined specifically for this table.
columns
string[]
A list of associated columns with this table.
*
object
id
integer
Numeric identifier of the column.
name
string
The title of the column.
description
string|null
Detailed description of the column.
descriptor
string[]
The descriptor uid, used to internally represent the data.
datatype
string|null
The datatype this column saves data in.
order
integer
The order of this column, that it appears in the table.
part_id
integer
The id of the parent resource.
created_at
string
The date and time it was created.
updated_at
string
The date and time it was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
parent
string[]
Link to the parent of this resource.
data_files
string[]
A list of uploaded data files.
*
object
id
integer
Numeric identifier of the uploaded file.
name
string
The original filename.
description
string|null
status
string
The internal status of this file.
type
string
Identified type of this file.
mimetype
string
Identified mimetype of this file.
file_size
integer
The filesize in bytes.
download_count
intNumber of times this file was downloaded.
created_at
string
The date and time it was created.
updated_at
string
The date and time it was last updated.
supplemental_files
string[]
A list of uploaded data files.
*
object
id
integer
Numeric identifier of the uploaded file.
name
string
The original filename.
description
string|null
status
string
The internal status of this file.
type
string
Identified type of this file.
mimetype
stringIdentified mimetype of this file.
file_size
intThe filesize in bytes.
download_count
integer
Number of times this file was downloaded.
created_at
string
The date and time it was created.
updated_at
string
The date and time it was last updated.
references
string[]
An array of references in CSL JSON format, included with this dataset.
*
string
The CSL JSON of the reference.
dataset_id
integer
The dataset this table belongs to.
created_at
string
The date and time it was created.
updated_at
string
The date and time it was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
parent
string[]
Link to the parent of this resource.
columns
object
index
string[]
Link to list of all columns this resource contains.
create
string[]
Link to create a new column under this resource.
data
object
index
string[]
Link to list of all data this resource contains.
create
string[]
Link to create new data under this resource.
update
string[]
Link to update data under this resource.
delete
string[]
Link to delete data under this resource.
List data
Retrieves data based on dataset table unique identifier.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?limit=3" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit' => '3',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0"
);
const params = {
"limit": "3",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0'
params = {
'limit': '3',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 52
access-control-allow-origin: *
{
"current_page": 1,
"data": [
{
"id": 8786294,
"timestamp": null,
"data": [
{
"descriptor": "0.0.NTSCD55",
"column": "NUTS3",
"column_id": 2935,
"value": "FRL06",
"unit": null
},
{
"descriptor": "0.0.NTGER313",
"column": "number",
"column_id": 2941,
"value": 954,
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "location_name",
"column_id": 2933,
"value": "INRA",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "city",
"column_id": 2934,
"value": "Avignon",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "device",
"column_id": 2938,
"value": "CPT_2481 - Nb entrances (per day)",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "device_ID",
"column_id": 2939,
"value": "CPT_2481 ",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "direction",
"column_id": 2940,
"value": "in",
"unit": null
},
{
"descriptor": "0.0.DATEA317",
"column": "date",
"column_id": 2936,
"value": "2023-11-15",
"unit": null
},
{
"descriptor": "0.0.TMFDY464",
"column": "time",
"column_id": 2937,
"value": "01:00:00",
"unit": null
}
]
},
{
"id": 8786295,
"timestamp": null,
"data": [
{
"descriptor": "0.0.NTSCD55",
"column": "NUTS3",
"column_id": 2935,
"value": "FRL06",
"unit": null
},
{
"descriptor": "0.0.NTGER313",
"column": "number",
"column_id": 2941,
"value": 586,
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "location_name",
"column_id": 2933,
"value": "INRA",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "city",
"column_id": 2934,
"value": "Avignon",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "device",
"column_id": 2938,
"value": "CPT_2481 - Nb entrances (per day)",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "device_ID",
"column_id": 2939,
"value": "CPT_2481 ",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "direction",
"column_id": 2940,
"value": "in",
"unit": null
},
{
"descriptor": "0.0.DATEA317",
"column": "date",
"column_id": 2936,
"value": "2023-11-14",
"unit": null
},
{
"descriptor": "0.0.TMFDY464",
"column": "time",
"column_id": 2937,
"value": "01:00:00",
"unit": null
}
]
},
{
"id": 8786296,
"timestamp": null,
"data": [
{
"descriptor": "0.0.NTSCD55",
"column": "NUTS3",
"column_id": 2935,
"value": "FRL06",
"unit": null
},
{
"descriptor": "0.0.NTGER313",
"column": "number",
"column_id": 2941,
"value": 932,
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "location_name",
"column_id": 2933,
"value": "INRA",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "city",
"column_id": 2934,
"value": "Avignon",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "device",
"column_id": 2938,
"value": "CPT_2481 - Nb entrances (per day)",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "device_ID",
"column_id": 2939,
"value": "CPT_2481 ",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "direction",
"column_id": 2940,
"value": "in",
"unit": null
},
{
"descriptor": "0.0.DATEA317",
"column": "date",
"column_id": 2936,
"value": "2023-11-13",
"unit": null
},
{
"descriptor": "0.0.TMFDY464",
"column": "time",
"column_id": 2937,
"value": "01:00:00",
"unit": null
}
]
}
],
"first_page_url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=1",
"from": 1,
"last_page": 2320,
"last_page_url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=2320",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=1",
"label": "1",
"active": true
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=2",
"label": "2",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=3",
"label": "3",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=4",
"label": "4",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=5",
"label": "5",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=6",
"label": "6",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=7",
"label": "7",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=8",
"label": "8",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=9",
"label": "9",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=10",
"label": "10",
"active": false
},
{
"url": null,
"label": "...",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=2319",
"label": "2319",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=2320",
"label": "2320",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0?page=2",
"path": "https://app.pollinatorhub.eu/api/v1/discovery/data/BGDBC176.BCNTR361.0",
"per_page": 3,
"prev_page_url": null,
"to": 3,
"total": 6960
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
records
object[]
List of Records.
*
object
id
string
The record id, used to identify it in EUPH database.
timestamp
string
Timestamp this record was recorded at.
data
object[]
List of data contained within the Record.
*
object
column
string|null
The name of the column, the value was imported from. Can be null when streamed via API.
column_id
int|null
The internal id of the column. Can be null when streamed via API.
descriptor
string
The UID of the descriptor this datum represents.
value
The value of the datum.
unit
string|null
The UID of the Unit, this datum is related to. Can be null.
Entities
A group of routes used to manage Entities (Data providers), related to authenticated user.
List Entities
requires authentication
Retrieve a list of all entities authenticated user has access to.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/entities?page=1&limit=3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/entities';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '1',
'limit' => '3',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/entities"
);
const params = {
"page": "1",
"limit": "3",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/entities'
params = {
'page': '1',
'limit': '3',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
access-control-allow-origin: *
{
"current_page": 1,
"data": [
{
"id": 3,
"uid": "euph",
"name": "EU Pollinator Hub",
"description": "The EU Pollinator Hub (EUPH) is a data hub related to pollinators, which is provided by the European Food Safety Authority (EFSA).",
"type": "legal-entity",
"featured_image": "https://app.pollinatorhub.eu/storage/entities/01HZHN8AQYJDJ2SV1Z8X3XS661.jpg",
"created_at": "2023-10-05T10:02:30.000000Z",
"updated_at": "2024-06-04T12:59:02.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/3",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/3",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/3",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/entities",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/entities",
"method": "POST",
"auth": true
}
}
},
{
"id": 13,
"uid": "boe",
"name": "Biene Österreich – Imkereidachverband",
"description": "The Austrian Beekeepers Federation ([BÖ](https://www.biene-oesterreich.at/), *Biene Österreich-Imkereidachverband*) is the umbrella organisation of the two largest beekeeping associations in Austria, the Austrian Beekepers Association ([ÖIB](https://www.imkerbund.at/), *Österreichischer Imkerbund*) and the Austrian Professional Beekeepers Association ([ÖEIB](https://www.erwerbsimkerbund.at/), *Österreichischer Erwerbsimkerbund*). ",
"type": "legal-entity",
"featured_image": "https://app.pollinatorhub.eu/storage/entities/01HFS2T4D22BK5WZNYH8G6G8KC.png",
"created_at": "2023-10-05T10:02:30.000000Z",
"updated_at": "2025-07-14T18:10:14.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/13",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/13",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/13",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/entities",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/entities",
"method": "POST",
"auth": true
}
}
},
{
"id": 14,
"uid": "efsa",
"name": "European Food Safety Authority",
"description": "The European Food Safety Authority (EFSA) is an agency of the European Union (EU) that provides independent scientific advice to policy makers and carries out risk assessment functions. It covers the following topics: animal health and welfare, antimicrobial resistance, chemical contaminants in food and feed, foodborne zoonotic diseases, nutrition, pesticides and qualified presumption of safety.",
"type": "legal-entity",
"featured_image": null,
"created_at": "2023-10-05T10:02:30.000000Z",
"updated_at": "2025-07-14T20:19:45.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/14",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/14",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/14",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/entities",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/entities",
"method": "POST",
"auth": true
}
}
}
],
"first_page_url": "https://app.pollinatorhub.eu/api/v1/entities?page=1",
"from": 1,
"last_page": 2,
"last_page_url": "https://app.pollinatorhub.eu/api/v1/entities?page=2",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/entities?page=1",
"label": "1",
"active": true
},
{
"url": "https://app.pollinatorhub.eu/api/v1/entities?page=2",
"label": "2",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/entities?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://app.pollinatorhub.eu/api/v1/entities?page=2",
"path": "https://app.pollinatorhub.eu/api/v1/entities",
"per_page": 3,
"prev_page_url": null,
"to": 3,
"total": 5
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
string[]
A list of entities available to the User.
*
object
id
integer
Numeric identifier of the entity.
- @responseField data.*.uid string The unique identifier used to identify the entity within the platform.
- @responseField data.*.name string A descriptive name of the entity.
- @responseField data.*.featured_image string|null URL to uploaded image representing this dataset.
- @responseField data.*.description string|null Longer description about the entity.
- @responseField data.*.type string Type of the Entity. Can be 'person' or 'legal-entity'.
- @responseField data.*.created_at string The date and time the entity was created.
- @responseField data.*.updated_at string The date and time the entity was last updated.
- @responseField data.*.links array Restfull API links.
- @responseField data.*.links.self array Direct link of this resource.
- @responseField data.*.links.update array Link to update this resource.
- @responseField data.*.links.delete array Link to delete this resource.
- @responseField data.*.links.index array Link to list of all resources.
- @responseField data.*.links.create array Link to create a new resource.
Create Entity
requires authentication
Create a new entity to be used and interact with.
Example request:
curl --request POST \
"https://app.pollinatorhub.eu/api/v1/entities" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"European Food Safety Authority, John\",
\"first_name\": \"Doe\",
\"abbreviation\": \"EFSA\",
\"country_id\": \"IT\",
\"type\": \"legal-entity\",
\"contact\": [
{
\"type\": \"email\",
\"value\": \"example@pollinatorhub.eu\"
}
]
}"
$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/entities';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'European Food Safety Authority, John',
'first_name' => 'Doe',
'abbreviation' => 'EFSA',
'country_id' => 'IT',
'type' => 'legal-entity',
'contact' => [
[
'type' => 'email',
'value' => 'example@pollinatorhub.eu',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/entities"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "European Food Safety Authority, John",
"first_name": "Doe",
"abbreviation": "EFSA",
"country_id": "IT",
"type": "legal-entity",
"contact": [
{
"type": "email",
"value": "example@pollinatorhub.eu"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/entities'
payload = {
"name": "European Food Safety Authority, John",
"first_name": "Doe",
"abbreviation": "EFSA",
"country_id": "IT",
"type": "legal-entity",
"contact": [
{
"type": "email",
"value": "example@pollinatorhub.eu"
}
]
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show Entity
requires authentication
Displays a single entity based on unique identifier. Only allows viewing entities that the user has access to.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/entities/3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/entities/3';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/entities/3"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/entities/3'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 58
access-control-allow-origin: *
{
"data": {
"id": 3,
"uid": "euph",
"name": "EU Pollinator Hub",
"type": "legal-entity",
"abbreviation": "EUPH",
"registry_number": null,
"description": "The EU Pollinator Hub (EUPH) is a data hub related to pollinators, which is provided by the European Food Safety Authority (EFSA).",
"address": null,
"featured_image": "https://app.pollinatorhub.eu/storage/entities/01HZHN8AQYJDJ2SV1Z8X3XS661.jpg",
"contacts": [
{
"type": "url-linkedin",
"value": "https://www.linkedin.com/company/beelife-european-beekeeping-coordination/"
},
{
"type": "url",
"value": "https://pollinatorhub.eu"
}
],
"country": {
"iso-3166:shortLowercaseNameOfCountry": "Belgium",
"full_name": "the Kingdom of Belgium",
"unsd:m49Area": "56",
"iso-3166:alpha-2CountryCode": "BE",
"iso-3166:alpha-3CountryCode": "BEL"
},
"created_at": "2023-10-05T10:02:30.000000Z",
"updated_at": "2024-06-04T12:59:02.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/3",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/3",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/3",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/entities",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/entities",
"method": "POST",
"auth": true
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
string[]
A list of entities available to the User.
id
integer
Numeric identifier of the entity.
name
string
A descriptive name of the entity.
uid
string
The unique identifier used to identify the Entity within the platform.
contact
object[]
A list of contact points for the entity.
type
string
The type of the contact.
value
string
The actual value of the contact, for example email address, url or other.
abbreviation
string|null
Abbreviation or short name of the entity.
registry_number
string|null
A public unique identifier used to identify a legal entity. Can be empty for private persons.
description
string|null
A longer description about the entity. Uses Markdown for styling.
address
string|null
Full address of the entity. Can be empty for private persons.
featured_image
string|null
Url to the featured image.
country
object
Country the entity resides in.
full_name
string
Full name of the country.
iso-3166:shortLowercaseNameOfCountry
string
Short name, written in lower case letters, of the country.
unsd:m49Area
string
Numeric code of the country according to ISO-3166 standard.
iso-3166:alpha-2CountryCode
string
A two-letter code that represents a country name, recommended as general purpose code.
iso-3166:alpha-3CountryCode
string
A three-letter code that represents a country name.
type
string
Type of the Entity. Can be 'person' or 'legal-entity'.
created_at
string
The date and time the entity was created.
updated_at
string
The date and time the entity was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
Update Entity
requires authentication
Update entity metadata.
Example request:
curl --request PUT \
"https://app.pollinatorhub.eu/api/v1/entities/nisi" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"European Food Safety Authority, John\",
\"first_name\": \"Doe\",
\"abbreviation\": \"EFSA\",
\"country_id\": \"IT\",
\"contact\": [
{
\"type\": \"email\",
\"value\": \"example@pollinatorhub.eu\"
}
]
}"
$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/entities/nisi';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'European Food Safety Authority, John',
'first_name' => 'Doe',
'abbreviation' => 'EFSA',
'country_id' => 'IT',
'contact' => [
[
'type' => 'email',
'value' => 'example@pollinatorhub.eu',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/entities/nisi"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "European Food Safety Authority, John",
"first_name": "Doe",
"abbreviation": "EFSA",
"country_id": "IT",
"contact": [
{
"type": "email",
"value": "example@pollinatorhub.eu"
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/entities/nisi'
payload = {
"name": "European Food Safety Authority, John",
"first_name": "Doe",
"abbreviation": "EFSA",
"country_id": "IT",
"contact": [
{
"type": "email",
"value": "example@pollinatorhub.eu"
}
]
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete entity
requires authentication
Delete selected entity. Note, an entity with associated datasets can not be deleted.
Example request:
curl --request DELETE \
"https://app.pollinatorhub.eu/api/v1/entities/enim" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/entities/enim';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/entities/enim"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/entities/enim'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Datasets
This route will allow modifications to the meta-data for the Datasets. It includes basic information like name, description and contact information. It is owned by one or more entities. It directly owns one or more Dataset Parts. It is identified by UID which is created during the data entity creation procedure.
List datasets
requires authentication
Display a listing of the Datasets, the User has access to.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/datasets?entity=euph&page=1&limit=3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/datasets';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'entity' => 'euph',
'page' => '1',
'limit' => '3',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/datasets"
);
const params = {
"entity": "euph",
"page": "1",
"limit": "3",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/datasets'
params = {
'entity': 'euph',
'page': '1',
'limit': '3',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 57
access-control-allow-origin: *
{
"current_page": 1,
"data": [
{
"id": 6,
"uid": "HNYPR6.0.0",
"name": "Honey production Austria",
"long_name": "Honey production in Austria",
"description": "The dataset contains anonymised total annual honey yields of test colonies from the performance testing scheme of the Austrian honey bee breeding program. The locations of apiaries were aggregated by NUTS level 1 and HPG.",
"featured_image": null,
"status": "publish",
"public": true,
"licence": "CC BY-NC-SA 4.0",
"published_at": "2023-04-16T22:00:00.000000Z",
"created_at": "2023-01-26T18:18:06.000000Z",
"updated_at": "2025-08-18T10:15:51.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/6",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/6",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/6",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets",
"method": "POST",
"auth": true
}
}
},
{
"id": 8,
"uid": "BKPNG8.0.0",
"name": "Beekeeping Austria",
"long_name": "Collection of data related to honey bees in Austria.",
"description": "This dataset is a collection of data related to honey bees (*Apis mellifera* L.) in Austria.",
"featured_image": null,
"status": "publish",
"public": true,
"licence": "CC BY-NC-SA 4.0",
"published_at": "2023-11-30T23:00:00.000000Z",
"created_at": "2022-04-27T07:15:00.000000Z",
"updated_at": "2025-08-28T07:58:30.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/8",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/8",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/8",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets",
"method": "POST",
"auth": true
}
}
},
{
"id": 14,
"uid": "VTCSS14.0.0",
"name": "Vetcases",
"long_name": "Reports of notifiable diseases reported for Apis mellifera",
"description": "This dataset contains data from various sources on the outbreak of notifiable diseases reported for honey bees (*Apis mellifera*) in Belgium and Austria from 2000 to 2022.",
"featured_image": "https://app.pollinatorhub.eu/storage/providers/01HHF30JC0SSJRQESPPWNJG3F5.png",
"status": "publish",
"public": true,
"licence": "CC BY-NC-SA 4.0",
"published_at": "2023-06-12T22:00:00.000000Z",
"created_at": "2023-02-08T15:11:52.000000Z",
"updated_at": "2025-12-05T12:09:22.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/14",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/14",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/14",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets",
"method": "POST",
"auth": true
}
}
}
],
"first_page_url": "https://app.pollinatorhub.eu/api/v1/datasets?page=1",
"from": 1,
"last_page": 26,
"last_page_url": "https://app.pollinatorhub.eu/api/v1/datasets?page=26",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/datasets?page=1",
"label": "1",
"active": true
},
{
"url": "https://app.pollinatorhub.eu/api/v1/datasets?page=2",
"label": "2",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/datasets?page=3",
"label": "3",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/datasets?page=4",
"label": "4",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/datasets?page=5",
"label": "5",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/datasets?page=6",
"label": "6",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/datasets?page=7",
"label": "7",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/datasets?page=8",
"label": "8",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/datasets?page=9",
"label": "9",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/datasets?page=10",
"label": "10",
"active": false
},
{
"url": null,
"label": "...",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/datasets?page=25",
"label": "25",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/datasets?page=26",
"label": "26",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/datasets?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://app.pollinatorhub.eu/api/v1/datasets?page=2",
"path": "https://app.pollinatorhub.eu/api/v1/datasets",
"per_page": 3,
"prev_page_url": null,
"to": 3,
"total": 76
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
A list of Datasets available to the User.
*
object
id
integer
Numeric identifier of the dataset.
uid
string
The unique identifier used to identify the entity within the platform.
name
string
The actual name of the dataset.
long_name
string|null
The long version of the name of the dataset.
description
string|null
Dataset abstract. Uses Markdown for styling.
featured_image
string|null
URL to uploaded image representing this dataset.
status
string
The status of the dataset. The list of available status are the following: draft, pending, reject, reviewing, pending-peer-rev, peer-reviewing, publish, publish-with-pw, trash, hidden
public
boolean
True means that the data of this dataset are public.
licence
string|null
The uid of the licence of this entity.
published_at
string|null
The date and time the dataset was published.
created_at
string
The date and time the dataset was created.
updated_at
string
The date and time the dataset was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
Create dataset
requires authentication
Example request:
curl --request POST \
"https://app.pollinatorhub.eu/api/v1/datasets" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ISO 3166-1:2020\",
\"description\": \"Voluptatem natus dolores enim est cum.\",
\"data_overview\": \"apoxxdeni\",
\"data_value\": \"nxcum\",
\"data_description\": \"xer\",
\"data_application\": \"z\",
\"data_issues\": \"ueeufhnsrirdevzaj\",
\"introduction\": \"mjerredbfvmgnigadrwra\",
\"acquisition\": \"qd\",
\"preparation\": \"dmzxugqfsddgfkuhwim\",
\"validation\": \"amphxwmckckojrbnmb\",
\"analysis\": \"sxapy\",
\"licence\": \"cc-by\",
\"entities\": [
\"euph\"
],
\"references\": [
\"No-example\"
],
\"public\": true,
\"published_at\": \"2023-07-04T11:24:58.000000Z\",
\"contacts\": [
{
\"type\": \"email\",
\"value\": \"email@example.com\"
}
]
}"
$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/datasets';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'ISO 3166-1:2020',
'description' => 'Voluptatem natus dolores enim est cum.',
'data_overview' => 'apoxxdeni',
'data_value' => 'nxcum',
'data_description' => 'xer',
'data_application' => 'z',
'data_issues' => 'ueeufhnsrirdevzaj',
'introduction' => 'mjerredbfvmgnigadrwra',
'acquisition' => 'qd',
'preparation' => 'dmzxugqfsddgfkuhwim',
'validation' => 'amphxwmckckojrbnmb',
'analysis' => 'sxapy',
'licence' => 'cc-by',
'entities' => [
'euph',
],
'references' => [
'No-example',
],
'public' => true,
'published_at' => '2023-07-04T11:24:58.000000Z',
'contacts' => [
[
'type' => 'email',
'value' => 'email@example.com',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/datasets"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ISO 3166-1:2020",
"description": "Voluptatem natus dolores enim est cum.",
"data_overview": "apoxxdeni",
"data_value": "nxcum",
"data_description": "xer",
"data_application": "z",
"data_issues": "ueeufhnsrirdevzaj",
"introduction": "mjerredbfvmgnigadrwra",
"acquisition": "qd",
"preparation": "dmzxugqfsddgfkuhwim",
"validation": "amphxwmckckojrbnmb",
"analysis": "sxapy",
"licence": "cc-by",
"entities": [
"euph"
],
"references": [
"No-example"
],
"public": true,
"published_at": "2023-07-04T11:24:58.000000Z",
"contacts": [
{
"type": "email",
"value": "email@example.com"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/datasets'
payload = {
"name": "ISO 3166-1:2020",
"description": "Voluptatem natus dolores enim est cum.",
"data_overview": "apoxxdeni",
"data_value": "nxcum",
"data_description": "xer",
"data_application": "z",
"data_issues": "ueeufhnsrirdevzaj",
"introduction": "mjerredbfvmgnigadrwra",
"acquisition": "qd",
"preparation": "dmzxugqfsddgfkuhwim",
"validation": "amphxwmckckojrbnmb",
"analysis": "sxapy",
"licence": "cc-by",
"entities": [
"euph"
],
"references": [
"No-example"
],
"public": true,
"published_at": "2023-07-04T11:24:58.000000Z",
"contacts": [
{
"type": "email",
"value": "email@example.com"
}
]
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show dataset
requires authentication
Display the specified Dataset based on provided unique identifier.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/datasets/4" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/datasets/4';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/datasets/4"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/datasets/4'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 56
access-control-allow-origin: *
{
"data": {
"id": 4,
"uid": "PSTCD4.0.0",
"name": "Postcode",
"long_name": "Postcodes from various countries",
"description": "The dataset contains postcodes from 97 countries for internal use on the EUPH.",
"featured_image": null,
"data_overview": "Data was obtained from GeoNames (http://www.geonames.org/). It contains an incomplete collection of postcodes from 97 countries worldwide. It is licensed under a Creative Commons Attribution 4.0 license.",
"data_value": "Data was collected to be used internally on the EU Pollinator Platform (EUPH).",
"data_description": "The dataset contains 1 table with a total of 1.534.012 records (171.640.227 bytes) . ",
"data_application": "Data will be exclusively used for backend administration of the EU Pollinator Platform (EUPH), in particular for standardisation of data and for interactions with users. ",
"data_issues": null,
"introduction": "Data was obtained from GeoNames (http://www.geonames.org/). It contains an incomplete collection of postcodes from 97 countries worldwide. It is licensed under a Creative Commons Attribution 4.0 license. It will be exclusively used for backend administration of the EU Pollinator Platform (EUPH), in particular for standardisation of data and for interactions with users. ",
"acquisition": "Data was obtained from the GeoNames geographical database (www.geonames.org), a project founded by Marc Wick and maintained by Unxos GmbH, Switzerland. The data is licensed under a Creative Commons Attribution 4.0 License. It can be used if credit is given to GeoNames (at least by a link to www.geonames.org). The data is provided without warranty or any representation of accuracy, timeliness or completeness. \n\nPostcodes were obtained from the file allCountries.zip. Postcodes from Canada (CA), Great Briton (GB) and the Netherlands (NL) were substituted with the postcodes obtained from the files CA_full.csv.zip, GB_full.csv.zip and NL_full.csv.zip, respectively. At the time of data acquisition (2023-09-13) 97 countries were supported. For many countries latitude and longitude are determined with an algorithm that searches the place names in the main geonames database using administrative divisions and numerical vicinity of the postal codes as factors in the disambiguation of place names. For postal codes and place name for which no corresponding toponym in the main geonames database could be found an average latitude and longitude of 'neighbouring' postal codes is calculated. For copyright reasons, for Chile only the first digits, for Ireland only the first letters and for Malta only the first letters of the full postal codes are provided. For Argentina the first 5 positions of the postal code and for Brazil only major postal codes (only the codes ending with -000 and the major code per municipality) are available.",
"preparation": "Zipped files containing the raw data were unpacked. Unpacked raw data files contained tab separated values and were converted to files in csv format according to WI-002 (Raw data preparation) of SOP-006 (Dataset preparation) using the script ConvertTsv2Csv.py executed with the IDE PyCharm (Version 2023.1.2 Community Edition, JetBrains s.r.o). Data contained in raw data files allCountries.zip, CA_full.zip and NL_full.csv.zip were imported for profiling into a SQL database (MariaDB foundation, Server-Version 10.4.24) running in a XAMPP environment (BitRock, version 3.3.0). Data types of tables were configured using the information contained in in metadata file readme.txt.",
"validation": null,
"analysis": null,
"status": "publish",
"public": false,
"fairness": {
"findable": "evaluation",
"accessible": "evaluation",
"interoperable": "evaluation",
"reusable": "evaluation",
"quality": "evaluation"
},
"licence": {
"uid": "cc-by-4-0",
"name": "CC BY 4.0",
"abbreviation": "CC BY 4.0",
"description": "### You are free to:\n\n* Share — copy and redistribute the material in any medium or format for any purpose, even commercially.\n* Adapt — remix, transform, and build upon the material for any purpose, even commercially.\n* The licensor cannot revoke these freedoms as long as you follow the license terms.\n\n### Under the following terms:\n\n* Attribution - You must give appropriate credit , provide a link to the license, and indicate if changes were made . You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.\n* No additional restrictions - You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.\n\n### Notices:\n\nYou do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation.\n\nNo warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.\n",
"url_summary": "https://creativecommons.org/licenses/by/4.0/",
"url_legal": "https://creativecommons.org/licenses/by/4.0/legalcode",
"image_url": "/storage/01HF961C5YQASH3TQ6MNYKN9WN.svg"
},
"contacts": [],
"entities": [
{
"id": 3,
"uid": "euph",
"name": "EU Pollinator Hub",
"description": "The EU Pollinator Hub (EUPH) is a data hub related to pollinators, which is provided by the European Food Safety Authority (EFSA).",
"type": "legal-entity",
"featured_image": "https://app.pollinatorhub.eu/storage/entities/01HZHN8AQYJDJ2SV1Z8X3XS661.jpg",
"created_at": "2023-10-05T10:02:30.000000Z",
"updated_at": "2024-06-04T12:59:02.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/3",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/3",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/entities/3",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/entities",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/entities",
"method": "POST",
"auth": true
}
}
}
],
"contributors": [],
"parts": [
{
"id": 72,
"uid": "PSTCD4.WRLDW72.0",
"name": "Worldwide postcodes",
"description": "The table contains 1.534.012 records (171.640.227 bytes) with postcodes from 97 distinct countries (PT, IN, JP, MX, SG, PE, PL, FR, RU, US, RO, ES, TR, KR, UA, GB, LT, AR, AT, IT, SE, AU, DE, DZ, CZ, HR, LV, BR, EE, BG, NO, LU, CH, SK, NL, ZA, ZA, CO, FI, HU, BY, MY, BE, PK, PH, UY, LK, MD, NZ, CA, BD, MA, EC, AZ, DK, RS, CY, TH, SI, GT, DO, MW, CR, CL, HT, MK, PR, RE, IS, FO, BM, GP, MQ, IM, GF, MT, NC, AX, GL, MC, SM, YT, GU, VI, GG, LI, SJ, AD, JE, FM, MP, WF, MH, PM, PW, AS, VA).",
"featured_image": null,
"type": "file",
"licence": "cc-by-4-0",
"dataset_id": 4,
"created_at": "2023-10-05T07:59:13.000000Z",
"updated_at": "2025-09-30T10:44:05.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/72",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/72",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/72",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/4/parts",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/4/parts",
"method": "POST",
"auth": true
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/4",
"auth": true
},
"columns.index": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/72/columns",
"auth": true
},
"columns.create": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/72/columns",
"method": "POST",
"auth": true
},
"data.index": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/72/data",
"auth": true
},
"data.create": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/72/data",
"method": "POST",
"auth": true
},
"data.update": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/72/data",
"method": "PUT/PATCH",
"auth": true
},
"data.delete": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/72/data",
"method": "DELETE",
"auth": true
}
}
}
],
"descriptors": [
{
"id": 110,
"uid": "0.0.LPHLN110",
"namespace": "iso-639",
"name": "alpha-2LanguageCode",
"description": "> ISO 639-2 is the alpha-3 code in Codes for the representation of names of languages-- Part 2. There are 21 languages that have alternative codes for bibliographic or terminology purposes. In those cases, each is listed separately and they are designated as \"B\" (bibliographic) or \"T\" (terminology). In all other cases there is only one ISO 639-2 code. Multiple codes assigned to the same language are to be considered synonyms. ISO 639-1 is the alpha-2 code.",
"class": "alpha-2 language code",
"datatypes": [
"String"
],
"unit": null,
"created_at": "2023-09-01T06:57:27.000000Z",
"updated_at": "2025-02-12T13:59:18.000000Z",
"links": []
},
{
"id": 313,
"uid": "0.0.NTGER313",
"namespace": null,
"name": "Integer",
"description": "> A number with no fractional part, including the negative and positive numbers as well as zero.",
"class": "integer",
"datatypes": [
"Integer"
],
"unit": null,
"created_at": null,
"updated_at": "2024-09-14T11:14:52.000000Z",
"links": []
},
{
"id": 315,
"uid": "0.0.TEXTA315",
"namespace": null,
"name": "Text",
"description": "> In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The latter may allow its elements to be mutated and the length changed, or it may be fixed (after creation). A string is generally considered as a data type and is often implemented as an array data structure of bytes (or words) that stores a sequence of elements, typically characters, using some character encoding. String may also denote more general arrays or other sequence (or list) data types and structures.",
"class": "string",
"datatypes": [
"String"
],
"unit": null,
"created_at": null,
"updated_at": "2024-09-14T11:17:02.000000Z",
"links": []
},
{
"id": 332,
"uid": "0.0.LNGTD332",
"namespace": "dwc",
"name": "decimalLongitude",
"description": "A term from the [Darwin Core standard](https://dwc.tdwg.org/list/#dwc_decimalLongitude):\n> The geographic longitude (in decimal degrees, using the spatial reference system given in [dwc:geodeticDatum](https://app.pollinatorhub.eu/vocabulary/classes/7491)) of the geographic center of a [dcterms:Location](https://app.pollinatorhub.eu/vocabulary/classes/7367). Positive values are east of the Greenwich Meridian, negative values are west of it. Legal values lie between -180 and 180, inclusive.",
"class": "Decimal Longitude",
"datatypes": [
"Decimal"
],
"unit": {
"name": "degree",
"standardised_notation": "°",
"quantity_description": "plane and phase angle",
"unit_description": "degree",
"base_unit": "degree",
"conversion_function": "1 E+00",
"conversion_factor": "1 E+00"
},
"created_at": "2023-11-15T20:17:05.000000Z",
"updated_at": "2025-02-06T13:43:39.000000Z",
"links": []
},
{
"id": 333,
"uid": "0.0.LTTDE333",
"namespace": "dwc",
"name": "decimalLatitude",
"description": "A term from the [Darwin Core standard](https://dwc.tdwg.org/list/#dwc_decimalLatitude):\n> The geographic latitude (in decimal degrees, using the spatial reference system given in [dwc:geodeticDatum](https://app.pollinatorhub.eu/vocabulary/classes/7491)) of the geographic center of a [dcterms:Location](https://app.pollinatorhub.eu/vocabulary/classes/7367). Positive values are north of the Equator, negative values are south of it. Legal values lie between -90 and 90, inclusive.",
"class": "Decimal Latitude",
"datatypes": [
"Decimal"
],
"unit": {
"name": "degree",
"standardised_notation": "°",
"quantity_description": "plane and phase angle",
"unit_description": "degree",
"base_unit": "degree",
"conversion_function": "1 E+00",
"conversion_factor": "1 E+00"
},
"created_at": "2023-11-15T20:19:05.000000Z",
"updated_at": "2025-02-06T13:43:00.000000Z",
"links": []
},
{
"id": 378,
"uid": "0.0.PSTCD378",
"namespace": "eurostat",
"name": "postcode",
"description": "> A postal code (also known locally in various English-speaking countries throughout the world as a postcode, post code, PIN or ZIP Code) is a series of letters or digits or both, sometimes including spaces or punctuation, included in a postal address for the purpose of sorting mail. ",
"class": "postcode",
"datatypes": [
"String"
],
"unit": null,
"created_at": "2023-12-05T14:50:27.000000Z",
"updated_at": "2025-02-06T12:22:46.000000Z",
"links": []
}
],
"references": [
"{\"type\":\"webpage\",\"title\":\"GeoNames\",\"language\":\"En\",\"URL\":\"https:\\/\\/www.geonames.org\\/\",\"accessed\":{\"date-parts\":[[2025,9,30]]},\"container-title\":\"GeoNames\"}"
],
"published_at": "2023-09-12T22:00:00.000000Z",
"created_at": "2023-01-26T18:18:06.000000Z",
"updated_at": "2025-12-04T20:25:24.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/4",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/4",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/4",
"method": "DELETE",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets",
"method": "POST",
"auth": true
},
"parts.index": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/4/parts",
"auth": true
},
"parts.create": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/4/parts",
"method": "POST",
"auth": true
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
A list of metadata associated with the requested dataset.
id
integer
Numeric identifier of the dataset.
uid
string
The unique identifier used to identify the entity within the platform.
name
string
The actual name of the dataset.
long_name
string|null
The long version of the name of the dataset.
description
string|null
Abstract about the dataset. Uses Markdown for styling.
featured_image
string|null
URL to uploaded image representing this dataset.
data_overview
string|null
Concise information (less than 200 words) about: e.g. provider of the data (who?); origin of the data and the subject area covered by the dataset (what?); geographical origin of the data (where?); time period covered by the dataset (when?). Uses Markdown for styling.
data_value
string|null
Concise information (less than 200 words) about: e.g. reason for collecting the data; possible benefits resulting from the collection of the data (why?). Uses Markdown for styling.
data_description
string|null
Concise description (less than 200 words) of the dataset metrics: e.g. number of files; categories of data; size of the datasets in bytes. Uses Markdown for styling.
data_application
string|null
A concise summary (less than 200 words) of possible applications for which the data could be used, scientific or technical questions or other issues that could be addressed (for what?). Uses Markdown for styling.
data_issues
string|null
A list of unresolved issues and quality concerns. Uses Markdown for styling.
introduction
string|null
A longer description about the dataset. Uses Markdown for styling.
acquisition
string|null
Description of or a reference to material and methods used to acquire the data in the dataset and a detailed list of terms under which the data has been made available (licensing).Uses Markdown for styling.
preparation
string|null
Detailed description of material (product, model) and methods (provide references if possible) used to prepare the dataset. Uses Markdown for styling.
validation
string|null
Detailed description of material (product, model) and methods (provide references if possible) used to validate the dataset for the purpose of data quality assessment. Uses Markdown for styling.
analysis
string|null
Detailed description of material (product, model) and methods (provide references if possible) used to analyse the dataset for the purpose of data quality assessment. Uses Markdown for styling.
status
string
The status of the dataset. The list of available status are the following: draft, pending, reject, reviewing, pending-peer-rev, peer-reviewing, publish, publish-with-pw, trash, hidden
public
boolean
Value of true means that the data of this dataset are publicly accessible.
fairness
string[]
The fairness status of this dataset.
fidnable
string
The findable fairness status of this dataset.
accessible
string
The accessible fairness status of this dataset.
interoperable
string
The interoperable fairness status of this dataset.
reusable
string
The reusable fairness status of this dataset.
quality
string
The quality status of this dataset.
licence
array|null The licence information of this entity.
name
string
The name of the licence.
abbreviation
string
The short name of the licence.
description
string
The description of the licence.
uid
string
The unique identifier of the licence.
url_summary
string|null
Url to external description of this licence.
url_legal
string|null
Url to external legal definition of this licence.
image_url
string|null
Url to licence image representation.
contact
object[]
A list of contact points for the entity.
type
string
The type of the contact.
value
string
The actual value of the contact, for
entities
string[]
Array containing the list of the entities of this dataset.
*
object
id
integer
Numeric identifier of the entity.
uid
string
The unique identifier used to identify the entity within the platform.
name
string
A descriptive name of the entity.
featured_image
string|null
URL to uploaded image representing this dataset.
description
string|null
Longer description about the entity.
type
string
Type of the Entity. Can be 'person' or 'legal-entity'.
created_at
string
The date and time the entity was created.
updated_at
string
The date and time the entity was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
contributors
string[]
Array containing the list of the contributors of this dataset.
*
TODO
parts
string[]
An array containing all related dataset tables. Field is hidden for non-public datasets.
*
object
id
integer
Numeric identifier of the table.
uid
string|null
The unique identifier used to identify the table within the platform.
name
string
Name of the table.
description
string|null
Description of the table. Uses Markdown for styling.
structure
string
An unordered list of potential links between columns of the same file, of different files of the same dataset or of different files of different datasets as follows: Column [dataset].[file].[column] links on [dataset].[file].[column]. Uses Markdown for styling.
preparation
string
It contains an unordered list of all changes made in the preparatory file described in the parent section according to Directory-006 (Dataset preparation). Uses Markdown for styling.
changes
string
It contains an unordered list of all changes made in the data after integration of the file described in the parent section into the EUPH according to Directory-006 (Dataset preparation). Uses Markdown for styling.
unresolved
string
It contains an unordered list of all unresolved issues in the file of the parent section requiring intervention by the data provider according to Directory-007 (Data profiling). Uses Markdown for styling.
created_at
string
The date and time the table was created.
updated_at
string
The date and time the table was last updated.
descriptors
string[]
An array of all descriptors, used to integrate this dataset. Field is hidden for non-public datasets.
*
object
uid
string
The unique identifier used to identify the descriptor within the platform.
namespace
string|null
The namespace this descriptor belongs to.
name
string
Name of the descriptor.
description
string|null
A short, concise description of the descriptor. If a class is assigned to descriptor, this field contains the accepted definition of the related class. Uses Markdown for styling.
notes
string|null
Any additional notes attached to the descriptor. Uses Markdown for styling.
examples
string|null
A list of examples, how the data may appear. Uses Markdown for styling.
class
string|null
An optional class, related to this descriptor.
unit
string|null
The unit data is saved in. May not be set.
datatypes
string[]
The underlying datatypes to store the data. Is one of: String, Integer, Decimal, Date, DateTime, Time, Boolean, Coordinates.
deprecated
boolean
Whether this descriptor is deprecated or not. Deprecated descriptors can not be used to import new data.
created_at
string
The date and time the table was created.
updated_at
string
The date and time the table was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
index
string[]
Link to list of all resources.
references
string[]
An array of references in CSL JSON format, included with this dataset.
*
string
The CSL JSON of the reference.
published_at
string|null
The date and time the dataset was published.
created_at
string
The date and time the dataset was created.
updated_at
string
The date and time the dataset was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
parts
object
index
string[]
Link to list of all parts this resource contains.
create
string[]
Link to create a new part under this resource.
Update dataset
requires authentication
Example request:
curl --request PUT \
"https://app.pollinatorhub.eu/api/v1/datasets/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"entities\": [
\"euph\"
],
\"name\": \"ISO 3166-1:2020\",
\"long_name\": \"No-Example\",
\"description\": \"Dolorum ut id error ut omnis non.\",
\"data_overview\": \"sgvftzbqxmhqbzmnvbmsgqyoa\",
\"data_value\": \"ugskfibjpyavkyzaykujawtng\",
\"data_description\": \"owkf\",
\"data_application\": \"bzstoet\",
\"data_issues\": \"oeyoygtgnwrgeyqztaazm\",
\"introduction\": \"tdhfftmykzkws\",
\"acquisition\": \"pxulhygegnzttly\",
\"preparation\": \"ua\",
\"validation\": \"tapauykunsgnqgigdtgnknuk\",
\"analysis\": \"bsnrmiq\",
\"licence\": \"cc-by\",
\"public\": true,
\"published_at\": \"2023-07-04T11:24:58.000000Z\",
\"contacts\": [
{
\"type\": \"email\",
\"value\": \"email@example.com\"
}
],
\"references\": [
\"No-Example\"
]
}"
$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/datasets/1';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'entities' => [
'euph',
],
'name' => 'ISO 3166-1:2020',
'long_name' => 'No-Example',
'description' => 'Dolorum ut id error ut omnis non.',
'data_overview' => 'sgvftzbqxmhqbzmnvbmsgqyoa',
'data_value' => 'ugskfibjpyavkyzaykujawtng',
'data_description' => 'owkf',
'data_application' => 'bzstoet',
'data_issues' => 'oeyoygtgnwrgeyqztaazm',
'introduction' => 'tdhfftmykzkws',
'acquisition' => 'pxulhygegnzttly',
'preparation' => 'ua',
'validation' => 'tapauykunsgnqgigdtgnknuk',
'analysis' => 'bsnrmiq',
'licence' => 'cc-by',
'public' => true,
'published_at' => '2023-07-04T11:24:58.000000Z',
'contacts' => [
[
'type' => 'email',
'value' => 'email@example.com',
],
],
'references' => [
'No-Example',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/datasets/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"entities": [
"euph"
],
"name": "ISO 3166-1:2020",
"long_name": "No-Example",
"description": "Dolorum ut id error ut omnis non.",
"data_overview": "sgvftzbqxmhqbzmnvbmsgqyoa",
"data_value": "ugskfibjpyavkyzaykujawtng",
"data_description": "owkf",
"data_application": "bzstoet",
"data_issues": "oeyoygtgnwrgeyqztaazm",
"introduction": "tdhfftmykzkws",
"acquisition": "pxulhygegnzttly",
"preparation": "ua",
"validation": "tapauykunsgnqgigdtgnknuk",
"analysis": "bsnrmiq",
"licence": "cc-by",
"public": true,
"published_at": "2023-07-04T11:24:58.000000Z",
"contacts": [
{
"type": "email",
"value": "email@example.com"
}
],
"references": [
"No-Example"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/datasets/1'
payload = {
"entities": [
"euph"
],
"name": "ISO 3166-1:2020",
"long_name": "No-Example",
"description": "Dolorum ut id error ut omnis non.",
"data_overview": "sgvftzbqxmhqbzmnvbmsgqyoa",
"data_value": "ugskfibjpyavkyzaykujawtng",
"data_description": "owkf",
"data_application": "bzstoet",
"data_issues": "oeyoygtgnwrgeyqztaazm",
"introduction": "tdhfftmykzkws",
"acquisition": "pxulhygegnzttly",
"preparation": "ua",
"validation": "tapauykunsgnqgigdtgnknuk",
"analysis": "bsnrmiq",
"licence": "cc-by",
"public": true,
"published_at": "2023-07-04T11:24:58.000000Z",
"contacts": [
{
"type": "email",
"value": "email@example.com"
}
],
"references": [
"No-Example"
]
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete dataset
requires authentication
<aside class"warning">Only dataset without any tables can be deleted.
Example request:
curl --request DELETE \
"https://app.pollinatorhub.eu/api/v1/datasets/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/datasets/1';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/datasets/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/datasets/1'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Tables
Routes used to manage Dataset Tables.
List tables
requires authentication
Display a list of all tables of the supplied dataset.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/datasets/2/parts" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/datasets/2/parts';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/datasets/2/parts"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/datasets/2/parts'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"data": [
{
"name": "ISO 3166-1:2020",
"description": "File iso3166_1_2020.csv contains 291 records of countries included in the ISO standard 3166-1:2020...",
"uid": "DTST1.PRTA1.0",
"type": "file",
"licence_id": "unlicenced",
"created_at": "2023-07-04T11:24:58.000000Z",
"updated_at": "2023-07-04T11:24:58.000000Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
A list of dataset tables available to the User.
*
object
id
integer
Numeric identifier of the table.
uid
string
The unique identifier used to identify the table within the platform.
name
string
The title of the table.
description
string|null
Detailed description of the table.
featured_image
string|null
URL to uploaded image representing this table.
type
string
The type of this table.
licence
string|null
The licence defined specifically for this table.
dataset_id
integer
The dataset this table belongs to.
created_at
string
The date and time it was created.
updated_at
string
The date and time it was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
parent
string[]
Link to the parent of this resource.
columns
object
index
string[]
Link to list of all columns this resource contains.
create
string[]
Link to create a new column under this resource.
data
object
index
string[]
Link to list of all data this resource contains.
create
string[]
Link to create new data under this resource.
update
string[]
Link to update data under this resource.
delete
string[]
Link to delete data under this resource.
Create table
requires authentication
Create and attach a new table to the supplied dataset.
Example request:
curl --request POST \
"https://app.pollinatorhub.eu/api/v1/datasets/2/parts" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ISO 3166-1:2020\",
\"type\": \"api\"
}"
$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/datasets/2/parts';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'ISO 3166-1:2020',
'type' => 'api',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/datasets/2/parts"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ISO 3166-1:2020",
"type": "api"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/datasets/2/parts'
payload = {
"name": "ISO 3166-1:2020",
"type": "api"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show table
requires authentication
Retrieve metadata for a single table within a dataset.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/parts/5" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/parts/5';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/parts/5"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/parts/5'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 55
access-control-allow-origin: *
{
"data": {
"id": 5,
"uid": "UNSDA25.NCMTR5.0",
"name": "Un Comtrade Units",
"description": "This table contains quantity units used in detailed UN Comtrade data, based on the standards of quantity recommended by the World Customs Organization (WCO).",
"featured_image": null,
"structure": null,
"preparation": "None",
"changes": "None",
"unresolved": "None",
"additional_information": null,
"type": "file",
"licence": "euph",
"columns": [
{
"id": 1882,
"name": "UnsdId",
"description": null,
"descriptor": "0.0.NSDNT849",
"unit": null,
"datatype": "Integer",
"order": 1,
"part_id": 5,
"created_at": "2024-01-26T18:44:26.000000Z",
"updated_at": "2025-09-30T10:05:03.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/1882",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/1882",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/1882",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5/columns",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5/columns",
"method": "POST",
"auth": true
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5",
"auth": true
},
"descriptor.show": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/849"
}
}
},
{
"id": 1883,
"name": "WCOAbbreviation",
"description": null,
"descriptor": "0.0.TEXTA315",
"unit": null,
"datatype": "String",
"order": 2,
"part_id": 5,
"created_at": "2024-01-26T18:44:26.000000Z",
"updated_at": "2025-09-30T10:05:03.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/1883",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/1883",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/1883",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5/columns",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5/columns",
"method": "POST",
"auth": true
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5",
"auth": true
},
"descriptor.show": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/315"
}
}
},
{
"id": 1884,
"name": "Description",
"description": null,
"descriptor": "0.0.TEXTA315",
"unit": null,
"datatype": "String",
"order": 3,
"part_id": 5,
"created_at": "2024-01-26T18:44:26.000000Z",
"updated_at": "2025-09-30T10:05:03.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/1884",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/1884",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/1884",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5/columns",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5/columns",
"method": "POST",
"auth": true
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5",
"auth": true
},
"descriptor.show": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/315"
}
}
}
],
"data_files": [
{
"id": 886,
"name": "euph_000025_unsd_table_uncomtradeunits.csv",
"description": null,
"status": "completed",
"type": "csv",
"mimetype": "text/csv",
"file_size": 483,
"download_count": 0,
"created_at": "2025-02-14T11:32:07.000000Z",
"updated_at": "2025-09-30T10:10:03.000000Z"
}
],
"supplemental_files": [],
"references": [],
"dataset_id": 25,
"created_at": "2023-02-04T14:56:12.000000Z",
"updated_at": "2025-04-18T09:44:16.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/25/parts",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/25/parts",
"method": "POST",
"auth": true
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/datasets/25",
"auth": true
},
"columns.index": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5/columns",
"auth": true
},
"columns.create": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5/columns",
"method": "POST",
"auth": true
},
"data.index": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5/data",
"auth": true
},
"data.create": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5/data",
"method": "POST",
"auth": true
},
"data.update": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5/data",
"method": "PUT/PATCH",
"auth": true
},
"data.delete": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/5/data",
"method": "DELETE",
"auth": true
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
A list of metadata associated with the requested dataset table.
id
integer
Numeric identifier of the table.
uid
string
The unique identifier used to identify the table within the platform.
name
string
The title of the table.
description
string|null
Detailed description of the table.
featured_image
string|null
URL to uploaded image representing this table.
structure
string|null
An unordered list of potential links between columns of the same file, of different files of the same dataset or of different files of different datasets as follows: Column [dataset].[file].[column] links on [dataset].[file].[column].
preparation
string|null
It contains an unordered list of all changes made in the preparatory file described in the parent section according to Directory-006 (Dataset preparation).
changes
string|null
It contains an unordered list of all changes made in the data after integration of the file described in the parent section into the EUPH according to Directory-006 (Dataset preparation).
unresolved
string|null
It contains an unordered list of all unresolved issues in the file of the parent section requiring intervention by the data provider according to Directory-007 (Data profiling).
type
string
The type of this table.
additional_information
string|null
Any additional information required to acquire this table data.
licence
string|null
The licence defined specifically for this table.
columns
string[]
A list of associated columns with this table.
*
object
id
integer
Numeric identifier of the column.
name
string
The title of the column.
description
string|null
Detailed description of the column.
descriptor
string[]
The descriptor uid, used to internally represent the data.
datatype
string|null
The datatype this column saves data in.
order
integer
The order of this column, that it appears in the table.
part_id
integer
The id of the parent resource.
created_at
string
The date and time it was created.
updated_at
string
The date and time it was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
parent
string[]
Link to the parent of this resource.
data_files
string[]
A list of uploaded data files.
*
object
id
integer
Numeric identifier of the uploaded file.
name
string
The original filename.
description
string|null
status
string
The internal status of this file.
type
string
Identified type of this file.
mimetype
string
Identified mimetype of this file.
file_size
integer
The filesize in bytes.
download_count
intNumber of times this file was downloaded.
created_at
string
The date and time it was created.
updated_at
string
The date and time it was last updated.
supplemental_files
string[]
A list of uploaded data files.
*
object
id
integer
Numeric identifier of the uploaded file.
name
string
The original filename.
description
string|null
status
string
The internal status of this file.
type
string
Identified type of this file.
mimetype
stringIdentified mimetype of this file.
file_size
intThe filesize in bytes.
download_count
integer
Number of times this file was downloaded.
created_at
string
The date and time it was created.
updated_at
string
The date and time it was last updated.
references
string[]
An array of references in CSL JSON format, included with this dataset.
*
string
The CSL JSON of the reference.
dataset_id
integer
The dataset this table belongs to.
created_at
string
The date and time it was created.
updated_at
string
The date and time it was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
parent
string[]
Link to the parent of this resource.
columns
object
index
string[]
Link to list of all columns this resource contains.
create
string[]
Link to create a new column under this resource.
data
object
index
string[]
Link to list of all data this resource contains.
create
string[]
Link to create new data under this resource.
update
string[]
Link to update data under this resource.
delete
string[]
Link to delete data under this resource.
Update table
requires authentication
Update table metadata with new values.
Example request:
curl --request PUT \
"https://app.pollinatorhub.eu/api/v1/parts/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ISO 3166-1:2020\",
\"type\": \"api\"
}"
$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/parts/1';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'ISO 3166-1:2020',
'type' => 'api',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/parts/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ISO 3166-1:2020",
"type": "api"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/parts/1'
payload = {
"name": "ISO 3166-1:2020",
"type": "api"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete table.
requires authentication
Delete a single table. <aside class"warning">Only table with no uploaded data can be deleted.
Example request:
curl --request DELETE \
"https://app.pollinatorhub.eu/api/v1/parts/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/parts/1';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/parts/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/parts/1'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()Example response (202):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Columns
This route will allow modifications to the meta-data for individual columns of a dataset. It includes basic information like name, description and descriptor information. It is owned by one or more entities. It is identified by numeric ID which is created during creation procedure.
List columns
requires authentication
Display a listing of the Datasets, the User has access to.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/parts/1/columns?entity=euph&page=1&limit=3" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/parts/1/columns';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'entity' => 'euph',
'page' => '1',
'limit' => '3',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/parts/1/columns"
);
const params = {
"entity": "euph",
"page": "1",
"limit": "3",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/parts/1/columns'
params = {
'entity': 'euph',
'page': '1',
'limit': '3',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 54
access-control-allow-origin: *
{
"current_page": 1,
"data": [
{
"id": 1,
"name": "CountryId",
"description": null,
"descriptor": "0.0.RCRDD344",
"unit": null,
"datatype": null,
"order": 1,
"part_id": 1,
"created_at": "2023-09-01T08:53:37.000000Z",
"updated_at": "2025-10-07T02:36:19.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/1",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/1",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/1",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/1/columns",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/1/columns",
"method": "POST",
"auth": true
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/1",
"auth": true
},
"descriptor.show": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/344"
}
}
},
{
"id": 2,
"name": "NumericCode",
"description": null,
"descriptor": "0.0.MAREA519",
"unit": null,
"datatype": null,
"order": 2,
"part_id": 1,
"created_at": "2023-09-01T08:53:37.000000Z",
"updated_at": "2025-10-07T02:36:20.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/2",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/2",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/2",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/1/columns",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/1/columns",
"method": "POST",
"auth": true
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/1",
"auth": true
},
"descriptor.show": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/519"
}
}
},
{
"id": 3,
"name": "FullName",
"description": "Full name of the country, as recorded in [UNTERM](https://unterm.un.org).",
"descriptor": "0.0.TEXTA315",
"unit": null,
"datatype": null,
"order": 3,
"part_id": 1,
"created_at": "2023-09-01T08:53:37.000000Z",
"updated_at": "2025-10-07T02:36:20.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/3",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/3",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/3",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/1/columns",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/1/columns",
"method": "POST",
"auth": true
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/1",
"auth": true
},
"descriptor.show": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/315"
}
}
}
],
"first_page_url": "https://app.pollinatorhub.eu/api/v1/parts/1/columns?page=1",
"from": 1,
"last_page": 5,
"last_page_url": "https://app.pollinatorhub.eu/api/v1/parts/1/columns?page=5",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/columns?page=1",
"label": "1",
"active": true
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/columns?page=2",
"label": "2",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/columns?page=3",
"label": "3",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/columns?page=4",
"label": "4",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/columns?page=5",
"label": "5",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/columns?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://app.pollinatorhub.eu/api/v1/parts/1/columns?page=2",
"path": "https://app.pollinatorhub.eu/api/v1/parts/1/columns",
"per_page": 3,
"prev_page_url": null,
"to": 3,
"total": 15
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
A list of Datasets available to the User.
*
object
id
integer
Numeric identifier of the dataset.
name
string
The actual name of the column.
description
string|null
Column description. Uses Markdown for styling.
descriptor
string|null
The descriptor uid used to describe this column.
unit
array|null The unit used to save the data in.
datatype
string|null
The datatype used to save the information in the database.
order
integer
The position of the column.
part_id
integer
The id of the table this column belongs to.
created_at
string
The date and time the dataset was created.
updated_at
string
The date and time the dataset was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to permanently delete this resource.
index
string[]
Link to list of all columns of the table, this resource belongs to.
create
string[]
Link to create a new column in the table, this resource belongs to.
parent
string[]
Link to the parent of this resource.
descriptor
object
show
string[]
Direct link of the descriptor used to describe this column.
Create column
requires authentication
Example request:
curl --request POST \
"https://app.pollinatorhub.eu/api/v1/parts/1/columns" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Hive scale weight\",
\"descriptor\": \"0.0.LPHCN4\",
\"datatype\": \"String, Integer, Decimal, Date, Time, DateTime, Boolean\",
\"order\": 1
}"
$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/parts/1/columns';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'Hive scale weight',
'descriptor' => '0.0.LPHCN4',
'datatype' => 'String, Integer, Decimal, Date, Time, DateTime, Boolean',
'order' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/parts/1/columns"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Hive scale weight",
"descriptor": "0.0.LPHCN4",
"datatype": "String, Integer, Decimal, Date, Time, DateTime, Boolean",
"order": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/parts/1/columns'
payload = {
"name": "Hive scale weight",
"descriptor": "0.0.LPHCN4",
"datatype": "String, Integer, Decimal, Date, Time, DateTime, Boolean",
"order": 1
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show column
requires authentication
Display the specified dataset table column based on provided numeric identifier.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/columns/4" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/columns/4';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/columns/4"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/columns/4'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 53
access-control-allow-origin: *
{
"data": {
"id": 4,
"name": "ShortName",
"description": null,
"descriptor": {
"id": 3,
"uid": "0.0.SHRTC3",
"namespace": "iso-3166",
"name": "shortUppercaseNameOfCountry",
"description": "> [...] Short form of the country name [in capital letters], distinctive word first. [...] In [language of the ISO 3166 standard](https://app.pollinatorhub.eu/vocabulary/classes/7930). [...] This item might be inverted, allowing the distinctive word to appear first, so that items can be easily found in an alphabetical list. See [Annex F]https://www.iso.org/obp/ui/en/#iso:std:iso:3166:-1:ed-4:v1:en:sec:F), principles [F.2](https://www.iso.org/obp/ui/en/#iso:std:iso:3166:-1:ed-4:v1:en:sec:F.2).",
"class": "short uppercase letters name of country",
"datatypes": [
"String"
],
"unit": null,
"created_at": "2022-11-19T09:03:29.000000Z",
"updated_at": "2026-05-18T09:22:23.000000Z",
"links": []
},
"unit": null,
"datatype": null,
"order": 4,
"part_id": 1,
"created_at": "2023-09-01T08:53:37.000000Z",
"updated_at": "2025-10-07T02:36:20.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/4",
"auth": true
},
"update": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/4",
"method": "PUT/PATCH",
"auth": true
},
"delete": {
"href": "https://app.pollinatorhub.eu/api/v1/columns/4",
"method": "DELETE",
"auth": true
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/1/columns",
"auth": true
},
"create": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/1/columns",
"method": "POST",
"auth": true
},
"parent": {
"href": "https://app.pollinatorhub.eu/api/v1/parts/1",
"auth": true
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
A list of metadata associated with the requested dataset.
id
integer
Numeric identifier of the dataset.
name
string
The actual name of the column.
description
string|null
Column description. Uses Markdown for styling.
descriptor
string[]
The descriptor used to describe this column.
id
integer
Numeric identifier of the descriptor.
uid
string
The unique identifier used to identify the descriptor within the platform.
namespace
string|null
The namespace this descriptor belongs to.
name
string
Name of the descriptor.
description
string|null
A short, concise description of the descriptor. If a class is assigned to descriptor, this field contains the accepted definition of the related class. Uses Markdown for styling.
class
string|null
An optional class, related to this descriptor.
unit
string|null
The unit data is saved in. May not be set.
datatypes
string[]
The underlying datatypes to store the data. Is one of: String, Integer, Decimal, Date, DateTime, Time, Boolean, Coordinates.
created_at
string
The date and time the table was created.
updated_at
string
The date and time the table was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
index
string[]
Link to list of all resources.
class
object
show
array|null Link to related class.
unit
array|null The unit used to save the data in.
datatype
string|null
The datatype used to save the information in the database.
order
integer
The position of the column.
part_id
integer
The id of the table this column belongs to.
created_at
string
The date and time the dataset was created.
updated_at
string
The date and time the dataset was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to permanently delete this resource.
index
string[]
Link to list of all columns of the table, this resource belongs to.
create
string[]
Link to create a new column in the table, this resource belongs to.
parent
string[]
Link to the parent of this resource.
Update column
requires authentication
Example request:
curl --request PUT \
"https://app.pollinatorhub.eu/api/v1/columns/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Hive scale weight\",
\"descriptor\": \"0.0.LPHCN4\",
\"datatype\": \"String, Integer, Decimal, Date, Time, DateTime, Boolean\",
\"order\": 1
}"
$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/columns/1';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'Hive scale weight',
'descriptor' => '0.0.LPHCN4',
'datatype' => 'String, Integer, Decimal, Date, Time, DateTime, Boolean',
'order' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/columns/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Hive scale weight",
"descriptor": "0.0.LPHCN4",
"datatype": "String, Integer, Decimal, Date, Time, DateTime, Boolean",
"order": 1
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/columns/1'
payload = {
"name": "Hive scale weight",
"descriptor": "0.0.LPHCN4",
"datatype": "String, Integer, Decimal, Date, Time, DateTime, Boolean",
"order": 1
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete column
requires authentication
Example request:
curl --request DELETE \
"https://app.pollinatorhub.eu/api/v1/columns/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/columns/1';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/columns/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/columns/1'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Data
APIs for managing data records and values.
List Data
requires authentication
Display a listing of all data related to this Dataset Part. Is paginated.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/parts/1/data?limit=3&query%5Bdescriptor_uid%5D=query%5B0.0.TEXTA315%5D%3Dexample_value" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/parts/1/data';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit' => '3',
'query[descriptor_uid]' => 'query[0.0.TEXTA315]=example_value',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/parts/1/data"
);
const params = {
"limit": "3",
"query[descriptor_uid]": "query[0.0.TEXTA315]=example_value",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/parts/1/data'
params = {
'limit': '3',
'query[descriptor_uid]': 'query[0.0.TEXTA315]=example_value',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 52
access-control-allow-origin: *
{
"current_page": 1,
"data": [
{
"id": 1,
"timestamp": "2020",
"data": [
{
"descriptor": "0.0.SHRTC3",
"column": "ShortName",
"column_id": 4,
"value": "ANTARCTICA",
"unit": null
},
{
"descriptor": "0.0.LPHCN4",
"column": "Alpha2Code",
"column_id": 6,
"value": "AQ",
"unit": null
},
{
"descriptor": "0.0.LPHCN5",
"column": "Alpha3Code",
"column_id": 7,
"value": "ATA",
"unit": null
},
{
"descriptor": "0.0.SHRTC10",
"column": "ShortNameLcEn",
"column_id": 5,
"value": "Antarctica",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "Status",
"column_id": 11,
"value": "Officially assigned",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "AnnotationP1En",
"column_id": 13,
"value": "Territories south of 60° south latitude.",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "AnnotationP2En",
"column_id": 14,
"value": "No subdivisions relevant for this standard.",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "AnnotationP3En",
"column_id": 15,
"value": "French Southern and Antarctic Territories (FQ, ATF, --) are now part of Antarctica and French Southern Territories (TF, ATF, 260). See also code element FQHH. Dronning Maud Land (NQ, ATN, 216) is now part of Antarctica. See also code element NQAQ.",
"unit": null
},
{
"descriptor": "0.0.RCRDD344",
"column": "CountryId",
"column_id": 1,
"value": "1",
"unit": null
},
{
"descriptor": "0.0.MAREA519",
"column": "NumericCode",
"column_id": 2,
"value": "10",
"unit": null
}
]
},
{
"id": 2,
"timestamp": "2020",
"data": [
{
"descriptor": "0.0.SHRTC3",
"column": "ShortName",
"column_id": 4,
"value": "BULGARIA",
"unit": null
},
{
"descriptor": "0.0.LPHCN4",
"column": "Alpha2Code",
"column_id": 6,
"value": "BG",
"unit": null
},
{
"descriptor": "0.0.LPHCN5",
"column": "Alpha3Code",
"column_id": 7,
"value": "BGR",
"unit": null
},
{
"descriptor": "0.0.SHRTC10",
"column": "ShortNameLcEn",
"column_id": 5,
"value": "Bulgaria",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "Status",
"column_id": 11,
"value": "Officially assigned",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "FullName",
"column_id": 3,
"value": "the Republic of Bulgaria",
"unit": null
},
{
"descriptor": "0.0.RCRDD344",
"column": "CountryId",
"column_id": 1,
"value": "2",
"unit": null
},
{
"descriptor": "0.0.MAREA519",
"column": "NumericCode",
"column_id": 2,
"value": "100",
"unit": null
}
]
},
{
"id": 3,
"timestamp": "2020",
"data": [
{
"descriptor": "0.0.SHRTC3",
"column": "ShortName",
"column_id": 4,
"value": "MYANMAR",
"unit": null
},
{
"descriptor": "0.0.LPHCN4",
"column": "Alpha2Code",
"column_id": 6,
"value": "MM",
"unit": null
},
{
"descriptor": "0.0.LPHCN5",
"column": "Alpha3Code",
"column_id": 7,
"value": "MMR",
"unit": null
},
{
"descriptor": "0.0.SHRTC10",
"column": "ShortNameLcEn",
"column_id": 5,
"value": "Myanmar",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "Status",
"column_id": 11,
"value": "Officially assigned",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "FullName",
"column_id": 3,
"value": "the Republic of the Union of Myanmar",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "AnnotationP2En",
"column_id": 14,
"value": "Remark: the forms used in the list are English-language forms provided by Myanmar.",
"unit": null
},
{
"descriptor": "0.0.TEXTA315",
"column": "AnnotationP3En",
"column_id": 15,
"value": "Name changed from former Burma (BU, BUR, 104) to Myanmar (MM MMR, 104). See code element BUMM.",
"unit": null
},
{
"descriptor": "0.0.RCRDD344",
"column": "CountryId",
"column_id": 1,
"value": "3",
"unit": null
},
{
"descriptor": "0.0.MAREA519",
"column": "NumericCode",
"column_id": 2,
"value": "104",
"unit": null
}
]
}
],
"first_page_url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=1",
"from": 1,
"last_page": 97,
"last_page_url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=97",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=1",
"label": "1",
"active": true
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=2",
"label": "2",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=3",
"label": "3",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=4",
"label": "4",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=5",
"label": "5",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=6",
"label": "6",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=7",
"label": "7",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=8",
"label": "8",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=9",
"label": "9",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=10",
"label": "10",
"active": false
},
{
"url": null,
"label": "...",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=96",
"label": "96",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=97",
"label": "97",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://app.pollinatorhub.eu/api/v1/parts/1/data?page=2",
"path": "https://app.pollinatorhub.eu/api/v1/parts/1/data",
"per_page": 3,
"prev_page_url": null,
"to": 3,
"total": 291
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
records
object[]
List of Records.
*
object
id
integer
The record ID.
timestamp
string
Timestamp this record was recorded at.
data
object[]
List of data contained within the Record.
*
object
descriptor
string
The UID of the descriptor this datum represents.*
column
string|null
The name of the column, the value was imported from. Can be null when streamed via API.
column_id
int|null
The internal id of the column. Can be null when streamed via API.
value
The value of the datum.
unit
The UID of the Unit, this datum is related to. Can be null.
Store Data
requires authentication
Store a set of records within the provided Dataset Part.
Example request:
curl --request POST \
"https://app.pollinatorhub.eu/api/v1/parts/1/data" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"records\": [
{
\"timestamp\": \"2022-09-27 15:00:00\",
\"data\": [
{
\"descriptor\": \"0.0.NTSCD55\",
\"value\": \"BE100\",
\"unit\": \"kg\"
}
]
}
]
}"
$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/parts/1/data';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'records' => [
[
'timestamp' => '2022-09-27 15:00:00',
'data' => [
[
'descriptor' => '0.0.NTSCD55',
'value' => 'BE100',
'unit' => 'kg',
],
],
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/parts/1/data"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"records": [
{
"timestamp": "2022-09-27 15:00:00",
"data": [
{
"descriptor": "0.0.NTSCD55",
"value": "BE100",
"unit": "kg"
}
]
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/parts/1/data'
payload = {
"records": [
{
"timestamp": "2022-09-27 15:00:00",
"data": [
{
"descriptor": "0.0.NTSCD55",
"value": "BE100",
"unit": "kg"
}
]
}
]
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()Example response (201):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete all Data
requires authentication
Removes all data related to this Dataset Part.
Example request:
curl --request DELETE \
"https://app.pollinatorhub.eu/api/v1/parts/1/data?query%5Bdescriptor_uid%5D=query%5B0.0.TEXTA315%5D%3Dexample_value" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/parts/1/data';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'query[descriptor_uid]' => 'query[0.0.TEXTA315]=example_value',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/parts/1/data"
);
const params = {
"query[descriptor_uid]": "query[0.0.TEXTA315]=example_value",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/parts/1/data'
params = {
'query[descriptor_uid]': 'query[0.0.TEXTA315]=example_value',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers, params=params)
response.json()Example response (204):
Empty response
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
deleted_records
integer
Number of records deleted from the database.
Update Data
requires authentication
Update a set of records defined by the query filter for data within the provided Dataset Part.
Example request:
curl --request PATCH \
"https://app.pollinatorhub.eu/api/v1/parts/1/data?query%5Bdescriptor_uid%5D=query%5B0.0.TEXTA315%5D%3Dexample_value" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"timestamp\": \"2022-09-27 15:00:00\",
\"data\": [
{
\"descriptor\": \"0.0.NTSCD55\",
\"value\": \"BE100\",
\"unit\": \"kg\"
}
]
}"
$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/parts/1/data';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'query[descriptor_uid]' => 'query[0.0.TEXTA315]=example_value',
],
'json' => [
'timestamp' => '2022-09-27 15:00:00',
'data' => [
[
'descriptor' => '0.0.NTSCD55',
'value' => 'BE100',
'unit' => 'kg',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/parts/1/data"
);
const params = {
"query[descriptor_uid]": "query[0.0.TEXTA315]=example_value",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"timestamp": "2022-09-27 15:00:00",
"data": [
{
"descriptor": "0.0.NTSCD55",
"value": "BE100",
"unit": "kg"
}
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/parts/1/data'
payload = {
"timestamp": "2022-09-27 15:00:00",
"data": [
{
"descriptor": "0.0.NTSCD55",
"value": "BE100",
"unit": "kg"
}
]
}
params = {
'query[descriptor_uid]': 'query[0.0.TEXTA315]=example_value',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PATCH', url, headers=headers, json=payload, params=params)
response.json()Example response (201):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
updated_records
integer
Number of records updated in the database.
Vocabulary
List classes
Get a list of all defined and approved classes, that are part of this data hub. Uses pagination.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=1&limit=3" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/vocabulary/classes';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '1',
'limit' => '3',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/vocabulary/classes"
);
const params = {
"page": "1",
"limit": "3",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/vocabulary/classes'
params = {
'page': '1',
'limit': '3',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
Show headers
cache-control: cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 51
access-control-allow-origin: *
{
"current_page": 1,
"data": [
{
"id": 1,
"description": "Robinia pseudoacacia",
"target_iri": "https://app.pollinatorhub.eu/vocabulary/classes/1",
"definition": "[The taxonomic species](https://app.pollinatorhub.eu/vocabulary/classes/7378) [*Robinia pseudoacacia* (L.)](https://app.pollinatorhub.eu/vocabulary/classes/1), which [is part of](https://app.pollinatorhub.eu/vocabulary/classes/7938) [the family Fabaceae](https://app.pollinatorhub.eu/vocabulary/classes/7915).",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes/1"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes"
}
},
"created_at": "2023-01-23T17:17:06.000000Z",
"updated_at": "2026-04-28T09:59:56.000000Z"
},
{
"id": 2,
"description": "Castanea sativa",
"target_iri": "https://app.pollinatorhub.eu/vocabulary/classes/2",
"definition": "[The taxonomic species](https://www.gbif.org/species/2889373) [*Castanea sativa* (Mill.)](https://app.pollinatorhub.eu/vocabulary/classes/2), which [is part of](https://app.pollinatorhub.eu/vocabulary/classes/7938) [the family Fagaceae](https://app.pollinatorhub.eu/vocabulary/classes/7999).",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes/2"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes"
}
},
"created_at": "2023-01-23T17:17:06.000000Z",
"updated_at": "2026-04-28T09:33:05.000000Z"
},
{
"id": 3,
"description": "Brassica napus",
"target_iri": "https://app.pollinatorhub.eu/vocabulary/classes/3",
"definition": "[The species](https://app.pollinatorhub.eu/vocabulary/classes/7378) [*Brassica napus* (L.)](https://app.pollinatorhub.eu/vocabulary/classes/3/definitions/3), which [is part of](https://app.pollinatorhub.eu/vocabulary/classes/7938) [the family Brassicaceae](https://app.pollinatorhub.eu/vocabulary/classes/8044).",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes/3"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes"
}
},
"created_at": "2023-01-23T17:17:06.000000Z",
"updated_at": "2026-04-28T09:33:05.000000Z"
}
],
"first_page_url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=1",
"from": 1,
"last_page": 2744,
"last_page_url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=2744",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=1",
"label": "1",
"active": true
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=2",
"label": "2",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=3",
"label": "3",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=4",
"label": "4",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=5",
"label": "5",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=6",
"label": "6",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=7",
"label": "7",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=8",
"label": "8",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=9",
"label": "9",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=10",
"label": "10",
"active": false
},
{
"url": null,
"label": "...",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=2743",
"label": "2743",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=2744",
"label": "2744",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes?page=2",
"path": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes",
"per_page": 3,
"prev_page_url": null,
"to": 3,
"total": 8232
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
A list of Classes available.
*
object
id
id The unique identifier used to identify the class within the platform.
description
string
The name of the class.
definition
string
The approved definition of the class.
target_iri
string
The abstract of the dataset.
created_at
string
The date and time the dataset was created.
updated_at
string
The date and time the dataset was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
index
string[]
Link to list of all resources.
Show class
Get a list of all defined and approved classes, that are part of this data hub. Uses pagination.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/vocabulary/classes/7682?page=1&limit=3" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/vocabulary/classes/7682';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '1',
'limit' => '3',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/vocabulary/classes/7682"
);
const params = {
"page": "1",
"limit": "3",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/vocabulary/classes/7682'
params = {
'page': '1',
'limit': '3',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
Show headers
cache-control: cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 50
access-control-allow-origin: *
{
"data": {
"id": 7682,
"description": "Vernacular Name",
"target_iri": "https://app.pollinatorhub.eu/vocabulary/classes/7682",
"proposer": "Michael Rubinigg",
"contributors": "",
"definition": {
"id": 7717,
"description": "A term from the [Darwin Core standard](https://dwc.tdwg.org/list/#dwc_vernacularName):\n> A common or vernacular name.",
"proposer": "Michael Rubinigg",
"contributors": "",
"references": [
"[\n\t{\n\t\t\"id\": \"http://zotero.org/users/7799586/items/XZVVPMKB\",\n\t\t\"type\": \"article-journal\",\n\t\t\"abstract\": \"Biodiversity data derive from myriad sources stored in various formats on many distinct hardware and software platforms. An essential step towards understanding global patterns of biodiversity is to provide a standardized view of these heterogeneous data sources to improve interoperability. Fundamental to this advance are definitions of common terms. This paper describes the evolution and development of Darwin Core, a data standard for publishing and integrating biodiversity information. We focus on the categories of terms that define the standard, differences between simple and relational Darwin Core, how the standard has been implemented, and the community processes that are essential for maintenance and growth of the standard. We present case-study extensions of the Darwin Core into new research communities, including metagenomics and genetic resources. We close by showing how Darwin Core records are integrated to create new knowledge products documenting species distributions and changes due to environmental perturbations.\",\n\t\t\"container-title\": \"PLOS ONE\",\n\t\t\"DOI\": \"10.1371/journal.pone.0029715\",\n\t\t\"ISSN\": \"1932-6203\",\n\t\t\"issue\": \"1\",\n\t\t\"journalAbbreviation\": \"PLOS ONE\",\n\t\t\"language\": \"en\",\n\t\t\"note\": \"publisher: Public Library of Science\",\n\t\t\"page\": \"e29715\",\n\t\t\"source\": \"PLoS Journals\",\n\t\t\"title\": \"Darwin Core: An Evolving Community-Developed Biodiversity Data Standard\",\n\t\t\"title-short\": \"Darwin Core\",\n\t\t\"URL\": \"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0029715\",\n\t\t\"volume\": \"7\",\n\t\t\"author\": [\n\t\t\t{\n\t\t\t\t\"family\": \"Wieczorek\",\n\t\t\t\t\"given\": \"John\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"family\": \"Bloom\",\n\t\t\t\t\"given\": \"David\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"family\": \"Guralnick\",\n\t\t\t\t\"given\": \"Robert\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"family\": \"Blum\",\n\t\t\t\t\"given\": \"Stan\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"family\": \"Döring\",\n\t\t\t\t\"given\": \"Markus\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"family\": \"Giovanni\",\n\t\t\t\t\"given\": \"Renato\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"family\": \"Robertson\",\n\t\t\t\t\"given\": \"Tim\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"family\": \"Vieglais\",\n\t\t\t\t\"given\": \"David\"\n\t\t\t}\n\t\t],\n\t\t\"accessed\": {\n\t\t\t\"date-parts\": [\n\t\t\t\t[\n\t\t\t\t\t\"2025\",\n\t\t\t\t\t1,\n\t\t\t\t\t10\n\t\t\t\t]\n\t\t\t]\n\t\t},\n\t\t\"issued\": {\n\t\t\t\"date-parts\": [\n\t\t\t\t[\n\t\t\t\t\t\"2012\",\n\t\t\t\t\t1,\n\t\t\t\t\t6\n\t\t\t\t]\n\t\t\t]\n\t\t}\n\t}\n]"
],
"rating": 0,
"valid_from": "2025-01-24T13:04:11.000000Z",
"valid_to": null,
"created_at": "2025-01-24T13:04:09.000000Z",
"updated_at": "2025-01-24T13:04:11.000000Z"
},
"translations": [
{
"id": 22421,
"expression": "vernacular name",
"language": "en",
"annotation": null,
"inflections": null,
"description": null,
"grammar_type": "compound noun",
"grammar_gender": null,
"grammar_number": "singular",
"proposer": "Michael Rubinigg",
"contributors": "",
"synonym": null,
"references": [],
"rating": 0,
"valid_from": "2025-01-24T13:04:38.000000Z",
"valid_to": null,
"created_at": "2025-01-24T13:04:35.000000Z",
"updated_at": "2025-01-24T13:04:38.000000Z"
},
{
"id": 27695,
"expression": "nom vernaculaire",
"language": "fr",
"annotation": null,
"inflections": null,
"description": null,
"grammar_type": "compound noun",
"grammar_gender": "masculine",
"grammar_number": "singular",
"proposer": "Jordan Benrezkallah",
"contributors": "",
"synonym": null,
"references": [],
"rating": 0,
"valid_from": "2025-05-03T05:40:33.000000Z",
"valid_to": null,
"created_at": "2025-05-03T03:32:03.000000Z",
"updated_at": "2025-05-03T05:40:33.000000Z"
}
],
"dataset": null,
"related_to": [
[
8141,
7451
]
],
"related_by": [],
"valid_from": "2025-01-24T13:03:40.000000Z",
"valid_to": null,
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes/7682"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes"
}
},
"created_at": "2025-01-24T13:03:37.000000Z",
"updated_at": "2026-04-28T09:33:05.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
A list of Classes available.
id
id The unique identifier used to identify the model within the platform.
description
string
The name of the class.
target_iri
string
The abstract of the dataset.
proposer
string
The name of the proposer.
contributors
string
Comma-separated list of contributors.
definition
string[]
The approved definition of the class.
id
integer
The unique identifier used to identify the model within the platform.
description
string
The description of the definition. Uses Markdown.
proposer
string
The name of the proposer.
contributors
string
Comma-separated list of contributors.
references
string[]
A list of CSLJson encoded references used to describe the definition.
rating
integer
The result of the ratings.
valid_from
string
The date this item is valid since.
valid_to
string
The date this item has been invalidated.
translations
string[]
List of all translations related to this class.
*
object
id
integer
The unique identifier used to identify the model within the platform.
expression
string
The expersion of the translation.
annotation
string
Any included annotations.
inflection
string
Any included inflections.
description
string
Any included descriptions.
grammar_type
string
Gramatical type of this translation. Can be one of: noun, verb, adverb, adjective, phrase, preposition, conjunction, pronoun, interjection, compound verb, compound adjective, compound noun, abbreviation, proper-noun
grammar_gender
string
Gramatical gender of this translation. Can be one of: masculine, feminine, neuter, common, animate, inanimate
grammar_number
string
Gramatical number of this translation. Can be one of: singular, plural, dual, trial, paucal
proposer
string
The name of the proposer.
contributors
string
Comma-separated list of contributors.
synonym
string[]
A list of CSLJson encoded references used to describe the definition.
references
string[]
A list of CSLJson encoded references used to describe the definition.
rating
integer
The result of the ratings.
valid_from
string
The date this item is valid since.
valid_to
string
The date this item has been invalidated.
created_at
string
The date and time the dataset was created.
updated_at
string
The date and time the dataset was last updated.
dataset
string|null
The UID of the dataset, this class was taken from.
related_to
string[]
A two-value array creating triplets with current class. First value is the class id of the relationship, the second is the id of the related class.
related_by
string[]
A two-value array creating reverse-relationship triplets with current class. First value is the class id of the relationship, the second is the id of the related class.
valid_from
string
The date this item is valid since.
valid_to
string
The date this item has been invalidated.
created_at
string
The date and time the dataset was created.
updated_at
string
The date and time the dataset was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
index
string[]
Link to list of all resources.
Descriptors
List descriptors
Get a list of all defined and approved classes, that are part of this data hub. Uses pagination.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=1&limit=3" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '1',
'limit' => '3',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors"
);
const params = {
"page": "1",
"limit": "3",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors'
params = {
'page': '1',
'limit': '3',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
Show headers
cache-control: cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 49
access-control-allow-origin: *
{
"current_page": 1,
"data": [
{
"id": 3,
"uid": "0.0.SHRTC3",
"namespace": "iso-3166",
"name": "shortUppercaseNameOfCountry",
"description": "> [...] Short form of the country name [in capital letters], distinctive word first. [...] In [language of the ISO 3166 standard](https://app.pollinatorhub.eu/vocabulary/classes/7930). [...] This item might be inverted, allowing the distinctive word to appear first, so that items can be easily found in an alphabetical list. See [Annex F]https://www.iso.org/obp/ui/en/#iso:std:iso:3166:-1:ed-4:v1:en:sec:F), principles [F.2](https://www.iso.org/obp/ui/en/#iso:std:iso:3166:-1:ed-4:v1:en:sec:F.2).",
"class": "short uppercase letters name of country",
"datatypes": [
"String"
],
"unit": null,
"created_at": "2022-11-19T09:03:29.000000Z",
"updated_at": "2026-05-18T09:22:23.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/3"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors"
},
"class.show": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes/7929"
}
}
},
{
"id": 4,
"uid": "0.0.LPHCN4",
"namespace": "iso-3166",
"name": "alpha-2CountryCode",
"description": "> A two-letter code that represents a country name, recommended as the general purpose code.",
"class": "alpha-2 country code",
"datatypes": [
"String"
],
"unit": null,
"created_at": "2022-11-19T09:03:29.000000Z",
"updated_at": "2025-02-26T16:50:43.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/4"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors"
},
"class.show": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes/7294"
}
}
},
{
"id": 5,
"uid": "0.0.LPHCN5",
"namespace": "iso-3166",
"name": "alpha-3CountryCode",
"description": "> A three-letter code that represents a country name, which is usually more closely related to the country name.",
"class": "alpha-3 country code",
"datatypes": [
"String"
],
"unit": null,
"created_at": "2022-11-19T09:03:29.000000Z",
"updated_at": "2025-02-26T16:51:15.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/5"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors"
},
"class.show": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes/7295"
}
}
}
],
"first_page_url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=1",
"from": 1,
"last_page": 160,
"last_page_url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=160",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=1",
"label": "1",
"active": true
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=2",
"label": "2",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=3",
"label": "3",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=4",
"label": "4",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=5",
"label": "5",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=6",
"label": "6",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=7",
"label": "7",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=8",
"label": "8",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=9",
"label": "9",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=10",
"label": "10",
"active": false
},
{
"url": null,
"label": "...",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=159",
"label": "159",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=160",
"label": "160",
"active": false
},
{
"url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors?page=2",
"path": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors",
"per_page": 3,
"prev_page_url": null,
"to": 3,
"total": 480
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
A list of Descriptors available.
*
object
id
integer
Numeric identifier of the descriptor.
uid
string
The unique identifier used to identify the descriptor within the platform.
namespace
string|null
The namespace this descriptor belongs to.
name
string
Name of the descriptor.
description
string|null
A short, concise description of the descriptor. If a class is assigned to descriptor, this field contains the accepted definition of the related class. Uses Markdown for styling.
class
string|null
An optional class, related to this descriptor.
unit
string|null
The unit data is saved in. May not be set.
datatypes
string[]
The underlying datatypes to store the data. Is one of: String, Integer, Decimal, Date, DateTime, Time, Boolean, Coordinates.
created_at
string
The date and time the table was created.
updated_at
string
The date and time the table was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
index
string[]
Link to list of all resources.
class
object
show
array|null Link to related class.
Show descriptor
Get a list of all defined and approved classes, that are part of this data hub. Uses pagination.
Example request:
curl --request GET \
--get "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/0.0.NTSCD55?page=1&limit=3" \
--header "Content-Type: application/json" \
--header "Accept: application/json"$client = new \GuzzleHttp\Client();
$url = 'https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/0.0.NTSCD55';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '1',
'limit' => '3',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/0.0.NTSCD55"
);
const params = {
"page": "1",
"limit": "3",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/0.0.NTSCD55'
params = {
'page': '1',
'limit': '3',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
Show headers
cache-control: cache, private
content-type: application/json
resource-api-success:
x-ratelimit-limit: 60
x-ratelimit-remaining: 48
access-control-allow-origin: *
{
"data": {
"id": 55,
"uid": "0.0.NTSCD55",
"namespace": "eurostat",
"name": "nuts2021Code",
"description": "[A NUTS code](https://app.pollinatorhub.eu/vocabulary/classes/3328) defined in the [NUTS classification 2021](https://eur-lex.europa.eu/eli/reg_del/2019/1755/oj), valid from 2021-01-01 to 2023-12-31, containing 92 regions at NUTS level 1, 244 regions at NUTS level 2 and 1165 regions at NUTS level 3 level.",
"notes": null,
"examples": null,
"class": {
"id": 3369,
"description": "NUTS 2021 code",
"target_iri": "https://app.pollinatorhub.eu/vocabulary/classes/3369",
"definition": "[A NUTS code](https://app.pollinatorhub.eu/vocabulary/classes/3328) defined in the [NUTS classification 2021](https://eur-lex.europa.eu/eli/reg_del/2019/1755/oj), valid from 2021-01-01 to 2023-12-31, containing 92 regions at NUTS level 1, 244 regions at NUTS level 2 and 1165 regions at NUTS level 3 level.",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes/3369"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes"
}
},
"created_at": "2024-09-25T10:02:03.000000Z",
"updated_at": "2026-04-28T09:33:05.000000Z"
},
"datatypes": [
"String"
],
"unit": null,
"dataset": null,
"dependencies": [
{
"name": "NUTS",
"uid": "nuts",
"description": "> The NUTS classification (Nomenclature of territorial units for statistics) is a hierarchical system for dividing up the economic territory of the EU and the UK for the purpose of:\n> \n> * The collection, development and harmonisation of European regional statistics\n> * Socio-economic analyses of the regions\n> [...]\n> * Framing of EU regional policies",
"parent": "eurostat",
"class": " NUTS",
"links": {
"class.show": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes/3326"
}
},
"created_at": "2025-01-17T08:44:08.000000Z",
"updated_at": "2025-03-25T22:05:56.000000Z"
}
],
"parents": [
"0.0.LCODE73"
],
"children": [],
"subset_by": [],
"names": [],
"named_by": [],
"describes": [],
"described_by": [],
"same_as": [],
"created_at": "2023-09-01T06:53:40.000000Z",
"updated_at": "2026-05-28T10:05:42.000000Z",
"links": {
"self": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors/55"
},
"index": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/descriptors"
},
"class.show": {
"href": "https://app.pollinatorhub.eu/api/v1/vocabulary/classes/3369"
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object
The returned resource.
id
integer
Numeric identifier of the resource.
uid
string
The unique identifier used to identify the resource within the platform.
namespace
string|null
The namespace this resource belongs to.
name
string
Name of the resource.
description
string|null
A short, concise description of the resource. If a class is assigned to descriptor, this field contains the accepted definition of the related class. Uses Markdown for styling.
notes
string|null
Any additional notes attached to the resource. Uses Markdown for styling.
examples
string|null
A list of examples, how the data may appear. Uses Markdown for styling.
class
object|null
An optional class, related to this resource.
id
id The unique identifier used to identify the class within the platform.
description
string
The name of the class.
definition
string
The approved definition of the class.
target_iri
string
The abstract of the dataset.
created_at
string
The date and time the resource was created.
updated_at
string
The date and time the resource was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
index
string[]
Link to list of all resources.
unit
string|null
The unit data is saved in. May not be set.
datatypes
string[]
The underlying datatypes to store the data. Is one of: String, Integer, Decimal, Date, DateTime, Time, Boolean, Coordinates.
dataset
object|null
The uid of the related dataset, that this resource might belong to.
id
integer
Numeric identifier of the dataset.
uid
string
The unique identifier used to identify the entity within the platform.
name
string
The actual name of the dataset.
long_name
string|null
The long version of the name of the dataset.
description
string|null
Dataset abstract. Uses Markdown for styling.
featured_image
string|null
URL to uploaded image representing this dataset.
status
string
The status of the dataset. The list of available status are the following: draft, pending, reject, reviewing, pending-peer-rev, peer-reviewing, publish, publish-with-pw, trash, hidden
public
boolean
True means that the data of this dataset are public.
licence
string|null
The uid of the licence of this entity.
published_at
string|null
The date and time the dataset was published.
created_at
string
The date and time the dataset was created.
updated_at
string
The date and time the dataset was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
update
string[]
Link to update this resource.
delete
string[]
Link to delete this resource.
index
string[]
Link to list of all resources.
create
string[]
Link to create a new resource.
dependencies
string[]
A list of dependencies, this descriptor contains.
*
object
name
string
Name of the depdenecy.
uid
string
The unique identifier used to identify the resource within the platform.
description
string
A concesie description of the depdency.
parent
string|null
An optional parent, this resource might belong to.
class
string|null
Related class, this resource might belong to.
show
array|null Link to related class.
created_at
string
The date and time the resource was created.
updated_at
string
The date and time the resource was last updated.
link
string[]
Restfull API links.
parents
string[]
A list of parent descriptors this resource has.
*
string
The UID of the related resource.
children
string[]
A list of children descriptors this resource has.
*
string
The UID of the related resource.
subseted_by
string[]
A list of descriptors this resource is subset by.
*
string
The UID of the related resource.
names
string[]
A list of descriptors this resource names.
*
string
The UID of the related resource.
named_by
string[]
A list of descriptors this resource is named by.
*
string
The UID of the related resource.
describes
string[]
A list of descriptors this resource describes.
*
string
The UID of the related resource.
described_by
string[]
A list of descriptors this resource is described by.
*
string
The UID of the related resource.
same_as
string[]
A list of descriptors this resource is equal to.
*
string
The UID of the related resource.
created_at
string
The date and time the resource was created.
updated_at
string
The date and time the resource was last updated.
links
string[]
Restfull API links.
self
string[]
Direct link of this resource.
index
string[]
Link to list of all resources.
class
object
show
array|null Link to related class.