---
title: "Edit a prompt's categorization"
method: PATCH
path: "/prompts/{id}"
tags: ["Prompts"]
---

# Edit a prompt's categorization

`PATCH /prompts/{id}`

## Request

- Base URL: `https://api.llmpulse.ai/api/v1`
- URL: `https://api.llmpulse.ai/api/v1/prompts/{id}`
- Auth: API key in header `Authorization`

Manual categorization, exactly like editing the intent and brand badges on the prompt page: send `prompt_type`, `brand_kind` or both. The prompt is marked as manually categorized (`categorization_source` becomes `manual`), so automatic categorization no longer changes it; the prompt page can revert it to automatic. Any other field returns ERR_INVALID_PARAM. Not available from a white-label portal (ERR_INTEGRATION_UNAVAILABLE), where the page hides the editor. Requires a `read_write` scope API key and, for team members, update permission on Prompts.

## Path parameters

- `id` integer, required

## Request body

- object
  - `project_id` integer, required
  - `prompt_type` 'informational' | 'navigational' | 'commercial' | 'transactional': Search intent
  - `brand_kind` 'brand' | 'brand_other' | 'non_brand': Brand focus: brand (your own brand or products), brand_other (competing brands), non_brand (generic)

## Response `200`

The prompt with its new categorization

- PromptCategorizationResponse
  - `project_id` integer, required
  - `prompt` PromptCategorization, required
    - `id` integer, required
    - `raw_input` string, required
    - `prompt_type` string, nullable
    - `brand_kind` string, nullable
    - `categorization_source` string, nullable: manual after an edit by hand; the prompt page's revert hands it back to automatic categorization
    - `manually_categorized` boolean, required
    - `categorized_at` string, date-time, nullable
  - `request_id` string, required

## Other responses

- `403`: Writes with a read-only key answer ERR_INSUFFICIENT_SCOPE, a team member without the permission ERR_INSUFFICIENT_PERMISSION, and a request made on a white-label portal host, where the app does not offer this action, ERR_INTEGRATION_UNAVAILABLE, with the same status
- `404`: Resource not found
- `422`: Invalid parameters

## Changes

- **2026-10-16** `dd090b1e1154`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/llmpulse/apis/llm-pulse-api/changes/prompts/:id/patch.md)

---

[API](https://skmtc.dev/llmpulse/apis/llm-pulse-api.md) - [All operations](https://skmtc.dev/llmpulse/apis/llm-pulse-api/llms.txt) - [OpenAPI document](https://skmtc.dev/llmpulse/apis/llm-pulse-api/revisions/38a31f123641?raw)
