API endpoint that allows Locations to be viewed or edited.

» click to learn about Filtering, Ordering and more...

Accepted filters:

- id: ID (exact)
- created: Created (exact)
- modified: Modified (exact)
- modified_by: Modified by Username (exact)
- created_by: Created by Username (exact)
- deleted: Deleted (exact)
- deleted_date: Deleted date (exact)
- deleted_by: Deleted by (exact)
- public: Public (exact)
- owner: Owner Username (exact)
- owned_by: Filter on list of owned by group names [OR] (exact)
- label: Name (exact)
- equipment: Equipments (exact)
- place: Place (exact)
- name: [invalid name] starts with (istartswith)
- description: [invalid name] contains (icontains)
- query: Search filter on the name property (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

- created_by: created_by__username
- modified_by: modified_by__username
- owner: owner__username
- owned_by: owned_by__name
- deleted: <function filter_deleted at 0x7f0bca588c10>
- deleted_by: deleted_by__username
- notes: notes__content
- cv_category: cv_category__name
- field_meta: field_meta__name
- mandatory_owned_by: mandatory_owned_by__name
- user: user__username
- credential: credential__name
- workflowversion: workflowversion__name
- workflowrun: workflowrun__name
- dataset: dataset__name

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 Locations to be viewed or edited.


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/locations/?format=api
HTTP 200 OK
Allow: GET, POST, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "previous": null,
    "next": null,
    "current": 1,
    "total": 3,
    "total_pages": 1,
    "results": [
        {
            "id": "ee908641-626b-44e4-8d6b-4d2092570015",
            "created_by": "demo",
            "modified_by": "demo",
            "created": {
                "name": "created",
                "value": "2025-12-15T08:50:05.048689+01:00",
                "category": "property"
            },
            "modified": {
                "name": "modified",
                "value": "2025-12-15T08:50:05.048914+01:00",
                "category": "property"
            },
            "label": "Liebherr-30freezer",
            "equipment": "36925982-423c-47c0-8434-c181914e6aae",
            "place": null
        },
        {
            "id": "c51d13ab-d8e8-4281-8a00-17c172577aa2",
            "created_by": "admin",
            "modified_by": "admin",
            "created": {
                "name": "created",
                "value": "2025-12-08T16:32:08.806929+01:00",
                "category": "property"
            },
            "modified": {
                "name": "modified",
                "value": "2025-12-08T16:32:08.807029+01:00",
                "category": "property"
            },
            "label": "C1.70 robotics room",
            "equipment": null,
            "place": "324a7502-e8e9-4a90-a201-e23b0a732907"
        },
        {
            "id": "1bce7d53-e8b9-4ab0-a69d-dce03ca5b367",
            "created_by": "admin",
            "modified_by": "admin",
            "created": {
                "name": "created",
                "value": "2025-12-08T16:32:08.876153+01:00",
                "category": "property"
            },
            "modified": {
                "name": "modified",
                "value": "2025-12-08T16:32:08.876241+01:00",
                "category": "property"
            },
            "label": "C2.06",
            "equipment": null,
            "place": "252cbd38-f17e-4b45-8323-0c7ffdfe520c"
        }
    ]
}