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

# ProviderResponse

Details of a provider response for a generation attempt

## Fields

| Field | Type | Required | Description | Example |
| - | - | - | - | - |
| `endpoint_id` | *Optional\[str]* | :heavy\_minus\_sign: | Internal endpoint identifier | ep\_abc123 |
| `id` | *Optional\[str]* | :heavy\_minus\_sign: | Upstream provider response identifier | chatcmpl-abc123 |
| `is_byok` | *Optional\[bool]* | :heavy\_minus\_sign: | Whether the request used a bring-your-own-key | false |
| `latency` | *Optional\[float]* | :heavy\_minus\_sign: | Response latency in milliseconds | 1200 |
| `model_permaslug` | *Optional\[str]* | :heavy\_minus\_sign: | Canonical model slug | openai/gpt-4 |
| `provider_name` | [Optional\[components.ProviderResponseProviderName\]](../components/providerresponseprovidername.mdx) | :heavy\_minus\_sign: | Name of the provider | OpenAI |
| `routed_service_tier` | [Optional\[components.RoutedServiceTier\]](../components/routedservicetier.mdx) | :heavy\_minus\_sign: | The service tier this request was routed to (e.g. flex, priority). The tier actually applied and billed is determined by the provider response and may differ. | priority |
| `status` | *Nullable\[int]* | :heavy\_check\_mark: | HTTP status code from the provider | 200 |
