# One shape for lists and deletes

Lists answer `data.<plural>`, deletes answer `204` unless the body informs, and every create returns `Location`. `DELETE products/bulk` takes `?ids=` instead of a body.

Aug 17, 2026 · Breaking

Every list now answers `data.<plural>` (+ `data.pagination` where the server paginates), deletes answer `204` unless the body genuinely informs, `DELETE products/bulk` takes `?ids=` instead of a body, and every single-resource `201` carries a `Location` header to its canonical GET.

## Endpoints

- `DELETE /v1/companies/{company_id}/customers/{customer_id}` — Now answers 204 with no body
- `DELETE /v1/companies/{company_id}/representation` — Now answers 204 with no body
- `DELETE /v1/companies/{company_id}/products/bulk` — IDs move from the request body to ?ids= (max 100)
- `PUT /v1/configuration/series/{series_id}` — Deprecated; use PATCH /v1/companies/{company_id}/series/{series_id}

---

Full OpenAPI spec: https://docs.beel.es/api/openapi