The prefix for accessing all API calls is /api/v1
.
To see what types of data are available simply call /api/v1. This returns a JSON-encoded list that includes e.g. celltypes, models, ...
To find out which data objects are available for a given type, query that type. e.g. The list of all model object ids is /api/v1/models.
To get a specific instance, include the object id. e.g. The data for model 87284 is at /api/v1/models/87284.
You can also get a list of property values in the same order as the object ids by querying on the name of the property. For example, to get the "name" property for all the celltypes objects, query /api/v1/celltypes/name.
By default, the results are returned without pretty-printing, however you may get a
pretty-printed version instead by specifying a number for the GET argument indent
;
e.g. /api/v1/models/87284?indent=4.
For the special cases of /api/v1/models
and queries of specific properties,
the set of models/property values returned may be filtered by other properties of the model
using either the object_id or the object_name, e.g.
/api/v1/models?model_concept=112047 shows the
set of models with model concept 112047 (Alzheimer's),
/api/v1/models/created?model_concept=112047
shows the creation date of these models, and
/api/v1/models?modeling_application=NEURON
shows the set of models using NEURON as a modeling application. Multiple fields may be filtered
at the same time, but currently only one filter value for a given field is allowed, and only
potentially multi-valued fields are supported. null
is returned when a model does not have
an entry for the corresponding field.
Repeated queries of the models endpoint in short succession will appear in consistent order
provided there are no intervening server restarts or new public models.
That is, calling /api/v1/models/ver_date?modeling_application=NEURON
and then /api/v1/models?modeling_application=NEURON
will return two lists that can be zipped together, with the ith ver_date
corresponding
to the ith model id.
Do not cache the results as no guarantees are made about order across server restarts or
when models are added.
All results are returned with mime type application/json
.