API Belnet v1
Updated 2026-04-23
This version of the DMPRoadmap API complies with the RDA Common Standard Metadata schema v1.0. This schema is a recommendation for the transfer of DMP metadata between systems. The specification was created by the RDA Common Standard Working Group.
Authentication and Setup
To interact with the API, you must first generate a valid Client ID and Client Secret or an API Token. You can follow the Authentication guide in the tab API V1. You have two options, either using the API Client or your user's client secret.
Using the API
There are three API endpoints to interact with the versioning system of a plan. Below is a description of each endpoint.
Versioning of Plans
Get Versions
GET {{BASE_URL}}/api/belnet/v1/plans/PLAN_ID/versions
Retrieves all versions of a specific plan by the ID of any of the plans in the list of versions.
Headers
| Key | Value |
|---|---|
| Accept | application/json |
| Authorization | Bearer YOUR_ACCESS_TOKEN |
Sample Response:
{
"application": "DMPonline.be",
"source": "GET /api/belnet/v1/plans/197697/versions",
"time": "2026-04-23T08:34:36+00:00",
"caller": "Charlie Davis",
"code": 200,
"message": "OK",
"page": 1,
"per_page": 100,
"total_items": 2,
"items": [
{
"dmp": {
"schema": "https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard/tree/master/examples/JSON/JSON-schema/1.0",
"title": "Example plan",
"language": "eng",
"version": 1,
"reason_for_version": "This is an example reason for a version.",
"created": "2026-04-23T08:33:39Z",
"modified": "2026-04-23T08:33:39Z",
"ethical_issues_exist": "unknown",
"dmp_id": {
"type": "url",
"identifier": "http://localhost:3000/api/v1/plans/197698"
},
"contact": {
"name": "Charlie Davis",
"mbox": "example.user@testuser.be",
"affiliation": {
"name": "Université de Liège",
"abbreviation": "ULiege"
}
},
"project": [
{
"title": "Example plan",
"start": "2026-04-23T08:34:36+00:00",
"end": "2028-04-23T08:34:36+00:00"
}
],
"dataset": [
{
"type": "dataset",
"title": "Generic dataset",
"description": "No individual datasets have been defined for this DMP."
}
],
"extension": [
{
"dmproadmap": {
"template": {
"id": 7951,
"title": "ULIEGE DMP"
}
}
}
]
}
},
{
"dmp": {
"schema": "https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard/tree/master/examples/JSON/JSON-schema/1.0",
"title": "Example plan",
"language": "eng",
"version": 0,
"created": "2026-04-23T08:32:52Z",
"modified": "2026-04-23T08:33:39Z",
"ethical_issues_exist": "unknown",
"dmp_id": {
"type": "url",
"identifier": "http://localhost:3000/api/v1/plans/197697"
},
"contact": {
"name": "Charlie Davis",
"mbox": "example.user@testuser.be",
"affiliation": {
"name": "Université de Liège",
"abbreviation": "ULiege"
}
},
"project": [
{
"title": "Example plan",
"start": "2026-04-23T08:34:36+00:00",
"end": "2028-04-23T08:34:36+00:00"
}
],
"dataset": [
{
"type": "dataset",
"title": "Generic dataset",
"description": "No individual datasets have been defined for this DMP."
}
],
"extension": [
{
"dmproadmap": {
"template": {
"id": 7951,
"title": "ULIEGE DMP"
}
}
}
]
}
}
]
}
Get Specific Version
GET {{BASE_URL}}/api/belnet/v1/plans/PLAN_ID/versions/VERSION_NUMBER
Retrieves a specific version of a plan using any of the versions' plan IDs and using a version number.
Headers
| Key | Value |
|---|---|
| Accept | application/json |
| Authorization | Bearer YOUR_ACCESS_TOKEN |
Sample Response:
{
"application": "DMPonline.be",
"source": "GET /api/belnet/v1/plans/197697/versions/1",
"time": "2026-04-23T08:53:01+00:00",
"caller": "Charlie Davis",
"code": 200,
"message": "OK",
"page": 1,
"per_page": 100,
"total_items": 1,
"items": [
{
"dmp": {
"schema": "https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard/tree/master/examples/JSON/JSON-schema/1.0",
"title": "Example plan",
"language": "eng",
"version": 1,
"reason_for_version": "This is an example reason for a version.",
"created": "2026-04-23T08:33:39Z",
"modified": "2026-04-23T08:33:39Z",
"ethical_issues_exist": "unknown",
"dmp_id": {
"type": "url",
"identifier": "http://localhost:3000/api/v1/plans/197698"
},
"contact": {
"name": "Charlie Davis",
"mbox": "example.user@testuser.be",
"affiliation": {
"name": "Université de Liège",
"abbreviation": "ULiege"
}
},
"project": [
{
"title": "Example plan",
"start": "2026-04-23T08:53:01+00:00",
"end": "2028-04-23T08:53:01+00:00"
}
],
"dataset": [
{
"type": "dataset",
"title": "Generic dataset",
"description": "No individual datasets have been defined for this DMP."
}
],
"extension": [
{
"dmproadmap": {
"template": {
"id": 7951,
"title": "ULIEGE DMP"
}
}
}
]
}
}
]
}
Create New Version
POST {{BASE_URL}}/api/belnet/v1/plans/PLAN_ID/versions
Creates a new version of a plan using any of the versions' plan IDs. A reason is required between 10 and 500 characters.
Headers
| Key | Value |
|---|---|
| Accept | application/json |
| Authorization | Bearer YOUR_ACCESS_TOKEN |
Body
{
"reason": "This is an example reason for a version."
}
Sample Response:
{
"application": "DMPonline.be",
"source": "GET /api/belnet/v1/plans/197697/versions/1",
"time": "2026-04-23T08:53:01+00:00",
"caller": "Charlie Davis",
"code": 200,
"message": "OK",
"page": 1,
"per_page": 100,
"total_items": 1,
"items": [
{
"dmp": {
"schema": "https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard/tree/master/examples/JSON/JSON-schema/1.0",
"title": "Example plan",
"language": "eng",
"version": 1,
"reason_for_version": "This is an example reason for a version.",
"created": "2026-04-23T08:33:39Z",
"modified": "2026-04-23T08:33:39Z",
"ethical_issues_exist": "unknown",
"dmp_id": {
"type": "url",
"identifier": "http://localhost:3000/api/v1/plans/197698"
},
"contact": {
"name": "Charlie Davis",
"mbox": "example.user@testuser.be",
"affiliation": {
"name": "Université de Liège",
"abbreviation": "ULiege"
}
},
"project": [
{
"title": "Example plan",
"start": "2026-04-23T08:53:01+00:00",
"end": "2028-04-23T08:53:01+00:00"
}
],
"dataset": [
{
"type": "dataset",
"title": "Generic dataset",
"description": "No individual datasets have been defined for this DMP."
}
],
"extension": [
{
"dmproadmap": {
"template": {
"id": 7951,
"title": "ULIEGE DMP"
}
}
}
]
}
}
]
}