POST
/v1/campaigns/bulk-deleteBulk delete campaigns
Deletes multiple campaigns in one call instead of one request per campaign.
Best-effort, not all-or-nothing
Each campaign ID is deleted independently — one missing or already-deleted ID doesn't block the rest. Check failed in the response for anything that didn't go through, same convention as Launch a campaign.
Request
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| campaignIds | string[] | Required | 1–50 campaign IDs. |
| keepLeads | boolean | Optional | Applies to every campaign in the batch — same meaning as Delete campaign's ?keepLeads. |
curl -X POST "https://api.stynar.com/v1/campaigns/bulk-delete" \
-H "Authorization: Bearer esk_your_key_here" \
-H "Content-Type: application/json" \
-d '{"campaignIds":["cmp_abc123","cmp_def456"],"keepLeads":true}'Response
✓ 200 OK
200 response
{
"deleted": [
{
"campaignId": "cmp_abc123",
"leadsDeleted": 0
}
],
"failed": [
{
"campaignId": "cmp_def456",
"reason": "NOT_FOUND"
}
]
}Response fields
Errors
| Status | Code | Meaning |
|---|---|---|
| ✕ 401 Unauthorized | UNAUTHORIZED | Missing, malformed, unknown, revoked, or expired key. |
| ✕ 403 Forbidden | API_ACCESS_DISABLED | Your account doesn't currently have API access. |
| ✕ 403 Forbidden | INSUFFICIENT_SCOPE | The key doesn't have the scope this endpoint requires. |
| ✕ 404 Not Found | NOT_FOUND | Unknown route, or a resource that doesn't exist / isn't yours. |
| ✕ 409 Conflict | CONFLICT | The action can't be applied to the resource's current state. |
| ✕ 429 Too Many Requests | RATE_LIMIT_EXCEEDED | Per-minute or per-second limit hit. |
| ✕ 429 Too Many Requests | QUOTA_EXCEEDED | Monthly quota exhausted. |
| ✕ 500 Internal Server Error | INTERNAL_ERROR | Something broke on Stynar's end. |