> ## Documentation Index
> Fetch the complete documentation index at: https://docs.autosend.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Delete Campaign

> Permanently delete a campaign by ID using the AutoSend API.

<RequestExample>
  ```bash cURL theme={null}
  curl --request DELETE \
    --url 'https://api.autosend.com/v1/campaigns/60d5ec49f1b2c72d9c8b4567' \
    --header 'Authorization: Bearer <token>'
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.autosend.com/v1/campaigns/60d5ec49f1b2c72d9c8b4567"
  headers = {"Authorization": "Bearer <token>"}

  response = requests.delete(url, headers=headers)
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://api.autosend.com/v1/campaigns/60d5ec49f1b2c72d9c8b4567',
    {
      method: 'DELETE',
      headers: {
        Authorization: 'Bearer <token>',
      },
    }
  );
  const data = await response.json();
  console.log(data);
  ```

  ```php PHP theme={null}
  <?php
  $curl = curl_init();
  curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.autosend.com/v1/campaigns/60d5ec49f1b2c72d9c8b4567',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_HTTPHEADER => [
      'Authorization: Bearer <token>',
    ],
  ]);
  $response = curl_exec($curl);
  curl_close($curl);
  echo $response;
  ```

  ```go Go theme={null}
  package main

  import (
  	"fmt"
  	"io"
  	"net/http"
  )

  func main() {
  	req, _ := http.NewRequest("DELETE", "https://api.autosend.com/v1/campaigns/60d5ec49f1b2c72d9c8b4567", nil)
  	req.Header.Set("Authorization", "Bearer <token>")

  	client := &http.Client{}
  	resp, _ := client.Do(req)
  	defer resp.Body.Close()
  	body, _ := io.ReadAll(resp.Body)
  	fmt.Println(string(body))
  }
  ```

  ```java Java theme={null}
  import java.net.URI;
  import java.net.http.HttpClient;
  import java.net.http.HttpRequest;
  import java.net.http.HttpResponse;

  public class Main {
      public static void main(String[] args) throws Exception {
          HttpClient client = HttpClient.newHttpClient();
          HttpRequest request = HttpRequest.newBuilder()
              .uri(URI.create("https://api.autosend.com/v1/campaigns/60d5ec49f1b2c72d9c8b4567"))
              .header("Authorization", "Bearer <token>")
              .DELETE()
              .build();
          HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
          System.out.println(response.body());
      }
  }
  ```

  ```ruby Ruby theme={null}
  require 'net/http'
  require 'uri'
  require 'json'

  uri = URI('https://api.autosend.com/v1/campaigns/60d5ec49f1b2c72d9c8b4567')
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true

  request = Net::HTTP::Delete.new(uri)
  request['Authorization'] = 'Bearer <token>'

  response = http.request(request)
  puts JSON.parse(response.body)
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "message": "Campaign deleted successfully"
  }
  ```
</ResponseExample>

### Authorizations

<ParamField path="Authorizations" type="string | header" required>
  Bearer authentication header of the form Bearer `<token>`, where `<token>` is your auth token.
</ParamField>

### Path Parameters

<ParamField path="campaignId" type="string" required>
  The id of the campaign to delete.
</ParamField>

### Response

<span className="text-sm">Returns a confirmation that the campaign was deleted.</span>

<ResponseField name="success" type="boolean">
  Indicates whether the request was successful.
</ResponseField>

<ResponseField name="message" type="string">
  Confirmation message.

  Example: `"Campaign deleted successfully"`
</ResponseField>

#### Error Responses

<ResponseField name="400 - Cannot delete non-draft campaign" type="object">
  Returned when the campaign is not in draft status.

  ```json theme={null}
  {
    "success": false,
    "error": {
      "message": "Only draft campaigns can be deleted",
      "code": "ONLY_DRAFT_CAMPAIGNS_CAN_BE_DELETED",
      "status": 400
    }
  }
  ```
</ResponseField>

<ResponseField name="404 - Campaign not found" type="object">
  Returned when no campaign with the given ID exists on the project.

  ```json theme={null}
  {
    "success": false,
    "error": {
      "message": "Campaign not found",
      "code": "CAMPAIGN_NOT_FOUND",
      "status": 404
    }
  }
  ```
</ResponseField>


## OpenAPI

````yaml DELETE /campaigns/{campaignId}
openapi: 3.1.0
info:
  title: Autosend Campaigns API
  version: 1.0.0
  description: API endpoints for managing marketing campaigns in Autosend.
servers:
  - url: https://api.autosend.com/v1
    description: Production
security:
  - bearerAuth: []
paths:
  /campaigns/{campaignId}:
    delete:
      summary: Delete Campaign
      description: Permanently deletes a campaign by ID.
components: {}

````