> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter-d02e98a0-mintlify-7021d5f4.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# GenerationResponseData - Go SDK

> GenerationResponseData type definition

<Warning>
  The Go SDK and docs are currently in beta.
  Report issues on [GitHub](https://github.com/OpenRouterTeam/go-sdk/issues).
</Warning>

Generation data

## Fields

| Field                          | Type                                                                                    | Required             | Description                                                                                             | Example                                          |
| ------------------------------ | --------------------------------------------------------------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| `APIType`                      | [\*components.APIType](/client-sdks/go/api-reference/models/apitype)                    | :heavy\_check\_mark: | Type of API used for the generation                                                                     |                                                  |
| `AppID`                        | `*int64`                                                                                | :heavy\_check\_mark: | ID of the app that made the request                                                                     | 12345                                            |
| `CacheDiscount`                | `*float64`                                                                              | :heavy\_check\_mark: | Discount applied due to caching                                                                         | 0.0002                                           |
| `Cancelled`                    | `*bool`                                                                                 | :heavy\_check\_mark: | Whether the generation was cancelled                                                                    | false                                            |
| `CreatedAt`                    | `string`                                                                                | :heavy\_check\_mark: | ISO 8601 timestamp of when the generation was created                                                   | 2024-07-15T23:33:19.433273+00:00                 |
| `ExternalUser`                 | `*string`                                                                               | :heavy\_check\_mark: | External user identifier                                                                                | user-123                                         |
| `FinishReason`                 | `*string`                                                                               | :heavy\_check\_mark: | Reason the generation finished                                                                          | stop                                             |
| `GenerationTime`               | `*float64`                                                                              | :heavy\_check\_mark: | Time taken for generation in milliseconds                                                               | 1200                                             |
| `HTTPReferer`                  | `*string`                                                                               | :heavy\_check\_mark: | Referer header from the request                                                                         |                                                  |
| `ID`                           | `string`                                                                                | :heavy\_check\_mark: | Unique identifier for the generation                                                                    | gen-3bhGkxlo4XFrqiabUM7NDtwDzWwG                 |
| `IsByok`                       | `bool`                                                                                  | :heavy\_check\_mark: | Whether this used bring-your-own-key                                                                    | false                                            |
| `Latency`                      | `*float64`                                                                              | :heavy\_check\_mark: | Total latency in milliseconds                                                                           | 1250                                             |
| `Model`                        | `string`                                                                                | :heavy\_check\_mark: | Model used for the generation                                                                           | sao10k/l3-stheno-8b                              |
| `ModerationLatency`            | `*float64`                                                                              | :heavy\_check\_mark: | Moderation latency in milliseconds                                                                      | 50                                               |
| `NativeFinishReason`           | `*string`                                                                               | :heavy\_check\_mark: | Native finish reason as reported by provider                                                            | stop                                             |
| `NativeTokensCached`           | `*int64`                                                                                | :heavy\_check\_mark: | Native cached tokens as reported by provider                                                            | 3                                                |
| `NativeTokensCompletion`       | `*int64`                                                                                | :heavy\_check\_mark: | Native completion tokens as reported by provider                                                        | 25                                               |
| `NativeTokensCompletionImages` | `*int64`                                                                                | :heavy\_check\_mark: | Native completion image tokens as reported by provider                                                  | 0                                                |
| `NativeTokensPrompt`           | `*int64`                                                                                | :heavy\_check\_mark: | Native prompt tokens as reported by provider                                                            | 10                                               |
| `NativeTokensReasoning`        | `*int64`                                                                                | :heavy\_check\_mark: | Native reasoning tokens as reported by provider                                                         | 5                                                |
| `NumFetches`                   | `*int64`                                                                                | :heavy\_check\_mark: | Number of web fetches performed                                                                         | 0                                                |
| `NumInputAudioPrompt`          | `*int64`                                                                                | :heavy\_check\_mark: | Number of audio inputs in the prompt                                                                    | 0                                                |
| `NumMediaCompletion`           | `*int64`                                                                                | :heavy\_check\_mark: | Number of media items in the completion                                                                 | 0                                                |
| `NumMediaPrompt`               | `*int64`                                                                                | :heavy\_check\_mark: | Number of media items in the prompt                                                                     | 1                                                |
| `NumSearchResults`             | `*int64`                                                                                | :heavy\_check\_mark: | Number of search results included                                                                       | 5                                                |
| `Origin`                       | `string`                                                                                | :heavy\_check\_mark: | Origin URL of the request                                                                               | [https://openrouter.ai/](https://openrouter.ai/) |
| `PresetID`                     | `*string`                                                                               | :heavy\_check\_mark: | ID of the preset used for this generation, null if no preset was used                                   | a9e8d400-592a-494f-908c-375efa66cafd             |
| `ProviderName`                 | `*string`                                                                               | :heavy\_check\_mark: | Name of the provider that served the request                                                            | Infermatic                                       |
| `ProviderResponses`            | \[][components.ProviderResponse](/client-sdks/go/api-reference/models/providerresponse) | :heavy\_check\_mark: | List of provider responses for this generation, including fallback attempts                             |                                                  |
| `RequestID`                    | optionalnullable.OptionalNullable\[`string`]                                            | :heavy\_minus\_sign: | Unique identifier grouping all generations from a single API request                                    | req-1727282430-aBcDeFgHiJkLmNoPqRsT              |
| `ResponseCacheSourceID`        | optionalnullable.OptionalNullable\[`string`]                                            | :heavy\_minus\_sign: | If this generation was served from response cache, contains the original generation ID. Null otherwise. |                                                  |
| `Router`                       | `*string`                                                                               | :heavy\_check\_mark: | Router used for the request (e.g., openrouter/auto)                                                     | openrouter/auto                                  |
| `ServiceTier`                  | `*string`                                                                               | :heavy\_check\_mark: | Service tier the upstream provider reported running this request on, or null if it did not report one.  | priority                                         |
| `SessionID`                    | optionalnullable.OptionalNullable\[`string`]                                            | :heavy\_minus\_sign: | Session identifier grouping multiple generations in the same session                                    |                                                  |
| `Streamed`                     | `*bool`                                                                                 | :heavy\_check\_mark: | Whether the response was streamed                                                                       | true                                             |
| `TokensCompletion`             | `*int64`                                                                                | :heavy\_check\_mark: | Number of tokens in the completion                                                                      | 25                                               |
| `TokensPrompt`                 | `*int64`                                                                                | :heavy\_check\_mark: | Number of tokens in the prompt                                                                          | 10                                               |
| `TotalCost`                    | `float64`                                                                               | :heavy\_check\_mark: | Total cost of the generation in USD                                                                     | 0.0015                                           |
| `UpstreamID`                   | `*string`                                                                               | :heavy\_check\_mark: | Upstream provider's identifier for this generation                                                      | chatcmpl-791bcf62-080e-4568-87d0-94c72e3b4946    |
| `UpstreamInferenceCost`        | `*float64`                                                                              | :heavy\_check\_mark: | Cost charged by the upstream provider                                                                   | 0.0012                                           |
| `Usage`                        | `float64`                                                                               | :heavy\_check\_mark: | Usage amount in USD                                                                                     | 0.0015                                           |
| `UserAgent`                    | `*string`                                                                               | :heavy\_check\_mark: | User-Agent header from the request                                                                      |                                                  |
| `WebSearchEngine`              | `*string`                                                                               | :heavy\_check\_mark: | The resolved web search engine used for this generation (e.g. exa, firecrawl, parallel)                 | exa                                              |
