Making DELETE Requests

Avatar of Hemanta SundarayHemanta Sundaray

A DELETE request tells the server to remove a resource. You specify what to delete by URL. No request body is needed.

http.ts
import {
FetchHttpClient,
HttpClient,
HttpClientRequest,
} from "effect/unstable/http";
import { Effect } from "effect";
function deleteProduct(productId: number) {
return Effect.gen(function* () {
const client = yield* HttpClient.HttpClient;
const request = HttpClientRequest.del(
`https://dummyjson.com/products/${productId}`,
);
const response = yield* client.execute(request);
const data = yield* response.json;
return data;
}).pipe(Effect.provide(FetchHttpClient.layer));
}
// Test it
Effect.runPromise(deleteProduct(1)).then((data) => {
console.log("Deleted:", data.title);
console.log("isDeleted:", data.isDeleted);
console.log("deletedOn:", data.deletedOn);
});

Output:

Terminal
Deleted: Essence Mascara Lash Princess
isDeleted: true
deletedOn: 2026-02-18T14:27:54.479Z

The method is called HttpClientRequest.del() — not delete — because delete is a reserved keyword in JavaScript. The same applies to the client’s shorthand: client.del(url) instead of client.delete(url).

Note that the dummyJSON API simulates deletion by returning the product data with isDeleted: true and a deletedOn timestamp.

Sign in to save progress

Stay in the loop

Get notified when new chapters are added and when this course is complete.