# Welcome

PromptShuttle is an LLM orchestration platform that sits between your application and the major LLM providers. It gives you a single API to manage prompts, route across models, run multi-step agentic workflows, and track costs — all with multi-tenant isolation out of the box.

## Why PromptShuttle?

**One API, every provider.** Write your integration once and route to OpenAI, Anthropic, Google Gemini, Groq, DeepSeek, xAI, or Perplexity. Switch models without changing client code.

**Prompt versioning and environments.** Manage prompt templates with version control. Promote versions across dev, staging, and production environments without redeploying your app.

**Multi-agent orchestration.** Build DAG-based workflows where templates can invoke other templates as sub-agents, with full execution tracing, cost tracking, and depth limits.

**Drop-in OpenAI replacement.** Use the OpenAI-compatible endpoint with any existing OpenAI SDK client — just change the base URL and API key.

**Built-in cost control.** Per-request cost ceilings, tenant-level budgets, detailed usage analytics at three levels of granularity (per-inference, per-request, per-agent-tree).

**Function calling and tools.** Define external HTTP tools, MCP server tools, or agent tools. PromptShuttle handles the tool-calling loop automatically.

## Quick links

| I want to...                          | Go to                                                                                        |
| ------------------------------------- | -------------------------------------------------------------------------------------------- |
| Make my first API call                | [Quickstart](https://docs.promptshuttle.com/getting-started/quickstart)                      |
| Use my existing OpenAI SDK            | [OpenAI-Compatible Endpoint](https://docs.promptshuttle.com/api-reference/openai-compatible) |
| Build a prompt template with versions | [Flows](https://docs.promptshuttle.com/flows/flows)                                          |
| Execute a flow via API                | [Flow Execution API](https://docs.promptshuttle.com/api-reference/flow-execution)            |
| Add function calling / tools          | [Tools & Function Calling](https://docs.promptshuttle.com/tools/tools)                       |
| Connect an MCP server                 | [MCP Server Integration](https://docs.promptshuttle.com/tools/mcp-servers)                   |
| Set up model aliases and fallbacks    | [Model Routing](https://docs.promptshuttle.com/platform/model-routing)                       |
| Stream agent execution events         | [Streaming (SSE)](https://docs.promptshuttle.com/api-reference/streaming)                    |
| Track per-customer usage              | [Customers API](https://docs.promptshuttle.com/api-reference/customers)                      |
| Understand costs and credits          | [Billing & Credits](https://docs.promptshuttle.com/platform/billing)                         |
| Browse request history                | [Invocation Log & Analytics](https://docs.promptshuttle.com/platform/analytics)              |
| Understand the core model             | [Key Concepts](https://docs.promptshuttle.com/getting-started/key-concepts)                  |

## Supported providers

| Provider   | Example models                                   |
| ---------- | ------------------------------------------------ |
| OpenAI     | GPT-4o, GPT-4o mini, o1, o3                      |
| Anthropic  | Claude 4 Opus, Claude 4 Sonnet, Claude 3.5 Haiku |
| Google     | Gemini 2.5 Pro, Gemini 2.5 Flash                 |
| Groq       | Llama, Mixtral (fast inference)                  |
| DeepSeek   | DeepSeek Chat, DeepSeek Reasoner                 |
| xAI        | Grok                                             |
| Perplexity | Sonar (web-search integrated)                    |

List all models and pricing programmatically via [`GET /api/v1/models/descriptors`](https://docs.promptshuttle.com/api-reference/openai-compatible).

## Base URL

```
https://app.promptshuttle.com/api/v1
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.promptshuttle.com/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
