# Delete calendar resource

`DELETE /v1/calendar-resources/:id` · **Bitrix24 API:** `calendar.resource.delete` · **Scope:** `calendar`

## Parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | Yes | Resource ID from [resource list](./list.md). |

## Examples

```bash
curl -X DELETE "https://vibecode.bitrix24.com/v1/calendar-resources/7" -H "X-Api-Key: $VIBE_API_KEY"
```

```bash
curl -X DELETE "https://vibecode.bitrix24.com/v1/calendar-resources/7" -H "X-Api-Key: $VIBE_API_KEY" -H "Authorization: Bearer $VIBE_USER_TOKEN"
```

```javascript
const response = await fetch('https://vibecode.bitrix24.com/v1/calendar-resources/7', {
  method: 'DELETE',
  headers: { 'X-Api-Key': apiKey }
});
console.log(await response.json());
```

```javascript
const response = await fetch('https://vibecode.bitrix24.com/v1/calendar-resources/7', {
  method: 'DELETE',
  headers: { 'X-Api-Key': apiKey , 'Authorization': `Bearer ${userToken}` }
});
console.log(await response.json());
```

## Response

```json
{
  "success": true,
  "data": {
    "id": 7,
    "deleted": true
  }
}
```

## Response fields

| Field | Type | Description |
|---|---|---|
| success | boolean | True on success. |
| data.id | integer | Deleted resource ID. |
| data.deleted | boolean | Always true. |

## Errors

| HTTP | Code | Condition |
|---|---|---|
| 400 | INVALID_PARAMS | Invalid IDs, dates or status. |
| 400 | MISSING_REQUIRED_FIELDS | Required values are absent. |
| 401 | TOKEN_MISSING | The key has no usable B24 credentials. |
| 403 | SCOPE_DENIED | calendar scope is missing. |
| 403 | WRITE_BLOCKED_READONLY_KEY | The key forbids a write. |
| 403 | BITRIX_ACCESS_DENIED | Bitrix24 denied access. |
| 404 | ENTITY_NOT_FOUND | Resource or event is absent. |
| 422 | BITRIX_ERROR | B24 refused the operation or did not persist the write. |
| 429 | RATE_LIMITED | Request limit exceeded. |
| 502 | BITRIX_UNAVAILABLE | Invalid or unavailable B24 response. |
| 503 | BITRIX_TIMEOUT | B24 timed out. |

Invalid input returns an error instead of an empty result:

```json
{"success":false,"error":{"code":"INVALID_PARAMS","message":"Invalid calendar parameters"}}
```

[All errors](/docs/errors)

## See also

- [Calendar](/docs/calendar)
- [Calendar resources](/docs/entities/calendar-resources)
- [Calendar events](/docs/entities/calendar-events)
