# Lessons

> Lessons in API v3.

- [List lessons](https://cademi.dev/api/reference/lessons/lessons.list.md): `GET /products/{product_id}/lessons`
- [Create a lesson](https://cademi.dev/api/reference/lessons/lessons.create.md): `POST /products/{product_id}/lessons`
- [Retrieve a lesson](https://cademi.dev/api/reference/lessons/lessons.get.md): `GET /products/{product_id}/lessons/{lesson_id}`
- [Update a lesson](https://cademi.dev/api/reference/lessons/lessons.update.md): `PATCH /products/{product_id}/lessons/{lesson_id}`
- [Delete a lesson](https://cademi.dev/api/reference/lessons/lessons.delete.md): `DELETE /products/{product_id}/lessons/{lesson_id}`
- [List lesson attachments](https://cademi.dev/api/reference/lessons/lessons.attachments.list.md): `GET /products/{product_id}/lessons/{lesson_id}/attachments`
- [Add or update an attachment](https://cademi.dev/api/reference/lessons/lessons.attachments.update.md): `PUT /products/{product_id}/lessons/{lesson_id}/attachments/{file_id}`
- [Remove an attachment](https://cademi.dev/api/reference/lessons/lessons.attachments.delete.md): `DELETE /products/{product_id}/lessons/{lesson_id}/attachments/{file_id}`
- [Retrieve a lesson connection](https://cademi.dev/api/reference/lessons/lessons.connection.get.md): `GET /products/{product_id}/lessons/{lesson_id}/connection`
- [Connect a lesson](https://cademi.dev/api/reference/lessons/lessons.connection.update.md): `PUT /products/{product_id}/lessons/{lesson_id}/connection`
- [Disconnect a lesson](https://cademi.dev/api/reference/lessons/lessons.connection.delete.md): `DELETE /products/{product_id}/lessons/{lesson_id}/connection`
- [Retrieve lesson content](https://cademi.dev/api/reference/lessons/lessons.content.get.md): `GET /products/{product_id}/lessons/{lesson_id}/content`
- [Replace lesson content](https://cademi.dev/api/reference/lessons/lessons.content.update.md): `PUT /products/{product_id}/lessons/{lesson_id}/content`
- [Duplicate a lesson](https://cademi.dev/api/reference/lessons/lessons.copies.create.md): `POST /products/{product_id}/lessons/{lesson_id}/copies`
- [List lesson taxonomy terms](https://cademi.dev/api/reference/lessons/lessons.taxonomy_terms.list.md): `GET /products/{product_id}/lessons/{lesson_id}/taxonomy-terms`
- [Replace lesson taxonomy terms](https://cademi.dev/api/reference/lessons/lessons.taxonomy_terms.update.md): `PUT /products/{product_id}/lessons/{lesson_id}/taxonomy-terms`
