- fetch entity data only
- does not alter any data, ever
- create a new entity with the data values provided in the body
- if an entity already exists with these values, create it anyway (read: non-idempotent)
- should not be used to alter an existing entity
- if no entity ID is specified:
- create a new entity with the data values provided in the body
- if an entity already exists with these values, do nothing (read: idempotent)
- if an entity ID is specified:
- replace all entity data with the values specified in the body
- delete any values from the existing entity that are not specified in the body
- update an existing entity with the data values provided in the body
- any data values on the entity that don't have new values in the request body should be left as-is
- delete an entity
- check if an endpoint or entity exists without returning any data