> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trychainshift.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Prompts and sets

> How prompts relate to prompt sets, and the rules for creating, updating, and listing them

A **prompt** is a single question to run on an AI model, and a **prompt set** groups prompts together. Every prompt must belong to exactly one set, so create the set first.

## Rules

| Item | Rule |
| - | - |
| Prompt content | Up to 1,000 characters. Write it as the conversational question a real user would ask |
| Prompts per set | Up to **1,000** (`PROMPT_SET_PROMPT_LIMIT_EXCEEDED`, 409) |
| Bulk creation | Up to 100 per request. Each item can target a different set |
| Update (PATCH) | Partial update: only the fields you provide change, the rest stay as they are |
| Moving between sets | Specify `promptSetID` when updating a prompt to move it to another set |

## Listing

* Cursor pagination; page size default 20, max 100.
* Search: prompts support `contentContains` (partial match), sets support `nameStartsWith` (prefix match).
* Prompt lists are newest first. **Only the set list defaults to oldest first (asc)**; change it with `order=desc`.

## FAQ

**How do prompts connect to run requests?**
Put prompt IDs in the `promptIDs` field of a [run request](https://docs.trychainshift.ai/en/api-reference/runs/submit-run.md), or run a whole set with `promptSetID`.

**If I update a prompt, do already collected answers change?**
No. Each answer preserves the question as it was at run time in its `query` field.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.