---
title: "Why Pass-Through Endpoints?"
url: "/docs/pass_through/intro"
canonical_url: "https://docs.litellm.ai/docs/pass_through/intro"
type: "docs"
last_updated: "2026-10-09"
summary: "These endpoints are useful for 2 scenarios:"
related:
  - "/docs/ocr"
  - "/docs/pass_through/anthropic_completion"
---
# Why Pass-Through Endpoints?

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


These endpoints are useful for 2 scenarios:

1. **Migrate existing projects** to litellm proxy. E.g: If you have users already in production with Anthropic's SDK, you just need to change the base url to get cost tracking/logging/budgets/etc. 

2. **Use provider-specific endpoints** E.g: If you want to use [Vertex AI's token counting endpoint](https://docs.litellm.ai/docs/pass_through/vertex_ai#count-tokens-api)

## How is your request handled? 

The request is passed through to the provider's endpoint. The response is then passed back to the client. **No translation is done.**

### Request Forwarding Process

1. **Request Reception**: LiteLLM receives your request at `/provider/endpoint`
2. **Authentication**: Your LiteLLM API key is validated and mapped to the provider's API key
3. **Request Transformation**: Request is reformatted for the target provider's API
4. **Forwarding**: Request is sent to the actual provider endpoint
5. **Response Handling**: Provider response is returned directly to you

### Authentication Flow

```mermaid
graph LR
    A[Client Request] --> B[LiteLLM Proxy]
    B --> C[Validate LiteLLM API Key]
    C --> D[Map to Provider API Key]
    D --> E[Forward to Provider]
    E --> F[Return Response]
```

**Key Points:**
- Use your **LiteLLM API key** in requests, not the provider's key
- LiteLLM handles the provider authentication internally
- Same authentication works across all passthrough endpoints

### Error Handling

**Provider Errors**: Forwarded directly to you with original error codes and messages

**LiteLLM Errors**: 
- `401`: Invalid LiteLLM API key
- `404`: Provider or endpoint not supported
- `500`: Internal routing/forwarding errors

### Benefits

- **Unified Authentication**: One API key for all providers
- **Centralized Logging**: All requests logged through LiteLLM
- **Cost Tracking**: Tracked where the provider page's overview table says so. A custom pass-through target that LiteLLM cannot price can report its own totals, see [Pass-Through Cost & Usage Tracking](../proxy/pass_through_cost_tracking.md). Anything else is logged without cost
- **Access Control**: Same permissions apply to passthrough endpoints

## Related pages

- [/ocr](https://docs.litellm.ai/docs/ocr.md)
- [Anthropic Passthrough](https://docs.litellm.ai/docs/pass_through/anthropic_completion.md)
