## Delete an order property

`DELETE /v1/order-properties/:id`

Deletes the order field definition with the specified ID from the online store's list of order properties. A deleted definition cannot be restored through the API; create a new one if needed.

## Parameters

| Parameter | Type | Required | Description |
|----------|-----|:-----:|---------|
| `id` (path) | number | yes | Order property ID. List: [`GET /v1/order-properties`](./list.md) |

## Examples

### curl — personal key

```bash
curl -X DELETE "https://vibecode.bitrix24.com/v1/order-properties/125" \
  -H "X-Api-Key: YOUR_API_KEY"
```

### curl — OAuth application

```bash
curl -X DELETE "https://vibecode.bitrix24.com/v1/order-properties/125" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"
```

### JavaScript — personal key

```javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/order-properties/125', {
  method: 'DELETE',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

if (res.status === 204) {
  console.log('Order property deleted')
}
```

### JavaScript — OAuth application

```javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/order-properties/125', {
  method: 'DELETE',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

if (res.status === 204) {
  console.log('Order property deleted')
}
```

## Response

A successful deletion returns HTTP `204 No Content` with an empty body. Check the status code to confirm success.

## Response example

```http
HTTP/1.1 204 No Content
```

## Error response example

404 — the property has already been deleted:

```json
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "property is not exists"
  }
}
```

## Errors

| HTTP | Code | Description |
|------|-----|---------|
| 400 | `INVALID_PARAMS` | The path `id` is not a non-negative integer |
| 404 | `ENTITY_NOT_FOUND` | No property exists with this `id`, or it has already been deleted. Message: `property is not exists` |
| 422 | `BITRIX_ERROR` | Bitrix24 rejected the operation. The reason is in `message` |
| 422 | `BITRIX_ERROR` | The key's user does not have permission in Bitrix24. The Bitrix24 code is in `error.b24Code`: `200040300020` |
| 403 | `BITRIX_ACCESS_DENIED` | The portal credentials do not have the `sale` scope (`insufficient_scope`) |
| 403 | `WRITE_BLOCKED_READONLY_KEY` | The key is in read-only mode |
| 403 | `SCOPE_DENIED` | The API key does not have the `sale` scope |
| 401 | `MISSING_API_KEY` | The `X-Api-Key` header is missing |
| 401 | `TOKEN_MISSING` | The API key has no configured tokens |

For the full list of shared API errors, see [Error codes](/docs/errors).

## Known specifics

Values in existing orders are preserved, but their link to the property definition is removed. List options, values in buyer profiles, and the property definition's links to payment systems and delivery services are deleted.

To deactivate your property instead of deleting it, pass `active: false` to [`PATCH /v1/order-properties/:id`](./update.md).

## See also

- [Order properties](/docs/entities/order-properties)
- [Update an order property](./update.md)
- [Get an order property](./get.md)
- [Create an order property](./create.md)
