---
title: "Cancel an unconfirmed, pending, or dispatched schedule"
method: DELETE
path: "/v1/agents/{agentID}/schedules/{scheduleID}"
---

# Cancel an unconfirmed, pending, or dispatched schedule

`DELETE /v1/agents/{agentID}/schedules/{scheduleID}`

## Request

- Base URL: `https://api.plori.ai`
- URL: `https://api.plori.ai/v1/agents/{agentID}/schedules/{scheduleID}`
- Auth: HTTP bearer

Returns the updated schedule (200, not 204). A schedule that already fired is a 404 because there is nothing left to cancel.

## Path parameters

- `agentID` string, uuid, required
- `scheduleID` string, uuid, required

## Response `200`

Cancelled.

- Schedule
  - `id` string, uuid
  - `agent_id` string, uuid
  - `kind` 'once'
  - `status` 'awaiting_confirmation' | 'pending' | 'firing' | 'dispatched' | 'done' | 'cancelled' | 'failed': AI-client-created schedules await owner confirmation. done does not establish task success; inspect the run outcome.
  - `prompt` string
  - `fire_at` string, date-time
  - `thread_id` string
  - `metadata` object
  - `last_error` string
  - `attempts` integer
  - `created_at` string, date-time
  - `last_fired_at` string, date-time
  - `confirmed_at` string, date-time: Time the owner confirmed the schedule. Absent when unset.
  - `confirm_url` string, uri: Owner confirmation page. Present only for awaiting_confirmation schedules.

## Other responses

- `401`: Missing or invalid credential.
- `403`: The resource belongs to another account.
- `404`: No such resource.

---

[API](https://skmtc.dev/plori/apis/plori-rest-api.md) · [All operations](https://skmtc.dev/plori/apis/plori-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/plori/apis/plori-rest-api/revisions/15c4f9260dff?raw)
