---
title: "World"
method: GET
path: "/api/v2/world"
tags: ["World"]
---

# World

`GET /api/v2/world`

## Request

- Base URL: `https://www.onlyworlds.com`
- URL: `https://www.onlyworlds.com/api/v2/world`
- Auth: one of:
  - API key in header `API-Key`
  - API key in header `API-Key` and API key in header `API-Pin`

The world named by the credential. owner_character is the owner's "this Character is me" (a Character id, or null; null too when the owner hid that Character from this key).

## Headers

- `If-None-Match` string

## Response `200`

The world.

- World: The world named by the credential.
  - `id` string, uuid, required
  - `name` string, required
  - `description` string, required
  - `image_url` string, required
  - `time_format_names` string[], required: The names of the calendar's steps, e.g. ['Day', 'Week', 'Month', 'Year'].
  - `time_format_equivalents` union[], required: How many time_basic_unit each step of time_format_names holds, in the same order, e.g. [1, 7, 30, 365] when the basic unit is Day.
    - union
      - integer
      - string
  - `time_basic_unit` string, required: The unit every element date and duration counts in (e.g. 'Year', 'Day'): a birth_date of 1200 is 1200 of these.
  - `time_range_min` integer, nullable, required: The earliest point of the world's timeline, in time_basic_unit.
  - `time_range_max` integer, nullable, required: The latest point of the world's timeline, in time_basic_unit.
  - `time_range_current` integer, nullable, required: The world's present moment, in time_basic_unit.
  - `length_unit` string, required: Free-text label for the numbers counted in the world's length units; nothing converts.
  - `mass_unit` string, required: Free-text label for the numbers counted in the world's mass units; nothing converts.
  - `distance_unit` string, required: Free-text label for the numbers counted in the world's distance units; nothing converts.
  - `public_read` boolean, required: Whether the world's owner opened it to the public: where the public reader is on, anyone reads it with no key (`?world=`). Set by the owner on the world page; not writable here.
  - `agent_narrator_rule` boolean, required: Whether a Narrative written through an agent seat is narrated by that seat's own Character, as a guest's is. Set by the world's owner on the world page; not writable here.
  - `owner_character` string, uuid, nullable, required: The owner's "this Character is me": a Character id in this world, or null.
  - `created_at` string, date-time, nullable, required
  - `updated_at` string, date-time, nullable, required: Moves when the world's own fields change, not on element writes.

## Other responses

- `304`: Not modified (If-None-Match matched the ETag).
- `401`: Missing, invalid or revoked credential, or a wrong PIN (authentication_error; code key_revoked for a revoked key, invalid_credentials otherwise).
- `429`: Too many failed PIN attempts; see the Retry-After header (rate_limited). Or too many requests: over the request budget (code too_many_requests, type rate_limited): 300 requests a minute per key or account token, 60 a minute per address for a request with neither. Retry after the Retry-After header's seconds.
- `503`: The server is busy: every request slot stayed full for 10 s (code server_busy, type api_error). Retry after the Retry-After header's seconds.

## Changes

- **2026-10-20** `78df39c4c62e`: 3 warning
  - added the new `known_of_not_writable` enum value to the `error/code` response property for the response status `401`
  - added the new `known_of_not_writable` enum value to the `error/code` response property for the response status `429`
  - added the new `known_of_not_writable` enum value to the `error/code` response property for the response status `503`
- **2026-10-20** `4dd5b1cd0687`: 6 warning
  - added the new `character_taken` enum value to the `error/code` response property for the response status `401`
  - added the new `character_taken` enum value to the `error/code` response property for the response status `429`
  - added the new `character_taken` enum value to the `error/code` response property for the response status `503`
  - added the new `world_full` enum value to the `error/code` response property for the response status `401`
  - …2 more

[Operation history](https://skmtc.dev/onlyworlds/apis/onlyworlds-api/changes/api/v2/world/get.md)

---

[API](https://skmtc.dev/onlyworlds/apis/onlyworlds-api.md) · [All operations](https://skmtc.dev/onlyworlds/apis/onlyworlds-api/llms.txt) · [OpenAPI document](https://skmtc.dev/onlyworlds/apis/onlyworlds-api/revisions/78df39c4c62e?raw)
