# Unofficial Voyage > Community schema reference and validation API for authoring Voyage world JSON, built for AI agents and the humans they help. Independent and community-run - not affiliated with Latitude, and not the official Voyage site. You are on the builder, a browser GUI for humans; it exposes no crawlable content. Use the [wiki](https://wiki.unofficial.voyage/) and the machine-readable API below instead. Author a Voyage world - a single JSON document - using only the machine-readable API in the sections below. The Wiki and Builder are human web apps: do not open, crawl, or drive them. The loop: 1. List the sections: GET https://api.unofficial.voyage/sections.json. 2. Before editing a section, fetch its field rules: GET https://api.unofficial.voyage/sections/
.md (example: /sections/npcs.md). Use only the fields it documents - never invent fields. 3. Write or edit the world JSON. 4. Validate: POST the whole world JSON to https://api.unofficial.voyage/validate, which returns { counts, errors, warnings, recommendations, validatorVersion } and groups issues by severity: - errors: Voyage rejects a world with any of these — it won't pass validation and won't load: missing required fields, broken references, invalid values, codec shape violations, over-limit sizes, or malformed JSON. Zero errors means Voyage will accept it; fix every one before pasting in. - warnings: Quality issues that don't block publishing but may degrade what the AI can do with the world — empty narrative-flavor fields, layout warnings, one-way paths, and similar. Safe to ignore when the flagged behavior is intentional design. - recommendations: Best-practice suggestions worth considering — unfinishable quests, unused trigger flags, missing voice tags, and similar polish items. Safe to ignore when the flagged choice is a deliberate design decision. 5. Fix every error and re-validate until counts.errors is 0. The human you are helping pastes the finished JSON into Voyage to play or publish - that step is theirs, not yours. Base URL: https://api.unofficial.voyage (legacy https://unofficial.voyage/api/* permanently redirects there). ## API - [/](https://api.unofficial.voyage/): This manifest - [/sections.json](https://api.unofficial.voyage/sections.json): Lightweight index of all sections - [/sections/{section}.json](https://api.unofficial.voyage/sections/triggers.json): One section - metadata + prose blocks + field explanations + schema fragment (JSON) (example: triggers; replace with any section slug) - [/sections/{section}.md](https://api.unofficial.voyage/sections/triggers.md): One section - same content as JSON, formatted as Markdown (example: triggers; replace with any section slug) - [/wiki.json](https://api.unofficial.voyage/wiki.json): Entire wiki - all sections aggregated (JSON) - [/wiki.md](https://api.unofficial.voyage/wiki.md): Entire wiki - all sections concatenated (Markdown) - [/schema.json](https://api.unofficial.voyage/schema.json): Raw schema JSON - [/limits.json](https://api.unofficial.voyage/limits.json): Every enforced size and count limit with how each is measured (JSON) - the same caps the validator enforces - [/voice-catalog.json](https://api.unofficial.voyage/voice-catalog.json): Valid voiceTag values for npcs and premadeCharacters (JSON) - the codec types the field as a bare string, so these are the only source of the allowed set - [/base-world.json](https://api.unofficial.voyage/base-world.json): Empty world seed for new worlds - authorable sections only, schema-derived (JSON) - [/guides.json](https://api.unofficial.voyage/guides.json): Index of the how-to guides for authors (JSON); each entry links its own .md and .json - [/validate](https://api.unofficial.voyage/validate): POST a world's raw JSON; returns { counts, errors, warnings, recommendations, validatorVersion } ## Human web apps (not agent tools) - [Wiki](https://wiki.unofficial.voyage/): human-readable version of the same schema reference; everything is machine-readable through the API above, so use the API - [Builder](https://builder.unofficial.voyage/): a browser GUI for a person to edit a world by hand, with live validation for them; not an agent tool, so do not open or drive it - [API documentation](https://wiki.unofficial.voyage/tools/api): human-readable endpoint reference (the endpoints are listed above)