> ## 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. # DecisionsRequest ## Example Usage ```typescript theme={null} import { DecisionsRequest } from "@openrouter/sdk/models"; let value: DecisionsRequest = { model: "Fiesta", questions: {}, state: { "key": "Virginia", }, }; ``` ## Fields | Field | Type | Required | Description | Example | | - | - | - | - | - | | `assets` | Record\ | ➖ | Images keyed by reference string, as in TypeSafe's API. Write a reference wherever the image belongs in `state`, `instructions`, or `criteria`; every asset must be referenced at least once, or the request fails with `400` naming the unused key. TypeSafe Jev endpoints receive `assets` as written and read a reference as a whole string value or inside longer text. Every other provider has each whole-string reference resolved to an `image_url` part before the request is sent, so it is accepted only where that provider reads `image_url` parts (top-level `state` items), and a reference inside longer text fails with `400`. `image_url` parts and `assets` can be mixed in one request. | | | `model` | *string* | ✔️ | N/A | | | `provider` | [models.ProviderPreferences](../models/providerpreferences.mdx) | ➖ | N/A | \{ "allow\_fallbacks": true } | | `questions` | Record\ | ✔️ | N/A | | | `sessionId` | *string* | ➖ | A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters. | session-1234 | | `state` | *models.State* | ✔️ | The content to evaluate: a plain string, or a JSON object or array of related context. | | | `trace` | [models.TraceConfig](../models/traceconfig.mdx) | ➖ | Metadata for observability and tracing. Known keys (trace\_id, trace\_name, span\_name, generation\_name, parent\_span\_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{ "trace\_id": "trace-abc123", "trace\_name": "my-app-trace" } | | `user` | *string* | ➖ | N/A | |