Category Instance
API endpoint that allows CV Categories to be viewed or edited. In addition to the normal detail page, when provided with the param nested=True, the detail endpoint shows all Terms on the category. Then on the detail page, terms can be viewed, changed, deleted and added to the Category.
» click to learn about Filtering, Ordering and more...
Accepted filters:
- search: Search in the following fields: ^name. (^startswith, $regex, =exact)
- id: ID (exact)
- created: Created (exact)
- modified: Modified (exact)
- name: Name starts with (istartswith)
- description: Description contains (icontains)
- query: Search filter on the name property (exact)
- owner: Owner Username (exact)
- owned_by: Filter on list of owned by group names [OR] (exact)
- public: Public (exact)
- deleted: Deleted (exact)
- deleted_by: Deleted by (exact)
- deleted_date: Deleted date (exact)
- label: Label contains (icontains)
- created_by: Created by Username (exact)
- modified_by: Modified by Username (exact)
Advanced Filtering
You can also filter using a json object to process all search parameters. Currently this filter supports the syntax as produced/used by the http://summitroute.github.io/react-structured-filter/ search UI.
Example
?query_expression={"category":"name","operator":"contains","value":"Y00"},
{"category":"amount","operator":">","value":"10"},
{"category":"type__name","operator":"exact","value":"ANTIBODY"}
» more info about the query_expression param..
Preset mappings
- terms: {'name': 'term_count', 'aggregate': Count(F(terms), distinct=True)}
- deleted: <function filter_deleted at 0x7f45063b6710>
- deleted_by: deleted_by__username
- owner: owner__username
- owned_by: owned_by__name
- created_by: created_by__username
- modified_by: modified_by__username
Operators
- ==
- =
- >=
- >
- <=
- <
- contains
- icontains
- exact
- iexact
- startswith
- istartswith
- endswith
- iendswith
Permission filtering
Based on the current logged in user you can filter for objects that have a particular permission set:
- can_change: True/False, show objects that you can change
- can_delete: True/False, show objects that you can delete
# not applicable - will raise NotAcceptable:
- can_view: as this is always True, you can only view items you are allowed to see
Ordering
You can order on practically any field even spanning relations.
# reverse order on owner username
?ordering=-owner
# order on related field
?ordering=category__version
API endpoint that allows CV Categories to be viewed or edited.
In addition to the normal detail page, when provided with the param *nested*=True,
the detail endpoint shows all Terms on the category.
Then on the detail page, terms can be viewed, changed, deleted and added to the Category.
None
The default modelviewset used in this project
Add JSONPatch like functionality to bulk update items.
### Bulk Delete
This view also allows for one to bulk delete items. The url needs to be appended by ``/bulk_delete/`` and the ids
need to be given by multiple query_params:
```
{current_url}/bulk_delete/?id=<id_1>,id=<id_2>
```
GET /api/v2/vocabularies/categories/805ea273-1672-4220-bdf8-1cafb4274f46/?format=api&ordering=status
{ "results": { "url": { "name": "url", "value": "https://labid-demo.embl.de/api/v2/vocabularies/categories/805ea273-1672-4220-bdf8-1cafb4274f46/?format=api", "category": "property" }, "id": { "name": "id", "category": "property", "value": "805ea273-1672-4220-bdf8-1cafb4274f46" }, "created_by": { "name": "created_by", "value": { "id": 1, "username": "admin", "full_name": "Admin User" }, "category": "property" }, "modified_by": { "name": "modified_by", "value": { "id": 1, "username": "admin", "full_name": "Admin User" }, "category": "property" }, "created": { "name": "created", "value": "2025-12-16T09:24:49.125499+01:00", "category": "property" }, "modified": { "name": "modified", "value": "2025-12-16T09:24:49.125588+01:00", "category": "property" }, "model_name": { "name": "model_name", "category": "property", "value": "category" }, "app_name": { "name": "app_name", "category": "property", "value": "vocabularies" }, "model_type": { "name": "model_type", "category": "property", "value": "DEFAULT" }, "name": { "name": "name", "value": { "id": "805ea273-1672-4220-bdf8-1cafb4274f46", "name": "trec_conditioning_containers", "model_name": "category", "app_name": "vocabularies", "model_type": null }, "category": "property" }, "choice_label": { "name": "choice_label", "category": "property", "value": "trec_conditioning_containers" }, "description": { "name": "description", "category": "property", "value": "the different specimen containers used in the TREC project" }, "label": { "name": "label", "category": "property", "value": "TREC Conditioning Containers" }, "status": { "name": "status", "value": { "value": "ACTIVE", "label": "Active" }, "category": "property" }, "source": { "name": "source", "category": "property", "value": "" }, "version": { "name": "version", "category": "property", "value": "1" }, "terms": { "name": "terms", "category": "property", "value": [ { "id": "bc051c87-62f6-4398-9838-065026b364e5", "name": "Bag 2041 mL", "description": "", "dbxref_id": "Bag 2041 mL", "default": false, "short_name": "Bag 2041 mL", "image_url": "", "public": true }, { "id": "c0257f16-b4fa-4912-89ca-123872dfd01f", "name": "Bag 532 mL", "description": "", "dbxref_id": "Bag 532 mL", "default": false, "short_name": "Bag 532 mL", "image_url": "", "public": true }, { "id": "78806466-5782-4cec-a338-77bdbb2df2e3", "name": "Bag 58 mL", "description": "", "dbxref_id": "Bag 58 mL", "default": false, "short_name": "Bag 58 mL", "image_url": "", "public": true }, { "id": "bea53784-3720-488e-94a7-eb64019fdb13", "name": "Bottle 100 mL", "description": "", "dbxref_id": "Bottle 100 mL", "default": false, "short_name": "Bottle 100 mL", "image_url": "", "public": true }, { "id": "81f9fe89-4de0-4b81-a557-276352025337", "name": "Bottle 250 mL", "description": "", "dbxref_id": "Bottle 250 mL", "default": false, "short_name": "Bottle 250 mL", "image_url": "", "public": true }, { "id": "2cb8b38a-458e-498d-b2d6-348459f146d0", "name": "Bottle 50 mL", "description": "", "dbxref_id": "Bottle 50 mL", "default": false, "short_name": "Bottle 50 mL", "image_url": "", "public": true }, { "id": "4154e8a6-5aed-494b-a627-49c96bd676bd", "name": "Bottle 500 mL", "description": "", "dbxref_id": "Bottle 500 mL", "default": false, "short_name": "Bottle 500 mL", "image_url": "", "public": true }, { "id": "16d6628a-7a73-4f93-90ec-1831c200f141", "name": "Bottle 4 mL", "description": "", "dbxref_id": "Bottle 4 mL", "default": false, "short_name": "Bottle 4 mL", "image_url": "", "public": true }, { "id": "d3df0721-2084-4701-87fd-168cee24fbc6", "name": "Bottle 60 mL", "description": "", "dbxref_id": "Bottle 60 mL", "default": false, "short_name": "Bottle 60 mL", "image_url": "", "public": true }, { "id": "2d883bde-b253-473a-b493-c35b43304d59", "name": "Cryovials 1.8", "description": "", "dbxref_id": "Cryovials 1.8", "default": false, "short_name": "Cryovials 1.8", "image_url": "", "public": true }, { "id": "4c98a66b-c72e-4d81-8bb2-a4a3122086e3", "name": "Cryovials 2 mL", "description": "", "dbxref_id": "Cryovials 2 mL", "default": false, "short_name": "Cryovials 2 mL", "image_url": "", "public": true }, { "id": "d13f4e52-968d-4bc0-9958-185975797d9c", "name": "Cryovials 5 mL", "description": "", "dbxref_id": "Cryovials 5 mL", "default": false, "short_name": "Cryovials 5 mL", "image_url": "", "public": true }, { "id": "fe5ff55f-ff0a-4430-82bb-19242901251f", "name": "Cryovials 50 mL", "description": "", "dbxref_id": "Cryovials 50 mL", "default": false, "short_name": "Cryovials 50 mL", "image_url": "", "public": true }, { "id": "1b19875a-e2a2-4473-af01-1b1bcc0ab6f4", "name": "Epytube 1.5 mL", "description": "", "dbxref_id": "Epytube 1.5 mL", "default": false, "short_name": "Epytube 1.5 mL", "image_url": "", "public": true }, { "id": "18b52602-613c-4576-abf2-573d4eb15e0a", "name": "Filter", "description": "", "dbxref_id": "Filter", "default": false, "short_name": "Filter", "image_url": "", "public": true }, { "id": "cc784c3c-1cd4-42ac-a273-1f929fe965e8", "name": "Petri dish 30x6 mm", "description": "", "dbxref_id": "Petri dish 30x6 mm", "default": false, "short_name": "Petri dish 30x6 mm", "image_url": "", "public": true }, { "id": "51f196f8-b6e4-4066-bf2f-0472f7ddfb9d", "name": "Petri dish 7 cm", "description": "", "dbxref_id": "Petri dish 7 cm", "default": false, "short_name": "Petri dish 7 cm", "image_url": "", "public": true }, { "id": "8e11e1d6-b13d-43da-bae5-0c8401a48c0c", "name": "Petri slide 4700", "description": "", "dbxref_id": "Petri slide 4700", "default": false, "short_name": "Petri slide 4700", "image_url": "", "public": true }, { "id": "a005384b-46b8-4195-8e26-9db7d17db32f", "name": "Tube 1 mL", "description": "", "dbxref_id": "Tube 1 mL", "default": false, "short_name": "Tube 1 mL", "image_url": "", "public": true }, { "id": "bff074dc-7710-4052-833a-bc4247b8949c", "name": "Tube 5 mL", "description": "", "dbxref_id": "Tube 5 mL", "default": false, "short_name": "Tube 5 mL", "image_url": "", "public": true }, { "id": "bd6a7d84-b7b3-4484-92b1-d417dee9d533", "name": "Tube 15 mL", "description": "", "dbxref_id": "Tube 15 mL", "default": false, "short_name": "Tube 15 mL", "image_url": "", "public": true }, { "id": "47bdcb16-5e45-490b-a738-3de533acef48", "name": "Tube 50 mL", "description": "", "dbxref_id": "Tube 50 mL", "default": false, "short_name": "Tube 50 mL", "image_url": "", "public": true }, { "id": "c60c3e81-9de3-4c63-ac5a-8ec02731c00f", "name": "Tube 40 mL", "description": "", "dbxref_id": "Tube 40 mL", "default": false, "short_name": "Tube 40 mL", "image_url": "", "public": true } ] }, "permissions": { "name": "permissions", "value": { "public": true, "actions": { "view": { "users": [], "groups": [] }, "change": { "users": [], "groups": [] }, "delete": { "users": [], "groups": [] } }, "allowed": [ "view" ] }, "category": "property" }, "public": { "name": "public", "value": true, "category": "property" }, "owner": { "name": "owner", "value": { "id": 1, "username": "admin", "full_name": "Admin User" }, "category": "property" }, "owned_by": { "name": "owned_by", "value": { "id": 1, "name": "SYSTEM_GROUP" }, "category": "property" } } }