---
title: World SDK
description: Low-level API for inspecting and managing workflow runs, steps, events, hooks, streams, and queues, with an analytics namespace for metadata listings and attribute search.
docs_index: /llms.txt
lastUpdated: 2026-10-21
type: overview
summary: Access workflow infrastructure via await getWorld() for building observability dashboards, admin tools, and custom integrations.
keywords:
  - getWorld
  - World SDK
  - workflow runtime
  - observability dashboard
  - admin panel
  - workflow management
prerequisites:
  - /docs/api-reference/workflow-runtime/get-world
---

> For an index of all documentation, see [/llms.txt](/llms.txt).

The World SDK provides direct access to workflow infrastructure, including runs, steps, events, hooks, streams, and queues. It also provides a metadata-only [Analytics](/docs/api-reference/workflow-runtime/world/analytics) namespace with attribute discovery and filtering. Use it to build observability dashboards, admin panels, debugging tools, and custom workflow management logic.

```typescript lineNumbers
import { getWorld } from "workflow/runtime";

const world = await getWorld(); // [!code highlight]
```

## Interfaces

#### [Storage](/docs/api-reference/workflow-runtime/world/storage)

Query runs, steps, hooks, and the underlying event log.

#### [Analytics](/docs/api-reference/workflow-runtime/world/analytics)

Metadata-only listings with attribute discovery and filtering, built for observability dashboards.

#### [Streams](/docs/api-reference/workflow-runtime/world/streams)

Read, write, and manage real-time data streams for workflow runs.

#### [Queue](/docs/api-reference/workflow-runtime/world/queue)

Low-level queue dispatch (internal SDK infrastructure).

> The World SDK is the low-level foundation that higher-level functions like [`getRun()`](/docs/api-reference/workflow-api/get-run) and [`start()`](/docs/api-reference/workflow-api/start) are built on. Use it when you need capabilities beyond what those functions provide.

Beyond these namespaces, the `World` interface carries several top-level members for World authors: `specVersion`, `capabilities`, lifecycle hooks (`start()`/`close()`), `getEncryptionKeyForRun()`, and the optional `createRunId()` / `regionForRunId()` / `describeRun()` hooks behind regional run placement and World-specific `inspect` output. [Building a World](/worlds/building-a-world) documents these members.

## Data hydration

The [devalue](https://github.com/Rich-Harris/devalue) format serializes step input/output data. To display this data in your UI, use the hydration utilities from `workflow/observability`:

```typescript lineNumbers
import { hydrateResourceIO, observabilityRevivers } from "workflow/observability"; // [!code highlight]

const step = await world.steps.get(runId, stepId);
const hydrated = hydrateResourceIO(step, observabilityRevivers); // [!code highlight]
console.log(hydrated.input, hydrated.output);
```

See [`workflow/observability`](/docs/api-reference/workflow-observability) for the full API.

---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/llms.txt](/llms.txt)

For agent-facing discovery, including API and MCP surfaces, see [/agents.md](/agents.md)