Overview of DELETEs

Within the context of true REST APIs, a DELETE is an endpoint operation that deletes a resource. This typically involves removing the resource from the underlying database.

Within the context of Cloud API, a DELETE is a system API operation that "removes" an existing resource from ClaimCenter. What it means to "remove" the resource depends on the resource type. The DELETE operation federates to the ClaimCenter code that matches the functionality most closely tied to deletion. That code could theoretically:

  • Delete the corresponding data model instance from the operational database.
  • Mark the corresponding data model instance as retired.
  • Modify the corresponding data model instance and other related instances to indicate the data is no longer active or available.

Unlike GET, POST, and PATCH, there are only a small number of endpoints in the base configuration that support DELETE. This is because, in most cases, ClaimCenter does not support the removal of data. Several business objects can be approved, canceled, completed, closed, declined, rejected, retired, skipped, or withdrawn. But only a few can be deleted.

A DELETE call consists of the DELETE operation and the endpoint, such as DELETE /notes/{noteId}. Similar to GETs, DELETEs are not permitted to have a request payload.

The response to a DELETE includes an HTTP code indicating success or failure. DELETE responses do not have a response payload.

Tutorial: DELETE a note

This tutorial assumes you have set up your environment with Postman and the correct sample data set. For more information, see Tutorial: Set up your Postman environment.

In this tutorial, you will send calls as Elizabeth Lee (user name elee). In the base configuration, Elizabeth Lee is a manager who has permission to delete notes. As Elizabeth Lee, you will create a note and query for it. You will then delete the note and attempt to query for it a second time.

Tutorial steps

  1. In Postman, start a new request by clicking the + to the right of the Launchpad tab.
    1. On the Authorization tab, select Basic Auth using user aapplegate and password gw.
  2. Enter the following call and click Send:

    GET http://localhost:8080/cc/rest/common/v1/activities

  3. Identify the id of the first activity in the payload. This value is referenced below as <activityId>.
  4. Open a second request tab and right-clicking the first tab and selecting Duplicate Tab tab.
    1. On the Authorization tab, select Basic Auth using user elee and password gw.
  5. Change the operation to POST and enter the following URL, but do not click Send yet:
    1. POST http://localhost:8080/cc/rest/common/v1/activities/<activityId>/notes
  6. Specify the request payload.
    1. In the first row of tabs (the one that starts with Params), click Body.
    2. In the row of radio buttons, select raw.
    3. At the end of the row of radio buttons, change the drop-down list value from Text to JSON.
    4. Paste the following into the text field underneath the radio buttons.
      {
        "data":
          {
            "attributes": {
              "body": "API tutorial note to be deleted"
            }
          }
      }
  7. Click Send. In the response payload, identify the note's id.
  8. Open a third request tab and right-clicking the second tab and selecting Duplicate Tab tab.
    1. Because it is a duplicate of the second tab, this tab also uses user elee.
  9. Change the operation to DELETE, enter the following URL, but do not click Send yet:
    1. DELETE http://localhost:8080/cc/rest/common/v1/notes/<noteID>
  10. DELETEs cannot specifies request bodies. On the third tab, navigate to the Body tab and select the none radio button.
  11. Click Send. (The response to a successful DELETE is "204 - No content".)

Checking your work

Resend the request on the third tab. This request returns a "No resource was found" error because it is attempting to DELETE a note that has already been DELETEd.