---
title: "Insert a ready-made block into a preset"
method: POST
path: "/presets/{id}/components"
---

# Insert a ready-made block into a preset

`POST /presets/{id}/components`

## Request

- Base URL: `https://rendry.io/api/v1`
- URL: `https://rendry.io/api/v1/presets/{id}/components`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer

Drops a CTA button, price burst, sale ribbon, rating row and the like into the design as one group layer. See GET /components.

## Path parameters

- `id` string, required

## Headers

- `X-Rendry-Account` string

## Request body

- object
  - `component_id` string, required
  - `x` integer, required
  - `y` integer, required
  - `scale` number
  - `overrides` object: Values for the block's {variables}

## Response `200`

Component inserted, new version saved

## Other responses

- `400`: `unknown_field` (a key the tool does not read; a near miss is renamed and reported in `autofixed_fields`) or `invalid_input`. 404 is `component_not_found` or `preset_not_found`; 409 `conflict` when a component variable collides with a template/formula definition.
- `401`: Missing/invalid API key

---

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