-
Notifications
You must be signed in to change notification settings - Fork 0
API Overview
- Authorization
- Standard Headers
- Response Structures
- Error Code
- Pagination
-
Available Endpoints
-
Data Management Plans
- Validate a DMP (JSON) -
POST /dmps/validate
- Get DMPs -
GET /dmps
- Get a DMP -
GET /dmps/{dmp_id}
- Create a DMP -
POST /dmps
- Update a DMP -
PUT /dmps/{dmp_id}
- Tombstone a DMP -
DELETE /dmps/{dmp_id}
- Download all DMP metadata as JSONL -
GET /dmps/downloads
- Upload a file for processing -
PUT /dmps/uploads/
- Validate a DMP (JSON) -
-
DMP Narrative PDF Support
- Upload Narrative PDF -
POST /narratives
- Upload Narrative PDF -
-
Funder Award/Grant Search
- Get awards from the Crossref API -
GET /awards/crossref/{funder_id}
- Get awards from the National Institutes of Health (US) API -
/awards/nih
- Get awards from the National Science Foundation (US) / NASA API -
/awards/nsf
- Get awards from the Crossref API -
-
Citations
- Pass a DOI to fetch it's BibTex citation -
POST /citations
- Pass a DOI to fetch it's BibTex citation -
-
Data Management Plans
- Example of DMP JSON Metadata
- Explanation of DMP JSON Contents
You can visit our OpenAPI specification (aka Swagger) page to explore the API functionality.
The API supports the OAuth2 client_credentials
grant flow. You need to call the oauth2/token
endpoint. Like this:
curl -v -H 'Authorization: Basic BASE64(client_id:client_secret)' /
-H 'Content-Type: application/x-www-form-urlencoded' /
-d 'grant_type=client_credentials&scope=https://auth.dmphub.uc3[env].cdlib.net/[env].read https://auth.dmphub.uc3[env].cdlib.net/[env].write' /
https://auth.dmphub.uc3[env].cdlib.net/oauth2/token
Where BASE64(client_id:client_secret)
is your client_id and client_secret separated by a colon and encoded as Base64. Here is an example of how to do that in ruby:
encoded = Base64.strict_encode64("#{client_id}:#{client_secret}")
Available Scopes:
https://auth.dmphub.uc3[env].cdlib.net/[env].read
https://auth.dmphub.uc3[env].cdlib.net/[env].write
https://auth.dmphub.uc3[env].cdlib.net/[env].delete
https://auth.dmphub.uc3[env].cdlib.net/[env].upload
Once you have a valid access_token, you will need to supply it in the Authorization header. For example: Authorization: Bearer [token]
Aside from the Authorization
header required by any endpoint that requires a Scope, you should also include and 'Accept' header and a 'Content-Type' header. The values for both are always application/json
unless otherwise noted.
All API responses are structured in a standard format:
{
"status":200,
"requested":"/funders?search=NIH",
"requested_at":"2023-02-08T18:49:45621UTC",
"total_items":1,
"page":1,
"per_page":25,
"items": [],
"errors": []
}
A successful response will include a 'status' of 2xx and entries in the 'items' array. Error responses with include a 'status' or 4xx or 5xx (depending on the error) and entries in the 'errors' array.
The examples below would all be included in the 'items' array of the response. We omit the standard response structure from these examples for the sake of brevity.
The standard response includes information to help you traverse the possible results from the endpoint.
-
total_items
provides you with the number of potential records available from the endpoint. -
total_pages
provides you with the number of total pages -
page
the current page you are on -
per_page
the number of items included on the page -
first
a link to the first page (assuming there are more than 1 page) -
last
a link to the last page (assuming there are more than 1 page) -
prev
a link to the prior page (assuming there are more than 1 page and you are not on the 1st page) -
next
a link to the next page (assuming there are more than 1 page and you are not on the last page)
For endpoints that allow it, you can specify the total number of items per_page
you would like to receive (default: 25, maximum: 250) and which page
(default: 1) you would like to receive. For example: endpoint?page=3&per_page=100
The following endpoints supply CRUD operations for DMP ID records.
Returns either all of the DMPs associated with your organization/institution or allows you to search, sort and filter those DMPs
- Required Scope:
https://api.dmphub.uc3[env].cdlib.net/[env].read
- Query Param(s):
-
owner - The ORCID id (without the domain e.g.
?owner=0000-0000-0000-000X
) or an email address (with an encoded '@' character e.g.?owner=test%40example.com
) -
org - The the ROR id for an organization e.g.
?org=8737548t
.- If your institution has only one ROR you can omit this parameter
- If your institution has multiple RORs (e.g. one primary and then one for a medical school) you can specify the specific ROR you want OR leave it blank and the system will return DMPs for all of your associated ROR ids
-
funder - A funder's ROR id or Crossref Funder id (without the domain e.g.
?funder=12345abc
or?funder=10.13039/100000002
).- Note that this is dependent on the way a DMP has encoded the funder's identifier. If the DMP uses the ROR id and you search for the Crossref Funder id, it will not return that DMP
-
search - A simple search against DMP titles and abstracts (e.g.
?search=Test+Plan
)- Note that this search is an exact match. For example if you search for
Example Test
, it will only return DMPs that contain that exact phrase
- Note that this search is an exact match. For example if you search for
-
sort - The sort type
- Options are:
modified
ortitle
- Default:
modified
(e.g.?sort=modified
)
- Options are:
-
sort_dir - The sort direction
- Options are:
asc
ordesc
- Default:
desc
(e.g.?sort_dir=desc
)
- Options are:
-
owner - The ORCID id (without the domain e.g.
- Successful Response Code: 200
A successful response will include the full DMP ID metadata for the latest version of each of the DMPs.
See above for information on pagination and how to traverse the results.
See the DMP ID examples below for an example response.
Returns the specified DMP ID metadata.
- Required Scope: N/A - this endpoint is publicly accessible
- Path Param(s):
dmp_id
is the DMP's DMP ID without it's protocol (e.g.10.12345/ABC123
ordoi.org/10.12345/ABC123
) - Query Param(s):
version
is the version's date-time stamp (e.g.2023-02-01T13:09:03+00:00
). - Successful Response Code: 200
A successful response will include the full DMP ID metadata. Note that if no version
is specified the latest version will be returned.
See the DMP ID examples below for an example response.
Registers a new DMP ID.
- Required Scope:
https://api.dmphub.uc3[env].cdlib.net/[env].write
- Body: The should contain the DMP ID metadata see the DMP ID examples below for an example.
- Successful Response Code: 201
A successful response will include the full DMP ID metadata. The dmp_id
entry will contain the newly registered DMP ID.
See the DMP ID examples below for an example response.
Validates the DMP ID metadata.
- Required Scope: N/A - this endpoint is publicly accessible
- Body: The should contain the DMP ID metadata see the DMP ID examples below for an example.
- Successful Response Code: 200
A successful response will include 'The JSON is valid' in the items
array. An error will include detailed information about what was wrong with the JSON in the errors
array
Update the specified DMP ID metadata
- Required Scope:
https://api.dmphub.uc3[env].cdlib.net/[env].write
- Path Param(s):
dmp_id
is the DMP's DMP ID without it's protocol (e.g.10.12345/ABC123
ordoi.org/10.12345/ABC123
) - Body: The should contain the DMP ID metadata see the DMP ID examples below for an example.
- Successful Response Code: 200
A successful response will include the full DMP ID metadata. The dmphub_versions
array will contain the links to all prior versions.
See the DMP ID examples below for an example response.
Tombstone the specified DMP ID
- Required Scope:
https://api.dmphub.uc3[env].cdlib.net/[env].delete
- Path Param(s):
dmp_id
is the DMP's DMP ID without it's protocol (e.g.10.12345/ABC123
ordoi.org/10.12345/ABC123
) - Successful Response Code: 200
A successful response will include the full DMP ID metadata.
See the DMP ID examples below for an example response.
High level DMP metadata is compiled and stored in JSONL files each Saturday.
- Required Scope:
https://api.dmphub.uc3[env].cdlib.net/[env].data-transfer
- Successful Response Code: 200
A successful response will include the high level metadata DMP IDs you have access to including pre-signed URLs that can be used to retrieve the files.
See the DMP ID examples below for an example response.
Retrieve an S3 pre-signed URL that will allow you to upload a file. This is used in scenarios where your system has an integration with the DMP Tool that cannot be handled by the normal REST API (e.g. batch processing large numbers of records).
- Required Scope:
https://api.dmphub.uc3[env].cdlib.net/[env].data-transfer
- Successful Response Code: 200
A successful response will include the name of the file and the pre-signed URL.
{ "[clientName]-example_2024-11-21_1.json": "https://example.com/file?example=variable1" }
DMP IDs consist of high level metadata about a the intended plans for a project's outputs. Most funders however require a narrative document that a human audience can read. The following endpoints allow for you to upload and retrieve a DMP ID's corresponding narrative document as a PDF.
To retrieve a PDF narrative document for a specific DMP, you will first need to call the GET dmps/{dmp_id}
endpoint to retrieve the DMP's metadata.
If the DMP is publicly visible, you will see an entry in it's dmproadmap_related_identifiers
array that contains a "descriptor": "is_metadata_for"
and a "work_type": "output_management_plan"
. You can use that URL to retrieve the PDF document.
- Required Scope:
https://api.dmphub.uc3[env].cdlib.net/[env].upload
- Headers(s):
Content-Type
should bemultipart/form-data
- Body: The binary PDF document
- Successful Response Code: 201
The response from this endpoint returns the retrieval URL for the narrative document as a related identifier that should be attached to the DMP ID record.
Example of the items
array for a successful response will include the new download URL for the PDF document:
{
"dmproadmap_related_identifiers": [
{
"descriptor": "is_metadata_for",
"work_type": "output_management_plan",
"type": "url",
"identifier": "https://api.dmphub.uc3[env].cdlib.net/narratives/83t838t83t.pdf"
}
]
}
The following endpoints are meant to support Funder award/grant searches. See the individual endpoint documentation for the available search terms and filters.
All of these endpoints return the award/grant information in the same format. See below for an example.
- Required Scope:
https://api.dmphub.uc3[env].cdlib.net/[env].read
- Path Param(s):
funder_id
should match the Crossref funder id returned by a result fromapi.dmphub.uc3[env].cdlib.net/funders
- Query Param(s): Either a project/award id OR a combination of title keywords, PI names and award year must be specified.
-
project
a project id or award id that is relevant to the funder (e.g.project=1R0134BC1531
) -
keyword
param should contain keywords that can be used to help search the project title and description (e.g.keyword=particle+physics
) -
pi_names
the names of the principal investigators (PIs) (e.g.pi_names=Jane+Doe,Smith,John+A.+Jones
) -
years
the year that the award was granted (e.g.years=2022,2023
)
-
- Successful Response Code: 200
The ‘funder_id’ in the path should match the Crossref funder id value for the funder record For example: 10.12345/10000002
.
Same as awards/crossref/{funder_id}
above. This endpoint requires the scope, accepts the same query parameters and returns results in the same format. It does not require a funder_id
as part of the path.
Same as awards/crossref/{funder_id}
above. This endpoint requires the scope, accepts the same query parameters and returns results in the same format. It does not require a funder_id
as part of the path.
All of the funder award endpoints return results in the following format. The structure of these responses is designed to make it easier to attach to a DMP ID metadata record.
[
{
"funding": {
"title": "Example Research Project",
"description": "Lorem ipsum ...",
"dmproadmap_opportunity_number": "ABC123",
"dmproadmap_project_number": "zyx987",
"start": "2023-09-13",
"end": "2026-01-01",
"grant_id": {
"identifier": "u3h93h35t435t",
"type": "other"
}
},
"contact": {
"name": "Smith, John",
"mbox": "jsmith@example.com",
"contact_id": {
"identifier": "https://orcid.org/0000-0000-0000-000Y",
"type": "orcid"
},
"dmproadmap_affiliation": {
"name": "California Digital Library (cdlib.org)",
"affiliation_id": {
"identifier": "https://ror.org/03yrm5c26",
"type": "ror"
}
}
},
"contributor": [
{
"name": "Smith, John",
"contributor_id": {
"identifier": "https://orcid.org/0000-0000-0000-000Y",
"type": "orcid"
},
"roles": [
"http://credit.niso.org/contributor-roles/data_curation"
],
"dmproadmap_affiliation": {
"name": "California Digital Library (cdlib.org)",
"affiliation_id": {
"identifier": "https://ror.org/03yrm5c26",
"type": "ror"
}
}
},
{
"name": "Doe, Jane",
"contributor_id": {
"identifier": "https://orcid.org/0000-0000-0000-000X",
"type": "orcid"
},
"roles": [
"http://credit.niso.org/contributor-roles/investigation"
],
"dmproadmap_affiliation": {
"name": "California Digital Library (cdlib.org)",
"affiliation_id": {
"identifier": "https://ror.org/03yrm5c26",
"type": "ror"
}
}
}
]
}
]
The following endpoints are meant to support the retrieval of citations for DOIs.
All of these endpoints return the citation information in the same format. See below for an example.
- Required Scope:
https://api.dmphub.uc3[env].cdlib.net/[env].read
- Headers(s):
Content-Type
should beapplication/json
- Body: A JSON object containing:
-
dois: An array of DOIs that you want to convert to citations (e.g.
["https://doi.org/11.2222/ABC123","99.8888/ZYX987"]
) -
style: (optional) the citation style you would like to receive see the list of styles here. The system returns
chicago-author-date
by default.
-
dois: An array of DOIs that you want to convert to citations (e.g.
- Successful Response Code: 200
Please note that many hosts behind a DOI (e.g. a journal website) can be slow to return the BibTex citation format for a DOI. This means you should limit the size of the dois
array to 5 DOIs at a time. This endpoint will automatically timeout after 1 minute.
Example of the items
array for a successful response will include the new DOI and the citation (or null if the BibTex could not be retrieved from the DOI host:
[
{
"doi": "https://doi.org/11.2222/ABC123",
"citation": "<p>Fin clips and liver samples are sent to the Pacific Biological Station for stock identification. Currently, we have results from 2015-2019. </p> <p>These data could be published in a stand alone data package, with an accompanying data paper. Currently, they reside in the JSP GitHub repo along with the JSP Time-series dataset.</p>"
}, {
"doi": "https://doi.org/99.8888/ZYX987",
"citation": null
}
]
The DMP JSON format this system uses is based on the RDA Common Metadata Standard to describe DMP metadata. Note that the DMP Tool does not collect every field here, so some may not be available in some cases.
The following are examples of a minimal and a complete DMP JSON object.
See the explanation of DMP JSON contents below for an explanation of each of these fields.
The following is an example of the bare minimum amount of metadata needed for a valid DMP ID:
{
"dmp": {
"title": "Example Research Project",
"modified": "2022-11-14T22:18:18Z",
"created":"2021-11-08T19:06:04Z",
"contact": {
"name": "Doe PhD., Jane A.",
"dmproadmap_affiliation": {
"name": "California Digital Library (cdlib.org)",
"affiliation_id": {
"type": "ror",
"identifier": "https://ror.org/03yrm5c26"
}
},
"mbox": "jane.doe@example.com",
"contact_id":{
"type": "orcid",
"identifier": "https://orcid.org/0000-0000-0000-000X"
}
},
"dmp_id": {
"identifier": "https://doi.org/10.12345/A1B2C3D4",
"type": "doi"
},
"project": [
{
"title": "Example Research Project"
}
],
"dataset": [
{
"title": "Recordings of the great horned owl"
}
]
}
}
The following is an example of the high level DMP ID metadata available from the GET dmps/downloads
endpoint:
{
"PK":"DMP#doi.org/10.48321/D1J31B",
"SK":"METADATA",
"dmp_id": "doi.org/10.48321/D1J31B",
"created": "2022-10-14",
"modified": "2023-08-14",
"registered": "2022-10-14",
"title": "Example Data Management Plan",
"description": "Example DMP abstract",
"narrative_url": "https://example.com/narratives/993243e943f146cf.pdf",
"visibility": "public",
"featured": "1",
"project_start": "2022-10-03",
"project_end": "2027-10-01"
"people": ["jane doe","jdoe@example.com"],
"people_ids": ["0000-0000-0000-0000"],
"affiliations": ["johns hopkins university"],
"affiliation_ids": ["00za53h95"],
"funders": ["federation of american societies for experimental biology (faseb.org)"],
"funder_ids": ["01mh1c318"],
"grant_ids": ["12345],
"funder_opportunity_ids": ["OPP-1234567890"],
"funding_status": "planned",
"repos": ["Inter-university Consortium for Political and Social Research","NITRC"],
"repo_ids" ["https://www.icpsr.umich.edu/","r3d100010255","https://www.nitrc.org/"]
}
The following is an example of a complete DMP ID metadata record:
{
"dmp": {
"title": "Example Research Project",
"description": "Lorem ipsum ...",
"language": "eng",
"modified": "2022-01-28T17:52:14+00:00",
"created":"2021-11-08T19:06:04+00:00",
"contact": {
"name": "Doe PhD., Jane A.",
"dmproadmap_affiliation": {
"name": "California Digital Library (cdlib.org)",
"affiliation_id": {
"type": "ror",
"identifier": "https://ror.org/03yrm5c26"
}
},
"mbox": "jane.doe@example.com",
"contact_id":{
"type": "orcid",
"identifier": "https://orcid.org/0000-0000-0000-000X"
}
},
"contributor": [
{
"name": "Smith, John",
"role": ["http://credit.niso.org/contributor-roles/investigation"],
"dmproadmap_affiliation": {
"name": "California Digital Library (cdlib.org)",
"affiliation_id": {
"type": "ror",
"identifier": "https://ror.org/03yrm5c26"
}
},
"contributor_id":{
"type": "orcid",
"identifier": "https://orcid.org/0000-0000-0000-000Z"
}
}
],
"dmp_id": {
"identifier": "https://doi.org/10.12345/ABC123",
"type": "file"
},
"dmproadmap_related_identifiers": [
{
"work_type": "output_management_plan",
"descriptor": "is_metadata_for",
"type": "url",
"identifier": "https://api.dmphubdev.cdlib.org/dmps/doi.org/10.12345/ABC123/narrative"
},
{
"work_type": "software",
"descriptor": "references",
"type": "url",
"identifier": "https://github.com/CDLUC3/dmp-hub-cfn"
}
],
"dmproadmap_research_facilities": [
{
"name": "Organic and Analytical Chemistry Laboratory",
"type": "laboratory",
"facility_id": {
"type": "ror",
"identifier": "https://ror.org/04e8pda19"
}
}
],
"ethical_issues_description": "The research output may contain PII that will need to be anonymized",
"ethical_issues_exist": "yes",
"ethical_issues_report": "https://example.com/privacy_policies.html",
"project": [
{
"title": "Example Research Project",
"description": "Lorem ipsum ...",
"start": "2015-05-12",
"end": "2024-11-29",
"funding": [
{
"name": "National Institutes of Health (nih.gov)",
"funder_id": {
"type": "crossref",
"identifier": "https://api.crossref.org/funders/100000002"
},
"dmproadmap_opportunity_number": "ABC123",
"dmproadmap_project_number": "zyx987",
"funding_status": "granted",
"grant_id": {
"type": "other",
"identifier": "u3h93h35t435t"
},
"dmproadmap_funded_affiliations": [
{
"name": "California Digital Library (cdlib.org)",
"affiliation_id": {
"type": "ror",
"identifier": "https://ror.org/03yrm5c26"
}
}
]
}
]
}
],
"cost": [
{
"title": "Annual Preservation",
"currency_code": "usd",
"description": "The annual cost to preserve the datasets ...",
"value": 242
}
],
"dataset": [
{
"title": "Recordings of the great horned owl",
"type": "dataset",
"description": "We will collect recordings of the great horned owl in the ...",
"personal_data": "yes",
"sensitive_data": "no",
"data_quality_assurance": [
"We will use standard naming conventions for the datasets and audio recordings"
],
"dataset_id": {
"identifier": "99999999",
"type": "other"
},
"distribution": [
{
"title": "Distribution to Dryad",
"data_access": "open",
"description": "The primary distribution of the dataset ...",
"byte_size": 23567456,
"available_until": "2034-12-31",
"host": {
"title": "Dryad",
"description": "Dryad is a great repository ...",
"url": "https://datadryad.org",
"dmproadmap_host_id": {
"type": "url",
"identifier": "https://www.re3data.org/api/v1/repository/555555555555"
}
},
"license": [
{
"license_ref": "https://creativecommons.org/licenses/by/4.0/",
"start_date": "2023-12-31"
}
]
}
],
"issued": "2024-12-31",
"keyword": [
"biology"
],
"metadata": [
{
"description": "Dublin Core",
"language": "eng",
"metadata_standard_id": {
"identifier": "https://doi.org/10.25504/FAIRsharing.3nx7t",
"type": "doi"
}
}
],
"preservation_statement": "The outputs will be shared on the Dryad repository, a professionally managed data repository ...",
"security_and_privacy": [
{
"title": "Oversight of Data Management and Sharing",
"description": "My research assistant, will be responsible by anonymizing and archiving the data ..."
}
],
"technical_resource": [
{
"name": "Telescope",
"description": "Open source web application that tracks progress of jobs submitted to remote servers ...",
"dmproadmap_technical_resource_id": {
"identifier": "https://scicrunch.org/resolver/RRID:SCR_017626",
"type": "rrid",
}
}
]
}
],
"dmphub_versions": [
{
"timestamp": "2022-01-28T17:52:14+00:00",
"url": "https://api.dmphub.uc3[env].cdlib.net/dmps/10.12345/ABCDEFG?version=2022-01-28T17:52:14+00:00"
},
{
"timestamp": "2022-11-13T08:33:10+00:00",
"url": "https://api.dmphub.uc3[env].cdlib.net/dmps/10.12345/ABCDEFG?version=2022-11-13T08:33:10+00:00"
},
{
"timestamp": "2021-11-08T19:06:04+00:00",
"url": "https://api.dmphub.uc3[env].cdlib.net/dmps/10.12345/ABCDEFG?version=2021-11-08T19:06:04+00:00"
}
],
"dmphub_modifications": [
{
"id": "2024-07-17-43a48338",
"provenance": "Datacite via Zenodo",
"augmenter_run_id": "70ccbf7f65a67300",
"timestamp": "2024-07-15T16:02:13Z",
"dmproadmap_related_identifiers": [
{
"identifier": "10.5281/zenodo.7754395",
"citation": "Shin, Riley, Becky Grady. 2023. “Example Dataset.” Zenodo. <a href=\"http://doi.org/10.99999/zenodo.99999\" target=\"_blank\">http://doi.org/10.99999/zenodo.99999</a>.",
"confidence": "Medium",
"work_type": "dataset",
"discovered_at": "2024-07-15T16:02:13Z",
"descriptor": "references",
"secondary_works": [
{
"type": "DOI",
"identifier": "10.99999/zenodo.88888",
"descriptor": "has_version"
}
],
"type": "doi",
"score": "0.2e1",
"provenance": "Datacite via Zenodo",
"domain": "https://doi.org/",
"logic": [
"contributor names matched",
"ORCIDs match"
],
"status": "pending",
"notes": [
"contributor names matched",
"ORCIDs match"
]
}
],
"funding": []
}
]
}
}
The following describes each of the DMP JSON attributes including links to the RDA Common Standard definition when the values of the attribute are limited to a specific set of values. It includes a description of items along with their data type and whether or not they are required or immutable. In this case, immutable means that the DMPHub manages this information internally and should not be editable within the UI.
In cases where we note that a parent object (e.g. contributor
) is not required, but some of its children are (e.g. name
and role
), we are specifying that those child elements are required IF there is an entry at all (e.g. contributor
is not required, but if you include one you must supply the name
and role
).
- title: String required - The title of the DMP (often the same as the project title)
- description: String - A description of the DMP (often the same as the project decription)
- created: Datetime (UTC) immutable - When the DMP was added to the DMPHub system (also the point when the DMP ID was registered).
- modified: Datetime (UTC) immutable - When the DMP was last modified. This corresponds to the DMP version.
- ethical_issues_exist: String (valid values: [yes, no, unknown]) - Whether or not the project will deal with sensitive data or other ethical concerns
- ethical_issues_description: String (only applicable if ethical_issues_exist is 'yes') - A summary of the concerns.
- ethical_issues_report: URL (only applicable if ethical_issues_exist is 'yes') - A link to a policy document or website page
- language: _String required (default is 'eng') (valid values in RDA common standard) - The language of the DMP
-
dmp_id: immutable - The DMP ID is assigned by the DMPHub API
- type: String - The type of identifier. This is always 'doi' for the DMPHub
- identifier: String (a DOI URL) The unique identifier for the DMP. It should be used when interacting with the DMPHub API
-
contact: required for new records and immutable otherwise - The creator/owner of the DMP. In the case of the Upload form, this should default to the currently logged in user
- name: String required - The full name of the contact 'Last, First'
- mbox: Email required - The email address
-
dmproadmap_affiliation: required - The user's institution/organization
- name: String required - The name of the institution/organization (preferably from the ROR record)
-
affiliation_id: required
- type: String required - The type of identifier. This should always be 'ror'
- identifier: ROR URL required - The unique ROR id (e.g. https://ror.org/1234567890)
-
contact_id: required
- type: String required - The type of identifier. This should always be 'orcid'
- identifier: ORCID URL required - The unique ORCID id (e.g. https://orcid.org/0000-0000-0000-000X)
-
contributor: Array 0..n - An array of project contributors
- name: String required - The full name of the contact 'Last, First'
- mbox: Email - The email address
-
role: [String] URL at least 1 required (valid values: Credit Niso contributor roles) - An array of contributor roles (e.g.
http://credit.niso.org/contributor-roles/investigation
) -
dmproadmap_affiliation
- name: String required - Example University (example.edu)
-
affiliation_id:
- type: String required - The type of identifier. This should always be 'ror'
- identifier: ROR URL required - The unique ROR id (e.g. https://ror.org/1234567890)
-
contributor_id:
- type: String required - The type of identifier. This should always be 'orcid'
- identifier: ORCID URL required - The unique ORCID id (e.g. https://orcid.org/0000-0000-0000-000X)
-
dataset: Array 0..n - An array of anticipated project outputs (e.g. software, datasets, images, etc.).
- type: String required (valid values: [audiovisual, collection, data_paper, dataset, event, image, interactive_resource, model_representation, physical_object, service, software, sound, text, workflow, other]) - The type of project output
- title: String required - A name for the project output
- description: String - A description of the project output
- issued: Date (YYY-MM-DD format) - The anticipated release data for the project output
- keyword: [String] - An array of keywords applicable to the project output
-
dataset_id: - A unique identifier for the project output. Since these are anticipated objects and not yet real, this is often blank.
- type: String required (valid values in RDA Common Standard) - The type of identifier
- identifier: String required - The value of the identifier
- language: _String required (default is 'eng') (valid values in RDA common standard) - The language of the project output
- personal_data: String required (valid values: [yes, no, unknown]) - Whether or not the project output will contain PII
- data_quality_assurance: [String] - An array of quality assurance statements about the project output
- preservation_statement: String - A preservation statement about the project output
- sensitive_data: String required (valid values: [yes, no, unknown]) - Whether or not the project output will contain other sensitive info
-
security_and_privacy: Array 0..n - Statements about security and privacy
- title: String required - A title for the security and privacy statement
- description: String required - The security and privacy statement
-
metadata: - An array 0..n of metadata standards that the project output will follow
- description: String - A description/name of the metadata standard
-
metadata_standard_id:
- type: String required (valid values in RDA Common Standard) - The type of identifier
- identifier: String required - The value of the identifier
-
technical_resource: Array 0..n - Technical resources used to produce the project output (e.g. an electron microscope)
- name: String required - The name of the resource
- description: String - A description of the resource
-
dmproadmap_technical_resource_id:
- type: _String required (valid values: [doi, url, other]) - The type of identifier
- identifier: String required - The value of the identifier
-
distribution: Array 0..n - An array of repositories where the project output will be distributed to (e.g. GitHub, Dryad, Zenodo, etc.)
- title: String required - A title for the distribution
- byte_size: Number - The estimated size of the project output in bytes
- data_access: String required (valid values in RDA Common Standard) - The initial access level for the project output
-
host: - The repository where the project output will be hosted
- title: String required The title of the host
- url: URL - The URL landing page for the host
-
dmproadmap_host_id:
- type: String required ('url') - The type of identifier
- identifier: String required (valid values in Re3Data database) - The value of the identifier
-
license: Array 0..n - An array of license types along with their start dates. If there is only one, the start_date should match the project output's issue date
- license_ref: URL required (valid values in SPDX database) - the URL to the license
- start_date: Date (YYY-MM-DD format) - The anticipated release data for the project output
-
project: Array 1..n required
- title: String required - The title of the research project
- description: String - The research project abstract
- start: Date (YYYY-MM-DD) - When the research project will begin.
- end: Date (YYYY-MM-DD) - When the research project will end.
-
funding: Array 0..n
- name: String required The name of the funding organization/institution
-
funder_id:
- type: String required (valid values: [ror, fundref]) - The type of identifier
- identifier: String required (the value from the ROR database) - The value of the identifier
- funding_status: String required (valid values: [planned, applied, granted, rejected]) - The status of the funding application
-
grant_id:
- type: String required (valid values: [doi, url, other]) - The type of identifier
- identifier: String required - The value of the identifier
-
dmproadmap_funded_affiliations: Array 0..n
- name: String required The name of the institution/organization that received the funding
-
affiliation_id:
- type: String required (valid values: [ror]) - The type of identifier
- identifier: String required (the value from the ROR database) - The value of the identifier
-
dmproadmap_sponsors: Array 0..n
- name: String required - The name of the organization/institution that sponsored the research or where the research was performed (e.g. a research field station, laboratory, etc.). If there are no sponsors defined here, then it is assumed that the research took place at the contributor's affiliations.
-
affiliation_id:
- type: String required (valid values: [ror, doi, url]) - The type of identifier
- identifier: String required - The value of the identifier
-
dmproadmap_related_identifiers: Array 0..n
-
descriptor: String required (valid values found in the 'relationType' definition in the DataCite Metadata Schema- Values should be lower case and use an
_
to separate words (e.g. The DataCite valueisReferencedBy
should beis_referenced_by
) -
type: String required (valid values found in the 'relatedIdentifierType' definition in the DataCite Metadata Schema - Values should be in lower case (e.g. The DataCite value
ISSN
should beissn
) - identifier: String required - The value of the identifier
- work_type: String required (valid values are: [article, dataset, preprint, software, supplemental_information, paper, book, protocol]) - The type of object the identifier points to
-
descriptor: String required (valid values found in the 'relationType' definition in the DataCite Metadata Schema- Values should be lower case and use an
-
dmphub_versions: Array 1..n - The list of versions for the DMP. Sorted by timestamp descending. The top entry is always the latest version. There will always be an entry for the latest version even if there are no historical versions.
-
timestamp: DateTime (UTC) required - The date and time the version was created. These timestamps are ALWAYS equal to the DMP
modified
timestamp. - url: URL required - A link to fetch the version from the DMPHub API
-
timestamp: DateTime (UTC) required - The date and time the version was created. These timestamps are ALWAYS equal to the DMP
-
dmphub_modifications: Array 1..n - A list of potential related works that may be related to the DMP. These works were found by our collection of Harvester apps that search systems like DataCite for related works that have been published. Within these entries, you can change the
status
frompending
to eitherrejected
orapproved
. If you approve one of the entries, the system will add it to thedmproadmap_related_identifiers
array. This will enable other systems like DataCite Commons to see the connection between the DMP and the related work.
[<- Top](#table-of-contents)