---
title: "Cancel a lesson under the coach's rules"
method: DELETE
path: "/api/v1/coaches/{handle}/lessons/{id}"
tags: ["coaches"]
---

# Cancel a lesson under the coach's rules

`DELETE /api/v1/coaches/{handle}/lessons/{id}`

## Request

- Base URL: `https://kicksma.sh`
- URL: `https://kicksma.sh/api/v1/coaches/{handle}/lessons/{id}`
- Auth: one of:
  - none
  - HTTP bearer

The outcome says what happened to the package: refunded (in time), free_pass (late, covered), counted (late), none (no package).

## Path parameters

- `handle` string, required
- `id` string, uuid, required

## Query parameters

- `token` string

## Request body

- object
  - `token` string

## Response `200`

Cancelled

- object
  - `lessonId` string
  - `outcome` 'refunded' | 'free_pass' | 'counted' | 'none'
  - `next` string

## Other responses

- `404`: No such lesson for this token
- `422`: Invalid request; the message names the field
- `429`: Rate limited; the hint says how to get more room

---

[API](https://skmtc.dev/kicksma/apis/kicksmash-api.md) · [All operations](https://skmtc.dev/kicksma/apis/kicksmash-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kicksma/apis/kicksmash-api/revisions/8ae952aa0f19?raw)
