> ## 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.

# CreatePrivateEndpointRequest

## Example Usage

```typescript theme={null}
import { CreatePrivateEndpointRequest } from "@openrouter/sdk/models/operations";

let value: CreatePrivateEndpointRequest = {
  createPrivateEndpointRequest: {
    modelPermaslug: "openai/gpt-4o-2024-08-06",
    providerSlug: "azure",
    upstreamModelId: "gpt-4o-prod",
  },
};
```

## Fields

| Field | Type | Required | Description | Example |
| - | - | - | - | - |
| `httpReferer` | *string* | :heavy\_minus\_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.<br />This is used to track API usage per application.<br /> | |
| `appTitle` | *string* | :heavy\_minus\_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.<br /> | |
| `appCategories` | *string* | :heavy\_minus\_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.<br /> | |
| `idempotencyKey` | *string* | :heavy\_minus\_sign: | Retry-safe create: a repeated create with the same key from the same organization returns the endpoint the first request created instead of creating another. The endpoint is returned as it is now. Reusing a key with a different request body (model, provider, base URL, upstream model ID, declared ZDR or region, or pricing) is rejected with 422 `idempotency_key_reused`. `activate` is not compared, and later edits to the endpoint do not affect the comparison. | wayfair-gpt-4o-eastus-2026-09 |
| `createPrivateEndpointRequest` | [models.CreatePrivateEndpointRequest](../../models/createprivateendpointrequest.mdx) | :heavy\_check\_mark: | N/A | |
