---
title: "Delete buy orders"
method: DELETE
path: "/api/public/v1/orders"
tags: ["Buy Orders"]
---

# Delete buy orders

`DELETE /api/public/v1/orders`

Deletes one or more of the caller's buy orders, keyed by project slug.

- Idempotent: deleting a project that has no active buy order returns `status: "already_deleted"` instead of an error.
- Each item is processed independently. The response is always HTTP 200 once authenticated and the body is valid — check the per-item `ok` flag in `results` (index-aligned to your request) for each outcome.

## Request body

- object
  - `items` object[], required
    - `slug` string, required — Public project slug identifying the buy order to remove.

## Response `200`

Per-item results for the batch.

- BuyOrderMutationResponse
  - `results` union[], required
    - union
      - object
        - `slug` string, required
        - `ok` true, required
        - `status` 'created' | 'updated' | 'deleted' | 'unchanged' | 'already_deleted', required
      - object
        - `slug` string, required
        - `ok` false, required
        - `code` 'unknown_project' | 'already_exists' | 'not_found' | 'not_modifiable' | 'invalid_value' | 'duplicate_in_request', required
        - `message` string, required

## Other responses

- `400` — Malformed JSON, an invalid body, or an over-limit batch.
- `401` — Missing, invalid, or revoked API key.
- `429` — Rate limit exceeded. Wait `Retry-After` seconds before retrying.
- `500` — An unexpected server-side error occurred.

---

[API](https://skmtc.dev/thefirm/apis/autoboy-public-api.md) · [All operations](https://skmtc.dev/thefirm/apis/autoboy-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/thefirm/autoboy-public-api/revisions/6cba23209c3a/schema)
