diff --git a/index.d.ts b/index.d.ts
index 1ef9e89..e6fd2d9 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -236,6 +236,10 @@ declare module "replicate" {
           | { max_instances: number }
         )
       ): Promise<Deployment>;
+      delete(
+        deployment_owner: string,
+        deployment_name: string
+      ): Promise<boolean>;
       list(): Promise<Page<Deployment>>;
     };
 
diff --git a/index.js b/index.js
index bf53449..b92503e 100644
--- a/index.js
+++ b/index.js
@@ -71,6 +71,7 @@ class Replicate {
       get: deployments.get.bind(this),
       create: deployments.create.bind(this),
       update: deployments.update.bind(this),
+      delete: deployments.delete.bind(this),
       list: deployments.list.bind(this),
       predictions: {
         create: deployments.predictions.create.bind(this),
diff --git a/index.test.ts b/index.test.ts
index 8ecb5ae..9e22cbe 100644
--- a/index.test.ts
+++ b/index.test.ts
@@ -999,6 +999,20 @@ describe("Replicate client", () => {
     // Add more tests for error handling, edge cases, etc.
   });
 
+  describe("deployments.delete", () => {
+    test("Calls the correct API route with the correct payload", async () => {
+      nock(BASE_URL)
+        .delete("/deployments/acme/my-app-image-generator")
+        .reply(204);
+
+      const success = await client.deployments.delete(
+        "acme",
+        "my-app-image-generator"
+      );
+      expect(success).toBe(true);
+    });
+  });
+
   describe("deployments.list", () => {
     test("Calls the correct API route", async () => {
       nock(BASE_URL)
diff --git a/lib/deployments.js b/lib/deployments.js
index 27a2f6a..56ed240 100644
--- a/lib/deployments.js
+++ b/lib/deployments.js
@@ -118,6 +118,24 @@ async function updateDeployment(
   return response.json();
 }
 
+/**
+ * Delete a deployment
+ *
+ * @param {string} deployment_owner - Required. The username of the user or organization who owns the deployment
+ * @param {string} deployment_name - Required. The name of the deployment
+ * @returns {Promise<boolean>} Resolves with true if the deployment was deleted
+ */
+async function deleteDeployment(deployment_owner, deployment_name) {
+  const response = await this.request(
+    `/deployments/${deployment_owner}/${deployment_name}`,
+    {
+      method: "DELETE",
+    }
+  );
+
+  return response.status === 204;
+}
+
 /**
  * List all deployments
  *
@@ -139,4 +157,5 @@ module.exports = {
   create: createDeployment,
   update: updateDeployment,
   list: listDeployments,
+  delete: deleteDeployment,
 };