---
title: "Start an AI data-cleanup job for up to 100 components"
method: POST
path: "/api/admin/components/enhance"
tags: ["admin-components"]
---

# Start an AI data-cleanup job for up to 100 components

`POST /api/admin/components/enhance`

## Request

- Base URL: `https://voltplan.app`
- URL: `https://voltplan.app/api/admin/components/enhance`
- Auth: HTTP bearer

Creates an in-memory job and processes it asynchronously: per component one Anthropic Messages call (`ANTHROPIC_API_KEY`), then a 1 s pause. Ids that cannot be loaded become rows with `status: error` and `name: (not found)`. Nothing is written to PocketBase; apply proposals with `PATCH /api/admin/components/{id}`. Poll with `GET /api/admin/components/enhance?jobId=…`.

## Request body

- AdminComponentEnhanceRequest
  - `ids` string[], required: Component ids.

## Response `200`

Job started.

- AdminComponentEnhanceStarted
  - `jobId` string, required

## Other responses

- `400`: `ids` missing, empty or longer than 100.
- `403`: Admin access required. Returned for a missing, invalid or expired bearer token as well as for a valid token whose user lacks `is_admin=true`; admin endpoints never answer 401.
- `500`: Invalid JSON or PocketBase unavailable.

---

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