-
Notifications
You must be signed in to change notification settings - Fork 491
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use OpenAPI standard for Dataverse API's (Swagger) #5794
Comments
Bill McKinney did some great work in this area of adding Swagger support three years ago and I just pushed his (unmerged) branch to the IQSS repo (it's also still in his fork): https://github.com/IQSS/dataverse/compare/5794-swagger-poc-etc There's lots of other stuff in there besides Swagger support so the task is to create a new branch and copy over the Swagger bits we need (I would suggest looking at 9a8cb0e for example of the Javadoc annotations to add, as well as the dependencies in pom.xml). Then, we can build Swagger docs with Jenkins. If anyone is unfamiliar with how Swagger docs look, you can see https://services.dataverse.harvard.edu/static/swagger-ui/index.html?url=/miniverse/metrics/v1/swagger.yaml The reason I asked @skasberger to open this issue is that on Monday I met with @whorka @doprdele @mallove and during our discussion of Dataverse APIs and integration possibilities (slide 9 of https://docs.google.com/presentation/d/1wjEOlFuBo_j6yLf_stpKgDQbOPlTTc_yPI_ETsjSCh4/edit?usp=sharing ), @doprdele indicated that publishing a Swagger file in JSON or YAML of Dataverse APIs could help facilitate the creation of additional Dataverse API client libraries. (@poikilotherm seems to agree: http://irclog.iq.harvard.edu/dataverse/2019-04-25#i_91801 .) We currently have libraries for Python, R, and Java listed at http://guides.dataverse.org/en/4.13/api/client-libraries.html but a potential client library for Javascript was mentioned. |
Open API is available when deployed on Payara 5 via the Example Output of /openapi for Dataverse
openapi: 3.0.0
info:
title: Deployed Resources
version: 1.0.0
servers:
- url: http://Steve-Linux:8080/
description: Default Server.
- url: https://Steve-Linux:8181/
description: Default Server.
paths:
/api/v1/access/datafile/bundle/{fileId}:
get:
operationId: datafileBundle
parameters:
- name: fileMetadataId
in: query
style: simple
schema:
type: number
- name: gbrecs
in: query
style: simple
schema:
type: boolean
- name: key
in: query
style: simple
schema:
type: string
- name: fileId
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
application/zip:
schema:
type: object
/api/v1/access/datafile/{fileId}:
get:
operationId: datafile
parameters:
- name: gbrecs
in: query
style: simple
schema:
type: boolean
- name: key
in: query
style: simple
schema:
type: string
- name: fileId
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
application/xml:
schema:
type: object
/api/v1/access/datafile/{fileId}/metadata:
get:
operationId: tabularDatafileMetadata
parameters:
- name: fileMetadataId
in: query
style: simple
schema:
type: number
- name: exclude
in: query
style: simple
schema:
type: string
- name: include
in: query
style: simple
schema:
type: string
- name: fileId
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
text/xml:
schema:
type: string
/api/v1/access/datafile/{fileId}/metadata/ddi:
get:
operationId: tabularDatafileMetadataDDI
parameters:
- name: fileMetadataId
in: query
style: simple
schema:
type: number
- name: exclude
in: query
style: simple
schema:
type: string
- name: include
in: query
style: simple
schema:
type: string
- name: fileId
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
text/xml:
schema:
type: string
/api/v1/access/datafile/{fileId}/metadata/preprocessed:
get:
operationId: tabularDatafileMetadataPreprocessed
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: fileId
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
text/xml:
schema:
type: object
/api/v1/access/datafile/{id}/grantAccess/{identifier}:
put:
operationId: grantFileAccess
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/access/datafile/{id}/listRequests:
get:
operationId: listFileAccessRequests
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/access/datafile/{id}/rejectAccess/{identifier}:
put:
operationId: rejectFileAccess
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/access/datafile/{id}/requestAccess:
put:
operationId: requestFileAccess
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/access/datafile/{id}/revokeAccess/{identifier}:
delete:
operationId: revokeFileAccess
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/access/datafiles/{fileIds}:
get:
operationId: datafiles
parameters:
- name: gbrecs
in: query
style: simple
schema:
type: boolean
- name: key
in: query
style: simple
schema:
type: string
- name: fileIds
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
application/zip:
schema:
type: object
/api/v1/access/dsCardImage/{versionId}:
get:
operationId: dsCardImage
parameters:
- name: versionId
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
image/png:
schema:
type: object
/api/v1/access/dvCardImage/{dataverseId}:
get:
operationId: dvCardImage
parameters:
- name: dataverseId
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
image/png:
schema:
type: object
/api/v1/access/fileCardImage/{fileId}:
get:
operationId: fileCardImage
parameters:
- name: fileId
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
image/png:
schema:
type: object
/api/v1/access/variable/{varId}/metadata/ddi:
get:
operationId: dataVariableMetadataDDI
parameters:
- name: fileMetadataId
in: query
style: simple
schema:
type: number
- name: exclude
in: query
style: simple
schema:
type: string
- name: include
in: query
style: simple
schema:
type: string
- name: varId
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
application/xml:
schema:
type: string
/api/v1/access/{id}/allowAccessRequest:
put:
operationId: allowAccessRequest
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/assignee/{idtf}:
get:
operationId: findRoleAssignee
parameters:
- name: idtf
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
'/api/v1/admin/assignments/assignees/{raIdtf: .*}':
get:
operationId: getAssignmentsFor
parameters:
- name: raIdtf
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/authenticatedUsers:
get:
operationId: listAuthenticatedUsers
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: createAuthenicatedUser
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/authenticatedUsers/convert/builtin2oauth:
put:
operationId: builtin2oauth
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/authenticatedUsers/convert/builtin2shib:
put:
operationId: builtin2shib
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/authenticatedUsers/id/{id}:
delete:
operationId: deleteAuthenticatedUserById
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/authenticatedUsers/id/{id}/convertRemoteToBuiltIn:
put:
operationId: convertOAuthUserToBuiltin
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/authenticatedUsers/id/{id}/convertShibToBuiltIn:
put:
operationId: convertShibUserToBuiltin
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/authenticatedUsers/{identifier}:
get:
operationId: getAuthenticatedUser
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteAuthenticatedUser
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/authenticationProviderFactories:
get:
operationId: listAuthProviderFactories
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/authenticationProviders:
get:
operationId: listAuthProviders
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: addProvider
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/authenticationProviders/{id}:
get:
operationId: showProvider
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteAuthenticationProvider
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/authenticationProviders/{id}/:enabled:
post:
operationId: enableAuthenticationProvider_deprecated
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/authenticationProviders/{id}/enabled:
get:
operationId: checkAuthenticationProviderEnabled
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
put:
operationId: enableAuthenticationProvider
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/admin/batch/jobs:
get:
operationId: listBatchJobs
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/admin/batch/jobs/name/{jobName}:
get:
operationId: listBatchJobsByName
parameters:
- name: jobName
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/admin/batch/jobs/{jobId}:
get:
operationId: listBatchJobById
parameters:
- name: jobId
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/admin/clearMetricsCache:
delete:
operationId: clearMetricsCache
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/clearMetricsCache/{name}:
delete:
operationId: clearMetricsCacheByName
parameters:
- name: name
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/confirmEmail/{userId}:
get:
operationId: getConfirmEmailToken
parameters:
- name: userId
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: startConfirmEmailProcess
parameters:
- name: userId
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/convertUserFromBcryptToSha1:
post:
operationId: convertUserFromBcryptToSha1
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/datafiles/integrity/fixmissingoriginalsizes:
get:
operationId: fixMissingOriginalSizes
parameters:
- name: limit
in: query
style: simple
schema:
type: integer
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/datafiles/integrity/fixmissingoriginaltypes:
get:
operationId: fixMissingOriginalTypes
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/datasetfield:
get:
operationId: getAll
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/datasetfield/controlledVocabulary/subject:
get:
operationId: showControlledVocabularyForSubject
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/datasetfield/load:
post:
operationId: loadDatasetFields
requestBody:
content:
text/tab-separated-values:
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/datasetfield/loadNAControlledVocabularyValue:
get:
operationId: loadNAControlledVocabularyValue
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/datasetfield/loadpropertyfiles:
post:
operationId: loadLanguagePropertyFile
requestBody:
content:
application/zip:
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/datasetfield/{name}:
get:
operationId: getByName
parameters:
- name: name
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/datasets/integrity/{datasetVersionId}/fixmissingunf:
post:
operationId: fixUnf
parameters:
- name: forceRecalculate
in: query
style: simple
schema:
type: boolean
- name: datasetVersionId
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/datasets/thumbnailMetadata/{id}:
get:
operationId: getDatasetThumbnailMetadata
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/dataverse/{alias}/addRoleAssignmentsToChildren:
get:
operationId: addRoleAssignementsToChildren
parameters:
- name: alias
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/externalTools:
get:
operationId: getExternalTools
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: addExternalTool
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/externalTools/file/{id}:
get:
operationId: getExternalToolsByFile
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/externalTools/{id}:
delete:
operationId: deleteExternalTool
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/feedback:
post:
operationId: submitFeedback
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/geoconnect/mapLayerMetadatas/check:
post:
operationId: checkMapLayerMetadatas
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/geoconnect/mapLayerMetadatas/check/{id}:
post:
operationId: checkMapLayerMetadatas
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/groups/ip:
get:
operationId: listIpGroups
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: postIpGroup
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/groups/ip/{groupIdtf}:
get:
operationId: getIpGroup
parameters:
- name: groupIdtf
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteIpGroup
parameters:
- name: groupIdtf
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/groups/ip/{groupName}:
put:
operationId: putIpGroups
parameters:
- name: groupName
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/groups/shib:
get:
operationId: listShibGroups
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: createShibGroup
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/groups/shib/{primaryKey}:
delete:
operationId: deleteShibGroup
parameters:
- name: primaryKey
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index:
get:
operationId: indexAllOrSubset
parameters:
- name: numPartitions
in: query
style: simple
schema:
type: number
- name: partitionIdToProcess
in: query
style: simple
schema:
type: number
- name: previewOnly
in: query
style: simple
schema:
type: boolean
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/clear:
get:
operationId: clearSolrIndex
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/continue:
get:
operationId: indexAllOrSubsetContinue
parameters:
- name: numPartitions
in: query
style: simple
schema:
type: number
- name: partitionIdToProcess
in: query
style: simple
schema:
type: number
- name: previewOnly
in: query
style: simple
schema:
type: boolean
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/dataset:
get:
operationId: indexDatasetByPersistentId
parameters:
- name: persistentId
in: query
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/filemetadata/{dataset_id}:
get:
operationId: getFileMetadataByDatasetId
parameters:
- name: maxResults
in: query
style: simple
schema:
type: integer
- name: sort
in: query
style: simple
schema:
type: string
- name: order
in: query
style: simple
schema:
type: string
- name: dataset_id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/filesearch:
get:
operationId: filesearch
parameters:
- name: persistentId
in: query
style: simple
schema:
type: string
- name: semanticVersion
in: query
style: simple
schema:
type: string
- name: q
in: query
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/mod:
get:
operationId: indexMod
parameters:
- name: partitions
in: query
style: simple
schema:
type: number
- name: which
in: query
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/perms:
get:
operationId: indexAllPermissions
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/perms/{id}:
get:
operationId: indexPermissions
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/permsDebug:
get:
operationId: searchPermsDebug
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: id
in: query
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/solr/schema:
get:
operationId: getSolrSchema
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: string
/api/v1/admin/index/status:
get:
operationId: indexStatus
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/test:
get:
operationId: searchDebug
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: q
in: query
style: simple
schema:
type: string
- name: fq
in: query
style: simple
schema:
type: array
items:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/timestamps:
delete:
operationId: deleteAllTimestamps
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/timestamps/{dvObjectId}:
delete:
operationId: deleteTimestamp
parameters:
- name: dvObjectId
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/index/{type}/{id}:
get:
operationId: indexTypeById
parameters:
- name: type
in: path
required: true
style: simple
schema:
type: string
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/isOrcid:
get:
operationId: isOrcidEnabled
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/list-users:
get:
operationId: filterAuthenticatedUsers
parameters:
- name: searchTerm
in: query
style: simple
schema:
type: string
- name: selectedPage
in: query
style: simple
schema:
type: integer
- name: itemsPerPage
in: query
style: simple
schema:
type: integer
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/admin/makeDataCount/addUsageMetricsFromSushiReport:
post:
operationId: addUsageMetricsFromSushiReportAll
parameters:
- name: reportOnDisk
in: query
style: simple
schema:
type: string
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/makeDataCount/sendToHub:
post:
operationId: sendDataToHub
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/makeDataCount/{id}/addUsageMetricsFromSushiReport:
post:
operationId: addUsageMetricsFromSushiReport
parameters:
- name: reportOnDisk
in: query
style: simple
schema:
type: string
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/makeDataCount/{id}/updateCitationsForDataset:
post:
operationId: updateCitationsForDataset
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/metadata/exportAll:
get:
operationId: exportAll
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/admin/metadata/exportOAI/{specname}:
put:
operationId: exportOaiSet
parameters:
- name: specname
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/metadata/reExportAll:
get:
operationId: reExportAll
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/admin/permissions/{dvo}:
get:
operationId: findPermissonsOn
parameters:
- name: dvo
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/publishDataverseAsCreator/{id}:
post:
operationId: publishDataverseAsCreator
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/registerDataFileAll:
get:
operationId: registerDataFileAll
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/roles:
get:
operationId: listBuiltinRoles
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: createNewBuiltinRole
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/savedsearches:
get:
operationId: meta
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: add
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/savedsearches/list:
get:
operationId: list
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/savedsearches/makelinks/all:
put:
operationId: makeLinksForAllSavedSearches
parameters:
- name: debug
in: query
style: simple
schema:
type: boolean
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/savedsearches/makelinks/{id}:
put:
operationId: makeLinksForSingleSavedSearch
parameters:
- name: debug
in: query
style: simple
schema:
type: boolean
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/savedsearches/{id}:
get:
operationId: show
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: delete
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/settings:
get:
operationId: listAllSettings
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/settings/{name}:
get:
operationId: getSetting
parameters:
- name: name
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
put:
operationId: putSetting
parameters:
- name: name
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteSetting
parameters:
- name: name
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/sitemap:
post:
operationId: updateSiteMap
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/admin/storageSites:
get:
operationId: listAll
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: addSite
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/storageSites/{id}:
get:
operationId: get
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: delete
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/storageSites/{id}/primaryStorage:
put:
operationId: setPrimary
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/submitDataVersionToArchive/{id}/{version}:
get:
operationId: submitDatasetVersionToArchive
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: version
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/superuser/{identifier}:
post:
operationId: toggleSuperuser
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/updateHashValues/{alg}:
get:
operationId: updateHashValues
parameters:
- name: num
in: query
style: simple
schema:
type: integer
- name: alg
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/validate/dataset/{id}:
get:
operationId: validateDataset
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/validate/datasets:
get:
operationId: validateAllDatasets
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/admin/validatePassword:
post:
operationId: validatePassword
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/workflows:
get:
operationId: listWorkflows
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: addWorkflow
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/workflows/default:
get:
operationId: listDefaults
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/workflows/default/{triggerType}:
get:
operationId: getDefault
parameters:
- name: triggerType
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
put:
operationId: setDefault
parameters:
- name: triggerType
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteDefault
parameters:
- name: triggerType
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/workflows/ip-whitelist:
get:
operationId: getIpWhitelist
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
put:
operationId: setIpWhitelist
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteIpWhitelist
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/workflows/{identifier}:
get:
operationId: getWorkflow
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/workflows/{id}:
delete:
operationId: deleteWorkflow
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/{id}/registerDataFile:
get:
operationId: registerDataFile
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/admin/{id}/reregisterHDLToPID:
post:
operationId: reregisterHdlToPID
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/batch/harvest:
get:
operationId: harvest
parameters:
- name: path
in: query
style: simple
schema:
type: string
- name: dv
in: query
style: simple
schema:
type: string
- name: createDV
in: query
style: simple
schema:
type: boolean
- name: key
in: query
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/batch/import:
get:
operationId: getImport
parameters:
- name: path
in: query
style: simple
schema:
type: string
- name: dv
in: query
style: simple
schema:
type: string
- name: createDV
in: query
style: simple
schema:
type: boolean
- name: key
in: query
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: postImport
parameters:
- name: dv
in: query
style: simple
schema:
type: string
- name: key
in: query
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/batch/jobs/import/datasets/files/{identifier}:
post:
operationId: getFilesystemImport
parameters:
- name: mode
in: query
style: simple
schema:
type: string
default: MERGE
- name: uploadFolder
in: query
style: simple
schema:
type: string
- name: totalSize
in: query
style: simple
schema:
type: number
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/builtin-users:
post:
operationId: save
parameters:
- name: password
in: query
style: simple
schema:
type: string
- name: key
in: query
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/builtin-users/{password}/{key}:
post:
operationId: create
parameters:
- name: password
in: path
required: true
style: simple
schema:
type: string
- name: key
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/builtin-users/{username}/api-token:
get:
operationId: getApiToken
parameters:
- name: password
in: query
style: simple
schema:
type: string
- name: username
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/export:
get:
operationId: exportDataset
parameters:
- name: persistentId
in: query
style: simple
schema:
type: string
- name: exporter
in: query
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
application/xml:
schema:
type: object
application/json:
schema:
type: object
/api/v1/datasets/modifyRegistrationAll:
post:
operationId: updateDatasetTargetURLAll
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/modifyRegistrationPIDMetadataAll:
get:
operationId: updateDatasetPIDMetadataAll
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{datasetId}/deleteLink/{linkedDataverseId}:
delete:
operationId: deleteDatasetLinkingDataverse
parameters:
- name: datasetId
in: path
required: true
style: simple
schema:
type: string
- name: linkedDataverseId
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{identifier}/assignments:
get:
operationId: getAssignments
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: createAssignment
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: identifier
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{identifier}/dataCaptureModule/checksumValidation:
post:
operationId: receiveChecksumValidationResults
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{identifier}/dataCaptureModule/rsync:
get:
operationId: getRsync
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{identifier}/lock/{type}:
post:
operationId: lockDataset
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
- name: type
in: path
required: true
style: simple
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{identifier}/locks:
get:
operationId: getLocks
parameters:
- name: type
in: query
style: simple
schema:
type: object
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteLocks
parameters:
- name: type
in: query
style: simple
schema:
type: object
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}:
get:
operationId: getDataset
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteDataset
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/actions/:publish:
get:
operationId: publishDataseUsingGetDeprecated
parameters:
- name: type
in: query
style: simple
schema:
type: string
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: publishDataset
parameters:
- name: type
in: query
style: simple
schema:
type: string
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/add:
post:
operationId: addFileToDataset
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/citationdate:
put:
operationId: setCitationDate
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: useDefaultCitationDate
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/deleteMetadata:
put:
operationId: deleteVersionMetadata
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/destroy:
delete:
operationId: destroyDataset
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/editMetadata:
put:
operationId: editVersionMetadata
parameters:
- name: replace
in: query
style: simple
schema:
type: boolean
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/links:
get:
operationId: getLinks
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/makeDataCount/citations:
get:
operationId: getMakeDataCountCitations
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/makeDataCount/{metric}:
get:
operationId: getMakeDataCountMetricCurrentMonth
parameters:
- name: country
in: query
style: simple
schema:
type: string
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: metric
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/makeDataCount/{metric}/{yyyymm}:
get:
operationId: getMakeDataCountMetric
parameters:
- name: country
in: query
style: simple
schema:
type: string
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: metric
in: path
required: true
style: simple
schema:
type: string
- name: yyyymm
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/modifyRegistration:
get:
operationId: updateDatasetTargetURL
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/modifyRegistrationMetadata:
post:
operationId: updateDatasetPIDMetadata
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/move/{targetDataverseAlias}:
post:
operationId: moveDataset
parameters:
- name: forceMove
in: query
style: simple
schema:
type: boolean
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: targetDataverseAlias
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/privateUrl:
get:
operationId: getPrivateUrlData
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: createPrivateUrl
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deletePrivateUrl
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/returnToAuthor:
post:
operationId: returnToAuthor
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/submitForReview:
post:
operationId: submitForReview
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/thumbnail:
get:
operationId: getDatasetThumbnail
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
image/png:
schema:
type: object
post:
operationId: uploadDatasetLogo
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: removeDatasetLogo
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/thumbnail/candidates:
get:
operationId: getDatasetThumbnailCandidates
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/thumbnail/{dataFileId}:
post:
operationId: setDataFileAsThumbnail
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: dataFileId
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/versions:
get:
operationId: listVersions
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/versions/{versionId}:
get:
operationId: getVersion
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: versionId
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
put:
operationId: updateDraftVersion
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: versionId
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteDraftVersion
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: versionId
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/versions/{versionId}/files:
get:
operationId: getVersionFiles
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: versionId
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/versions/{versionId}/metadata:
get:
operationId: getVersionMetadata
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: versionId
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{id}/versions/{versionNumber}/metadata/{block}:
get:
operationId: getVersionMetadataBlock
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: versionNumber
in: path
required: true
style: simple
schema:
type: string
- name: block
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datasets/{linkedDatasetId}/link/{linkingDataverseAlias}:
put:
operationId: linkDataset
parameters:
- name: linkedDatasetId
in: path
required: true
style: simple
schema:
type: string
- name: linkingDataverseAlias
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/datatags/receiveTags/{uniqueCacheId}:
post:
operationId: receiveTags
parameters:
- name: uniqueCacheId
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses:
post:
operationId: addRoot
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}:
get:
operationId: viewDataverse
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: addDataverse
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteDataverse
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}/actions/:publish:
post:
operationId: publishDataverse
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}/assignments:
get:
operationId: listAssignments
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: createAssignment
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: identifier
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}/assignments/{id}:
delete:
operationId: deleteAssignment
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}/contents:
get:
operationId: listContent
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}/datasets:
post:
operationId: createDataset
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}/datasets/:import:
post:
operationId: importDataset
parameters:
- name: pid
in: query
style: simple
schema:
type: string
- name: release
in: query
style: simple
schema:
type: string
- name: identifier
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}/datasets/:importddi:
post:
operationId: importDatasetDdi
parameters:
- name: pid
in: query
style: simple
schema:
type: string
- name: release
in: query
style: simple
schema:
type: string
- name: identifier
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}/defaultContributorRole/{roleAlias}:
put:
operationId: updateDefaultContributorRole
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
- name: roleAlias
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}/facets:
get:
operationId: listFacets
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: setFacets
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/dataverses/{identifier}/groups:
get:
operationId: listGroups
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: createExplicitGroup
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}/groups/{aliasInOwner}:
get:
operationId: getGroupByOwnerAndAliasInOwner
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
- name: aliasInOwner
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
put:
operationId: updateGroup
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
- name: aliasInOwner
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteGroup
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
- name: aliasInOwner
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}/groups/{aliasInOwner}/roleAssignees:
post:
operationId: addRoleAssingees
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
- name: aliasInOwner
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
'/api/v1/dataverses/{identifier}/groups/{aliasInOwner}/roleAssignees/{roleAssigneeIdentifier: .*}':
put:
operationId: addRoleAssingee
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
- name: aliasInOwner
in: path
required: true
style: simple
schema:
type: string
- name: roleAssigneeIdentifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteRoleAssingee
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
- name: aliasInOwner
in: path
required: true
style: simple
schema:
type: string
- name: roleAssigneeIdentifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}/links:
get:
operationId: listLinks
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{identifier}/metadatablocks:
get:
operationId: listMetadataBlocks
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: setMetadataBlocks
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/dataverses/{identifier}/metadatablocks/:isRoot:
get:
operationId: getMetadataRoot_legacy
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: setMetadataRoot_legacy
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
requestBody: {}
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/dataverses/{identifier}/metadatablocks/isRoot:
get:
operationId: getMetadataRoot
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
put:
operationId: setMetadataRoot
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
requestBody: {}
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/dataverses/{identifier}/roles:
get:
operationId: listRoles
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: createRole
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{id}/move/{targetDataverseAlias}:
post:
operationId: moveDataverse
parameters:
- name: forceMove
in: query
style: simple
schema:
type: boolean
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: targetDataverseAlias
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{linkedDataverseAlias}/link/{linkingDataverseAlias}:
put:
operationId: linkDataverse
parameters:
- name: linkedDataverseAlias
in: path
required: true
style: simple
schema:
type: string
- name: linkingDataverseAlias
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/dataverses/{linkingDataverseId}/deleteLink/{linkedDataverseId}:
delete:
operationId: deleteDataverseLinkingDataverse
parameters:
- name: linkingDataverseId
in: path
required: true
style: simple
schema:
type: string
- name: linkedDataverseId
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/files/{id}/map:
delete:
operationId: getMapLayerMetadatas
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/files/{id}/metadata:
get:
operationId: getFileMetadata
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: versionId
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: boolean
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: updateFileMetadata
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/files/{id}/metadata/draft:
get:
operationId: getFileMetadataDraft
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
- name: versionId
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: boolean
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/files/{id}/prov-freeform:
get:
operationId: getProvFreeForm
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: addProvFreeForm
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/files/{id}/prov-json:
get:
operationId: getProvJson
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: addProvJson
parameters:
- name: entityName
in: query
style: simple
schema:
type: string
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteProvJson
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/files/{id}/reingest:
post:
operationId: reingest
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/files/{id}/replace:
post:
operationId: replaceFileInDataset
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/files/{id}/restrict:
put:
operationId: restrictFileInDataset
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/files/{id}/uningest:
post:
operationId: uningestDatafile
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/harvest/clients:
get:
operationId: harvestingClients
parameters:
- name: key
in: query
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/harvest/clients/{nickName}:
get:
operationId: harvestingClient
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: nickName
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
put:
operationId: modifyHarvestingClient
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: nickName
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: createHarvestingClient
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: nickName
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/harvest/clients/{nickName}/run:
post:
operationId: startHarvestingJob
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: nickName
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/harvest/server/oaisets:
get:
operationId: oaiSets
parameters:
- name: key
in: query
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/harvest/server/oaisets/{nickName}:
put:
operationId: modifyOaiSet
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: specname
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/harvest/server/oaisets/{specname}:
get:
operationId: oaiSet
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: specname
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
post:
operationId: createOaiSet
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: specname
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteOaiSet
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: specname
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/harvest/server/oaisets/{specname}/datasets:
get:
operationId: oaiSetListDatasets
parameters:
- name: key
in: query
style: simple
schema:
type: string
- name: specname
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/apiTermsOfUse:
get:
operationId: getTermsOfUse
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/datasets:
get:
operationId: getDatasetsAllTime
parameters:
- name: dataLocation
in: query
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/datasets/bySubject:
get:
operationId: getDatasetsBySubject
parameters:
- name: dataLocation
in: query
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/datasets/bySubject/toMonth/{yyyymm}:
get:
operationId: getDatasetsBySubjectToMonth
parameters:
- name: dataLocation
in: query
style: simple
schema:
type: string
- name: yyyymm
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/datasets/pastDays/{days}:
get:
operationId: getDatasetsPastDays
parameters:
- name: dataLocation
in: query
style: simple
schema:
type: string
- name: days
in: path
required: true
style: simple
schema:
type: integer
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/datasets/toMonth:
get:
operationId: getDatasetsToMonthCurrent
parameters:
- name: dataLocation
in: query
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/datasets/toMonth/{yyyymm}:
get:
operationId: getDatasetsToMonth
parameters:
- name: dataLocation
in: query
style: simple
schema:
type: string
- name: yyyymm
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/dataverses:
get:
operationId: getDataversesAllTime
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/dataverses/byCategory:
get:
operationId: getDataversesByCategory
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/dataverses/bySubject:
get:
operationId: getDataversesBySubject
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/dataverses/pastDays/{days}:
get:
operationId: getDataversesPastDays
parameters:
- name: days
in: path
required: true
style: simple
schema:
type: integer
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/dataverses/toMonth:
get:
operationId: getDataversesToMonthCurrent
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/dataverses/toMonth/{yyyymm}:
get:
operationId: getDataversesToMonth
parameters:
- name: yyyymm
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/downloads:
get:
operationId: getDownloadsAllTime
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/downloads/pastDays/{days}:
get:
operationId: getDownloadsPastDays
parameters:
- name: days
in: path
required: true
style: simple
schema:
type: integer
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/downloads/toMonth:
get:
operationId: getDownloadsToMonthCurrent
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/downloads/toMonth/{yyyymm}:
get:
operationId: getDownloadsToMonth
parameters:
- name: yyyymm
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/files:
get:
operationId: getFilesAllTime
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/files/pastDays/{days}:
get:
operationId: getFilesPastDays
parameters:
- name: days
in: path
required: true
style: simple
schema:
type: integer
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/files/toMonth:
get:
operationId: getFilesToMonthCurrent
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/metrics/files/toMonth/{yyyymm}:
get:
operationId: getFilesToMonth
parameters:
- name: yyyymm
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/server:
get:
operationId: getServer
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/settings/:DatasetPublishPopupCustomText:
get:
operationId: getDatasetPublishPopupCustomText
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/info/version:
get:
operationId: getInfo
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/ingest/test/file:
get:
operationId: datafile
parameters:
- name: fileName
in: query
style: simple
schema:
type: string
- name: fileType
in: query
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
text/plain:
schema:
type: string
/api/v1/mail/notifications:
get:
operationId: sendMail
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/meta/datafile/{fileId}:
get:
operationId: datafile
parameters:
- name: fileMetadataId
in: query
style: simple
schema:
type: number
- name: exclude
in: query
style: simple
schema:
type: string
- name: include
in: query
style: simple
schema:
type: string
- name: fileId
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
text/xml:
schema:
type: string
/api/v1/meta/dataset/{datasetId}:
get:
operationId: dataset
parameters:
- name: exclude
in: query
style: simple
schema:
type: string
- name: include
in: query
style: simple
schema:
type: string
- name: datasetId
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
application/xml:
schema:
type: string
/api/v1/meta/variable/{varId}:
get:
operationId: variable
parameters:
- name: fileMetadataId
in: query
style: simple
schema:
type: number
- name: exclude
in: query
style: simple
schema:
type: string
- name: include
in: query
style: simple
schema:
type: string
- name: varId
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
application/xml:
schema:
type: string
/api/v1/metadatablocks:
get:
operationId: list
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/metadatablocks/{identifier}:
get:
operationId: getBlock
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: object
/api/v1/mydata/retrieve:
get:
operationId: retrieveMyDataAsJsonString
parameters:
- name: dvobject_types
in: query
style: simple
schema:
type: array
items:
type: string
- name: published_states
in: query
style: simple
schema:
type: array
items:
type: string
- name: selected_page
in: query
style: simple
schema:
type: integer
- name: mydata_search_term
in: query
style: simple
schema:
type: string
- name: role_ids
in: query
style: simple
schema:
type: array
items:
type: number
- name: userIdentifier
in: query
style: simple
schema:
type: string
- name: key
in: query
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
application/json:
schema:
type: string
/api/v1/notifications/all:
get:
operationId: getAllNotificationsForUser
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/roles:
post:
operationId: createNewRole
parameters:
- name: dvo
in: query
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: object
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/roles/{id}:
get:
operationId: viewRole
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
delete:
operationId: deleteRole
parameters:
- name: id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/search:
get:
operationId: search
parameters:
- name: q
in: query
style: simple
schema:
type: string
- name: type
in: query
style: simple
schema:
type: array
items:
type: string
- name: subtree
in: query
style: simple
schema:
type: array
items:
type: string
- name: sort
in: query
style: simple
schema:
type: string
- name: order
in: query
style: simple
schema:
type: string
- name: per_page
in: query
style: simple
schema:
type: integer
- name: start
in: query
style: simple
schema:
type: integer
- name: show_relevance
in: query
style: simple
schema:
type: boolean
- name: show_facets
in: query
style: simple
schema:
type: boolean
- name: fq
in: query
style: simple
schema:
type: array
items:
type: string
- name: show_entity_ids
in: query
style: simple
schema:
type: boolean
- name: show_api_urls
in: query
style: simple
schema:
type: boolean
- name: show_my_data
in: query
style: simple
schema:
type: boolean
- name: query_entities
in: query
style: simple
schema:
type: boolean
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/users/{consumedIdentifier}/mergeIntoUser/{baseIdentifier}:
post:
operationId: mergeInAuthenticatedUser
parameters:
- name: consumedIdentifier
in: path
required: true
style: simple
schema:
type: string
- name: baseIdentifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/users/{identifier}/changeIdentifier/{newIdentifier}:
post:
operationId: changeAuthenticatedUserIdentifier
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: string
- name: newIdentifier
in: path
required: true
style: simple
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/workflows/{invocationId}:
post:
operationId: resumeWorkflow
parameters:
- name: invocationId
in: path
required: true
style: simple
schema:
type: string
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/worldmap/datafile:
post:
operationId: getWorldMapDatafileInfo
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/worldmap/delete-layer-metadata:
post:
operationId: deleteWorldMapLayerData
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/worldmap/delete-token:
post:
operationId: deleteWorldMapToken
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/worldmap/map-it-token-only/{datafile_id}/{dvuser_id}:
get:
operationId: getMapDataFileToken
parameters:
- name: datafile_id
in: path
required: true
style: simple
schema:
type: number
- name: dvuser_id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/worldmap/map-it/{datafile_id}/{dvuser_id}:
get:
operationId: mapDataFile
parameters:
- name: datafile_id
in: path
required: true
style: simple
schema:
type: number
- name: dvuser_id
in: path
required: true
style: simple
schema:
type: number
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/worldmap/t/{identifier}:
get:
operationId: checkWorldMapAPI
parameters:
- name: identifier
in: path
required: true
style: simple
schema:
type: integer
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
/api/v1/worldmap/update-layer-metadata:
post:
operationId: updateWorldMapLayerData
requestBody:
content:
'*/*':
schema:
type: string
responses:
default:
description: Default Response.
content:
'*/*':
schema:
type: object
components: {} |
@smillidge thanks for letting us know about The thing I need to learn next is how to covert that YAML output...
... into HTML that people can read. If anyone knows how to do this (I would have to Google for it), please let us know! 😄 Over at http://irclog.iq.harvard.edu/dataverse/2019-08-09#i_102420 @donsizemore and I talked about deploying Dataverse to Payara periodically to grab the YAML so we can make the HTML. Just another crazy idea. 😄 |
Today I was chatting with @donsizemore about https://payara5.odum.unc.edu and it reminded me to circle back and check if I can get Swagger/OpenAPI output about Dataverse APIs out of Dataverse running on Payara in a nice GUI (Swagger UI). It turns out you can! Here's what I did: I went to https://petstore.swagger.io and replaced https://petstore.swagger.io/v2/swagger.json with https://payara5.odum.unc.edu/openapi and clicked "Explore". Boom! There are all the (documented and undocumented) Dataverse API endpoints. Here's a screenshot: |
Unfortunately, the above apparently stopped working with new versions of Payara, as reported here: https://groups.google.com/g/dataverse-community/c/LAMdCR1491M/m/w7RaTs_CAgAJ Payara releases pretty often so we should probably try a new release. If that doesn't work, we should probably open an issue. |
FWIW,
along with
and per payara/Payara#4818 will be fixed in the next release. A workaround, at least under 5.2020.4, is to call |
For info this is caused by having log4j-web and log4j-slf4j-impl in the deployment. If you are having the error without these being there let me know. |
Hi @smillidge I looked both in |
Yes please. |
Hi @poikilotherm @pdurbin - is this still an issue or has it been fixed by the recent Payara upgrade? I came across a mention of this issue while doing some doc updates. |
@djbrooke it's still broken. I just went to https://demo.dataverse.org/openapi and https://dataverse.harvard.edu/openapi which are both running Dataverse 5.3 and (I assume) Payara 5.2020.7. The output is a different (showing a single "path" at least) but still incomplete (we expect to see all paths or endpoints):
|
Thanks @pdurbin! I got the same output but I didn't know if I was doing something wrong. |
FYI: I got the openapi working on Dataverse 5.3 and payara 5.2021.1 running in a docker environment. It needed some tweaking though: In order to get it working with the Petstore Swagger GUI, I had to enable CORS for OpenAPI:
I had to add it to the preboot in the docker container to make it work (init_2_conf_payara.sh). Secondly I had to force my FQDN in the OpenAPI MPConfig as the default server name was the docker id and useless:
Added to the postboot in the docker container (init_2_conf_payara.sh). That allowed me to use the Dataverse /openapi url in the https://petstore.swagger.io explore box. There is also a local swagger-ui installation: https://www.rdm.libis.kuleuven.be/apidoc BUT: there are several issues with it:
|
There have been some improvements for OpenAPI detection in the most recent release 5.2021.2 See also https://github.com/payara/Payara/releases/tag/payara-server-5.2021.2 |
I upgraded our pilot installation to payara 5.2021.2 and I can confirm that the validation errors are gone. Unfortunately, the timeout problem remains. |
https://demo.dataverse.org/openapi is working now. It starts with this:
|
https://demo.dataverse.org/openapi still works fine. I'm closing this issue. If we feel the need to document anything, we can open a fresh issue. |
It would be great, if the Dataverse API's would apply the OpenAPI standard procedure.
You can find more about this here:
The text was updated successfully, but these errors were encountered: