Prompts

Bulk-edit prompts

Changed on

Edit existing prompts in bulk, in place: the round trip for a spreadsheet of prompts. Read them with GET /projects/{projectId}/prompts (each row carries its id and currentRevision; ?format=csv downloads them), change what you need, and send up to 500 rows back in prompts. Each row names a prompt by promptId and gives the end state for any of text, isBranded, intentCategory, topics (names; the list replaces the prompt's topics, [] removes them, names the project lacks are created) and locations (the full set, at most 5; a location left out stops being tracked and its history is kept). Omit a field to leave it alone; a row that changes nothing writes nothing. Send each prompt's expectedRevision: a prompt edited since you read it comes back as conflict instead of being overwritten. Every row of one prompt must be in the same request. A reworded prompt keeps its id and past answers, and its old wording stays as a revision. A batch whose added locations do not fit the prompt allowance is refused with 403 quota_exceeded and nothing written; past that, each prompt stands alone and reports its own outcome. Result entries carry each promptId trimmed and lower-cased, so match ids case-insensitively. New prompts go through POST /projects/{projectId}/prompts. dryRun: true returns the same plan without writing. A dry run plans the edit but does not check the prompt allowance; adding locations to tracked prompts can still be refused with quota_exceeded when you apply. Requires a connection minted with the prompt:draft capability, and your own project role must allow the write (otherwise 403 forbidden). A pitch project that is not currently active refuses with 409 INACTIVE_PITCH_PROMPT_MUTATION. Supports Idempotency-Key replay; a reused key with a different body returns 409 idempotency_conflict.

post/api/mcp/projects/{projectId}/prompts/sync

Request

  • Base URL
    https://app.searchable.com
  • Auth
    HTTP bearer

Path parameters

projectIdstring uuid required

The project id.

Headers

Idempotency-Keystring

Optional client-generated key (e.g. a UUID). Retrying with the same key within 24h replays the original stored response (X-Idempotent-Replay: true) instead of repeating the side effect. See Idempotency.

Request body

dryRunboolean

Return the plan without writing.

Response

Each named prompt's outcome.

dryRunboolean

Changes