Bulk-edit prompts
Changed onEdit 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.
Request
- Base URLhttps://app.searchable.com
- AuthHTTP bearer
Path parameters
The project id.
Headers
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
Response
Each named prompt's outcome.
Changes
- info
endpoint added
- info