openapi: 3.1.0
info:
title: Dryad datasets reports API
description: "Dryad's REST API allows detailed interaction and programmatic interfacing with Dryad contents. The most common case is to use GET requests to retrieve information about datasets, versions, and files.\n\nWhen using the API, any DOI included must be URL-encoded to ensure correct processing. Anonymous users of the API are limited to 30 requests per minute, and are not allowed to download data files. \n\nExamples:\n\n- [List datasets](https://datadryad.org/api/v2/datasets)\n- [Search for datasets](https://datadryad.org/api/v2/search?q=carbon)\n- [Get information about a dataset](https://datadryad.org/api/v2/datasets/doi%3A10.5061%2Fdryad.j1fd7)\n- [List versions of a dataset](https://datadryad.org/api/v2/datasets/doi%3A10.5061%2Fdryad.j1fd7/versions)\n- [List files in a version](https://datadryad.org/api/v2/versions/26724/files)\n\nDetailed documentation:\n\n- For details on all of our REST API operations, click the links in the menu on this page.\n- [Search API](https://github.com/datadryad/dryad-app/blob/main/documentation/apis/search.md)\n- [Submission API](https://github.com/datadryad/dryad-app/blob/main/documentation/apis/submission.md)\n\n## API accounts \n\nTo access more powerful features, an API account is required. API accounts allow users to:\n\n- Access the API at higher rates (authenticated users may make up to 240 requests per minute)\n- Download data files\n- Access datasets that are not yet public, but are associated with the account's community (institution, journal, etc.)\n- Update datasets associated with the account's community\n\nSee the API accounts document for more information on requesting an API account and using it to access datasets.\n\n\n## Submission\n\nThe Submission API is used by organizations that partner closely with Dryad, and use systems to create dataset submissions directly. Please contact us if you are [interested in partnering with Dryad](/contact#get-involved), and setting up an API account for submission.\n\nThe API submission examples document gives concrete examples of submission through the Dryad API.\n\n\n### Dryad sandbox\n\nDryad's sandbox server allows users to experiment with data submission and the Dryad API, without worrying about the effects on \"real\" data. Anyone may create an account on the sandbox server for testing purposes. When creating an account, keep in mind that Dryad's sandbox relies on the sandbox version of ORCID, which allows you to make test ORCID accounts. Sandbox ORCID IDs should be used in the Dryad sandbox, while use of Dryad's production system requires a real ORCID ID.\n"
version: 2.1.0
servers:
- url: https://datadryad.org/api/v2
description: Main Dryad server
- url: https://sandbox.datadryad.org/api/v2
description: Sandbox server, for testing new features.
tags:
- name: reports
description: Reports on content in Dryad
paths:
/reports:
get:
summary: Get a list of reports that are updated regularly
tags:
- reports
responses:
'200':
description: A list of reports URLs.
content:
application/json:
schema:
$ref: '#/components/schemas/reports'
'406':
$ref: '#/components/responses/Unacceptable'
/reports/{name}:
get:
summary: Get a particular report
tags:
- reports
parameters:
- in: path
name: name
schema:
type: string
required: true
description: The name of a report.
responses:
'200':
description: A report (CSV download)
examples: null
content:
text/csv:
schema:
type: string
'406':
$ref: '#/components/responses/Unacceptable'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: Unable to render report file.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: Could not find requested report {name}.
components:
schemas:
Error:
type: object
properties:
error:
type: string
hal_curie:
type: object
properties:
name:
type: string
href:
type: string
format: uri
templated:
type: boolean
required:
- name
- href
- templated
reports:
properties:
_links:
type: object
properties:
self:
$ref: '#/components/schemas/hal_link'
reports:
type: array
items:
$ref: '#/components/schemas/hal_link'
curies:
type: array
items:
$ref: '#/components/schemas/hal_curie'
hal_link:
type: object
properties:
href:
type: string
format: uri
required:
- href
responses:
Unacceptable:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: '406 - unacceptable: please set your `Content-Type` or `Accept` headers for application/json. `Accept` header is optional if you are using `Content-Type: application/json`.'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT