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

# Overview

> The material you build and deliver to contacts.

Content covers what you create and put in front of contacts — lessons, snippets, files and forms — plus the internal work items your team tracks. It exists because the material is managed separately from the sending: you build it here, then a campaign or a conversation delivers it.

## Lessons

A lesson is a content unit built from ordered items — assessments, videos, checklists, contact-update forms — that a contact works through. A lesson is modular: build it once and attach it to as many campaigns as you need. Lessons exist to structure and deliver training, and once attached to a campaign they become the material contacts receive. See [Lessons: An Introduction](https://conveyour.com/help/lessons-introduction) in the Help Center.

| Method | Endpoint | What it does |
| - | - | - |
| `GET` | [`/api/lessons`](/api-reference/lessons/list-lessons) | List lessons |
| `GET` | [`/api/lessons/{id}`](/api-reference/lessons/get-a-lesson) | Get a lesson |
| `POST` | [`/api/lessons`](/api-reference/lessons/create-a-lesson) | Create a lesson |
| `PUT` | [`/api/lessons/{id}`](/api-reference/lessons/update-a-lesson) | Update a lesson |
| `DELETE` | [`/api/lessons/{id}`](/api-reference/lessons/delete-a-lesson) | Delete a lesson |
| `GET` | [`/api/lessons/folders`](/api-reference/lessons/list-folders) | List folders |
| `GET` | [`/api/lessons/search`](/api-reference/lessons/search-lessons) | Search lessons |
| `POST` | [`/api/lessons/folders`](/api-reference/lessons/create-a-folder) | Create a folder |
| `GET` | [`/api/lessons/folders/{id}`](/api-reference/lessons/get-a-folder) | Get a folder |
| `GET` | [`/api/lessons/{id}/related`](/api-reference/lessons/get-related-lessons) | Get related lessons |
| `PUT` | [`/api/lessons/folders/{id}`](/api-reference/lessons/update-a-folder) | Update a folder |
| `DELETE` | [`/api/lessons/folders/{id}`](/api-reference/lessons/delete-a-folder) | Delete a folder |
| `GET` | [`/api/lessons/{id}/shared/{item_uuid}`](/api-reference/lessons/get-a-shared-lesson-item) | Get a shared lesson item |
| `DELETE` | [`/api/lessons/{id}/items/{item_uuid}`](/api-reference/lessons/delete-a-lesson-item) | Delete a lesson item |

## Snippets

Snippets are reusable blocks of content — canned responses you drop into replies, SMS and email, with keyboard shortcuts such as `/busy`. They exist so common answers are written once and reused, rather than retyped differently by each person. See [Snippets](https://conveyour.com/help/snippets) in the Help Center.

| Method | Endpoint | What it does |
| - | - | - |
| `GET` | [`/api/snippets`](/api-reference/snippets/list-snippets) | List snippets |
| `GET` | [`/api/snippets/{id}`](/api-reference/snippets/get-a-snippet) | Get a snippet |
| `POST` | [`/api/snippets`](/api-reference/snippets/create-a-snippet) | Create a snippet |
| `PUT` | [`/api/snippets/{id}`](/api-reference/snippets/update-a-snippet) | Update a snippet |
| `DELETE` | [`/api/snippets/{id}`](/api-reference/snippets/delete-a-snippet) | Delete a snippet |
| `GET` | [`/api/snippets/folders`](/api-reference/snippets/list-folders) | List folders |
| `POST` | [`/api/snippets/folders`](/api-reference/snippets/create-a-folder) | Create a folder |
| `GET` | [`/api/snippets/folders/{id}`](/api-reference/snippets/get-a-folder) | Get a folder |
| `PUT` | [`/api/snippets/folders/{id}`](/api-reference/snippets/update-a-folder) | Update a folder |
| `PUT` | [`/api/snippets/html/{id}`](/api-reference/snippets/update-snippet-html) | Update snippet HTML |
| `DELETE` | [`/api/snippets/folders/{id}`](/api-reference/snippets/delete-a-folder) | Delete a folder |

## Files

Files are your central store for the images and documents used across lessons, campaigns and messages, and they can be shared to the learner portal for contacts to open. Through the API a file is the metadata record — the reference to the stored upload and its processing state — rather than the bytes themselves. They exist so content can point at an upload by record instead of by URL, and so one upload can be reused everywhere. See [Using the Files Page in ConveYour](https://conveyour.com/help/using-the-files-page-in-conveyour) in the Help Center.

| Method | Endpoint | What it does |
| - | - | - |
| `GET` | [`/api/files`](/api-reference/files/list-files) | List files |
| `GET` | [`/api/files/{id}`](/api-reference/files/get-a-file) | Get a file |
| `POST` | [`/api/files`](/api-reference/files/create-a-file) | Create a file |
| `PUT` | [`/api/files/{id}`](/api-reference/files/update-a-file) | Update a file |
| `DELETE` | [`/api/files/{id}`](/api-reference/files/delete-a-file) | Delete a file |
| `GET` | [`/api/files/folders`](/api-reference/files/list-folders) | List folders |
| `POST` | [`/api/files/folders`](/api-reference/files/create-a-folder) | Create a folder |
| `GET` | [`/api/files/folders/{id}`](/api-reference/files/get-a-folder) | Get a folder |
| `PUT` | [`/api/files/folders/{id}`](/api-reference/files/update-a-folder) | Update a folder |
| `DELETE` | [`/api/files/folders/{id}`](/api-reference/files/delete-a-folder) | Delete a folder |

## Forms

Form submissions are what a contact fills in and returns, tracked from pending through to completed, including e-signature documents. Each conforms to a form collection, which is where the form itself is defined — see Form Collections below. They exist to collect structured information and agreement from a contact and record the outcome against them. See [Forms](https://conveyour.com/help/forms) in the Help Center.

| Method | Endpoint | What it does |
| - | - | - |
| `GET` | [`/api/form/records`](/api-reference/forms/list-form-records) | List form records |
| `GET` | [`/api/form/records/{id}`](/api-reference/forms/get-a-form-record) | Get a form record |
| `POST` | [`/api/form/records`](/api-reference/forms/create-a-form-record) | Create a form record |
| `PUT` | [`/api/form/records/{id}`](/api-reference/forms/update-a-form-record) | Update a form record |
| `DELETE` | [`/api/form/records/{id}`](/api-reference/forms/delete-a-form-record) | Delete a form record |
| `GET` | [`/api/form/submission_collections`](/api-reference/forms/list-submission-collections) | List submission collections |
| `GET` | [`/api/form/submissions`](/api-reference/forms/list-submissions) | List submissions |
| `POST` | [`/api/form/submission_collections`](/api-reference/forms/create-a-submission-collection) | Create a submission collection |
| `POST` | [`/api/form/submissions`](/api-reference/forms/create-a-submission) | Create a submission |
| `GET` | [`/api/form/submission_collections/{id}`](/api-reference/forms/get-a-submission-collection) | Get a submission collection |
| `GET` | [`/api/form/submissions/{id}`](/api-reference/forms/get-a-submission) | Get a submission |
| `PUT` | [`/api/form/submission_collections/{id}`](/api-reference/forms/update-a-submission-collection) | Update a submission collection |
| `PUT` | [`/api/form/submissions/{id}`](/api-reference/forms/update-a-submission) | Update a submission |
| `DELETE` | [`/api/form/submission_collections/{id}`](/api-reference/forms/delete-a-submission-collection) | Delete a submission collection |
| `DELETE` | [`/api/form/submissions/{id}`](/api-reference/forms/delete-a-submission) | Delete a submission |
| `GET` | [`/api/form/submissions/{id}/documents`](/api-reference/forms/list-submission-documents) | List submission documents |
| `POST` | [`/api/form/submission_collections/{id}/generate_schema`](/api-reference/forms/generate-a-collection-schema) | Generate a collection schema |
| `POST` | [`/api/form/submissions/{id}/generate`](/api-reference/forms/generate-a-submission-document) | Generate a submission document |

## Form Collections

A form collection is the definition of a form — the field schema its submissions conform to, a required Form Name, and email alerts that fire on a chosen submission status. **There are two parallel pairs, and it matters which you use:** `form/collections` holds definitions whose rows are `form/records`, while `form/submission_collections` holds definitions whose rows are `form/submissions`. Note the app calls the thing you build a *form*; in the API the collection **is** the definition and the rows are the responses to it. See [Forms](https://conveyour.com/help/forms) in the Help Center.

| Method | Endpoint | What it does |
| - | - | - |
| `GET` | [`/api/form/collections`](/api-reference/form-collections/list-form-collections) | List form collections |
| `GET` | [`/api/form/collections/{id}`](/api-reference/form-collections/get-a-form-collection) | Get a form collection |
| `POST` | [`/api/form/collections`](/api-reference/form-collections/create-a-form-collection) | Create a form collection |
| `PUT` | [`/api/form/collections/{id}`](/api-reference/form-collections/update-a-form-collection) | Update a form collection |
| `DELETE` | [`/api/form/collections/{id}`](/api-reference/form-collections/delete-a-form-collection) | Delete a form collection |
| `GET` | [`/api/form/collections/schema`](/api-reference/form-collections/get-form-collection-schema) | Get form collection schema |

## Project Tasks

Project tasks are your team's internal to-dos, moving through a seven-state kanban workflow: not started, planning, todo, doing, reviewing, ready, then done. Each carries assigned users and can link to other records, so a task can point at whatever it concerns. They exist to track your team's own work, and are deliberately separate from contact tasks, which belong to a person.

| Method | Endpoint | What it does |
| - | - | - |
| `GET` | [`/api/tasks`](/api-reference/tasks/list-tasks) | List tasks |
| `GET` | [`/api/tasks/{id}`](/api-reference/tasks/get-a-task) | Get a task |
| `POST` | [`/api/tasks`](/api-reference/tasks/create-a-task) | Create a task |
| `PUT` | [`/api/tasks/{id}`](/api-reference/tasks/update-a-task) | Update a task |
| `DELETE` | [`/api/tasks/{id}`](/api-reference/tasks/delete-a-task) | Delete a task |
| `GET` | [`/api/tasks/schema`](/api-reference/tasks/get-task-schema) | Get task schema |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.