> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hookpulse.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Delete Schedule

> Delete a schedule by its UUID. This permanently removes the schedule and all associated rules

Delete a schedule by its UUID. This permanently removes the schedule and all associated rules. Once deleted, the schedule cannot be recovered.

## Base URL

All API requests should be made to:

```
https://api.hookpulse.io
```

## Example request

<RequestExample>
  ```bash cURL theme={null}
  curl -X DELETE "https://api.hookpulse.io/v1/api/delete_schedule/" \
    -H "x-hookpulse-api-key: {{x-hookpulse-api-key}}" \
    -H "x-brand-uuid: {{x-brand-uuid}}" \
    -H "Content-Type: application/json" \
    -d '{
      "schedule_uuid": "{{schedule_uuid}}"
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.hookpulse.io/v1/api/delete_schedule/', {
    method: 'DELETE',
    headers: {
      'x-hookpulse-api-key': '{{x-hookpulse-api-key}}',
      'x-brand-uuid': '{{x-brand-uuid}}',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      schedule_uuid: '{{schedule_uuid}}'
    })
  });

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  url = 'https://api.hookpulse.io/v1/api/delete_schedule/'
  headers = {
      'x-hookpulse-api-key': '{{x-hookpulse-api-key}}',
      'x-brand-uuid': '{{x-brand-uuid}}',
      'Content-Type': 'application/json'
  }
  payload = {
      'schedule_uuid': '{{schedule_uuid}}'
  }

  response = requests.delete(url, headers=headers, json=payload)
  print(response.json())
  ```

  ```ruby Ruby theme={null}
  require 'net/http'
  require 'json'
  require 'uri'

  uri = URI('https://api.hookpulse.io/v1/api/delete_schedule/')
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true

  request = Net::HTTP::Delete.new(uri)
  request['x-hookpulse-api-key'] = '{{x-hookpulse-api-key}}'
  request['x-brand-uuid'] = '{{x-brand-uuid}}'
  request['Content-Type'] = 'application/json'
  request.body = {
    schedule_uuid: '{{schedule_uuid}}'
  }.to_json

  response = http.request(request)
  puts JSON.parse(response.body)
  ```

  ```php PHP theme={null}
  <?php

  $url = "https://api.hookpulse.io/v1/api/delete_schedule/";
  $data = [
      'schedule_uuid' => '{{schedule_uuid}}'
  ];

  $ch = curl_init($url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
  curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
  curl_setopt($ch, CURLOPT_HTTPHEADER, [
      'x-hookpulse-api-key: {{x-hookpulse-api-key}}',
      'x-brand-uuid: {{x-brand-uuid}}',
      'Content-Type: application/json'
  ]);

  $response = curl_exec($ch);
  curl_close($ch);

  echo $response;
  ?>
  ```
</RequestExample>

## Request body

| Field           | Type   | Required | Description                    |
| --------------- | ------ | -------- | ------------------------------ |
| `schedule_uuid` | string | Yes      | UUID of the schedule to delete |

## Example response

<ResponseExample>
  ```json theme={null}
  {
    "success": true,
    "error": "Schedule deleted successfully"
  }
  ```
</ResponseExample>

## Response fields

| Field     | Type    | Description                                         |
| --------- | ------- | --------------------------------------------------- |
| `success` | boolean | Indicates if the schedule was deleted successfully  |
| `error`   | string  | Success message indicating the schedule was deleted |

## Error Responses

If the schedule is not found or cannot be deleted, you will receive an error response:

```json theme={null}
{
  "success": false,
  "error": "Schedule not found"
}
```

## Important Notes

* **Permanent Deletion**: Deleting a schedule is permanent and cannot be undone
* **Associated Rules**: All rules associated with the schedule will also be deleted
* **Active Schedules**: You can delete schedules regardless of their status (active, paused, inactive, etc.)
* **No Impact on Targets**: Deleting a schedule does not delete the webhook or workflow template it was scheduling

## Use Cases

* **Cleanup**: Remove old or unused schedules
* **Error Recovery**: Delete incorrectly configured schedules
* **Resource Management**: Remove schedules that are no longer needed
* **Testing**: Clean up test schedules after development

## Examples

### Delete a Schedule

```bash theme={null}
DELETE /v1/api/delete_schedule/
{
  "schedule_uuid": "81646be2-ae5f-49f8-b253-ce87fe73be63"
}
```

## Related Documentation

* [Scheduling Overview](/docs/api-reference/scheduling/overview) - Learn about scheduling types and features
* [Get Single Schedule Details](/docs/api-reference/scheduling/get-single-schedule-details) - View schedule details before deletion
* [Get Active Schedules (Paginated)](/docs/api-reference/scheduling/get-schedules-paginated) - List all schedules


## OpenAPI

````yaml DELETE /v1/api/delete_schedule/
openapi: 3.0.3
info:
  title: Hookpulse API
  description: >-
    Complete API documentation for Hookpulse. Build powerful integrations with
    our RESTful API.
  version: 1.0.0
  contact:
    name: Hookpulse Support
    email: care@hookpulse.io
    url: https://hookpulse.io
servers:
  - url: https://api.hookpulse.io
    description: Production server
security:
  - apiKeyAuth: []
    brandUuidAuth: []
paths:
  /v1/api/delete_schedule/:
    delete:
      description: >-
        Delete a schedule by its UUID. This permanently removes the schedule and
        all associated rules
      requestBody:
        description: Schedule UUID
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteScheduleRequest'
      responses:
        '200':
          description: Schedule deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteScheduleResponse'
        '400':
          description: Bad request or schedule not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    DeleteScheduleRequest:
      required:
        - schedule_uuid
      type: object
      properties:
        schedule_uuid:
          type: string
          description: UUID of the schedule to delete
    DeleteScheduleResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Indicates if the schedule was deleted successfully
        error:
          type: string
          description: Success message indicating the schedule was deleted
    Error:
      required:
        - error
        - message
      type: object
      properties:
        error:
          type: integer
          format: int32
        message:
          type: string
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-hookpulse-api-key
      description: >-
        API key for authentication. Get this from your dashboard by selecting a
        brand and going to API Keys section.
    brandUuidAuth:
      type: apiKey
      in: header
      name: x-brand-uuid
      description: >-
        Brand UUID for authentication. Get this from your dashboard after adding
        a brand - it will be displayed in the UI.

````