API Browser

The ingest API browser is a HAL browser for ingest API. It can be used to navigate the api and call the API. It contains basic documentation and information about the available dats and operations.

Project Search

Search projects endpoint:

GET /projects/filter?search={search_keys}

query parameters:

parameter description example
search search keys EGAD00001007718
searchType AnyKeyword, AllKeywords, ExactMatch AllKeywords
page   0
size   20
sort field name, direction updateDate,desc

Additional search methods:

GET /projects/search

Metadata search

For each metadata type: biomaterials, files, processes, protocols, projects, it is possible to query arbitrarily the database:

POST /{metadataType}/query
Authorization: Bearer <TOKEN>

[
    {
        "field": "validationState",
        "operator": "NE",
        "value": "Valid"
    }
]

Available operators

Operator can be: NE, IS, LT, LTE, GT, GTE, IN, NIN, REGEX

Query Patterns

querying multiple fields

The body can have a list of comma separated criteria, e.g.:

    [
        {
            "field": "validationState",
            "operator": "NE",
            "value": "Valid"
        },
        {
            "field": "content.process_core.process_id",
            "operator": "IS",
            "value": "my_process"
        },
    ]

Querying Referenced Fields

To query referenced fields use the .id after the reference field’s name. For example, to query processes by the submission to which the belong use the following criterion:

{
        "field": "submissionEnvelope.id",
        "operator": "IS",
        "value": "64e36dfba3737b41e55023da"
}

Querying array fields

To find all documents that have a value inside an array, use the following query. In this case, hca_bionetworks is the array field and name is an attribute of each element in the array. This query is an improvised version of an exists query.

[
    {
        "field": "content.hca_bionetworks.name",
        "operator": "REGEX",
        "value": ".*"
    }   
]

Table of contents