Behavioral category API endpoint
Table of contents
Fields
| Field | Description |
|---|---|
id | UUID identificator formatted as a string |
name | string [required] [must be unique] |
description | string |
parent_category | related behavioral category ID |
List view
- Allowed portals: public, private
- Request method: GET
- URL: https://www.brainstem.org/api/private/taxonomies/behavioralcategory
- Data: None
- Responses:
200OK;403Not allowed;404Not found
Use example (using Python API)
resp = client.load_model('behavioralcategory')
Response example
{'behavioralcategories': [
{
'id': 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
'name': 'Learning & Memory',
'description': 'Behavioral tasks assessing learning and memory processes',
'parent_category': None
},
{
'id': 'b2c3d4e5-6789-01bc-def0-2345678901bc',
'name': 'Spatial Learning',
'description': 'Tasks assessing spatial navigation and spatial memory',
'parent_category': 'a1b2c3d4-5678-90ab-cdef-1234567890ab'
}
]}
Add
- Allowed portals: private
- Request method: POST
- URL: https://www.brainstem.org/api/private/taxonomies/behavioralcategory
- Data: JSON dictionary containing at least the required fields.
- Responses:
201OK;400Bad request;403Not allowed;404Not found
Note: Behavioral category submissions go through an approval process.
Use example (using Python API)
resp = client.save_model("behavioralcategory", data={
"name": "Motor Function",
"description": "Tasks assessing motor abilities and coordination",
}
)
Response example
{'behavioralcategory_approval': {
'id': 'c3d4e5f6-7890-12cd-ef01-3456789012cd',
'name': 'Motor Function',
'description': 'Tasks assessing motor abilities and coordination',
'parent_category': None}
}
Detail
- Allowed portals: public, private
- Request method: GET
- URL: https://www.brainstem.org/api/private/taxonomies/behavioralcategory/<id>/
- Data: None
- Responses:
200OK;403Not allowed;404Not found
Use example (using Python API)
resp = client.load_model('behavioralcategory', id='a1b2c3d4-5678-90ab-cdef-1234567890ab')
Response example
{'behavioralcategory': {
'id': 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
'name': 'Learning & Memory',
'description': 'Behavioral tasks assessing learning and memory processes',
'parent_category': None}
}
Change
- Allowed portals: private
- Request method: PATCH
- URL: https://www.brainstem.org/api/private/taxonomies/behavioralcategory/<id>/
- Data: dictionary containing the fields to be updated
- Responses:
200OK;400Bad request;403Not allowed;404Not found
Note: Behavioral category changes go through an approval process.
Use example (using Python API)
resp = client.save_model("behavioralcategory", id="a1b2c3d4-5678-90ab-cdef-1234567890ab", data={"description": "updated description"})
Response example
{'behavioralcategory_approval': {
'id': 'd4e5f6a7-8901-23de-f012-4567890123de',
'name': 'Learning & Memory',
'description': 'updated description',
'parent_category': None}
}
Delete
- Allowed portals: private
- Request method: DELETE
- URL: https://www.brainstem.org/api/private/taxonomies/behavioralcategory/<id>/
- Data: None
- Responses:
204OK;403Not allowed;404Not found
Note: only administrators can delete Behavioral categories.
Use example (using Python API)
resp = client.delete_model("behavioralcategory", id="a1b2c3d4-5678-90ab-cdef-1234567890ab")
List approvals
- Allowed portals: private
- Request method: GET
- URL: https://www.brainstem.org/api/private/taxonomies/behavioralcategory_approvals
- Data: None
- Responses:
200OK;403Not allowed;404Not found
Use example (using Python API)
resp = client.load_model('behavioralcategoryapproval')
Response example
{'behavioralcategory_approvals': [
{
'id': 'c3d4e5f6-7890-12cd-ef01-3456789012cd',
'name': 'Motor Function',
'description': 'Tasks assessing motor abilities and coordination',
'parent_category': None,
'instance_id': None,
'action': 'Add',
'reviewer': None,
'status': 'Pending'
}
]}
Detail approval
- Allowed portals: private
- Request method: GET
- URL: https://www.brainstem.org/api/private/taxonomies/behavioralcategory_approvals/<id>/
- Data: None
- Responses:
200OK;403Not allowed;404Not found
Use example (using Python API)
resp = client.load_model('behavioralcategoryapproval', id='c3d4e5f6-7890-12cd-ef01-3456789012cd')
Response example
{'behavioralcategory_approval': {
'id': 'c3d4e5f6-7890-12cd-ef01-3456789012cd',
'name': 'Motor Function',
'description': 'Tasks assessing motor abilities and coordination',
'parent_category': None,
'instance_id': None,
'action': 'Add',
'reviewer': None,
'status': 'Pending'}
}
Accept approval
- Allowed portals: private
- Request method: PATCH
- URL: https://www.brainstem.org/api/private/taxonomies/behavioralcategory_approvals/<id>/
- Data: None
- Responses:
200OK;403Not allowed;404Not found
Use example (using Python API)
resp = client.save_model("behavioralcategoryapproval", id="c3d4e5f6-7890-12cd-ef01-3456789012cd", options="accept")
Reject approval
- Allowed portals: private
- Request method: PATCH
- URL: https://www.brainstem.org/api/private/taxonomies/behavioralcategory_approvals/<id>/
- Data: None
- Responses:
200OK;403Not allowed;404Not found
Use example (using Python API)
resp = client.save_model("behavioralcategoryapproval", id="d4e5f6a7-8901-23de-f012-4567890123de", options="reject")