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

# Workspace

## Example Usage

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

let value: Workspace = {
  createdAt: "2025-08-24T10:30:00Z",
  createdBy: "user_abc123",
  defaultGuardrailId: "595d5849-7e86-51fd-a7c0-705c34e4afff",
  defaultImageModel: "openai/dall-e-3",
  defaultProviderSort: "price",
  defaultTextModel: "openai/gpt-4o",
  description: "Production environment workspace",
  id: "550e8400-e29b-41d4-a716-446655440000",
  ioLoggingApiKeyIds: null,
  ioLoggingSamplingRate: 1,
  isDataDiscountLoggingEnabled: true,
  isObservabilityBroadcastEnabled: false,
  isObservabilityIoLoggingEnabled: false,
  name: "Production",
  slug: "production",
  updatedAt: "2025-08-24T15:45:00Z",
};
```

## Fields

| Field | Type | Required | Description | Example |
| - | - | - | - | - |
| `createdAt` | *string* | :heavy\_check\_mark: | ISO 8601 timestamp of when the workspace was created | 2025-08-24T10:30:00Z |
| `createdBy` | *string* | :heavy\_check\_mark: | User ID of the workspace creator | user\_abc123 |
| `defaultGuardrailId` | *string* | :heavy\_check\_mark: | Deterministic ID derived from the workspace ID. The default guardrail is materialized when its configuration is first written. | 595d5849-7e86-51fd-a7c0-705c34e4afff |
| `defaultImageModel` | *string* | :heavy\_check\_mark: | Default image model for this workspace | openai/dall-e-3 |
| `defaultProviderSort` | *string* | :heavy\_check\_mark: | Default provider sort preference (price, throughput, latency, exacto) | price |
| `defaultTextModel` | *string* | :heavy\_check\_mark: | Default text model for this workspace | openai/gpt-4o |
| `description` | *string* | :heavy\_check\_mark: | Description of the workspace | Production environment workspace |
| `disabledServerTools` | *string*\[] | :heavy\_minus\_sign: | OpenRouter server tools (e.g. openrouter:web\_search) that requests in this workspace may not invoke. Null means no tools are disabled. | null |
| `id` | *string* | :heavy\_check\_mark: | Unique identifier for the workspace | 550e8400-e29b-41d4-a716-446655440000 |
| `includeByokInBudgets` | *boolean* | :heavy\_minus\_sign: | Whether BYOK (bring-your-own-key) spend counts toward this workspace's budgets. Set it via the workspace budget endpoints. | false |
| `ioLoggingApiKeyIds` | *number*\[] | :heavy\_check\_mark: | Optional array of API key IDs to filter I/O logging. Null means all keys are logged. | null |
| `ioLoggingSamplingRate` | *number* | :heavy\_check\_mark: | Sampling rate for I/O logging (0.0001-1). 1 means 100% of requests are logged. | 1 |
| `isDataDiscountLoggingEnabled` | *boolean* | :heavy\_check\_mark: | Whether data discount logging is enabled for this workspace | true |
| `isObservabilityBroadcastEnabled` | *boolean* | :heavy\_check\_mark: | Whether broadcast is enabled for this workspace | false |
| `isObservabilityIoLoggingEnabled` | *boolean* | :heavy\_check\_mark: | Whether private logging is enabled for this workspace | false |
| `name` | *string* | :heavy\_check\_mark: | Name of the workspace | Production |
| `slug` | *string* | :heavy\_check\_mark: | URL-friendly slug for the workspace | production |
| `updatedAt` | *string* | :heavy\_check\_mark: | ISO 8601 timestamp of when the workspace was last updated | 2025-08-24T15:45:00Z |
