CATMAID API

Download OpenAPI specification:Download

api-token-auth

api-token-auth_create

Request Body schema: application/json
username
required
string

Valid username for authentication

password
required
string

Valid password for authentication

Responses

201
post http://localhost/api-token-auth/
http://localhosthttp://localhost/api-token-auth/

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "username": "string",
  • "password": "string"
}

apis

apis_list

Responses

200
get http://localhost/apis/
http://localhosthttp://localhost/apis/

client

client_datastores_list

Responses

200
get http://localhost/client/datastores/
http://localhosthttp://localhost/client/datastores/

client_datastores_create

Responses

201
post http://localhost/client/datastores/
http://localhosthttp://localhost/client/datastores/

client_datastores_delete

path Parameters
name
required
string

Responses

204
delete http://localhost/client/datastores/{name}
http://localhosthttp://localhost/client/datastores/{name}

client_datastores_read

path Parameters
name
required
string

Responses

200
get http://localhost/client/datastores/{name}/
http://localhosthttp://localhost/client/datastores/{name}/

client_datastores_update

path Parameters
name
required
string

Responses

200
put http://localhost/client/datastores/{name}/
http://localhosthttp://localhost/client/datastores/{name}/

groups

groups_list

Responses

200
get http://localhost/groups/
http://localhosthttp://localhost/groups/

projects

List projects visible to the requesting user.

List projects visible to the requesting user.

Responses

200
get http://localhost/projects/
http://localhosthttp://localhost/projects/

Detailed list of projects visible to the requesting user.

Detailed list of projects visible to the requesting user.

Responses

200
get http://localhost/projects/export
http://localhosthttp://localhost/projects/export

analytics

List nodes that are located in a broken section.

List nodes that are located in a broken section.

Broken secrions of all stacks linked to the current project are tested if they contain any nodes. Stack orientatins are respected. Optionally, only particular skeletons can be checked.

path Parameters
project_id
required
string
Request Body schema: application/x-www-form-urlencoded
skeleton_ids
string

List of skeleton IDs to constrain tests on

Responses

201
post http://localhost/{project_id}/analytics/broken-section-nodes
http://localhosthttp://localhost/{project_id}/analytics/broken-section-nodes

annotations

List annotations matching filtering criteria that are currently in use.

List annotations matching filtering criteria that are currently in use.

The result set is the intersection of annotations matching criteria (the criteria are conjunctive) unless stated otherwise.

path Parameters
project_id
required
string
Request Body schema: application/x-www-form-urlencoded
annotations
string

A list of (meta) annotations with which which resulting annotations should be annotated with.

annotates
string

A list of entity IDs (like annotations and neurons) that should be annotated by the result set.

parallel_annotations
string

A list of annotation that have to be used alongside the result set.

user_id
string

Result annotations have to be used by this user.

neuron_id
string

Result annotations will annotate this neuron.

skeleton_id
string

Result annotations will annotate the neuron modeled by this skeleton.

ignored_annotations
string

A list of annotation names that will be excluded from the result set.

if_modified_since
string

Works only if is True. Return 304 response if there is no newer content with respect to the passed in UTC date in ISO format.

Responses

200
get http://localhost/{project_id}/annotations/
http://localhosthttp://localhost/{project_id}/annotations/

List annotations matching filtering criteria that are currently in use.

List annotations matching filtering criteria that are currently in use.

The result set is the intersection of annotations matching criteria (the criteria are conjunctive) unless stated otherwise.

path Parameters
project_id
required
string
Request Body schema: application/x-www-form-urlencoded
annotations
string

A list of (meta) annotations with which which resulting annotations should be annotated with.

annotates
string

A list of entity IDs (like annotations and neurons) that should be annotated by the result set.

parallel_annotations
string

A list of annotation that have to be used alongside the result set.

user_id
string

Result annotations have to be used by this user.

neuron_id
string

Result annotations will annotate this neuron.

skeleton_id
string

Result annotations will annotate the neuron modeled by this skeleton.

ignored_annotations
string

A list of annotation names that will be excluded from the result set.

if_modified_since
string

Works only if is True. Return 304 response if there is no newer content with respect to the passed in UTC date in ISO format.

Responses

201
post http://localhost/{project_id}/annotations/
http://localhosthttp://localhost/{project_id}/annotations/

Add missing neuron name annotations.

Add missing neuron name annotations.

To each passed in neuron, a list of neuron IDs and/or skelton IDs, the neuron name stored in the neuron's base name is added as annotation. Each neuron name annotation is meta-annotated with a "Name" annotation.

path Parameters
project_id
required
string
Request Body schema: application/x-www-form-urlencoded
skeleton_ids
string

A list of skeleton IDs to update

entity_ids
string

A list of target entity IDs to update

Responses

201
post http://localhost/{project_id}/annotations/add-neuron-names
http://localhosthttp://localhost/{project_id}/annotations/add-neuron-names

Get annotations and who used them for a set of skeletons.

Get annotations and who used them for a set of skeletons.

This method focuses only on annotations linked to skeletons and is likely to be faster than the general query. Returns an object with two fields: "annotations", which is itself an object with annotation IDs as fields, giving access to the corresponding annotation names. And the field "skeletons" is also an object, mapping skeleton IDs to lists of annotation-annotator ID pairs. Also, as JSON separator a colon is used instead of a comma.

path Parameters
project_id
required
string
Request Body schema: application/x-www-form-urlencoded
skeleton_ids
string

A list of skeleton IDs which are annotated by the resulting annotations.

Responses

201
post http://localhost/{project_id}/annotations/forskeletons
http://localhosthttp://localhost/{project_id}/annotations/forskeletons

Query annotations linked to a list of objects.

Query annotations linked to a list of objects.

These objects can for instance be neurons, annotations or stack groups. From a database perspective, these objects are class instances.

Returned is an object with the fields "entities" and "annotations". The former is an object mapping an entity ID to a list of annotations. Each annotation is represented by an object containing its "id" and "uid", the user who annotated it. The latter maps annotation IDs to annotation names. For instance::

{ "entities": { "42": [{id: 1, uid: 12}, {id: 3, uid: 14}] }, "annotations": { 12: "example1", 14: "example2" } }

path Parameters
project_id
required
string
Request Body schema: application/x-www-form-urlencoded
object_ids
string

A list of object IDs for which annotations should be returned.

Responses

201
post http://localhost/{project_id}/annotations/query
http://localhosthttp://localhost/{project_id}/annotations/query

Query entities based on various constraints

Query entities based on various constraints

Entities are objects that can be referenced within CATMAID's semantic space, e.g. neurons, annotations or stack groups. This API allows to query them, mainly by annotations that have been used with them. Multiple annotation parameters can be used to combine different annotation sets with AND. Elements of one annotation parameter are combined with OR.

path Parameters
project_id
required
string
query Parameters
annotation_date_start
string

The earliest YYYY-MM-DD date result elements have been annotated at.

annotation_date_end
string

The latest YYYY-MM-DD date result elements have been annotated at.

Request Body schema: application/x-www-form-urlencoded
name
string

The name (or a part of it) of result elements.

annotated_by
string

A result element was annotated by a user with this ID.

annotated_with
string

A comma separated list of annotation IDs which all annotate the result elements.

not_annotated_with
string

A comma separated list of annotation IDs which don't annotate the result elements.

sub_annotated_with
string

A comma separated list of annotation IDs that are contained in either 'annotated_with' or 'not_annotated_with' that get expanded to also include their sub-annotations in the query (of which then at least one has to match inclusion or exclusion respectively).

with_annotations
string

Indicate if annotations of result elements should be returned.

types
string

Allowed result types. Multple types can be passed with multiple parameters. Defaults to 'neuron' and 'annotation'.

sort_by
string

Indicates how results are sorted.

sort_dir
string

Indicates sorting direction.

range_start
string

The first result element index.

range_length
string

The number of results

annotation_reference
string

Whether annoation references are IDs or names, can be 'id' or 'name.

Responses

201
post http://localhost/{project_id}/annotations/query-targets
http://localhosthttp://localhost/{project_id}/annotations/query-targets

connectors

Get a collection of connectors.

Get a collection of connectors.

The connectors field of the returned object contains a list of all result nodes, each represented as a list of the form:

[id, x, y, z, confidence, creator_id, editor_id, creation_time, edition_time]

Both edition time and creation time are returned as UTC epoch values. If tags are requested, the tags field of the response object will contain a mapping of connector IDs versus tag lists. If partners are requested, the partners field of the response object will contain a mapping of connector IDs versus lists of partner links. Each partner link is an array of the following format:

[link_id, treenode_id, skeleton_id, relation_id, confidence]

If both skeleton_ids and relation_type are used, the linked skeletons need to be linked by the specified relation. Without relation_type, linked skeletons can have any relation and without skeleton_ids a connector needs to have a least one link with the specified relation.

path Parameters
project_id
required
string

Project of connectors

Request Body schema: application/x-www-form-urlencoded
skeleton_ids
string

Skeletons linked to connectors

tags
string

Require a set of tags

relation_type
string

Relation of linked skeletons to connector.

with_tags
string

If connector tags should be fetched

with_partners
string

If partner node and link information should be fetched

Responses

201
post http://localhost/{project_id}/connectors/
http://localhosthttp://localhost/{project_id}/connectors/

Get a list of all connector nodes that intersect with the passed in

Get a list of all connector nodes that intersect with the passed in bounding box.

path Parameters
project_id
required
string
Request Body schema: application/x-www-form-urlencoded
limit
string

Limit the number of returned nodes.

minx
required
string

Minimum world space X coordinate

miny
required
string

Minimum world space Y coordinate

minz
required
string

Minimum world space Z coordinate

maxx
required
string

Maximum world space X coordinate

maxy
required
string

Maximum world space Y coordinate

maxz
required
string

Maximum world space Z coordinate

with_locations
required
string

Whether to return the location of each connector.

with_links
required
string

Whether to return every individual link

skeleton_ids
string

Skeletons linked to connectors

Responses

200
get http://localhost/{project_id}/connectors/in-bounding-box
http://localhosthttp://localhost/{project_id}/connectors/in-bounding-box

Get a list of all connector nodes that intersect with the passed in

Get a list of all connector nodes that intersect with the passed in bounding box.

path Parameters
project_id
required
string
Request Body schema: application/x-www-form-urlencoded
limit
string

Limit the number of returned nodes.

minx
required
string

Minimum world space X coordinate

miny
required
string

Minimum world space Y coordinate

minz
required
string

Minimum world space Z coordinate

maxx
required
string

Maximum world space X coordinate

maxy
required
string

Maximum world space Y coordinate

maxz
required
string

Maximum world space Z coordinate

with_locations
required
string

Whether to return the location of each connector.

with_links
required
string

Whether to return every individual link

skeleton_ids
string

Skeletons linked to connectors

Responses

201
post http://localhost/{project_id}/connectors/in-bounding-box
http://localhosthttp://localhost/{project_id}/connectors/in-bounding-box