Delete campaign
This request will delete a campaign. You can delete a campaign in any status, except if it is part of a workflow. Once deleted, a campaign cannot be restored.
Request
Endpoint
DELETE https://api.woodpecker.co/rest/v2/campaigns/{campaign_id}
Headers
x-api-key: {YOUR_API_KEY}
For details on how to authenticate your requests, please see the authentication guide.
Request sample
Stop a campaign
- cURL
- Python
- Java
- Node.js
curl --request DELETE \
--url "https://api.woodpecker.co/rest/v2/campaigns/{campaign_id}" \
--header "x-api-key: {YOUR_API_KEY}"
import requests
def deleteCampaign(campaign_id):
url = f"https://api.woodpecker.co/rest/v2/campaigns/{campaign_id}"
headers = {
"x-api-key": "{YOUR_API_KEY}"
}
response = requests.delete(url, headers=headers)
if response.status_code == 200:
print("DELETE successful:", response.status_code)
else:
print("DELETE failed with status:", response.status_code)
if __name__ == "__main__":
deleteCampaign(123) # Example campaign ID
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class WoodpeckerApiClient {
private static final String API_KEY = "{YOUR_API_KEY}";
public static void main(String[] args) {
int campaignId = 123; // Example campaign ID
deleteCampaign(campaignId);
}
public static void deleteCampaign(int campaignId) {
try {
String url = "https://api.woodpecker.co/rest/v2/campaigns/" + campaignId;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI(url))
.header("x-api-key", API_KEY)
.DELETE()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() == 200) {
System.out.println("DELETE response: " + response.statusCode());
} else {
System.err.println("DELETE request failed: " + response.statusCode());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
const axios = require("axios");
async function deleteCampaign(campaignId) {
const url = `https://api.woodpecker.co/rest/v2/campaigns/${campaignId}`;
const headers = {
"x-api-key": "{YOUR_API_KEY}"
};
try {
const response = await axios.delete(url, { headers: headers });
if (response.status === 200) {
console.log("DELETE successful:", response.status);
} else {
console.error("DELETE failed with status:", response.status);
}
} catch (error) {
console.error("Request error:", error.response?.status || error.message);
}
}
deleteCampaign(123); // Example campaign ID
Response
Response examples
- 200
- 401
- 404
- 409
- 500
The campaign has been deleted.
Status: 200
Body: none
An issue with authorization. Please review the authorization guide
{
"title": "Unauthorized",
"status": 401,
"detail": "Invalid api key",
"timestamp": "2025-03-05 17:57:00"
}
Body schema
Field | Type | Description |
---|---|---|
title | string | A short title describing the error |
status | integer | The HTTP status code |
detail | string | A detailed message explaining the error |
timestamp | string | The timestamp when the error occurred, YYYY-MM-DD HH:MM:SS UTC |
The requested campaign doesn't exist.
{
"code": "CAMPAIGN_NOT_EXIST",
"message": "Campaign not found",
"details": null
}
Body schema
Field | Type | Description |
---|---|---|
code | string | Error code |
message | string | Descriptive error message |
details | string/null | Additional information. Currently always null |
The requested campaign is a part of an existing workflow. If you wish to delete this campaign - remove the workflow first.
{
"code": "CAMPAIGN_RELATED_TO_ACTIVE_WORKFLOW",
"message": "Campaign related to active workflow",
"details": null
}
Body schema
Field | Type | Description |
---|---|---|
code | string | Error code |
message | string | Descriptive error message |
details | string/null | Additional information. Currently always null |
An unknown error while deleting the campaign. Please try again later.
{
"type": "UNKNOWN",
"message": "Unknown error during delete campaign call",
"details": null
}
Body schema
Field | Type | Description |
---|---|---|
code | string | Error code |
message | string | Descriptive error message |
details | string/null | Additional information. Currently always null |