# Components

The Components API lets you manage components and component drafts.

 - [GET /api/v1/components/drafts/{componentDraftId}](https://api-docs.sitecore.com/sai/components-api/components/retrievedraft.md): Retrieves a component draft by id.
 - [PATCH /api/v1/components/drafts/{componentDraftId}](https://api-docs.sitecore.com/sai/components-api/components/patchdraft.md): Updates a component draft.
 - [PUT /api/v1/components/drafts/{componentDraftId}](https://api-docs.sitecore.com/sai/components-api/components/updatedraft.md): Fully replaces a component draft. All user-editable fields are replaced with the provided values. Null values reset optional fields to their defaults. Unlike PATCH, the entire Variants collection is r
 - [DELETE /api/v1/components/drafts/{componentDraftId}](https://api-docs.sitecore.com/sai/components-api/components/deletedraft.md): Deletes a component draft by id.
 - [GET /api/v1/components/drafts](https://api-docs.sitecore.com/sai/components-api/components/listdrafts.md): Lists component drafts.
 - [POST /api/v1/components/drafts](https://api-docs.sitecore.com/sai/components-api/components/createdraft.md): Creates a component draft.
 - [GET /api/v1/components](https://api-docs.sitecore.com/sai/components-api/components/listcomponents.md): Retrieves a list of components and their details for all sites or specific sites.
 - [POST /api/v1/components](https://api-docs.sitecore.com/sai/components-api/components/createcomponent.md): Creates a component.
 - [GET /api/v1/components/summaries](https://api-docs.sitecore.com/sai/components-api/components/listcomponentsummaries.md): Retrieves a lightweight list of components containing only `id`, `name`, `displayName`, `systemName` and `modelId` for all sites or specific sites. Use this endpoint for any scenario that does not req
 - [GET /api/v1/components/{componentId}](https://api-docs.sitecore.com/sai/components-api/components/retrievecomponent.md): Retrieves a component and its details.
 - [PATCH /api/v1/components/{componentId}](https://api-docs.sitecore.com/sai/components-api/components/updatecomponent.md): Updates a component.
 - [GET /api/v1/components/{componentId}/metadata](https://api-docs.sitecore.com/sai/components-api/components/retrievecomponentmetadata.md): Fetches the metadata of a component.
 - [GET /api/v1/components/{componentId}/variant/{componentVariantId}/metadata](https://api-docs.sitecore.com/sai/components-api/components/retrievecomponentvariantmetadata.md): Fetches component variant metadata.
 - [GET /api/v1/components/{componentId}/sites](https://api-docs.sitecore.com/sai/components-api/components/retrievesitesbycomponentid.md): Returns an array of sites where the specified component is allowed.
 - [POST /api/v1/components/drafts/{id}/model-suggestion](https://api-docs.sitecore.com/sai/components-api/components/createdraftmodelsuggestion.md): Generates a content type suggestion from all draft variant code by calling the AI Service.
 - [POST /api/v1/components/drafts/{componentDraftId}/activation](https://api-docs.sitecore.com/sai/components-api/components/activatedraft.md): Activates an existing component draft by creating the corresponding content type (when present), component, and variants, then permanently removes the draft from storage. Activation is a one-way opera
 - [POST /api/v1/components/drafts/suggestions](https://api-docs.sitecore.com/sai/components-api/components/createdraftsuggestion.md): Generates a component draft suggestion from a natural-language prompt.
