> For the complete documentation index, see [llms.txt](https://docs.codemash.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.codemash.io/api-reference/database/schemas.md).

# Schemas

A **schema** defines a collection's fields, types, and validation. Schemas support drafts, versions, and publishing.

| Endpoint                                                                                                | Method                                       |
| ------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| [Get Database Schema](/api-reference/database/schemas/get-database-schema.md)                           | `GET schemas/{id}`                           |
| [Get Database Schemas](/api-reference/database/schemas/get-database-schemas.md)                         | `GET schemas`                                |
| [Delete Database Schema](/api-reference/database/schemas/delete-database-schema.md)                     | `DELETE schemas/{Id}`                        |
| [Delete Schema Trigger](/api-reference/database/schemas/delete-schema-trigger.md)                       | `DELETE schemas/triggers/{triggerId}`        |
| [Disable Schema Trigger](/api-reference/database/schemas/disable-schema-trigger.md)                     | `PATCH schemas/triggers/{triggerId}/disable` |
| [Discard Database Schema Draft](/api-reference/database/schemas/discard-database-schema-draft.md)       | `DELETE schemas/{Id}/draft`                  |
| [Enable Schema Trigger](/api-reference/database/schemas/enable-schema-trigger.md)                       | `PATCH schemas/triggers/{triggerId}/enable`  |
| [Get Database Schema](/api-reference/database/schemas/get-database-schema.md)                           | `GET schemas/{id}`                           |
| [Get Database Schema Draft](/api-reference/database/schemas/get-database-schema-draft.md)               | `GET schemas/{Id}/draft`                     |
| [Get Database Schema Version Diff](/api-reference/database/schemas/get-database-schema-version-diff.md) | `GET schemas/{Id}/versions/diff`             |
| [Get Database Schema Versions](/api-reference/database/schemas/get-database-schema-versions.md)         | `GET schemas/{Id}/versions`                  |
| [Get Database Schemas](/api-reference/database/schemas/get-database-schemas.md)                         | `GET schemas`                                |
| [Get Schema Trigger](/api-reference/database/schemas/get-schema-trigger.md)                             | `GET schemas/triggers/{id}`                  |
| [Get Schema Triggers](/api-reference/database/schemas/get-schema-triggers.md)                           | `GET schemas/triggers`                       |
| [Publish Database Schema](/api-reference/database/schemas/publish-database-schema.md)                   | `POST schemas/{Id}/publish`                  |
| [Rename Database Schema](/api-reference/database/schemas/rename-database-schema.md)                     | `PUT schemas/{Id}/rename`                    |
| [Save Database Schema](/api-reference/database/schemas/save-database-schema.md)                         | `POST schemas`                               |
| [Save Schema Trigger](/api-reference/database/schemas/save-schema-trigger.md)                           | `POST schemas/triggers`                      |
| [Update Database Schema Draft](/api-reference/database/schemas/update-database-schema-draft.md)         | `PUT schemas/{Id}/draft`                     |
| [Update Database Schema Settings](/api-reference/database/schemas/update-database-schema-settings.md)   | `PUT schemas/{Id}/settings`                  |
