Delete
DELETE [base]/[type]/[id]
Responds with 200 OK on the successful deletion, but when removing a resource deleted earlier, responds with 204 No Content (conforming FHIR specification). This feature was added to make deletion work the same way as in SQL DELETE RETURNING *.
Supports If-Match header, with versionId as ETAG.
To get 204 No Content instead of 200 OK, use the _no-content=true query parameter.
200OK - resource successfully deleted204No Content - resource already deleted404Not Found - resource not found412Precondition Failed - requested ETAG doesn't match actual
Delete of non-existing resource will return 204 status and no body. Read this thread for more details.
delete
DELETE [base]/[type]/[id]
This interaction deletes a resource, responds with 200 OK on the successful deletion, but when removing an already deleted resource, it responds with 204 No Content.
To always get 204 No Content instead of 200 OK, use _no-content=true query parameter.
200OK — resource successfully deleted204No Content — resource already deleted
200 OK
Delete a patient by id:
DELETE /Patient/tom-id
204 No Content
Attempt to delete an already deleted resource:
DELETE /Patient/tom-id
Conditional delete
DELETE [base]/[type]?[search parameters]
Depending on the number of resources meeting the search criteria, different actions will be performed and response codes will be returned:
- No matches: Respond with
404 Not Found - One Match: The server performs an ordinary
deleteon the matching resource - Multiple matches: Servers respond with
412 Precondition Failederror indicating the client's criteria were not selective enough
Delete all matches
By default Aidbox refuses to delete resources when there is multiple matches. If you wish to delete all matching resources, set header
x-conditional-delete: remove-all
Example:
DELETE /fhir/Patient?identifier=abc
x-conditional-delete: remove-all