VEuPathDB Dataset Installer v1.7.0

link https://veupathdb.org/vdi

Resources

get /datasets

List Datasets  

Returns a list of datasets available to the requesting user, optionally filtered by query parameters.

Results are sorted by creation date in reverse order. This means the most recently created datasets will be first and the oldest dataset will be last in the list.

Parameters chevron_right expand_more

ParameterTypeDescription
Query
install_target InstallTargetIDstring

ID of the VEuPathDB project that results should be filtered to.

This means only datasets that are relevant to the project ID given will be returned.

Additionally, this controls the sites on which the dataset installation status will be checked. Meaning, if this parameter is specified and set to, for example, PlasmoDB, the status block in the response objects will only include installation status details for PlasmoDB and not any other sites that the dataset may have been installed into.

This is desirable for UI-based client use to improve request processing time by the service.

Min. length: 5

Max. length: 32

Inherits: string

ownership Dataset Ownership Filterstring

Ownership status filter.

Enum of:

  • any
  • owned
  • shared

If set to any the results are not filtered.

If set to owned, the results will be filtered to only results that are owned by the requesting user.

If set to shared, the results will be filtered to only results that are shared with the requesting user.

Default value: "any"

curl -X GET \
  https://veupathdb.org/vdi/datasets?InstallTargetID=<value>&ownership=<value>

200 OK chevron_right expand_more

application/json

application/json

ParameterTypeDescription
[] Dataset Listing Itemobject

Short entry with basic details about a dataset.

Inherits: object

[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

[].owner*object

Details about the owner of a VDI dataset.

Inherits: lib.DatasetOwner

[].owner.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

[].owner.firstNamestring
[].owner.lastNamestring
[].owner.emailstring
[].owner.organizationstring
[].datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

[].datasetType.name*string

Min. length: 3

[].datasetType.version*string

Min. length: 1

[].datasetType.displayName*string

Min. length: 3

[].visibility*string
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

[].name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

[].origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

[].installTargets*array

Project IDs for projects the dataset record was submitted to.

Unique items: Yes

[].installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

[].status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

[].status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: string

[].status.installarray
[].status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: object

[].status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

[].status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

[].status.install[].metaMessagestring
[].status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

[].status.install[].dataMessagestring
[].shares*array
[].shares[] Dataset Listing Share Infoobject

Inherits: lib.DatasetListShareUser

[].shares[].userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

[].shares[].firstName*string
[].shares[].lastName*string
[].shares[].organization*string
[].shares[].accepted*boolean
[].fileCount*integer

Number of files uploaded for this dataset.

[].fileSizeTotal*integer

Sum of the sizes of all the files uploaded for this dataset.

Format: int64

[].created*datetime

Timestamp of the creation of the dataset

Inherits: datetime

[].shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

[].shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

[].summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

[].descriptionstring

Longform description of the dataset.

Inherits: string

[].sourceUrlstring

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: lib.DatasetSourceUrl

[].originalIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

400 Bad Request chevron_right expand_more

One or more request query parameters were not valid.

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "Invalid install_target value."
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "Users must be logged in to access this resource."
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Dataset store is unreachable",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

post /datasets

Create Dataset  

multipart/form-data HTTP POST request to upload a new dataset.

Note, the root of the body description below is of the multipart form data fields and not of a literal JSON object.

The meta field, however, is expected to be a JSON object.

The file field may be one of:

  • a raw data file to import
  • a .zip file containing one or more files to import
  • a .tar.gz or .tgz file containing one or more files to import.

The url field may point to a file that is one of the allowed upload types.

The url and file fields cannot both be used at the same time, one must be used or the other. Providing both fields will result in a 4xx range error response.

curl -X POST \
  -H "Content-type: multipart/form-data"
  -d @file \
  https://veupathdb.org/vdi/datasets

Request Body chevron_right expand_more

Dataset Post Request DatasetPostRequestBody

multipart/form-data

HTTP POST request body requesting the creation of a dataset from the components included in the request.

For a request to be considered valid, it must contain exactly 1 of the optional parameters file or url. If a request body contains both a file and a url field value, the service will return a 400 error.

Inherits: object

ParameterTypeDescription
details*object

Metadata about the dataset being submitted.

Inherits: lib.DatasetMetaBase

details.installTargets*array

IDs of the projects this dataset is being submitted to.

Unique items: Yes

details.installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

details.name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

details.summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

details.origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

details.dependencies*array

Unique items: Yes

details.dependencies[] Dataset Dependencyobject

Inherits: object

details.dependencies[].resourceIdentifier*string

Min. length: 3

Max. length: 50

details.dependencies[].resourceDisplayName*string

Min. length: 3

Max. length: 100

details.dependencies[].resourceVersion*string

Min. length: 1

Max. length: 50

details.contactsarray

Unique items: Yes

details.contacts[] Dataset Contactobject

Inherits: object

details.contacts[].name*string

Min. length: 3

Max. length: 300

details.contacts[].isPrimaryboolean
details.contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

details.contacts[].affiliationstring

Max. length: 4000

details.contacts[].citystring

Max. length: 200

details.contacts[].statestring

Max. length: 200

details.contacts[].countrystring

Max. length: 200

details.contacts[].addressstring

Max. length: 1000

details.descriptionstring

Longform description of the dataset.

Inherits: string

details.hyperlinksarray

Unique items: Yes

details.hyperlinks[] Dataset Hyperlinkobject

Inherits: object

details.hyperlinks[].url*string

Min. length: 7

Max. length: 200

details.hyperlinks[].text*string

Min. length: 3

Max. length: 300

details.hyperlinks[].descriptionstring

Max. length: 4000

details.hyperlinks[].isPublicationboolean
details.organismsarray

Unique items: Yes

details.organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

details.publicationsarray

Unique items: Yes

details.publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

details.publications[].pubMedId*string

Min. length: 3

Max. length: 30

details.publications[].citationstring

Min. length: 3

Max. length: 2000

details.publications[].isPrimaryboolean
details.shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

details.shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

details.propertiesany

Any-typed for compatibility with JaxRS and RAML.

Actual schema definitions are available at:

Inherits: any

details.datasetType*object

Inherits: lib.DatasetTypeInput

details.datasetType.name*string

Min. length: 3

Max. length: 128

details.datasetType.version*string

Min. length: 1

Max. length: 32

details.visibilitystring

Default value: "private"

Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

dataFilesarray

Dataset files to upload.

This field is incompatible with the url field.

dataFiles[]file
urlstring

URL to a dataset file to upload.

This field is incompatible with the file field.

docFilesarray

Files containing additional dataset documentation or meta info that is not part of the data itself.

docFiles[]file

201 Created chevron_right expand_more

Headers

ParameterTypeDescription
Location*string

URL to the new dataset resource.

Dataset Post Response DatasetPostResponseBody

application/json

Successful upload response.

This response does not mean the uploaded dataset has been made available on the target site(s). The upload must first be validated and installed into the target sites before the dataset will become available for use.

Inherits: object

ParameterTypeDescription
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

422 Unprocessable Entity chevron_right expand_more

Request body was syntactically valid JSON, however the body failed validation rules.

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

424 Failed Dependency chevron_right expand_more

Failed Dependency.

Returned when the dataset data source was a remote URL and the VDI service encountered either a non-success HTTP status code from the target URL or an empty response body.

The most common cause for this is 403 errors from expired AWS URLs.

Failed Dependency Error FailedDependencyError

application/json

Discriminator: status

Discriminator value: failed-dependency

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
dependency*string

Response Body

{
  "status": "failed-dependency",
  "dependency": "google.com",
  "message": "unexpected status code 403 from google.com"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /datasets/{vdi-id}

Dataset Details  

Fetch details about a dataset and its status(es).

If the target dataset has just been posted, this endpoint may return a 404 for several seconds until the post has been asynchronously processed.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

curl -X GET \
  https://veupathdb.org/vdi/datasets/{vdi-id}

200 OK chevron_right expand_more

Target dataset was located and returned.

Dataset Details DatasetDetails

application/json

Details about a specific singular dataset.

Inherits: lib.DatasetMetaBase

ParameterTypeDescription
name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

installTargets*array

IDs of the projects this dataset is being submitted to.

Unique items: Yes

installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

dependencies*array

Unique items: Yes

dependencies[] Dataset Dependencyobject

Inherits: object

dependencies[].resourceIdentifier*string

Min. length: 3

Max. length: 50

dependencies[].resourceDisplayName*string

Min. length: 3

Max. length: 100

dependencies[].resourceVersion*string

Min. length: 1

Max. length: 50

contactsarray

Unique items: Yes

contacts[] Dataset Contactobject

Inherits: object

contacts[].name*string

Min. length: 3

Max. length: 300

contacts[].isPrimaryboolean
contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

contacts[].affiliationstring

Max. length: 4000

contacts[].citystring

Max. length: 200

contacts[].statestring

Max. length: 200

contacts[].countrystring

Max. length: 200

contacts[].addressstring

Max. length: 1000

descriptionstring

Longform description of the dataset.

Inherits: string

hyperlinksarray

Unique items: Yes

hyperlinks[] Dataset Hyperlinkobject

Inherits: lib.DatasetHyperlink

hyperlinks[].url*string

Min. length: 7

Max. length: 200

hyperlinks[].text*string

Min. length: 3

Max. length: 300

hyperlinks[].descriptionstring

Max. length: 4000

hyperlinks[].isPublicationboolean
organismsarray

Unique items: Yes

organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

publicationsarray

Unique items: Yes

publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

publications[].pubMedId*string

Min. length: 3

Max. length: 30

publications[].citationstring

Min. length: 3

Max. length: 2000

publications[].isPrimaryboolean
shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

propertiesany

Any-typed for compatibility with JaxRS and RAML.

Actual schema definitions are available at:

Inherits: any

datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

owner*object

Details about the owner of a VDI dataset.

Inherits: lib.DatasetOwner

owner.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

owner.firstNamestring
owner.lastNamestring
owner.emailstring
owner.organizationstring
importMessagesarray

Log lines from the import process.

These messages will be warnings and/or validation errors.

importMessages[]string
sharesarray

Array of share offers that have been created by the owner of this dataset to share it with other users.

shares[] Dataset Share Offerobject

Inherits: lib.ShareOffer

shares[].recipient*object

Inherits: lib.ShareOfferRecipient

shares[].recipient.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

shares[].recipient.firstNamestring
shares[].recipient.lastNamestring
shares[].recipient.organizationstring
shares[].recipient.emailstring
shares[].status*string
Enum:
  • grant
  • revoke

Inherits: lib.ShareOfferAction

datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

datasetType.name*string

Min. length: 3

datasetType.version*string

Min. length: 1

datasetType.displayName*string

Min. length: 3

visibility*string
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: lib.DatasetImportStatus

status.installarray
status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: lib.DatasetInstallStatusEntry

status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

status.install[].metaMessagestring
status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

status.install[].dataMessagestring
created*datetime

Timestamp of the creation of the dataset

Inherits: datetime

sourceUrlstring

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: lib.DatasetSourceUrl

originalIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

revisionHistoryarray
revisionHistory[] Dataset Revisionobject

Dataset revision history entry.

Inherits: lib.DatasetRevision

revisionHistory[].action*string
Enum:
  • revise

Inherits: lib.DatasetRevisionAction

revisionHistory[].timestamp*datetime
revisionHistory[].revisionId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

revisionHistory[].revisionNote*string

Note providing a reason and/or description for the revision.

Min. length: 10

Max. length: 4096

Inherits: lib.DatasetRevisionNote

revisionHistory[].fileListUrl*string

URL to the file listing for the revision entry.

301 Moved Permanently chevron_right expand_more

Target dataset has been moved by replacement with the a new VDI ID.

Headers

ParameterTypeDescription
Location*string

URL to the newest dataset revision.

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

patch /datasets/{vdi-id}

Update Dataset  

Updates the metadata for a target dataset.

If a field in the request body is null, the matching metadata field will retain it's previous value. To "clear" a field, it must be set to an empty string.

The name field, if provided, must not be blank.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

curl -X PATCH \
  -H "Content-type: application/json"
  -d @body.json \
  https://veupathdb.org/vdi/datasets/{vdi-id}

Request Body chevron_right expand_more

Dataset Patch Request DatasetPatchRequestBody

application/json

Request to update the metadata for a dataset.

Fields that are omitted will be ignored when updating the target dataset record.

Inherits: object

ParameterTypeDescription
namestring

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: string

datasetTypeobject

Only allowed when transitioning from a none-type dataset into an actual dataset type.

Inherits: lib.DatasetTypeInput

datasetType.name*string

Min. length: 3

Max. length: 128

datasetType.version*string

Min. length: 1

Max. length: 32

shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

visibilitystring
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

summarystring

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

descriptionstring

Longform description of the dataset.

Inherits: string

publicationsarray

Unique items: Yes

publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

publications[].pubMedId*string

Min. length: 3

Max. length: 30

publications[].citationstring

Min. length: 3

Max. length: 2000

publications[].isPrimaryboolean
hyperlinksarray

Unique items: Yes

hyperlinks[] Dataset Hyperlinkobject

Inherits: object

hyperlinks[].url*string

Min. length: 7

Max. length: 200

hyperlinks[].text*string

Min. length: 3

Max. length: 300

hyperlinks[].descriptionstring

Max. length: 4000

hyperlinks[].isPublicationboolean
organismsarray

Unique items: Yes

organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

contactsarray

Unique items: Yes

contacts[] Dataset Contactobject

Inherits: object

contacts[].name*string

Min. length: 3

Max. length: 300

contacts[].isPrimaryboolean
contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

contacts[].affiliationstring

Max. length: 4000

contacts[].citystring

Max. length: 200

contacts[].statestring

Max. length: 200

contacts[].countrystring

Max. length: 200

contacts[].addressstring

Max. length: 1000

propertiesany

When provided and non-empty, wholely replaces any previous dataset characteristics value. When provided as an empty object, removes the dataset's characteristics.

Inherits: any

204 No Content chevron_right expand_more

Target dataset metadata was updated.

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity.

Request body was syntactically valid JSON, however the body failed validation.

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

put /datasets/{vdi-id}

Replace Dataset  

Uploads a new dataset data revision to replace the existing target dataset.

This method is effectively a modification of the PATCH request rules for the metadata body to add the required field revisionNote.

This means that omitting fields from the request or setting them to null will tell VDI to use the original dataset's values for those fields.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

curl -X PUT \
  -H "Content-type: multipart/form-data"
  -d @file \
  https://veupathdb.org/vdi/datasets/{vdi-id}

Request Body chevron_right expand_more

Dataset Put Request DatasetPutRequestBody

multipart/form-data

Inherits: object

ParameterTypeDescription
details*object

Metadata about the dataset being submitted.

Inherits: lib.DatasetPatchRequestBody

details.namestring

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: string

details.datasetTypeobject

Only allowed when transitioning from a none-type dataset into an actual dataset type.

Inherits: lib.DatasetTypeInput

details.datasetType.name*string

Min. length: 3

Max. length: 128

details.datasetType.version*string

Min. length: 1

Max. length: 32

details.shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

details.shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

details.visibilitystring
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

details.summarystring

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

details.descriptionstring

Longform description of the dataset.

Inherits: string

details.publicationsarray

Unique items: Yes

details.publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

details.publications[].pubMedId*string

Min. length: 3

Max. length: 30

details.publications[].citationstring

Min. length: 3

Max. length: 2000

details.publications[].isPrimaryboolean
details.hyperlinksarray

Unique items: Yes

details.hyperlinks[] Dataset Hyperlinkobject

Inherits: object

details.hyperlinks[].url*string

Min. length: 7

Max. length: 200

details.hyperlinks[].text*string

Min. length: 3

Max. length: 300

details.hyperlinks[].descriptionstring

Max. length: 4000

details.hyperlinks[].isPublicationboolean
details.organismsarray

Unique items: Yes

details.organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

details.contactsarray

Unique items: Yes

details.contacts[] Dataset Contactobject

Inherits: object

details.contacts[].name*string

Min. length: 3

Max. length: 300

details.contacts[].isPrimaryboolean
details.contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

details.contacts[].affiliationstring

Max. length: 4000

details.contacts[].citystring

Max. length: 200

details.contacts[].statestring

Max. length: 200

details.contacts[].countrystring

Max. length: 200

details.contacts[].addressstring

Max. length: 1000

details.propertiesany

When provided and non-empty, wholely replaces any previous dataset characteristics value. When provided as an empty object, removes the dataset's characteristics.

Inherits: any

details.origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: string

details.revisionNote*string

Note providing a reason and/or description for the revision.

Min. length: 10

Max. length: 4096

Inherits: lib.DatasetRevisionNote

dataFilesarray

Dataset files to upload.

This field is incompatible with the url field.

dataFiles[]file
urlstring

URL to a dataset file to upload.

This field is incompatible with the file field.

docFilesarray

Files containing additional dataset documentation or meta info that is not part of the data itself.

docFiles[]file

201 Created chevron_right expand_more

Replacement dataset request has been accepted for processing.

Headers

ParameterTypeDescription
Location*string

URL to the new dataset resource.

Dataset Put Response DatasetPutResponseBody

application/json

Inherits: object

ParameterTypeDescription
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity.

Request body was syntactically valid JSON, however the body failed validation.

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

delete /datasets/{vdi-id}

Delete Dataset  

Marks the target dataset as deleted.

Datasets that have been marked as deleted are still recoverable for a short period of time before they are permanently deleted from the system.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

curl -X DELETE \
  https://veupathdb.org/vdi/datasets/{vdi-id}

204 No Content chevron_right expand_more

Target dataset was marked as deleted.

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /datasets/{vdi-id}/files

List Files  

Lists the dataset zip files for the original user upload as well as the install files (when available).

If this endpoint is hit before the dataset has been imported, the upload zip size will be -1 which may be used as an indicator to clients that the zip size cannot yet be shown.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

curl -X GET \
  https://veupathdb.org/vdi/datasets/{vdi-id}/files

200 OK chevron_right expand_more

Dataset File Report DatasetFileListing

application/json

Inherits: object

ParameterTypeDescription
upload*object

Inherits: lib.DatasetZipDetails

upload.zipSize*integer

Format: int64

upload.contents*array
upload.contents[] Decompressed File Infoobject

Inherits: object

upload.contents[].fileName*string
upload.contents[].fileSize*integer

Size of the file in bytes.

Format: int64

installobject

Inherits: lib.DatasetZipDetails

install.zipSize*integer

Format: int64

install.contents*array
install.contents[] Decompressed File Infoobject

Inherits: object

install.contents[].fileName*string
install.contents[].fileSize*integer

Size of the file in bytes.

Format: int64

documentsarray
documents[] Decompressed File Infoobject

Inherits: object

documents[].fileName*string
documents[].fileSize*integer

Size of the file in bytes.

Format: int64

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /datasets/{vdi-id}/files/upload

Get Upload Zip File  

Returns a zip file containing the contents of the original upload to the dataset importer.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

curl -X GET \
  https://veupathdb.org/vdi/datasets/{vdi-id}/files/upload

200 OK chevron_right expand_more

Headers

ParameterTypeDescription
Content-Disposition*string

Content disposition of attachment with a filename.

application/octet-stream

application/octet-stream

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /datasets/{vdi-id}/files/data

Get Data File  

Returns a zip file containing the processed files that were/would be installed into the VEuPathDB project site on successful install processing.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

curl -X GET \
  https://veupathdb.org/vdi/datasets/{vdi-id}/files/data

200 OK chevron_right expand_more

Headers

ParameterTypeDescription
Content-Disposition*string

Content disposition of attachment with a filename.

application/octet-stream

application/octet-stream

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /datasets/{vdi-id}/files/documents/{file-name}

Get Document  

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

file-name*string
curl -X GET \
  https://veupathdb.org/vdi/datasets/{vdi-id}/files/documents/{file-name}

200 OK chevron_right expand_more

Headers

ParameterTypeDescription
Content-Disposition*string

Content disposition of attachment with a filename.

application/octet-stream

application/octet-stream

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

put /datasets/{vdi-id}/files/documents/{file-name}

Put Document  

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

file-name*string
curl -X PUT \
  -H "Content-type: application/octet-stream"
  -d @file \
  https://veupathdb.org/vdi/datasets/{vdi-id}/files/documents/{file-name}

Request Body chevron_right expand_more

application/octet-stream

application/octet-stream

204 No Content chevron_right expand_more

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

put /datasets/{vdi-id}/shares/{recipient-user-id}/offer

Offer to Share a Dataset  

PUT a record that is either an offer to share a dataset with another target user, or the revocation of an existing open share offer with a target user.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

recipient-user-id* UserIdinteger

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

curl -X PUT \
  -H "Content-type: application/json"
  -d @body.json \
  https://veupathdb.org/vdi/datasets/{vdi-id}/shares/{recipient-user-id}/offer

Request Body chevron_right expand_more

Dataset Share Offer DatasetShareOffer

application/json

An offer to share (or un-share) a dataset with a single target user.

Inherits: object

ParameterTypeDescription
action*string

What action to take with the dataset share offer.

Either grant or revoke.

A value of grant means the share should be offered to the user if they do not already have the dataset, or continue to be allowed if they already have access to the dataset.

A value of revoke means the share should not be offered to the target user if they do not already have the dataset, or the sharing should be stopped if the user did already have access to the dataset.

Enum:
  • grant
  • revoke

Inherits: lib.ShareOfferAction

Request Body

Grant Example

{
  "action": "grant"
}

Revoke Example

{
  "action": "revoke"
}

204 No Content chevron_right expand_more

Share offer record was successfully (re)placed.

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

put /datasets/{vdi-id}/shares/{recipient-user-id}/receipt

Receive a dataset Share  

PUT a receipt of a dataset share offer, marking the share offer as either accepted or rejected.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

recipient-user-id* UserIdinteger

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

curl -X PUT \
  -H "Content-type: application/json"
  -d @body.json \
  https://veupathdb.org/vdi/datasets/{vdi-id}/shares/{recipient-user-id}/receipt

Request Body chevron_right expand_more

Dataset Share Receipt DatasetShareReceipt

application/json

A receipt or response to a share offer of a dataset to a single user.

Inherits: object

ParameterTypeDescription
action*string

What action to take with acknowledging a dataset share offer.

Either accept or reject.

A value of accept means that the dataset that a share was offered for should become available to the accepting user.

A value of reject means that the dataset that a share was offered for should become unavailable to the rejecting user.

Enum:
  • accept
  • reject

Inherits: lib.ShareReceiptAction

204 No Content chevron_right expand_more

Share offer receipt record was successfully created.

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /datasets/community

List Community Datasets  

Returns a list of datasets that have been made "public" by the owner setting the dataset visibilities to a setting other than private.

curl -X GET \
  https://veupathdb.org/vdi/datasets/community

200 OK chevron_right expand_more

application/json

application/json

ParameterTypeDescription
[] Dataset Listing Itemobject

Short entry with basic details about a dataset.

Inherits: object

[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

[].owner*object

Details about the owner of a VDI dataset.

Inherits: lib.DatasetOwner

[].owner.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

[].owner.firstNamestring
[].owner.lastNamestring
[].owner.emailstring
[].owner.organizationstring
[].datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

[].datasetType.name*string

Min. length: 3

[].datasetType.version*string

Min. length: 1

[].datasetType.displayName*string

Min. length: 3

[].visibility*string
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

[].name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

[].origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

[].installTargets*array

Project IDs for projects the dataset record was submitted to.

Unique items: Yes

[].installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

[].status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

[].status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: string

[].status.installarray
[].status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: object

[].status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

[].status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

[].status.install[].metaMessagestring
[].status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

[].status.install[].dataMessagestring
[].shares*array
[].shares[] Dataset Listing Share Infoobject

Inherits: lib.DatasetListShareUser

[].shares[].userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

[].shares[].firstName*string
[].shares[].lastName*string
[].shares[].organization*string
[].shares[].accepted*boolean
[].fileCount*integer

Number of files uploaded for this dataset.

[].fileSizeTotal*integer

Sum of the sizes of all the files uploaded for this dataset.

Format: int64

[].created*datetime

Timestamp of the creation of the dataset

Inherits: datetime

[].shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

[].shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

[].summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

[].descriptionstring

Longform description of the dataset.

Inherits: string

[].sourceUrlstring

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: lib.DatasetSourceUrl

[].originalIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /users/self/meta

 

Get user metadata.

curl -X GET \
  https://veupathdb.org/vdi/users/self/meta

200 OK chevron_right expand_more

User Details UserMetadata

application/json

Inherits: object

ParameterTypeDescription
quota*object

Inherits: lib.UserQuotaDetails

quota.limit*integer

Max number of bytes a user is allowed to upload.

Format: int64

quota.usage*integer

Current number of bytes counted against the user's quota.

Format: int64

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /users/self/share-offers

List Offers  

Endpoint to list dataset shares that have been offered to the requesting user.

Parameters chevron_right expand_more

ParameterTypeDescription
Query
status Share Statusstring

Controls the results by filtering them to only shares that are in the specified target status.

Valid status values are:

  • open
  • accepted
  • rejected
  • all

These status values mean:

StatusDescription
`open`Only return share offers that have not yet been accepted or rejected.
`accepted`Only return share offers that have been accepted by the requesting user.
`rejected`Only return share offers that have been rejected by the requesting user.
`all`Return all share offers regardless of whether they have been acknowledged, accepted, or rejected.

Default value: "open"

curl -X GET \
  https://veupathdb.org/vdi/users/self/share-offers?status=<value>

200 OK chevron_right expand_more

application/json

application/json

ParameterTypeDescription
[] Share Offer Detailsobject

Inherits: object

[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

[].owner*object

Details about the owner of a VDI dataset.

Inherits: object

[].owner.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

[].owner.firstNamestring
[].owner.lastNamestring
[].owner.emailstring
[].owner.organizationstring
[].shareStatus*string
Enum:
  • open
  • accepted
  • rejected

Inherits: lib.ShareOfferStatus

[].datasetType*object

Details about a specific dataset type.

Inherits: object

[].datasetType.name*string

Min. length: 3

[].datasetType.version*string

Min. length: 1

[].datasetType.displayName*string

Min. length: 3

[].installTargets*array

Unique items: Yes

[].installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: string

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /plugins

List Plugins  

List the plugins currently registered with the VDI instance.

Parameters chevron_right expand_more

ParameterTypeDescription
Query
project Project Filterstring

Optional parameter that may be used to filter the results of this endpoint to only those that are allowed to be used with the target project.

Valid values (non-case-sensitive):

  • AmoebaDB
  • ClinEpiDB
  • CryptoDB
  • FungiDB
  • GiardiaDB
  • HostDB
  • MicrobiomeDB
  • MicrosporidiaDB
  • PiroplasmaDB
  • PlasmoDB
  • ToxoDB
  • TrichDB
  • TriTrypDB
  • VectorBase
  • VEuPathDB
curl -X GET \
  https://veupathdb.org/vdi/plugins?project=<value>

200 OK chevron_right expand_more

application/json

application/json

ParameterTypeDescription
[] Plugin Infoobject

Inherits: object

[].displayName*string
[].typeName*string
[].typeVersion*string
[].projectsarray

Projects that this plugin is restricted to. An empty or absent list indicates that the plugin has no project restrictions and may be used on any site.

[].projects[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: string

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /admin/reports/datasets/list-all

 lock

Lists all datasets known to VDI via the internal cache database.

Providing a limit query param value of -1 indicates that ALL records should be returned. In this case, the offset parameter will be ignored.

Example - List All Live Datasets

curl --header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
"${VDI_INSTANCE}/admin/reports/datasets/list-all?limit=-1" \
> results.json

Example - Paginated by Project

curl --header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
"${VDI_INSTANCE}/admin/reports/datasets/list-all?offset=100&install_target=PlasmoDB" \
> results.json

Parameters chevron_right expand_more

ParameterTypeDescription
Query
install_targetstring

Filter results by install target project ID.

This field is not case sensitive.

include_deletedboolean

Controls whether datasets that have been marked as deleted should be included in the results.

limitinteger

Result count limit. If set to -1, no limit is applied.

Default value: 100

offsetinteger

Pagination offset. Ignored if limit < 0.

Secured By chevron_right expand_more

Admin Token AdminToken

Per-service admin token header.

curl -X GET \
  https://veupathdb.org/vdi/admin/reports/datasets/list-all?install_target=<value>&include_deleted=<value>&limit=<value>&offset=<value>

200 OK chevron_right expand_more

All Datasets Listing Response AllDatasetsListResponse

application/json

Inherits: object

ParameterTypeDescription
meta*object

Inherits: object

meta.count*integer
meta.offset*integer
meta.limit*integer
meta.total*integer
results*array
results[]object

Inherits: object

results[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

results[].owner*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

results[].datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

results[].datasetType.name*string

Min. length: 3

results[].datasetType.version*string

Min. length: 1

results[].datasetType.displayName*string

Min. length: 3

results[].visibility*string
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

results[].name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

results[].origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

results[].installTargets*array

Unique items: Yes

results[].installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

results[].status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

results[].status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: lib.DatasetImportStatus

results[].status.installarray
results[].status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: lib.DatasetInstallStatusEntry

results[].status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

results[].status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

results[].status.install[].metaMessagestring
results[].status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

results[].status.install[].dataMessagestring
results[].created*datetime

Timestamp of the creation of the dataset

Inherits: lib.DatasetCreationDate

results[].isDeleted*boolean
results[].shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

results[].shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

results[].summarystring

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

results[].descriptionstring

Longform description of the dataset.

Inherits: lib.DatasetDescription

results[].sourceUrlstring

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: lib.DatasetSourceUrl

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /admin/reports/datasets/{vdi-id}

 lock

Example

curl --header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
"${VDI_INSTANCE}/admin/reports/datasets/123dk37h" \
> details.json

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

Secured By chevron_right expand_more

Admin Token AdminToken

Per-service admin token header.

curl -X GET \
  https://veupathdb.org/vdi/admin/reports/datasets/{vdi-id}

200 OK chevron_right expand_more

InternalDatasetDetails InternalDatasetDetails

application/json

Inherits: object

ParameterTypeDescription
datasetType*object

Details about a specific dataset type.

Inherits: object

datasetType.name*string

Min. length: 3

datasetType.version*string

Min. length: 1

datasetType.displayName*string

Min. length: 3

owner*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

isDeleted*boolean
origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: string

created*datetime

Timestamp of the creation of the dataset

Inherits: datetime

inserted*datetime
name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: string

installTargets*array

Unique items: Yes

installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: string

status*string
importMessages*array
importMessages[]string
visibility*string
Enum:
  • private
  • protected
  • public

Inherits: string

shortNamestring

Min. length: 3

Max. length: 300

Inherits: string

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: string

summarystring

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: string

descriptionstring

Longform description of the dataset.

Inherits: string

sourceUrlstring

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: string

syncControlobject

Inherits: lib.SyncControlRecord

syncControl.sharesUpdateTime*datetime
syncControl.dataUpdateTime*datetime
syncControl.metaUpdateTime*datetime
uploadFilesarray
uploadFiles[]string
installFilesarray
installFiles[]string

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /admin/reports/imports/failed

List  lock

Lists datasets that failed to import.

Note: A failed import is different from an invalid import. Failed imports are caused by process bugs or errors, invalid imports are caused by bad user input.

Example - List All

curl --header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
"${VDI_INSTANCE}/admin/reports/imports/failed?limit=-1" \
> failed-imports.json

Parameters chevron_right expand_more

ParameterTypeDescription
Query
user UserIdinteger

Filters results to only records owned by the target user.

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

before Partial Datetimestring

Filters results to only records created before the given datetime.

Min. length: 4

Inherits: string

after Partial Datetimestring

Filter results to only records created after the given datetime.

Min. length: 4

Inherits: string

sortstring

Sorting field.

Default value: "date"

Enum:
  • date
orderstring

Sort order.

Default value: "desc"

Enum:
  • asc
  • desc
limitinteger

Result count limit. If set to -1, no limit is applied.

Default value: 100

offsetinteger

Pagination offset. Ignored if limit < 0.

Secured By chevron_right expand_more

Admin Token AdminToken

Per-service admin token header.

curl -X GET \
  https://veupathdb.org/vdi/admin/reports/imports/failed?UserId=<value>&PartialDate=<value>&PartialDate=<value>&sort=<value>&order=<value>&limit=<value>&offset=<value>

200 OK chevron_right expand_more

BrokenImportListing BrokenImportListing

application/json

Inherits: object

ParameterTypeDescription
meta*object

Inherits: lib.BrokenImportListingMeta

meta.count*integer

Number of records in the result

meta.beforestring
meta.afterstring
meta.userinteger

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

meta.limitinteger
meta.offsetinteger
results*array
results[] Broken Import Detailsobject

Inherits: object

results[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

results[].owner*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

results[].datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

results[].datasetType.name*string

Min. length: 3

results[].datasetType.version*string

Min. length: 1

results[].datasetType.displayName*string

Min. length: 3

results[].installTargets*array

Unique items: Yes

results[].installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

results[].messages*array
results[].messages[]string

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /admin/reports/installs/failed

 lock

Lists datasets that failed installation due to a non-user error, such as a system outage or service bug.

The returned report may be either a list of dataset ID strings, or a list of dataset detail objects depending on the provided expanded query parameter value. By default, dataset detail objects are returned.

Example - Dataset ID List

curl --header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
"${VDI_INSTANCE}/admin/reports/installs/failed?expanded=false" \
> failed-installs.json

Example - Detailed Dataset List

curl --header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
"${VDI_INSTANCE}/admin/reports/installs/failed" \
> failed-installs.json

Parameters chevron_right expand_more

ParameterTypeDescription
Query
expandedboolean

Whether the returned broken dataset install list should be expanded to include additional details about each dataset or should be just a simple list of dataset IDs.

Default value: true

Secured By chevron_right expand_more

Admin Token AdminToken

Per-service admin token header.

curl -X GET \
  https://veupathdb.org/vdi/admin/reports/installs/failed?expanded=<value>

200 OK chevron_right expand_more

Failed Install Report BrokenDatasetInstallReportBody

application/json

Inherits: object

ParameterTypeDescription
detailsarray
details[]object

Inherits: object

details[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

details[].owner*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

details[].datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

details[].datasetType.name*string

Min. length: 3

details[].datasetType.version*string

Min. length: 1

details[].datasetType.displayName*string

Min. length: 3

details[].installTargets*array

Unique items: Yes

details[].installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

details[].status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

details[].status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: lib.DatasetImportStatus

details[].status.installarray
details[].status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: lib.DatasetInstallStatusEntry

details[].status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

details[].status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

details[].status.install[].metaMessagestring
details[].status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

details[].status.install[].dataMessagestring
idsarray
ids[]string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /admin/reports/object-store/list-all

 lock

Lists all the objects currently in the object store backing VDI.

This endpoint returns the data in TSV format with the following columns for each object in the store:

  • Key/path
  • Size (in bytes)
  • Last modified date

Example

curl --header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
"${VDI_INSTANCE}/admin/reports/object-store/list-all" \
> minio-objects.tsv

Secured By chevron_right expand_more

Admin Token AdminToken

Per-service admin token header.

curl -X GET \
  https://veupathdb.org/vdi/admin/reports/object-store/list-all

200 OK chevron_right expand_more

text/plain

text/plain

Response Body

/foo/bar/fizz	342345	2023-08-13T15:34:04.0342Z
/foo/bar/buzz	32125	2023-08-13T15:34:06.1254Z

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

post /admin/rpc/datasets/proxy-upload

 lock

Upload a dataset on behalf of a target user.

Usage: This endpoint functions the same as the normal create dataset endpoint with the additional requirement of a target User ID provided as a header.

Example File Upload:

curl --header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
--header "User-ID: ${TARGET_USER_ID}" \
--form meta=@dataset-metadata.json \
--form file=@dataset-contents.zip \
"${VDI_INSTANCE}/admin/rpc/datasets/proxy-upload"

Example URL Upload:

curl --header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
--header "User-ID: ${TARGET_USER_ID}" \
--form meta=@dataset-metadata.json \
--form url='https://some.website.com/path/to/file' \
"${VDI_INSTANCE}/admin/rpc/datasets/proxy-upload"

Headers chevron_right expand_more

ParameterTypeDescription
User-ID* UserIdinteger

ID of the target user on whose behalf a dataset is being uploaded

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Secured By chevron_right expand_more

Admin Token AdminToken

Per-service admin token header.

curl -X POST \
  -H "UserId: <value>" \
  -H "Content-type: multipart/form-data"
  -d @file \
  https://veupathdb.org/vdi/admin/rpc/datasets/proxy-upload

Request Body chevron_right expand_more

Dataset Proxy Post Request DatasetProxyPostRequestBody

multipart/form-data

multipart/form-data HTTP POST request to upload a new dataset.

Note, the body description below is of the multipart form data fields and not of a JSON object.

The meta field, however, is expected to be a JSON blob.

Inherits: object

ParameterTypeDescription
details*object

Metadata about the dataset being submitted.

Inherits: lib.DatasetPostMeta

details.installTargets*array

IDs of the projects this dataset is being submitted to.

Unique items: Yes

details.installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

details.name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

details.summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

details.origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

details.dependencies*array

Unique items: Yes

details.dependencies[] Dataset Dependencyobject

Inherits: object

details.dependencies[].resourceIdentifier*string

Min. length: 3

Max. length: 50

details.dependencies[].resourceDisplayName*string

Min. length: 3

Max. length: 100

details.dependencies[].resourceVersion*string

Min. length: 1

Max. length: 50

details.contactsarray

Unique items: Yes

details.contacts[] Dataset Contactobject

Inherits: object

details.contacts[].name*string

Min. length: 3

Max. length: 300

details.contacts[].isPrimaryboolean
details.contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

details.contacts[].affiliationstring

Max. length: 4000

details.contacts[].citystring

Max. length: 200

details.contacts[].statestring

Max. length: 200

details.contacts[].countrystring

Max. length: 200

details.contacts[].addressstring

Max. length: 1000

details.descriptionstring

Longform description of the dataset.

Inherits: string

details.hyperlinksarray

Unique items: Yes

details.hyperlinks[] Dataset Hyperlinkobject

Inherits: object

details.hyperlinks[].url*string

Min. length: 7

Max. length: 200

details.hyperlinks[].text*string

Min. length: 3

Max. length: 300

details.hyperlinks[].descriptionstring

Max. length: 4000

details.hyperlinks[].isPublicationboolean
details.organismsarray

Unique items: Yes

details.organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

details.publicationsarray

Unique items: Yes

details.publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

details.publications[].pubMedId*string

Min. length: 3

Max. length: 30

details.publications[].citationstring

Min. length: 3

Max. length: 2000

details.publications[].isPrimaryboolean
details.shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

details.shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

details.propertiesany

Any-typed for compatibility with JaxRS and RAML.

Actual schema definitions are available at:

Inherits: any

details.datasetType*object

Inherits: lib.DatasetTypeInput

details.datasetType.name*string

Min. length: 3

Max. length: 128

details.datasetType.version*string

Min. length: 1

Max. length: 32

details.visibilitystring

Default value: "private"

Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

details.createdOn Creation Datedatetime
dataFilesarray

Dataset files to upload.

This field is incompatible with the url field.

dataFiles[]file
urlstring

URL to a dataset file to upload.

This field is incompatible with the file field.

docFilesarray

Files containing additional dataset documentation or meta info that is not part of the data itself.

docFiles[]file

200 OK chevron_right expand_more

Dataset Post Response DatasetPostResponseBody

application/json

Successful upload response.

This response does not mean the uploaded dataset has been made available on the target site(s). The upload must first be validated and installed into the target sites before the dataset will become available for use.

Inherits: object

ParameterTypeDescription
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

post /admin/rpc/datasets/prune

 lock

Permanently delete jobs that were soft deleted more than 24 hours prior to the execution of this task.

Example

curl --request POST \
--header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
"${VDI_INSTANCE}/admin/rpc/datasets/prune?age_cutoff=2022-03-15"

Parameters chevron_right expand_more

ParameterTypeDescription
Query
age_cutoff Retention Window Overridestring

When given, overrides the configured dataset retention duration, and instead prunes all datasets that were soft-deleted before this timestamp.

Expected date format is a subset of the RFC3336 format, requiring at least yyyy-MM-dd, but may be given additional precision part by part.

Examples:

  • 2022-03-15 - Day (assumes time 00:00)
  • 2022-03-15T16 - Hour
  • 2022-03-15T16:30 - Minute

Secured By chevron_right expand_more

Admin Token AdminToken

Per-service admin token header.

curl -X POST \
  https://veupathdb.org/vdi/admin/rpc/datasets/prune?age_cutoff=<value>

204 No Content chevron_right expand_more

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

post /admin/rpc/datasets/reconcile

 lock

Triggers a full reconciliation run if one is not already in progress.

Example

curl --request POST \
--header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
"${VDI_INSTANCE}/admin/rpc/datasets/reconcile"

Secured By chevron_right expand_more

Admin Token AdminToken

Per-service admin token header.

curl -X POST \
  https://veupathdb.org/vdi/admin/rpc/datasets/reconcile

204 No Content chevron_right expand_more

Success

409 Conflict chevron_right expand_more

Reconciler already running.

Conflict ConflictError

application/json

The request could not be completed due to a conflict with the current state of the resource.

If you submitted a resource, that resource may already exist.

Discriminator: status

Discriminator value: conflict

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "conflict",
  "message": "Target resource already exists and cannot be overwritten."
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

post /admin/rpc/installs/clear-failed

 lock

Marks all or target datasets that are in a status of installation failure into a ready-for-reinstall status then runs the dataset reinstallation process which attempts to uninstall and reinstall all datasets in that status.

The request body should specify exactly one of all or targets to select whether install cleanup should target all failed datasets across all sites, or if install cleanup should target only specific datasets on specific sites.

If the request specifies neither all or targets the endpoint will do nothing.

Optionally the query param skip-run may be provided to skip the execution of the dataset reinstallation process. This may be used in situations where multiple batches of datasets are being marked as ready-for-reinstall.

Single Run Example

curl --header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
--data '{"all":true}'
"${VDI_INSTANCE}/admin/rpc/datasets/reconcile"

Batch Run Example

# Mark datasets as ready for reinstall, but don't start reinstaller yet
curl --header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
--data '{"targets":["datasetId": "1235asf", "installTarget": "PlasmoDB"]}'
"${VDI_INSTANCE}/admin/rpc/datasets/reconcile?skip-run=true"

curl ...
curl ...
curl ...

# After all datasets have been marked, start the reinstaller.
curl --request POST \
--header "Admin-Token: ${VDI_ADMIN_TOKEN}" \
"${VDI_INSTANCE}/admin/rpc/datasets/reconcile"

Parameters chevron_right expand_more

ParameterTypeDescription
Query
skip-runboolean

Secured By chevron_right expand_more

Admin Token AdminToken

Per-service admin token header.

curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://veupathdb.org/vdi/admin/rpc/installs/clear-failed?skip-run=<value>

Request Body chevron_right expand_more

Install Cleanup Request InstallCleanupRequestBody

application/json

Object controlling the install cleanup process and what datasets it should target.

Requesters should specify one of the fields all or targets to control what datasets will be cleaned up. If neither is specified, the endpoint will just run the reinstaller, unless skip-run is set, in which case the endpoint will do nothing.

Inherits: object

ParameterTypeDescription
allboolean
targetsarray

Unique items: Yes

targets[] Install Cleanup Targetobject

Inherits: lib.InstallCleanupTarget

targets[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

targets[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

204 No Content chevron_right expand_more

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

post /admin/rpc/object-store/purge-dataset

 lock

Removes a dataset from the object store and internal postgres database.

This is intended to be used exclusively for clearing bad state created by errors or bugs.

This action does not perform dataset uninstalls, and may leave VDI in a bad state if run against a dataset that isn't broken.

Secured By chevron_right expand_more

Admin Token AdminToken

Per-service admin token header.

curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://veupathdb.org/vdi/admin/rpc/object-store/purge-dataset

Request Body chevron_right expand_more

Dataset Object Purge Request DatasetObjectPurgeRequestBody

application/json

Inherits: object

ParameterTypeDescription
userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

204 No Content chevron_right expand_more

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /meta-info

 

200 OK chevron_right expand_more

ServiceMetadataResponseBody ServiceMetadataResponseBody

application/json

Inherits: object

ParameterTypeDescription
buildInfo*object

Inherits: object

buildInfo.gitTag*string
buildInfo.gitCommit*string
buildInfo.gitBranch*string
buildInfo.gitUrl*string
buildInfo.buildId*string
buildInfo.buildNumber*string
buildInfo.buildTime*string

get /api

 

Renders the API documentation for this service.

curl -X GET \
  https://veupathdb.org/vdi/api

200 OK chevron_right expand_more

text/html

text/html

get /health

 

Prints information about the overall service health.

curl -X GET \
  https://veupathdb.org/vdi/health

200 OK chevron_right expand_more

HealthResponse HealthResponse

application/json

Health details about the service

Inherits: object

ParameterTypeDescription
status*string

Status describes the overall service state. A status of "healthy" indicates that everything is running smoothly and all service dependencies are reachable and online. A status of "unhealthy" indicates that something is wrong with either this service or one or more of it's dependency services.

Enum:
  • healthy
  • unhealthy
dependencies*array

A list of external services that this service depends on and some details about them.

dependencies[]object

Inherits: DependencyStatus

dependencies[].name*string

Name of the external depdendency.

dependencies[].reachable*boolean

Whether or not the external service is reachable.

dependencies[].online*string

Whether or not the external service is online and available for requests.

Enum:
  • yes
  • unknown
  • no
info*object

Additional properties: Yes

info.threads*integer

Min. value: 1

info.uptime*string
info.uptimeMillis*integer

Min. value: 1

Format: int64

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /metrics

 

Prometheus metrics for the service.

curl -X GET \
  https://veupathdb.org/vdi/metrics

200 OK chevron_right expand_more

text/plain

text/plain

get /vdi-datasets

List Datasets delete_forever  

Deprecated alias of /datasets

Deprecated

Parameters chevron_right expand_more

ParameterTypeDescription
Query
install_target InstallTargetIDstring

ID of the VEuPathDB project that results should be filtered to.

This means only datasets that are relevant to the project ID given will be returned.

Additionally, this controls the sites on which the dataset installation status will be checked. Meaning, if this parameter is specified and set to, for example, PlasmoDB, the status block in the response objects will only include installation status details for PlasmoDB and not any other sites that the dataset may have been installed into.

This is desirable for UI-based client use to improve request processing time by the service.

Min. length: 5

Max. length: 32

Inherits: string

ownership Dataset Ownership Filterstring

Ownership status filter.

Enum of:

  • any
  • owned
  • shared

If set to any the results are not filtered.

If set to owned, the results will be filtered to only results that are owned by the requesting user.

If set to shared, the results will be filtered to only results that are shared with the requesting user.

Default value: "any"

Annotations chevron_right expand_more

  • Deprecated

curl -X GET \
  https://veupathdb.org/vdi/vdi-datasets?InstallTargetID=<value>&ownership=<value>

200 OK chevron_right expand_more

application/json

application/json

ParameterTypeDescription
[] Dataset Listing Itemobject

Short entry with basic details about a dataset.

Inherits: object

[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

[].owner*object

Details about the owner of a VDI dataset.

Inherits: lib.DatasetOwner

[].owner.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

[].owner.firstNamestring
[].owner.lastNamestring
[].owner.emailstring
[].owner.organizationstring
[].datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

[].datasetType.name*string

Min. length: 3

[].datasetType.version*string

Min. length: 1

[].datasetType.displayName*string

Min. length: 3

[].visibility*string
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

[].name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

[].origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

[].installTargets*array

Project IDs for projects the dataset record was submitted to.

Unique items: Yes

[].installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

[].status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

[].status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: string

[].status.installarray
[].status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: object

[].status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

[].status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

[].status.install[].metaMessagestring
[].status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

[].status.install[].dataMessagestring
[].shares*array
[].shares[] Dataset Listing Share Infoobject

Inherits: lib.DatasetListShareUser

[].shares[].userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

[].shares[].firstName*string
[].shares[].lastName*string
[].shares[].organization*string
[].shares[].accepted*boolean
[].fileCount*integer

Number of files uploaded for this dataset.

[].fileSizeTotal*integer

Sum of the sizes of all the files uploaded for this dataset.

Format: int64

[].created*datetime

Timestamp of the creation of the dataset

Inherits: datetime

[].shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

[].shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

[].summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

[].descriptionstring

Longform description of the dataset.

Inherits: string

[].sourceUrlstring

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: lib.DatasetSourceUrl

[].originalIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

400 Bad Request chevron_right expand_more

One or more request query parameters were not valid.

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "Invalid install_target value."
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "Users must be logged in to access this resource."
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Dataset store is unreachable",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

post /vdi-datasets

Create Dataset delete_forever  

Deprecated alias of /datasets

Deprecated

Annotations chevron_right expand_more

  • Deprecated

curl -X POST \
  -H "Content-type: multipart/form-data"
  -d @file \
  https://veupathdb.org/vdi/vdi-datasets

Request Body chevron_right expand_more

Dataset Post Request DatasetPostRequestBody

multipart/form-data

HTTP POST request body requesting the creation of a dataset from the components included in the request.

For a request to be considered valid, it must contain exactly 1 of the optional parameters file or url. If a request body contains both a file and a url field value, the service will return a 400 error.

Inherits: object

ParameterTypeDescription
details*object

Metadata about the dataset being submitted.

Inherits: lib.DatasetMetaBase

details.installTargets*array

IDs of the projects this dataset is being submitted to.

Unique items: Yes

details.installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

details.name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

details.summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

details.origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

details.dependencies*array

Unique items: Yes

details.dependencies[] Dataset Dependencyobject

Inherits: object

details.dependencies[].resourceIdentifier*string

Min. length: 3

Max. length: 50

details.dependencies[].resourceDisplayName*string

Min. length: 3

Max. length: 100

details.dependencies[].resourceVersion*string

Min. length: 1

Max. length: 50

details.contactsarray

Unique items: Yes

details.contacts[] Dataset Contactobject

Inherits: object

details.contacts[].name*string

Min. length: 3

Max. length: 300

details.contacts[].isPrimaryboolean
details.contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

details.contacts[].affiliationstring

Max. length: 4000

details.contacts[].citystring

Max. length: 200

details.contacts[].statestring

Max. length: 200

details.contacts[].countrystring

Max. length: 200

details.contacts[].addressstring

Max. length: 1000

details.descriptionstring

Longform description of the dataset.

Inherits: string

details.hyperlinksarray

Unique items: Yes

details.hyperlinks[] Dataset Hyperlinkobject

Inherits: object

details.hyperlinks[].url*string

Min. length: 7

Max. length: 200

details.hyperlinks[].text*string

Min. length: 3

Max. length: 300

details.hyperlinks[].descriptionstring

Max. length: 4000

details.hyperlinks[].isPublicationboolean
details.organismsarray

Unique items: Yes

details.organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

details.publicationsarray

Unique items: Yes

details.publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

details.publications[].pubMedId*string

Min. length: 3

Max. length: 30

details.publications[].citationstring

Min. length: 3

Max. length: 2000

details.publications[].isPrimaryboolean
details.shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

details.shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

details.propertiesany

Any-typed for compatibility with JaxRS and RAML.

Actual schema definitions are available at:

Inherits: any

details.datasetType*object

Inherits: lib.DatasetTypeInput

details.datasetType.name*string

Min. length: 3

Max. length: 128

details.datasetType.version*string

Min. length: 1

Max. length: 32

details.visibilitystring

Default value: "private"

Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

dataFilesarray

Dataset files to upload.

This field is incompatible with the url field.

dataFiles[]file
urlstring

URL to a dataset file to upload.

This field is incompatible with the file field.

docFilesarray

Files containing additional dataset documentation or meta info that is not part of the data itself.

docFiles[]file

201 Created chevron_right expand_more

Headers

ParameterTypeDescription
Location*string

URL to the new dataset resource.

Dataset Post Response DatasetPostResponseBody

application/json

Successful upload response.

This response does not mean the uploaded dataset has been made available on the target site(s). The upload must first be validated and installed into the target sites before the dataset will become available for use.

Inherits: object

ParameterTypeDescription
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

422 Unprocessable Entity chevron_right expand_more

Request body was syntactically valid JSON, however the body failed validation rules.

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

424 Failed Dependency chevron_right expand_more

Failed Dependency.

Returned when the dataset data source was a remote URL and the VDI service encountered either a non-success HTTP status code from the target URL or an empty response body.

The most common cause for this is 403 errors from expired AWS URLs.

Failed Dependency Error FailedDependencyError

application/json

Discriminator: status

Discriminator value: failed-dependency

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
dependency*string

Response Body

{
  "status": "failed-dependency",
  "dependency": "google.com",
  "message": "unexpected status code 403 from google.com"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /vdi-datasets/community

List Community Datasets delete_forever  

Deprecated alias of /datasets/community

Deprecated

Annotations chevron_right expand_more

  • Deprecated

curl -X GET \
  https://veupathdb.org/vdi/vdi-datasets/community

200 OK chevron_right expand_more

application/json

application/json

ParameterTypeDescription
[] Dataset Listing Itemobject

Short entry with basic details about a dataset.

Inherits: object

[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

[].owner*object

Details about the owner of a VDI dataset.

Inherits: lib.DatasetOwner

[].owner.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

[].owner.firstNamestring
[].owner.lastNamestring
[].owner.emailstring
[].owner.organizationstring
[].datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

[].datasetType.name*string

Min. length: 3

[].datasetType.version*string

Min. length: 1

[].datasetType.displayName*string

Min. length: 3

[].visibility*string
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

[].name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

[].origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

[].installTargets*array

Project IDs for projects the dataset record was submitted to.

Unique items: Yes

[].installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

[].status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

[].status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: string

[].status.installarray
[].status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: object

[].status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

[].status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

[].status.install[].metaMessagestring
[].status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

[].status.install[].dataMessagestring
[].shares*array
[].shares[] Dataset Listing Share Infoobject

Inherits: lib.DatasetListShareUser

[].shares[].userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

[].shares[].firstName*string
[].shares[].lastName*string
[].shares[].organization*string
[].shares[].accepted*boolean
[].fileCount*integer

Number of files uploaded for this dataset.

[].fileSizeTotal*integer

Sum of the sizes of all the files uploaded for this dataset.

Format: int64

[].created*datetime

Timestamp of the creation of the dataset

Inherits: datetime

[].shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

[].shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

[].summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

[].descriptionstring

Longform description of the dataset.

Inherits: string

[].sourceUrlstring

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: lib.DatasetSourceUrl

[].originalIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /vdi-datasets/{vdi-id}

Dataset Details delete_forever  

Deprecated alias of /datasets/{vdi-id}

Deprecated

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

Annotations chevron_right expand_more

  • Deprecated

curl -X GET \
  https://veupathdb.org/vdi/vdi-datasets/{vdi-id}

200 OK chevron_right expand_more

Target dataset was located and returned.

Dataset Details DatasetDetails

application/json

Details about a specific singular dataset.

Inherits: lib.DatasetMetaBase

ParameterTypeDescription
name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

installTargets*array

IDs of the projects this dataset is being submitted to.

Unique items: Yes

installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

dependencies*array

Unique items: Yes

dependencies[] Dataset Dependencyobject

Inherits: object

dependencies[].resourceIdentifier*string

Min. length: 3

Max. length: 50

dependencies[].resourceDisplayName*string

Min. length: 3

Max. length: 100

dependencies[].resourceVersion*string

Min. length: 1

Max. length: 50

contactsarray

Unique items: Yes

contacts[] Dataset Contactobject

Inherits: object

contacts[].name*string

Min. length: 3

Max. length: 300

contacts[].isPrimaryboolean
contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

contacts[].affiliationstring

Max. length: 4000

contacts[].citystring

Max. length: 200

contacts[].statestring

Max. length: 200

contacts[].countrystring

Max. length: 200

contacts[].addressstring

Max. length: 1000

descriptionstring

Longform description of the dataset.

Inherits: string

hyperlinksarray

Unique items: Yes

hyperlinks[] Dataset Hyperlinkobject

Inherits: lib.DatasetHyperlink

hyperlinks[].url*string

Min. length: 7

Max. length: 200

hyperlinks[].text*string

Min. length: 3

Max. length: 300

hyperlinks[].descriptionstring

Max. length: 4000

hyperlinks[].isPublicationboolean
organismsarray

Unique items: Yes

organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

publicationsarray

Unique items: Yes

publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

publications[].pubMedId*string

Min. length: 3

Max. length: 30

publications[].citationstring

Min. length: 3

Max. length: 2000

publications[].isPrimaryboolean
shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

properties
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

owner*object

Details about the owner of a VDI dataset.

Inherits: lib.DatasetOwner

owner.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

owner.firstNamestring
owner.lastNamestring
owner.emailstring
owner.organizationstring
importMessagesarray

Log lines from the import process.

These messages will be warnings and/or validation errors.

importMessages[]string
sharesarray

Array of share offers that have been created by the owner of this dataset to share it with other users.

shares[] Dataset Share Offerobject

Inherits: lib.ShareOffer

shares[].recipient*object

Inherits: lib.ShareOfferRecipient

shares[].recipient.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

shares[].recipient.firstNamestring
shares[].recipient.lastNamestring
shares[].recipient.organizationstring
shares[].recipient.emailstring
shares[].status*string
Enum:
  • grant
  • revoke

Inherits: lib.ShareOfferAction

datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

datasetType.name*string

Min. length: 3

datasetType.version*string

Min. length: 1

datasetType.displayName*string

Min. length: 3

visibility*string
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: lib.DatasetImportStatus

status.installarray
status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: lib.DatasetInstallStatusEntry

status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

status.install[].metaMessagestring
status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

status.install[].dataMessagestring
created*datetime

Timestamp of the creation of the dataset

Inherits: datetime

sourceUrlstring

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: lib.DatasetSourceUrl

originalIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

revisionHistoryarray
revisionHistory[] Dataset Revisionobject

Dataset revision history entry.

Inherits: lib.DatasetRevision

revisionHistory[].action*string
Enum:
  • revise

Inherits: lib.DatasetRevisionAction

revisionHistory[].timestamp*datetime
revisionHistory[].revisionId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

revisionHistory[].revisionNote*string

Note providing a reason and/or description for the revision.

Min. length: 10

Max. length: 4096

Inherits: lib.DatasetRevisionNote

revisionHistory[].fileListUrl*string

URL to the file listing for the revision entry.

301 Moved Permanently chevron_right expand_more

Target dataset has been moved by replacement with the a new VDI ID.

Headers

ParameterTypeDescription
Location*string

URL to the newest dataset revision.

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

patch /vdi-datasets/{vdi-id}

Update Dataset delete_forever  

Deprecated alias of /datasets/{vdi-id}

Deprecated

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

Annotations chevron_right expand_more

  • Deprecated

curl -X PATCH \
  -H "Content-type: application/json"
  -d @body.json \
  https://veupathdb.org/vdi/vdi-datasets/{vdi-id}

Request Body chevron_right expand_more

Dataset Patch Request DatasetPatchRequestBody

application/json

Request to update the metadata for a dataset.

Fields that are omitted will be ignored when updating the target dataset record.

Inherits: object

ParameterTypeDescription
namestring

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: string

datasetTypeobject

Only allowed when transitioning from a none-type dataset into an actual dataset type.

Inherits: lib.DatasetTypeInput

datasetType.name*string

Min. length: 3

Max. length: 128

datasetType.version*string

Min. length: 1

Max. length: 32

shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

visibilitystring
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

summarystring

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

descriptionstring

Longform description of the dataset.

Inherits: string

publicationsarray

Unique items: Yes

publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

publications[].pubMedId*string

Min. length: 3

Max. length: 30

publications[].citationstring

Min. length: 3

Max. length: 2000

publications[].isPrimaryboolean
hyperlinksarray

Unique items: Yes

hyperlinks[] Dataset Hyperlinkobject

Inherits: object

hyperlinks[].url*string

Min. length: 7

Max. length: 200

hyperlinks[].text*string

Min. length: 3

Max. length: 300

hyperlinks[].descriptionstring

Max. length: 4000

hyperlinks[].isPublicationboolean
organismsarray

Unique items: Yes

organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

contactsarray

Unique items: Yes

contacts[] Dataset Contactobject

Inherits: object

contacts[].name*string

Min. length: 3

Max. length: 300

contacts[].isPrimaryboolean
contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

contacts[].affiliationstring

Max. length: 4000

contacts[].citystring

Max. length: 200

contacts[].statestring

Max. length: 200

contacts[].countrystring

Max. length: 200

contacts[].addressstring

Max. length: 1000

properties

204 No Content chevron_right expand_more

Target dataset metadata was updated.

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity.

Request body was syntactically valid JSON, however the body failed validation.

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

put /vdi-datasets/{vdi-id}

Replace Dataset delete_forever  

Deprecated alias of /datasets/{vdi-id}

Deprecated

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

Annotations chevron_right expand_more

  • Deprecated

curl -X PUT \
  -H "Content-type: multipart/form-data"
  -d @file \
  https://veupathdb.org/vdi/vdi-datasets/{vdi-id}

Request Body chevron_right expand_more

Dataset Put Request DatasetPutRequestBody

multipart/form-data

Inherits: object

ParameterTypeDescription
details*object

Metadata about the dataset being submitted.

Inherits: lib.DatasetPatchRequestBody

details.namestring

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: string

details.datasetTypeobject

Only allowed when transitioning from a none-type dataset into an actual dataset type.

Inherits: lib.DatasetTypeInput

details.datasetType.name*string

Min. length: 3

Max. length: 128

details.datasetType.version*string

Min. length: 1

Max. length: 32

details.shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

details.shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

details.visibilitystring
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

details.summarystring

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

details.descriptionstring

Longform description of the dataset.

Inherits: string

details.publicationsarray

Unique items: Yes

details.publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

details.publications[].pubMedId*string

Min. length: 3

Max. length: 30

details.publications[].citationstring

Min. length: 3

Max. length: 2000

details.publications[].isPrimaryboolean
details.hyperlinksarray

Unique items: Yes

details.hyperlinks[] Dataset Hyperlinkobject

Inherits: object

details.hyperlinks[].url*string

Min. length: 7

Max. length: 200

details.hyperlinks[].text*string

Min. length: 3

Max. length: 300

details.hyperlinks[].descriptionstring

Max. length: 4000

details.hyperlinks[].isPublicationboolean
details.organismsarray

Unique items: Yes

details.organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

details.contactsarray

Unique items: Yes

details.contacts[] Dataset Contactobject

Inherits: object

details.contacts[].name*string

Min. length: 3

Max. length: 300

details.contacts[].isPrimaryboolean
details.contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

details.contacts[].affiliationstring

Max. length: 4000

details.contacts[].citystring

Max. length: 200

details.contacts[].statestring

Max. length: 200

details.contacts[].countrystring

Max. length: 200

details.contacts[].addressstring

Max. length: 1000

details.propertiesany

When provided and non-empty, wholely replaces any previous dataset characteristics value. When provided as an empty object, removes the dataset's characteristics.

Inherits: any

details.origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: string

details.revisionNote*string

Note providing a reason and/or description for the revision.

Min. length: 10

Max. length: 4096

Inherits: lib.DatasetRevisionNote

dataFilesarray

Dataset files to upload.

This field is incompatible with the url field.

dataFiles[]file
urlstring

URL to a dataset file to upload.

This field is incompatible with the file field.

docFilesarray

Files containing additional dataset documentation or meta info that is not part of the data itself.

docFiles[]file

201 Created chevron_right expand_more

Replacement dataset request has been accepted for processing.

Headers

ParameterTypeDescription
Location*string

URL to the new dataset resource.

Dataset Put Response DatasetPutResponseBody

application/json

Inherits: object

ParameterTypeDescription
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity.

Request body was syntactically valid JSON, however the body failed validation.

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

delete /vdi-datasets/{vdi-id}

Delete Dataset delete_forever  

Deprecated alias of /datasets/{vdi-id}

Deprecated

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

Annotations chevron_right expand_more

  • Deprecated

curl -X DELETE \
  https://veupathdb.org/vdi/vdi-datasets/{vdi-id}

204 No Content chevron_right expand_more

Target dataset was marked as deleted.

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /vdi-datasets/{vdi-id}/files

List Files delete_forever  

Deprecated alias of /datasets/{vdi-id}/files

Deprecated

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

Annotations chevron_right expand_more

  • Deprecated

curl -X GET \
  https://veupathdb.org/vdi/vdi-datasets/{vdi-id}/files

200 OK chevron_right expand_more

Dataset File Report DatasetFileListing

application/json

Inherits: object

ParameterTypeDescription
upload*object

Inherits: lib.DatasetZipDetails

upload.zipSize*integer

Format: int64

upload.contents*array
upload.contents[] Decompressed File Infoobject

Inherits: object

upload.contents[].fileName*string
upload.contents[].fileSize*integer

Size of the file in bytes.

Format: int64

installobject

Inherits: lib.DatasetZipDetails

install.zipSize*integer

Format: int64

install.contents*array
install.contents[] Decompressed File Infoobject

Inherits: object

install.contents[].fileName*string
install.contents[].fileSize*integer

Size of the file in bytes.

Format: int64

documentsarray
documents[] Decompressed File Infoobject

Inherits: object

documents[].fileName*string
documents[].fileSize*integer

Size of the file in bytes.

Format: int64

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /vdi-datasets/{vdi-id}/files/upload

Get Upload Zip File  

Returns a zip file containing the contents of the original upload to the dataset importer.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

curl -X GET \
  https://veupathdb.org/vdi/vdi-datasets/{vdi-id}/files/upload

200 OK chevron_right expand_more

Headers

ParameterTypeDescription
Content-Disposition*string

Content disposition of attachment with a filename.

application/octet-stream

application/octet-stream

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /vdi-datasets/{vdi-id}/files/data

Get Data File  

Returns a zip file containing the processed files that were/would be installed into the VEuPathDB project site on successful install processing.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

curl -X GET \
  https://veupathdb.org/vdi/vdi-datasets/{vdi-id}/files/data

200 OK chevron_right expand_more

Headers

ParameterTypeDescription
Content-Disposition*string

Content disposition of attachment with a filename.

application/octet-stream

application/octet-stream

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /vdi-datasets/{vdi-id}/files/documents/{file-name}

Get Document  

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

file-name*string
curl -X GET \
  https://veupathdb.org/vdi/vdi-datasets/{vdi-id}/files/documents/{file-name}

200 OK chevron_right expand_more

Headers

ParameterTypeDescription
Content-Disposition*string

Content disposition of attachment with a filename.

application/octet-stream

application/octet-stream

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

put /vdi-datasets/{vdi-id}/files/documents/{file-name}

Put Document  

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

file-name*string
curl -X PUT \
  -H "Content-type: application/octet-stream"
  -d @file \
  https://veupathdb.org/vdi/vdi-datasets/{vdi-id}/files/documents/{file-name}

Request Body chevron_right expand_more

application/octet-stream

application/octet-stream

204 No Content chevron_right expand_more

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

put /vdi-datasets/{vdi-id}/shares/{recipient-user-id}/offer

Offer to Share a Dataset  

PUT a record that is either an offer to share a dataset with another target user, or the revocation of an existing open share offer with a target user.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

recipient-user-id* UserIdinteger

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

curl -X PUT \
  -H "Content-type: application/json"
  -d @body.json \
  https://veupathdb.org/vdi/vdi-datasets/{vdi-id}/shares/{recipient-user-id}/offer

Request Body chevron_right expand_more

Dataset Share Offer DatasetShareOffer

application/json

An offer to share (or un-share) a dataset with a single target user.

Inherits: object

ParameterTypeDescription
action*string

What action to take with the dataset share offer.

Either grant or revoke.

A value of grant means the share should be offered to the user if they do not already have the dataset, or continue to be allowed if they already have access to the dataset.

A value of revoke means the share should not be offered to the target user if they do not already have the dataset, or the sharing should be stopped if the user did already have access to the dataset.

Enum:
  • grant
  • revoke

Inherits: lib.ShareOfferAction

Request Body

Grant Example

{
  "action": "grant"
}

Revoke Example

{
  "action": "revoke"
}

204 No Content chevron_right expand_more

Share offer record was successfully (re)placed.

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

put /vdi-datasets/{vdi-id}/shares/{recipient-user-id}/receipt

Receive a dataset Share  

PUT a receipt of a dataset share offer, marking the share offer as either accepted or rejected.

Parameters chevron_right expand_more

ParameterTypeDescription
Path
vdi-id* VdiIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

recipient-user-id* UserIdinteger

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

curl -X PUT \
  -H "Content-type: application/json"
  -d @body.json \
  https://veupathdb.org/vdi/vdi-datasets/{vdi-id}/shares/{recipient-user-id}/receipt

Request Body chevron_right expand_more

Dataset Share Receipt DatasetShareReceipt

application/json

A receipt or response to a share offer of a dataset to a single user.

Inherits: object

ParameterTypeDescription
action*string

What action to take with acknowledging a dataset share offer.

Either accept or reject.

A value of accept means that the dataset that a share was offered for should become available to the accepting user.

A value of reject means that the dataset that a share was offered for should become unavailable to the rejecting user.

Enum:
  • accept
  • reject

Inherits: lib.ShareReceiptAction

204 No Content chevron_right expand_more

Share offer receipt record was successfully created.

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

403 Forbidden chevron_right expand_more

Forbidden ForbiddenError

application/json

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

404 Not Found chevron_right expand_more

Not Found NotFoundError

application/json

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

422 Unprocessable Entity chevron_right expand_more

Unprocessable Entity UnprocessableEntityError

application/json

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Response Body

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /vdi-datasets/share-offers

List Offers delete_forever  

Deprecated alias of /users/self/share-offers

Deprecated

Parameters chevron_right expand_more

ParameterTypeDescription
Query
status Share Statusstring

Controls the results by filtering them to only shares that are in the specified target status.

Valid status values are:

  • open
  • accepted
  • rejected
  • all

These status values mean:

StatusDescription
`open`Only return share offers that have not yet been accepted or rejected.
`accepted`Only return share offers that have been accepted by the requesting user.
`rejected`Only return share offers that have been rejected by the requesting user.
`all`Return all share offers regardless of whether they have been acknowledged, accepted, or rejected.

Default value: "open"

Annotations chevron_right expand_more

  • Deprecated

curl -X GET \
  https://veupathdb.org/vdi/vdi-datasets/share-offers?status=<value>

200 OK chevron_right expand_more

application/json

application/json

ParameterTypeDescription
[] Share Offer Detailsobject

Inherits: object

[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

[].owner*object

Details about the owner of a VDI dataset.

Inherits: object

[].owner.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

[].owner.firstNamestring
[].owner.lastNamestring
[].owner.emailstring
[].owner.organizationstring
[].shareStatus*string
Enum:
  • open
  • accepted
  • rejected

Inherits: lib.ShareOfferStatus

[].datasetType*object

Details about a specific dataset type.

Inherits: object

[].datasetType.name*string

Min. length: 3

[].datasetType.version*string

Min. length: 1

[].datasetType.displayName*string

Min. length: 3

[].installTargets*array

Unique items: Yes

[].installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: string

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /vdi-users/self/meta

 

Get user metadata.

curl -X GET \
  https://veupathdb.org/vdi/vdi-users/self/meta

200 OK chevron_right expand_more

User Details UserMetadata

application/json

Inherits: object

ParameterTypeDescription
quota*object

Inherits: lib.UserQuotaDetails

quota.limit*integer

Max number of bytes a user is allowed to upload.

Format: int64

quota.usage*integer

Current number of bytes counted against the user's quota.

Format: int64

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /vdi-users/self/share-offers

List Offers  

Endpoint to list dataset shares that have been offered to the requesting user.

Parameters chevron_right expand_more

ParameterTypeDescription
Query
status Share Statusstring

Controls the results by filtering them to only shares that are in the specified target status.

Valid status values are:

  • open
  • accepted
  • rejected
  • all

These status values mean:

StatusDescription
`open`Only return share offers that have not yet been accepted or rejected.
`accepted`Only return share offers that have been accepted by the requesting user.
`rejected`Only return share offers that have been rejected by the requesting user.
`all`Return all share offers regardless of whether they have been acknowledged, accepted, or rejected.

Default value: "open"

curl -X GET \
  https://veupathdb.org/vdi/vdi-users/self/share-offers?status=<value>

200 OK chevron_right expand_more

application/json

application/json

ParameterTypeDescription
[] Share Offer Detailsobject

Inherits: object

[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

[].owner*object

Details about the owner of a VDI dataset.

Inherits: object

[].owner.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

[].owner.firstNamestring
[].owner.lastNamestring
[].owner.emailstring
[].owner.organizationstring
[].shareStatus*string
Enum:
  • open
  • accepted
  • rejected

Inherits: lib.ShareOfferStatus

[].datasetType*object

Details about a specific dataset type.

Inherits: object

[].datasetType.name*string

Min. length: 3

[].datasetType.version*string

Min. length: 1

[].datasetType.displayName*string

Min. length: 3

[].installTargets*array

Unique items: Yes

[].installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: string

400 Bad Request chevron_right expand_more

Bad Request BadRequestError

application/json

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "bad-request",
  "message": "malformed JSON"
}

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

get /vdi-plugins

List Plugins delete_forever  

Deprecated alias of /plugins

Deprecated

Parameters chevron_right expand_more

ParameterTypeDescription
Query
project Project Filterstring

Optional parameter that may be used to filter the results of this endpoint to only those that are allowed to be used with the target project.

Valid values (non-case-sensitive):

  • AmoebaDB
  • ClinEpiDB
  • CryptoDB
  • FungiDB
  • GiardiaDB
  • HostDB
  • MicrobiomeDB
  • MicrosporidiaDB
  • PiroplasmaDB
  • PlasmoDB
  • ToxoDB
  • TrichDB
  • TriTrypDB
  • VectorBase
  • VEuPathDB

Annotations chevron_right expand_more

  • Deprecated

curl -X GET \
  https://veupathdb.org/vdi/vdi-plugins?project=<value>

200 OK chevron_right expand_more

application/json

application/json

ParameterTypeDescription
[] Plugin Infoobject

Inherits: object

[].displayName*string
[].typeName*string
[].typeVersion*string
[].projectsarray

Projects that this plugin is restricted to. An empty or absent list indicates that the plugin has no project restrictions and may be used on any site.

[].projects[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: string

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

500 Internal Server Error chevron_right expand_more

Internal Server Error ServerError

application/json

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Response Body

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

Security Schemes

Security Scheme AdminToken

Admin Token

Per-service admin token header.

curl -X <method> \
  https://veupathdb.org/vdi/<path>

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

Security Scheme WdkAuth

VEuPathDB OAuth 2.0
curl -X <method> \
  https://veupathdb.org/vdi/<path>

401 Unauthorized chevron_right expand_more

Unauthorized UnauthorizedError

application/json

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Response Body

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

Types

Type AllDatasetsListEntry (object)

AllDatasetsListEntry

Inherits: object

Model

ParameterTypeDescription
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

owner*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

datasetType.name*string

Min. length: 3

datasetType.version*string

Min. length: 1

datasetType.displayName*string

Min. length: 3

visibility*string
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

installTargets*array

Unique items: Yes

installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: lib.DatasetImportStatus

status.installarray
status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: lib.DatasetInstallStatusEntry

status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

status.install[].metaMessagestring
status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

status.install[].dataMessagestring
created*datetime

Timestamp of the creation of the dataset

Inherits: lib.DatasetCreationDate

isDeleted*boolean
shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

summarystring

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

descriptionstring

Longform description of the dataset.

Inherits: lib.DatasetDescription

sourceUrlstring

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: lib.DatasetSourceUrl

Type AllDatasetsListMeta (object)

AllDatasetsListMeta

Inherits: object

Model

ParameterTypeDescription
count*integer
offset*integer
limit*integer
total*integer

Type AllDatasetsListResponse (object)

All Datasets Listing Response

Inherits: object

Model

ParameterTypeDescription
meta*object

Inherits: object

meta.count*integer
meta.offset*integer
meta.limit*integer
meta.total*integer
results*array
results[]object

Inherits: object

results[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

results[].owner*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

results[].datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

results[].datasetType.name*string

Min. length: 3

results[].datasetType.version*string

Min. length: 1

results[].datasetType.displayName*string

Min. length: 3

results[].visibility*string
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

results[].name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

results[].origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

results[].installTargets*array

Unique items: Yes

results[].installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

results[].status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

results[].status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: lib.DatasetImportStatus

results[].status.installarray
results[].status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: lib.DatasetInstallStatusEntry

results[].status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

results[].status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

results[].status.install[].metaMessagestring
results[].status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

results[].status.install[].dataMessagestring
results[].created*datetime

Timestamp of the creation of the dataset

Inherits: lib.DatasetCreationDate

results[].isDeleted*boolean
results[].shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

results[].shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

results[].summarystring

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

results[].descriptionstring

Longform description of the dataset.

Inherits: lib.DatasetDescription

results[].sourceUrlstring

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: lib.DatasetSourceUrl

Type BadRequestError (object)

Bad Request

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: lib.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Examples

{
  "status": "bad-request",
  "message": "malformed JSON"
}

Type BrokenDatasetInstallDetails (object)

BrokenDatasetInstallDetails

Inherits: object

Model

ParameterTypeDescription
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

owner*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

datasetType.name*string

Min. length: 3

datasetType.version*string

Min. length: 1

datasetType.displayName*string

Min. length: 3

installTargets*array

Unique items: Yes

installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: lib.DatasetImportStatus

status.installarray
status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: lib.DatasetInstallStatusEntry

status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

status.install[].metaMessagestring
status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

status.install[].dataMessagestring

Type BrokenDatasetInstallReportBody (object)

Failed Install Report

Inherits: object

Model

ParameterTypeDescription
detailsarray
details[]object

Inherits: object

details[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

details[].owner*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

details[].datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

details[].datasetType.name*string

Min. length: 3

details[].datasetType.version*string

Min. length: 1

details[].datasetType.displayName*string

Min. length: 3

details[].installTargets*array

Unique items: Yes

details[].installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

details[].status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

details[].status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: lib.DatasetImportStatus

details[].status.installarray
details[].status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: lib.DatasetInstallStatusEntry

details[].status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

details[].status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

details[].status.install[].metaMessagestring
details[].status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

details[].status.install[].dataMessagestring
idsarray
ids[]string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

Type BrokenImportDetails (object)

Broken Import Details

Inherits: object

Model

ParameterTypeDescription
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

owner*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

datasetType.name*string

Min. length: 3

datasetType.version*string

Min. length: 1

datasetType.displayName*string

Min. length: 3

installTargets*array

Unique items: Yes

installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

messages*array
messages[]string

Type BrokenImportListing (object)

BrokenImportListing

Inherits: object

Model

ParameterTypeDescription
meta*object

Inherits: lib.BrokenImportListingMeta

meta.count*integer

Number of records in the result

meta.beforestring
meta.afterstring
meta.userinteger

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

meta.limitinteger
meta.offsetinteger
results*array
results[] Broken Import Detailsobject

Inherits: object

results[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

results[].owner*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

results[].datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

results[].datasetType.name*string

Min. length: 3

results[].datasetType.version*string

Min. length: 1

results[].datasetType.displayName*string

Min. length: 3

results[].installTargets*array

Unique items: Yes

results[].installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

results[].messages*array
results[].messages[]string

Type BrokenImportListingMeta (object)

BrokenImportListingMeta

Inherits: object

Model

ParameterTypeDescription
count*integer

Number of records in the result

beforestring
afterstring
userinteger

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

limitinteger
offsetinteger

Type ConflictError (object)

Conflict

The request could not be completed due to a conflict with the current state of the resource.

If you submitted a resource, that resource may already exist.

Discriminator: status

Discriminator value: conflict

Inherits: lib.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Examples

{
  "status": "conflict",
  "message": "Target resource already exists and cannot be overwritten."
}

Type DatasetCharacteristics (any)

Dataset Characteristics

Any-typed for compatibility with JaxRS and RAML.

Actual schema definitions are available at:

Inherits: any

Type DatasetContact (object)

Dataset Contact

Inherits: object

Model

ParameterTypeDescription
name*string

Min. length: 3

Max. length: 300

isPrimaryboolean
emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

affiliationstring

Max. length: 4000

citystring

Max. length: 200

statestring

Max. length: 200

countrystring

Max. length: 200

addressstring

Max. length: 1000

Type DatasetCreationDate (datetime)

Dataset Creation Date

Timestamp of the creation of the dataset

Inherits: datetime

Type DatasetDependency (object)

Dataset Dependency

Inherits: object

Model

ParameterTypeDescription
resourceIdentifier*string

Min. length: 3

Max. length: 50

resourceDisplayName*string

Min. length: 3

Max. length: 100

resourceVersion*string

Min. length: 1

Max. length: 50

Type DatasetDescription (string)

Dataset Description

Longform description of the dataset.

Inherits: string

Type DatasetDetails (object)

Dataset Details

Details about a specific singular dataset.

Inherits: lib.DatasetMetaBase

Model

ParameterTypeDescription
name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

installTargets*array

IDs of the projects this dataset is being submitted to.

Unique items: Yes

installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

dependencies*array

Unique items: Yes

dependencies[] Dataset Dependencyobject

Inherits: object

dependencies[].resourceIdentifier*string

Min. length: 3

Max. length: 50

dependencies[].resourceDisplayName*string

Min. length: 3

Max. length: 100

dependencies[].resourceVersion*string

Min. length: 1

Max. length: 50

contactsarray

Unique items: Yes

contacts[] Dataset Contactobject

Inherits: object

contacts[].name*string

Min. length: 3

Max. length: 300

contacts[].isPrimaryboolean
contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

contacts[].affiliationstring

Max. length: 4000

contacts[].citystring

Max. length: 200

contacts[].statestring

Max. length: 200

contacts[].countrystring

Max. length: 200

contacts[].addressstring

Max. length: 1000

descriptionstring

Longform description of the dataset.

Inherits: string

hyperlinksarray

Unique items: Yes

hyperlinks[] Dataset Hyperlinkobject

Inherits: lib.DatasetHyperlink

hyperlinks[].url*string

Min. length: 7

Max. length: 200

hyperlinks[].text*string

Min. length: 3

Max. length: 300

hyperlinks[].descriptionstring

Max. length: 4000

hyperlinks[].isPublicationboolean
organismsarray

Unique items: Yes

organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

publicationsarray

Unique items: Yes

publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

publications[].pubMedId*string

Min. length: 3

Max. length: 30

publications[].citationstring

Min. length: 3

Max. length: 2000

publications[].isPrimaryboolean
shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

properties
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

owner*object

Details about the owner of a VDI dataset.

Inherits: lib.DatasetOwner

owner.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

owner.firstNamestring
owner.lastNamestring
owner.emailstring
owner.organizationstring
importMessagesarray

Log lines from the import process.

These messages will be warnings and/or validation errors.

importMessages[]string
sharesarray

Array of share offers that have been created by the owner of this dataset to share it with other users.

shares[] Dataset Share Offerobject

Inherits: lib.ShareOffer

shares[].recipient*object

Inherits: lib.ShareOfferRecipient

shares[].recipient.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

shares[].recipient.firstNamestring
shares[].recipient.lastNamestring
shares[].recipient.organizationstring
shares[].recipient.emailstring
shares[].status*string
Enum:
  • grant
  • revoke

Inherits: lib.ShareOfferAction

datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

datasetType.name*string

Min. length: 3

datasetType.version*string

Min. length: 1

datasetType.displayName*string

Min. length: 3

visibility*string
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: lib.DatasetImportStatus

status.installarray
status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: lib.DatasetInstallStatusEntry

status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

status.install[].metaMessagestring
status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: lib.DatasetInstallStatus

status.install[].dataMessagestring
created*datetime

Timestamp of the creation of the dataset

Inherits: datetime

sourceUrlstring

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: lib.DatasetSourceUrl

originalIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

revisionHistoryarray
revisionHistory[] Dataset Revisionobject

Dataset revision history entry.

Inherits: lib.DatasetRevision

revisionHistory[].action*string
Enum:
  • revise

Inherits: lib.DatasetRevisionAction

revisionHistory[].timestamp*datetime
revisionHistory[].revisionId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

revisionHistory[].revisionNote*string

Note providing a reason and/or description for the revision.

Min. length: 10

Max. length: 4096

Inherits: lib.DatasetRevisionNote

revisionHistory[].fileListUrl*string

URL to the file listing for the revision entry.

Type DatasetFileDetails (object)

Decompressed File Info

Inherits: object

Model

ParameterTypeDescription
fileName*string
fileSize*integer

Size of the file in bytes.

Format: int64

Type DatasetFileListing (object)

Dataset File Report

Inherits: object

Model

ParameterTypeDescription
upload*object

Inherits: lib.DatasetZipDetails

upload.zipSize*integer

Format: int64

upload.contents*array
upload.contents[] Decompressed File Infoobject

Inherits: object

upload.contents[].fileName*string
upload.contents[].fileSize*integer

Size of the file in bytes.

Format: int64

installobject

Inherits: lib.DatasetZipDetails

install.zipSize*integer

Format: int64

install.contents*array
install.contents[] Decompressed File Infoobject

Inherits: object

install.contents[].fileName*string
install.contents[].fileSize*integer

Size of the file in bytes.

Format: int64

documentsarray
documents[] Decompressed File Infoobject

Inherits: object

documents[].fileName*string
documents[].fileSize*integer

Size of the file in bytes.

Format: int64

Type DatasetImportStatus (string)

Dataset Import Status

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: string

Type DatasetInstallStatus (string)

Dataset Install Status
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

Type DatasetInstallStatusEntry (object)

Dataset Install Target Status

Entry in a list of install statuses for a dataset.

Inherits: object

Model

ParameterTypeDescription
installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

metaMessagestring
dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

dataMessagestring

Type DatasetListEntry (object)

Dataset Listing Item

Short entry with basic details about a dataset.

Inherits: object

Model

ParameterTypeDescription
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

owner*object

Details about the owner of a VDI dataset.

Inherits: lib.DatasetOwner

owner.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

owner.firstNamestring
owner.lastNamestring
owner.emailstring
owner.organizationstring
datasetType*object

Details about a specific dataset type.

Inherits: lib.DatasetTypeOutput

datasetType.name*string

Min. length: 3

datasetType.version*string

Min. length: 1

datasetType.displayName*string

Min. length: 3

visibility*string
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

installTargets*array

Project IDs for projects the dataset record was submitted to.

Unique items: Yes

installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

status*object

Information about the import and install status of a dataset.

Inherits: lib.DatasetStatusInfo

status.import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: string

status.installarray
status.install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: object

status.install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

status.install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

status.install[].metaMessagestring
status.install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

status.install[].dataMessagestring
shares*array
shares[] Dataset Listing Share Infoobject

Inherits: lib.DatasetListShareUser

shares[].userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

shares[].firstName*string
shares[].lastName*string
shares[].organization*string
shares[].accepted*boolean
fileCount*integer

Number of files uploaded for this dataset.

fileSizeTotal*integer

Sum of the sizes of all the files uploaded for this dataset.

Format: int64

created*datetime

Timestamp of the creation of the dataset

Inherits: datetime

shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

descriptionstring

Longform description of the dataset.

Inherits: string

sourceUrlstring

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: lib.DatasetSourceUrl

originalIdstring

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

Type DatasetListShareUser (object)

Dataset Listing Share Info

Inherits: object

Model

ParameterTypeDescription
userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

firstName*string
lastName*string
organization*string
accepted*boolean

Type DatasetMetaBase (object)

Dataset Meta Base Fields

Inherits: object

Model

ParameterTypeDescription
name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

installTargets*array

IDs of the projects this dataset is being submitted to.

Unique items: Yes

installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

dependencies*array

Unique items: Yes

dependencies[] Dataset Dependencyobject

Inherits: object

dependencies[].resourceIdentifier*string

Min. length: 3

Max. length: 50

dependencies[].resourceDisplayName*string

Min. length: 3

Max. length: 100

dependencies[].resourceVersion*string

Min. length: 1

Max. length: 50

contactsarray

Unique items: Yes

contacts[] Dataset Contactobject

Inherits: object

contacts[].name*string

Min. length: 3

Max. length: 300

contacts[].isPrimaryboolean
contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

contacts[].affiliationstring

Max. length: 4000

contacts[].citystring

Max. length: 200

contacts[].statestring

Max. length: 200

contacts[].countrystring

Max. length: 200

contacts[].addressstring

Max. length: 1000

descriptionstring

Longform description of the dataset.

Inherits: string

hyperlinksarray

Unique items: Yes

hyperlinks[] Dataset Hyperlinkobject

Inherits: object

hyperlinks[].url*string

Min. length: 7

Max. length: 200

hyperlinks[].text*string

Min. length: 3

Max. length: 300

hyperlinks[].descriptionstring

Max. length: 4000

hyperlinks[].isPublicationboolean
organismsarray

Unique items: Yes

organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

publicationsarray

Unique items: Yes

publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

publications[].pubMedId*string

Min. length: 3

Max. length: 30

publications[].citationstring

Min. length: 3

Max. length: 2000

publications[].isPrimaryboolean
shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

propertiesany

Any-typed for compatibility with JaxRS and RAML.

Actual schema definitions are available at:

Inherits: any

Type DatasetName (string)

Dataset Name

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: string

Type DatasetObjectPurgeRequestBody (object)

Dataset Object Purge Request

Inherits: object

Model

ParameterTypeDescription
userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

Type DatasetOrigin (string)

Dataset Origin

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: string

Type DatasetOwner (object)

Dataset Owner

Details about the owner of a VDI dataset.

Inherits: object

Model

ParameterTypeDescription
userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

firstNamestring
lastNamestring
emailstring
organizationstring

Type DatasetPatchRequestBody (object)

Dataset Patch Request

Request to update the metadata for a dataset.

Fields that are omitted will be ignored when updating the target dataset record.

Inherits: object

Model

ParameterTypeDescription
namestring

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: string

datasetTypeobject

Only allowed when transitioning from a none-type dataset into an actual dataset type.

Inherits: lib.DatasetTypeInput

datasetType.name*string

Min. length: 3

Max. length: 128

datasetType.version*string

Min. length: 1

Max. length: 32

shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

visibilitystring
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

summarystring

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

descriptionstring

Longform description of the dataset.

Inherits: string

publicationsarray

Unique items: Yes

publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

publications[].pubMedId*string

Min. length: 3

Max. length: 30

publications[].citationstring

Min. length: 3

Max. length: 2000

publications[].isPrimaryboolean
hyperlinksarray

Unique items: Yes

hyperlinks[] Dataset Hyperlinkobject

Inherits: object

hyperlinks[].url*string

Min. length: 7

Max. length: 200

hyperlinks[].text*string

Min. length: 3

Max. length: 300

hyperlinks[].descriptionstring

Max. length: 4000

hyperlinks[].isPublicationboolean
organismsarray

Unique items: Yes

organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

contactsarray

Unique items: Yes

contacts[] Dataset Contactobject

Inherits: object

contacts[].name*string

Min. length: 3

Max. length: 300

contacts[].isPrimaryboolean
contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

contacts[].affiliationstring

Max. length: 4000

contacts[].citystring

Max. length: 200

contacts[].statestring

Max. length: 200

contacts[].countrystring

Max. length: 200

contacts[].addressstring

Max. length: 1000

properties

Type DatasetPostMeta (object)

DatasetPostMeta

Model

ParameterTypeDescription
installTargets*array

IDs of the projects this dataset is being submitted to.

Unique items: Yes

installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

dependencies*array

Unique items: Yes

dependencies[] Dataset Dependencyobject

Inherits: object

dependencies[].resourceIdentifier*string

Min. length: 3

Max. length: 50

dependencies[].resourceDisplayName*string

Min. length: 3

Max. length: 100

dependencies[].resourceVersion*string

Min. length: 1

Max. length: 50

contactsarray

Unique items: Yes

contacts[] Dataset Contactobject

Inherits: object

contacts[].name*string

Min. length: 3

Max. length: 300

contacts[].isPrimaryboolean
contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

contacts[].affiliationstring

Max. length: 4000

contacts[].citystring

Max. length: 200

contacts[].statestring

Max. length: 200

contacts[].countrystring

Max. length: 200

contacts[].addressstring

Max. length: 1000

descriptionstring

Longform description of the dataset.

Inherits: string

hyperlinksarray

Unique items: Yes

hyperlinks[] Dataset Hyperlinkobject

Inherits: object

hyperlinks[].url*string

Min. length: 7

Max. length: 200

hyperlinks[].text*string

Min. length: 3

Max. length: 300

hyperlinks[].descriptionstring

Max. length: 4000

hyperlinks[].isPublicationboolean
organismsarray

Unique items: Yes

organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

publicationsarray

Unique items: Yes

publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

publications[].pubMedId*string

Min. length: 3

Max. length: 30

publications[].citationstring

Min. length: 3

Max. length: 2000

publications[].isPrimaryboolean
shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

propertiesany

Any-typed for compatibility with JaxRS and RAML.

Actual schema definitions are available at:

Inherits: any

datasetType*object

Inherits: lib.DatasetTypeInput

datasetType.name*string

Min. length: 3

Max. length: 128

datasetType.version*string

Min. length: 1

Max. length: 32

visibilitystring

Default value: "private"

Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

Type DatasetPostRequestBody (object)

Dataset Post Request

HTTP POST request body requesting the creation of a dataset from the components included in the request.

For a request to be considered valid, it must contain exactly 1 of the optional parameters file or url. If a request body contains both a file and a url field value, the service will return a 400 error.

Inherits: object

Model

ParameterTypeDescription
details*object

Metadata about the dataset being submitted.

Inherits: lib.DatasetMetaBase

details.installTargets*array

IDs of the projects this dataset is being submitted to.

Unique items: Yes

details.installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

details.name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

details.summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

details.origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

details.dependencies*array

Unique items: Yes

details.dependencies[] Dataset Dependencyobject

Inherits: object

details.dependencies[].resourceIdentifier*string

Min. length: 3

Max. length: 50

details.dependencies[].resourceDisplayName*string

Min. length: 3

Max. length: 100

details.dependencies[].resourceVersion*string

Min. length: 1

Max. length: 50

details.contactsarray

Unique items: Yes

details.contacts[] Dataset Contactobject

Inherits: object

details.contacts[].name*string

Min. length: 3

Max. length: 300

details.contacts[].isPrimaryboolean
details.contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

details.contacts[].affiliationstring

Max. length: 4000

details.contacts[].citystring

Max. length: 200

details.contacts[].statestring

Max. length: 200

details.contacts[].countrystring

Max. length: 200

details.contacts[].addressstring

Max. length: 1000

details.descriptionstring

Longform description of the dataset.

Inherits: string

details.hyperlinksarray

Unique items: Yes

details.hyperlinks[] Dataset Hyperlinkobject

Inherits: object

details.hyperlinks[].url*string

Min. length: 7

Max. length: 200

details.hyperlinks[].text*string

Min. length: 3

Max. length: 300

details.hyperlinks[].descriptionstring

Max. length: 4000

details.hyperlinks[].isPublicationboolean
details.organismsarray

Unique items: Yes

details.organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

details.publicationsarray

Unique items: Yes

details.publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

details.publications[].pubMedId*string

Min. length: 3

Max. length: 30

details.publications[].citationstring

Min. length: 3

Max. length: 2000

details.publications[].isPrimaryboolean
details.shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

details.shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

details.propertiesany

Any-typed for compatibility with JaxRS and RAML.

Actual schema definitions are available at:

Inherits: any

details.datasetType*object

Inherits: lib.DatasetTypeInput

details.datasetType.name*string

Min. length: 3

Max. length: 128

details.datasetType.version*string

Min. length: 1

Max. length: 32

details.visibilitystring

Default value: "private"

Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

dataFilesarray

Dataset files to upload.

This field is incompatible with the url field.

dataFiles[]file
urlstring

URL to a dataset file to upload.

This field is incompatible with the file field.

docFilesarray

Files containing additional dataset documentation or meta info that is not part of the data itself.

docFiles[]file

Type DatasetPostResponseBody (object)

Dataset Post Response

Successful upload response.

This response does not mean the uploaded dataset has been made available on the target site(s). The upload must first be validated and installed into the target sites before the dataset will become available for use.

Inherits: object

Model

ParameterTypeDescription
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

Type DatasetProxyPostMeta (object)

DatasetProxyPostMeta

Model

ParameterTypeDescription
installTargets*array

IDs of the projects this dataset is being submitted to.

Unique items: Yes

installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

dependencies*array

Unique items: Yes

dependencies[] Dataset Dependencyobject

Inherits: object

dependencies[].resourceIdentifier*string

Min. length: 3

Max. length: 50

dependencies[].resourceDisplayName*string

Min. length: 3

Max. length: 100

dependencies[].resourceVersion*string

Min. length: 1

Max. length: 50

contactsarray

Unique items: Yes

contacts[] Dataset Contactobject

Inherits: object

contacts[].name*string

Min. length: 3

Max. length: 300

contacts[].isPrimaryboolean
contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

contacts[].affiliationstring

Max. length: 4000

contacts[].citystring

Max. length: 200

contacts[].statestring

Max. length: 200

contacts[].countrystring

Max. length: 200

contacts[].addressstring

Max. length: 1000

descriptionstring

Longform description of the dataset.

Inherits: string

hyperlinksarray

Unique items: Yes

hyperlinks[] Dataset Hyperlinkobject

Inherits: object

hyperlinks[].url*string

Min. length: 7

Max. length: 200

hyperlinks[].text*string

Min. length: 3

Max. length: 300

hyperlinks[].descriptionstring

Max. length: 4000

hyperlinks[].isPublicationboolean
organismsarray

Unique items: Yes

organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

publicationsarray

Unique items: Yes

publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

publications[].pubMedId*string

Min. length: 3

Max. length: 30

publications[].citationstring

Min. length: 3

Max. length: 2000

publications[].isPrimaryboolean
shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

propertiesany

Any-typed for compatibility with JaxRS and RAML.

Actual schema definitions are available at:

Inherits: any

datasetType*object

Inherits: lib.DatasetTypeInput

datasetType.name*string

Min. length: 3

Max. length: 128

datasetType.version*string

Min. length: 1

Max. length: 32

visibilitystring

Default value: "private"

Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

createdOn Creation Datedatetime

Type DatasetProxyPostRequestBody (object)

Dataset Proxy Post Request

Inherits: object

Model

ParameterTypeDescription
details*object

Metadata about the dataset being submitted.

Inherits: lib.DatasetPostMeta

details.installTargets*array

IDs of the projects this dataset is being submitted to.

Unique items: Yes

details.installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

details.name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: lib.DatasetName

details.summary*string

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

details.origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: lib.DatasetOrigin

details.dependencies*array

Unique items: Yes

details.dependencies[] Dataset Dependencyobject

Inherits: object

details.dependencies[].resourceIdentifier*string

Min. length: 3

Max. length: 50

details.dependencies[].resourceDisplayName*string

Min. length: 3

Max. length: 100

details.dependencies[].resourceVersion*string

Min. length: 1

Max. length: 50

details.contactsarray

Unique items: Yes

details.contacts[] Dataset Contactobject

Inherits: object

details.contacts[].name*string

Min. length: 3

Max. length: 300

details.contacts[].isPrimaryboolean
details.contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

details.contacts[].affiliationstring

Max. length: 4000

details.contacts[].citystring

Max. length: 200

details.contacts[].statestring

Max. length: 200

details.contacts[].countrystring

Max. length: 200

details.contacts[].addressstring

Max. length: 1000

details.descriptionstring

Longform description of the dataset.

Inherits: string

details.hyperlinksarray

Unique items: Yes

details.hyperlinks[] Dataset Hyperlinkobject

Inherits: object

details.hyperlinks[].url*string

Min. length: 7

Max. length: 200

details.hyperlinks[].text*string

Min. length: 3

Max. length: 300

details.hyperlinks[].descriptionstring

Max. length: 4000

details.hyperlinks[].isPublicationboolean
details.organismsarray

Unique items: Yes

details.organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

details.publicationsarray

Unique items: Yes

details.publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

details.publications[].pubMedId*string

Min. length: 3

Max. length: 30

details.publications[].citationstring

Min. length: 3

Max. length: 2000

details.publications[].isPrimaryboolean
details.shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

details.shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

details.propertiesany

Any-typed for compatibility with JaxRS and RAML.

Actual schema definitions are available at:

Inherits: any

details.datasetType*object

Inherits: lib.DatasetTypeInput

details.datasetType.name*string

Min. length: 3

Max. length: 128

details.datasetType.version*string

Min. length: 1

Max. length: 32

details.visibilitystring

Default value: "private"

Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

details.createdOn Creation Datedatetime
dataFilesarray

Dataset files to upload.

This field is incompatible with the url field.

dataFiles[]file
urlstring

URL to a dataset file to upload.

This field is incompatible with the file field.

docFilesarray

Files containing additional dataset documentation or meta info that is not part of the data itself.

docFiles[]file

Type DatasetPublication (object)

Dataset Publication

Inherits: object

Model

ParameterTypeDescription
pubMedId*string

Min. length: 3

Max. length: 30

citationstring

Min. length: 3

Max. length: 2000

isPrimaryboolean

Type DatasetPutMetadata (object)

Dataset Put Request Metadata

Request to update the metadata for a dataset.

Fields that are omitted will be ignored when updating the target dataset record.

Inherits: lib.DatasetPatchRequestBody

Model

ParameterTypeDescription
namestring

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: string

datasetTypeobject

Only allowed when transitioning from a none-type dataset into an actual dataset type.

Inherits: lib.DatasetTypeInput

datasetType.name*string

Min. length: 3

Max. length: 128

datasetType.version*string

Min. length: 1

Max. length: 32

shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

visibilitystring
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

summarystring

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

descriptionstring

Longform description of the dataset.

Inherits: string

publicationsarray

Unique items: Yes

publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

publications[].pubMedId*string

Min. length: 3

Max. length: 30

publications[].citationstring

Min. length: 3

Max. length: 2000

publications[].isPrimaryboolean
hyperlinksarray

Unique items: Yes

hyperlinks[] Dataset Hyperlinkobject

Inherits: object

hyperlinks[].url*string

Min. length: 7

Max. length: 200

hyperlinks[].text*string

Min. length: 3

Max. length: 300

hyperlinks[].descriptionstring

Max. length: 4000

hyperlinks[].isPublicationboolean
organismsarray

Unique items: Yes

organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

contactsarray

Unique items: Yes

contacts[] Dataset Contactobject

Inherits: object

contacts[].name*string

Min. length: 3

Max. length: 300

contacts[].isPrimaryboolean
contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

contacts[].affiliationstring

Max. length: 4000

contacts[].citystring

Max. length: 200

contacts[].statestring

Max. length: 200

contacts[].countrystring

Max. length: 200

contacts[].addressstring

Max. length: 1000

propertiesany

When provided and non-empty, wholely replaces any previous dataset characteristics value. When provided as an empty object, removes the dataset's characteristics.

Inherits: any

origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: string

revisionNote*string

Note providing a reason and/or description for the revision.

Min. length: 10

Max. length: 4096

Inherits: lib.DatasetRevisionNote

Type DatasetPutRequestBody (object)

Dataset Put Request

Inherits: object

Model

ParameterTypeDescription
details*object

Metadata about the dataset being submitted.

Inherits: lib.DatasetPatchRequestBody

details.namestring

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: string

details.datasetTypeobject

Only allowed when transitioning from a none-type dataset into an actual dataset type.

Inherits: lib.DatasetTypeInput

details.datasetType.name*string

Min. length: 3

Max. length: 128

details.datasetType.version*string

Min. length: 1

Max. length: 32

details.shortNamestring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortName

details.shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: lib.DatasetShortAttribution

details.visibilitystring
Enum:
  • private
  • protected
  • public

Inherits: lib.DatasetVisibility

details.summarystring

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: lib.DatasetSummary

details.descriptionstring

Longform description of the dataset.

Inherits: string

details.publicationsarray

Unique items: Yes

details.publications[] Dataset Publicationobject

Inherits: lib.DatasetPublication

details.publications[].pubMedId*string

Min. length: 3

Max. length: 30

details.publications[].citationstring

Min. length: 3

Max. length: 2000

details.publications[].isPrimaryboolean
details.hyperlinksarray

Unique items: Yes

details.hyperlinks[] Dataset Hyperlinkobject

Inherits: object

details.hyperlinks[].url*string

Min. length: 7

Max. length: 200

details.hyperlinks[].text*string

Min. length: 3

Max. length: 300

details.hyperlinks[].descriptionstring

Max. length: 4000

details.hyperlinks[].isPublicationboolean
details.organismsarray

Unique items: Yes

details.organisms[]string

Min. length: 3

Max. length: 200

Inherits: lib.OrganismAbbreviation

details.contactsarray

Unique items: Yes

details.contacts[] Dataset Contactobject

Inherits: object

details.contacts[].name*string

Min. length: 3

Max. length: 300

details.contacts[].isPrimaryboolean
details.contacts[].emailstring

IMPORTANT: Required if isPrimary == true.

Min. length: 5

Max. length: 4000

details.contacts[].affiliationstring

Max. length: 4000

details.contacts[].citystring

Max. length: 200

details.contacts[].statestring

Max. length: 200

details.contacts[].countrystring

Max. length: 200

details.contacts[].addressstring

Max. length: 1000

details.propertiesany

When provided and non-empty, wholely replaces any previous dataset characteristics value. When provided as an empty object, removes the dataset's characteristics.

Inherits: any

details.origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: string

details.revisionNote*string

Note providing a reason and/or description for the revision.

Min. length: 10

Max. length: 4096

Inherits: lib.DatasetRevisionNote

dataFilesarray

Dataset files to upload.

This field is incompatible with the url field.

dataFiles[]file
urlstring

URL to a dataset file to upload.

This field is incompatible with the file field.

docFilesarray

Files containing additional dataset documentation or meta info that is not part of the data itself.

docFiles[]file

Type DatasetPutResponseBody (object)

Dataset Put Response

Inherits: object

Model

ParameterTypeDescription
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

Type DatasetRevision (object)

Dataset Revision

Dataset revision history entry.

Inherits: object

Model

ParameterTypeDescription
action*string
Enum:
  • revise

Inherits: lib.DatasetRevisionAction

timestamp*datetime
revisionId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

revisionNote*string

Note providing a reason and/or description for the revision.

Min. length: 10

Max. length: 4096

Inherits: lib.DatasetRevisionNote

fileListUrl*string

URL to the file listing for the revision entry.

Type DatasetRevisionAction (string)

Dataset Revision Action
Enum:
  • revise

Inherits: string

Type DatasetRevisionNote (string)

Dataset Revision Note

Note providing a reason and/or description for the revision.

Min. length: 10

Max. length: 4096

Inherits: string

Type DatasetShareOffer (object)

Dataset Share Offer

An offer to share (or un-share) a dataset with a single target user.

Inherits: object

Model

ParameterTypeDescription
action*string

What action to take with the dataset share offer.

Either grant or revoke.

A value of grant means the share should be offered to the user if they do not already have the dataset, or continue to be allowed if they already have access to the dataset.

A value of revoke means the share should not be offered to the target user if they do not already have the dataset, or the sharing should be stopped if the user did already have access to the dataset.

Enum:
  • grant
  • revoke

Inherits: lib.ShareOfferAction

Type DatasetShareReceipt (object)

Dataset Share Receipt

A receipt or response to a share offer of a dataset to a single user.

Inherits: object

Model

ParameterTypeDescription
action*string

What action to take with acknowledging a dataset share offer.

Either accept or reject.

A value of accept means that the dataset that a share was offered for should become available to the accepting user.

A value of reject means that the dataset that a share was offered for should become unavailable to the rejecting user.

Enum:
  • accept
  • reject

Inherits: lib.ShareReceiptAction

Type DatasetShortAttribution (string)

DatasetShortAttribution

Min. length: 3

Max. length: 300

Inherits: string

Type DatasetShortName (string)

DatasetShortName

Min. length: 3

Max. length: 300

Inherits: string

Type DatasetSourceUrl (string)

DatasetSourceUrl

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: string

Type DatasetStatusInfo (object)

DatasetStatusInfo

Information about the import and install status of a dataset.

Inherits: object

Model

ParameterTypeDescription
import*string

Import status of the dataset.

ValueDescription
queuedThe dataset has not yet been processed and is waiting in the queue.
in-progressThe dataset is currently being import processed.
completeThe dataset has been processed and imported for installation.
invalidThe dataset failed import validation.
failedThe dataset import failed due to an internal server error.
Enum:
  • queued
  • in-progress
  • complete
  • invalid
  • failed

Inherits: string

installarray
install[] Dataset Install Target Statusobject

Entry in a list of install statuses for a dataset.

Inherits: object

install[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

install[].metaStatus*string
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

install[].metaMessagestring
install[].dataStatusstring
Enum:
  • running
  • complete
  • failed-validation
  • failed-installation
  • ready-for-reinstall
  • missing-dependency

Inherits: string

install[].dataMessagestring

Type DatasetSummary (string)

DatasetSummary

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: string

Type DatasetTypeInput (object)

DatasetTypeInput

Inherits: object

Model

ParameterTypeDescription
name*string

Min. length: 3

Max. length: 128

version*string

Min. length: 1

Max. length: 32

Type DatasetTypeOutput (object)

DatasetTypeOutput

Details about a specific dataset type.

Inherits: object

Model

ParameterTypeDescription
name*string

Min. length: 3

version*string

Min. length: 1

displayName*string

Min. length: 3

Type DatasetVisibility (string)

DatasetVisibility
Enum:
  • private
  • protected
  • public

Inherits: string

Type DatasetZipDetails (object)

Archive File Info

Inherits: object

Model

ParameterTypeDescription
zipSize*integer

Format: int64

contents*array
contents[] Decompressed File Infoobject

Inherits: object

contents[].fileName*string
contents[].fileSize*integer

Size of the file in bytes.

Format: int64

Type Error (object)

Error

Discriminator: status

Inherits: object

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Type ErrorType (string)

ErrorType
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: string

Type FailedDependencyError (object)

Failed Dependency Error

Discriminator: status

Discriminator value: failed-dependency

Inherits: lib.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
dependency*string

Examples

{
  "status": "failed-dependency",
  "dependency": "google.com",
  "message": "unexpected status code 403 from google.com"
}

Type ForbiddenError (object)

Forbidden

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: lib.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Examples

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

Type GoneError (object)

Gone

The request could not be completed due to the requested resource or its underlying data no longer being present on the server.

Discriminator: status

Discriminator value: gone

Inherits: lib.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Examples

{
  "status": "gone",
  "message": "The target resource or its dependencies no longer exists."
}

Type InstallCleanupRequestBody (object)

Install Cleanup Request

Object controlling the install cleanup process and what datasets it should target.

Requesters should specify one of the fields all or targets to control what datasets will be cleaned up. If neither is specified, the endpoint will just run the reinstaller, unless skip-run is set, in which case the endpoint will do nothing.

Inherits: object

Model

ParameterTypeDescription
allboolean
targetsarray

Unique items: Yes

targets[] Install Cleanup Targetobject

Inherits: lib.InstallCleanupTarget

targets[].datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

targets[].installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

Type InstallCleanupTarget (object)

Install Cleanup Target

Inherits: object

Model

ParameterTypeDescription
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

installTarget*string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: lib.InstallTargetID

Type InstallTargetID (string)

InstallTargetID

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: string

Type InternalDatasetDetails (object)

InternalDatasetDetails

Inherits: object

Model

ParameterTypeDescription
datasetType*object

Details about a specific dataset type.

Inherits: object

datasetType.name*string

Min. length: 3

datasetType.version*string

Min. length: 1

datasetType.displayName*string

Min. length: 3

owner*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

isDeleted*boolean
origin*string

String representing the origin of the dataset. Examples include direct-upload, nephele, or galaxy.

Min. length: 3

Max. length: 256

Inherits: string

created*datetime

Timestamp of the creation of the dataset

Inherits: datetime

inserted*datetime
name*string

User-provided name for the dataset.

Min. length: 3

Max. length: 1024

Inherits: string

installTargets*array

Unique items: Yes

installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: string

status*string
importMessages*array
importMessages[]string
visibility*string
Enum:
  • private
  • protected
  • public

Inherits: string

shortNamestring

Min. length: 3

Max. length: 300

Inherits: string

shortAttributionstring

Min. length: 3

Max. length: 300

Inherits: string

summarystring

Brief summary of the dataset.

Min. length: 3

Max. length: 4000

Inherits: string

descriptionstring

Longform description of the dataset.

Inherits: string

sourceUrlstring

URL of the dataset data source, if the dataset was uploaded via URL.

Inherits: string

syncControlobject

Inherits: lib.SyncControlRecord

syncControl.sharesUpdateTime*datetime
syncControl.dataUpdateTime*datetime
syncControl.metaUpdateTime*datetime
uploadFilesarray
uploadFiles[]string
installFilesarray
installFiles[]string

Type MethodNotAllowedError (object)

Method Not Allowed

The HTTP method used to request a resource is not allowed or configured by the server.

Discriminator: status

Discriminator value: bad-method

Inherits: lib.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Examples

{
  "status": "bad-method",
  "message": "PUT requests are not permitted on this endpoint"
}

Type NotFoundError (object)

Not Found

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: lib.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Examples

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

Type OrganismAbbreviation (string)

OrganismAbbreviation

Min. length: 3

Max. length: 200

Inherits: string

Type PartialDate (string)

Partial Datetime

Subset of the RFC3339 format, requiring at least the 4 digit year, and may include additional precision, part by part. Each part must be 'complete' and include standard preceding segment delimiters.

Date segments that are omitted will be defaulted to the minimum valid value for that segment. For example, If only the year value is provided, the assumed remainder is -01-01T00:00:00.000Z.

Examples:

  • 2022
  • 2022-03
  • 2022-03-15
  • 2022-03-15T16
  • 2022-03-15T16:30
  • 2022-03-15T16:30:12
  • 2022-03-15T16:30:12Z
  • 2022-03-15T16:30:12+04:00
  • 2022-03-15T16:30:12.123Z
  • 2022-03-15T16:30:12.123-06:00

Min. length: 4

Inherits: string

Type PluginListItem (object)

Plugin Info

Inherits: object

Model

ParameterTypeDescription
displayName*string
typeName*string
typeVersion*string
projectsarray

Projects that this plugin is restricted to. An empty or absent list indicates that the plugin has no project restrictions and may be used on any site.

projects[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: string

Type ServerError (object)

Internal Server Error

Discriminator: status

Discriminator value: server-error

Inherits: lib.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
requestId*string

Examples

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

Type ServiceMetadataBuildInfoOutput (object)

ServiceMetadataBuildInfoOutput

Inherits: object

Model

ParameterTypeDescription
gitTag*string
gitCommit*string
gitBranch*string
gitUrl*string
buildId*string
buildNumber*string
buildTime*string

Type ServiceMetadataResponseBody (object)

ServiceMetadataResponseBody

Inherits: object

Model

ParameterTypeDescription
buildInfo*object

Inherits: object

buildInfo.gitTag*string
buildInfo.gitCommit*string
buildInfo.gitBranch*string
buildInfo.gitUrl*string
buildInfo.buildId*string
buildInfo.buildNumber*string
buildInfo.buildTime*string

Type ShareOffer (object)

Dataset Share Offer

Inherits: object

Model

ParameterTypeDescription
recipient*object

Inherits: lib.ShareOfferRecipient

recipient.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

recipient.firstNamestring
recipient.lastNamestring
recipient.organizationstring
recipient.emailstring
status*string
Enum:
  • grant
  • revoke

Inherits: lib.ShareOfferAction

Type ShareOfferAction (string)

ShareOfferAction
Enum:
  • grant
  • revoke

Inherits: string

Type ShareOfferEntry (object)

Share Offer Details

Inherits: object

Model

ParameterTypeDescription
datasetId*string

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: lib.VdiId

owner*object

Details about the owner of a VDI dataset.

Inherits: object

owner.userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

owner.firstNamestring
owner.lastNamestring
owner.emailstring
owner.organizationstring
shareStatus*string
Enum:
  • open
  • accepted
  • rejected

Inherits: lib.ShareOfferStatus

datasetType*object

Details about a specific dataset type.

Inherits: object

datasetType.name*string

Min. length: 3

datasetType.version*string

Min. length: 1

datasetType.displayName*string

Min. length: 3

installTargets*array

Unique items: Yes

installTargets[]string

Name or ID of a target VEuPathDB project, such as "PlasmoDB".

Min. length: 5

Max. length: 32

Inherits: string

Type ShareOfferRecipient (object)

Dataset Share Recipient

Inherits: object

Model

ParameterTypeDescription
userId*integer

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: lib.UserId

firstNamestring
lastNamestring
organizationstring
emailstring

Type ShareOfferStatus (string)

Share Offer Status
Enum:
  • open
  • accepted
  • rejected

Inherits: string

Type ShareReceiptAction (string)

ShareReceiptAction
Enum:
  • accept
  • reject

Inherits: string

Type SyncControlRecord (object)

SyncControlRecord

Inherits: object

Model

ParameterTypeDescription
sharesUpdateTime*datetime
dataUpdateTime*datetime
metaUpdateTime*datetime

Type UnauthorizedError (object)

Unauthorized

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: lib.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string

Examples

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

Type UnprocessableEntityError (object)

Unprocessable Entity

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: lib.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • conflict
  • gone
  • invalid-input
  • failed-dependency
  • server-error

Inherits: lib.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Examples

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

Type UserId (integer)

UserId

VEuPathDB User ID

Min. value: 1

Max. value: 9223372036854776000

Format: int64

Inherits: integer

Type UserMetadata (object)

User Details

Inherits: object

Model

ParameterTypeDescription
quota*object

Inherits: lib.UserQuotaDetails

quota.limit*integer

Max number of bytes a user is allowed to upload.

Format: int64

quota.usage*integer

Current number of bytes counted against the user's quota.

Format: int64

Type UserQuotaDetails (object)

User Quota Report

Inherits: object

Model

ParameterTypeDescription
limit*integer

Max number of bytes a user is allowed to upload.

Format: int64

usage*integer

Current number of bytes counted against the user's quota.

Format: int64

Type VdiId (string)

VdiId

VDI dataset identifier

Pattern: ^[a-zA-Z0-9_-]+$

Inherits: string

Type Error (object)

Error

Discriminator: status

Inherits: object

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Type ErrorType (string)

ErrorType
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: string

Type BadRequestError (object)

Bad Request

Request could not be parsed or was otherwise unusable.

Discriminator: status

Discriminator value: bad-request

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Examples

{
  "status": "bad-request",
  "message": "malformed JSON"
}

Type UnauthorizedError (object)

Unauthorized

Unauthenticated client requested a resource that requires authentication.

Discriminator: status

Discriminator value: unauthorized

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Examples

{
  "status": "unauthorized",
  "message": "users must be logged in to access this resource"
}

Type ForbiddenError (object)

Forbidden

Server understood the request but is refusing it.

Could be caused by incorrect instructions or an authenticated client requesting a resource or action that requires permissions that the client does not have assigned.

Discriminator: status

Discriminator value: forbidden

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Examples

{
  "status": "forbidden",
  "message": "the current user is not permitted to perform this action"
}

Type NotFoundError (object)

Not Found

The requested resource was not found on this server.

Discriminator: status

Discriminator value: not-found

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Examples

{
  "status": "not-found",
  "message": "the requested resource could not be found"
}

Type MethodNotAllowedError (object)

Method Not Allowed

The HTTP method used to request a resource is not allowed or configured by the server.

Discriminator: status

Discriminator value: bad-method

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string

Examples

{
  "status": "bad-method",
  "message": "PUT requests are not permitted on this endpoint"
}

Type UnprocessableEntityError (object)

Unprocessable Entity

The request payload or parameters are correctly structured but fail resource specific validation.

Discriminator: status

Discriminator value: invalid-input

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
errors*object

Additional properties: Yes

errors.general*array

Non-field specific errors.

errors.general[]string
errors.byKey*object

Field specific errors

Additional properties: Yes

errors.byKey.//*array
errors.byKey.//[]string

Examples

{
  "status": "invalid-input",
  "message": "JSON validation failed",
  "errors": {
    "general": [],
    "byKey": {
      "id": [
        "Given ID value does not point to an existing record."
      ]
    }
  }
}

Type ServerError (object)

Internal Server Error

Discriminator: status

Discriminator value: server-error

Inherits: error.Error

Model

ParameterTypeDescription
status*string
Enum:
  • bad-request
  • unauthorized
  • forbidden
  • not-found
  • bad-method
  • invalid-input
  • server-error

Inherits: error.ErrorType

message*string
requestId*string

Examples

{
  "status": "server-error",
  "message": "Datastore connection lost",
  "requestId": "b296c3d9-4032-41b1-906e-c97ccfc447e3"
}

Type HealthResponse (object)

HealthResponse

Health details about the service

Inherits: object

Model

ParameterTypeDescription
status*string

Status describes the overall service state. A status of "healthy" indicates that everything is running smoothly and all service dependencies are reachable and online. A status of "unhealthy" indicates that something is wrong with either this service or one or more of it's dependency services.

Enum:
  • healthy
  • unhealthy
dependencies*array

A list of external services that this service depends on and some details about them.

dependencies[]object

Inherits: DependencyStatus

dependencies[].name*string

Name of the external depdendency.

dependencies[].reachable*boolean

Whether or not the external service is reachable.

dependencies[].online*string

Whether or not the external service is online and available for requests.

Enum:
  • yes
  • unknown
  • no
info*object

Additional properties: Yes

info.threads*integer

Min. value: 1

info.uptime*string
info.uptimeMillis*integer

Min. value: 1

Format: int64

Type DependencyStatus (object)

DependencyStatus

Inherits: object

Model

ParameterTypeDescription
name*string

Name of the external depdendency.

reachable*boolean

Whether or not the external service is reachable.

online*string

Whether or not the external service is online and available for requests.

Enum:
  • yes
  • unknown
  • no