# Delete resource product

`DELETE /api/configuration/resource-products/{all}`

- **Products:** Operator (`FOH`)
- **Features:** Front of House Generic Access (`FOHGENERIC`)

HTML version: [Delete resource product](https://support.gladstonesoftware.cloud/reference/configuration/delete-resource-product)

## Overview

Deletes a resource product — a product flagged as a resource rather than a stock item, which activities are booked against — permanently. The delete is all-or-nothing and also removes the product's generated availability calendar, together with that calendar's exceptions and time band schedules. If the product's `calendarId` does not begin with the `CAL` prefix, the calendar is a shared one and is left in place; only the product is removed.

**A resource product that is referenced by an activity cannot be deleted.** The delete is refused with `409`. Remove or repoint the referencing activities first — see [Retrieve all activities](get-all-activities-with-optional-site-filtering.md) to find them.

Deleting a resource product that does not exist returns `404`, so repeating a successful delete gives you `404` rather than a silent success. A successful call returns `204 No Content` with an empty body.

## Endpoint

`DELETE {base_url}/api/configuration/resource-products/{all}`

`{base_url}` is the environment URL issued to your integration. See [Authenticating with Gladstone APIs](../../guides/authenticating-with-gladstone-apis.md).

## Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `productId` | string | Yes | The resource product to delete, matching the `id` field of a resource product response. Must be non-empty; an empty value is rejected with `400` and the message `ProductId must be specified`. |

## Sample request

```bash title="cURL"
curl -X DELETE '{base_url}/api/configuration/resource-products/{all}' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true'
```

## Errors

| Status | Meaning | When |
|--------|---------|------|
| `400` | Bad request | The id path segment is empty. The body is the literal string `ProductId must be specified`. |
| `404` | Not found | No resource product exists with that id, including when you repeat a delete that has already succeeded. The body is empty. |
| `409` | Conflict | `Unable to delete the resource product ID {productId}. There are activites referencing it.` — returned because activities still point at this product. The misspelling of "activities" is present in the live message. |
| `500` | Internal server error | A conflicting change during the delete, or any other unexpected server-side failure. Nothing is partially deleted. |
