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

# CreatePrivateProviderRequest

## Fields

| Field | Type | Required | Description | Example |
| - | - | - | - | - |
| `BaseURL` | `*string` | ➖ | HTTPS base URL of an OpenAI-compatible API, used by private endpoints under this provider that set no URL of their own. Without it, each endpoint must set its own. Private, internal, metadata and OpenRouter hosts are rejected. | [https://inference.example.com/v1](https://inference.example.com/v1) |
| `DataPolicy` | [\*components.PrivateProviderDataPolicy](../../models/components/privateproviderdatapolicy.mdx) | ➖ | Defaults to training on and retaining prompts, the most conservative declaration. Your own declaration; it applies to your own traffic and OpenRouter does not verify it. | \{ "prompt\_retention\_days": null, "retains\_prompts": false, "training": false } |
| `DisplayName` | `*string` | ➖ | Defaults to `name`. | Acme |
| `Name` | `string` | ✔️ | Provider name, shown in your activity, logs and Broadcast output. 2-64 letters, numbers, spaces, dots, underscores or hyphens. Cannot be changed later. Neither the name nor its slug may match a public provider name or slug (case-insensitive); other customers may use the same name. | Acme |
| `Slug` | `*string` | ➖ | 2-64 lowercase letters and numbers, separated by single hyphens. Cannot be changed later. Defaults to the name lowercased, with every run of other characters replaced by a hyphen (`Acme Inference` becomes `acme-inference`). | acme |
