---
title: "Prompt Management with Responses API"
url: "/docs/prompt_management"
canonical_url: "https://docs.litellm.ai/docs/prompt_management"
type: "docs"
last_updated: "2026-10-09"
summary: "Use LiteLLM Prompt Management with /v1/responses by passing promptid and optional promptvariables."
related:
  - "/docs/rerank"
  - "/docs/response_api_compact"
---
# Prompt Management with Responses API

> Index of all LiteLLM docs: https://docs.litellm.ai/llms.txt


Use LiteLLM Prompt Management with `/v1/responses` by passing `prompt_id` and optional `prompt_variables`.

## Basic Usage

```bash
curl -X POST "http://localhost:4000/v1/responses" \
  -H "Authorization: Bearer $LITELLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-terra",
    "prompt_id": "my-responses-prompt",
    "prompt_variables": {"topic": "large language models"},
    "input": []
  }'
```

## Multi-turn Follow-up in `input`

To send follow-up turns in one request, pass message history in `input`.

```bash
curl -X POST "http://localhost:4000/v1/responses" \
  -H "Authorization: Bearer $LITELLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-terra",
    "prompt_id": "my-responses-prompt",
    "prompt_variables": {"topic": "large language models"},
    "input": [
      {"role": "user", "content": "Topic is LLMs. Start short."},
      {"role": "assistant", "content": "Sure, go ahead."},
      {"role": "user", "content": "Now give me 3 bullets and include pricing caveat."}
    ]
  }'
```

## Notes

- Prompt template messages are merged with your `input` messages.
- Prompt variable substitution applies to prompt message content.
- Tool call payload fields are not substituted by prompt variables.
- For follow-ups with `previous_response_id`, include `prompt_id` again if you want prompt management applied on that turn.

## Related pages

- [/rerank](https://docs.litellm.ai/docs/rerank.md)
- [/responses/compact](https://docs.litellm.ai/docs/response_api_compact.md)
