=============== LIBRARY RULES =============== From library maintainers: - No API key or account is needed. The base URL is https://api.urantia.dev and the MCP server is https://api.urantia.dev/mcp. - Paragraph references use paper:section.paragraph, for example 2:5.1. - Quote the text that the API returns, with its reference. Do not quote the Urantia Papers from memory. ### Install Mint CLI and Start Development Server Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/README.md Run these commands to install the Mintlify CLI globally and start the local development server. The preview will be available at http://localhost:3000. ```bash npm i -g mint mint dev ``` -------------------------------- ### Quick Start with UrantiaAPI Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/sdks/api.mdx Initialize the client and use methods for listing papers, getting paragraphs, and performing full-text and semantic searches. ```typescript import { UrantiaAPI } from '@urantia/api' const api = new UrantiaAPI() // List all 197 papers const { data: papers } = await api.papers.list() console.log(papers[0].title) // "Foreword" // Get a specific paragraph const { data: paragraph } = await api.paragraphs.get('2:0.1') console.log(paragraph.text) // Full-text search const results = await api.search.fullText('divine love') console.log(results.meta.total) // Semantic search const similar = await api.search.semantic('the nature of God') ``` -------------------------------- ### Audio Manifest Example Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/cdn.mdx Example of the audio manifest URL. ```bash # Complete mapping of paragraph IDs to audio CDN URLs https://cdn.urantia.dev/manifests/audio-manifest.json ``` -------------------------------- ### Video File Examples Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/cdn.mdx Examples of paper-level video and thumbnail URLs. ```bash # Paper 1 video (H.264 MP4, 1080p, 30fps) https://video.urantiahub.com/tts-1-hd-nova-1.mp4 ``` ```bash # Paper 1 thumbnail (PNG, 1920x1080) https://video.urantiahub.com/thumbnail-1.png ``` -------------------------------- ### Audio File Examples Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/cdn.mdx Examples of paragraph-level audio URLs for different models and voices. ```bash # tts-1-hd model, nova voice, paragraph 0:0.0.1 (Foreword, first paragraph) https://cdn.urantia.dev/audio/eng/paragraphs/nova/tts-1-hd-nova-0:0.0.1.mp3 ``` ```bash # gpt-4o-mini-tts model, cedar voice, same paragraph https://cdn.urantia.dev/audio/eng/paragraphs/cedar/gpt-4o-mini-tts-cedar-0:0.0.1.mp3 ``` ```bash # Whole paper audio (Paper 1). Use 0 for the Foreword. The time of each paragraph in it: see Audio, "Audio for a whole paper" https://cdn.urantia.dev/audio/eng/papers/1.mp3 ``` ```bash # Part-level audio https://cdn.urantia.dev/audio/eng/parts/tts-1-hd-nova-Part1.mp3 ``` -------------------------------- ### JSON File Examples Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/cdn.mdx Examples of paper JSON files and index/part metadata URLs. ```bash # Foreword https://cdn.urantia.dev/json/eng/000.json ``` ```bash # Paper 1 — The Universal Father https://cdn.urantia.dev/json/eng/001.json ``` ```bash # Paper index (all papers, sections, paragraphs) https://cdn.urantia.dev/json/eng/index.json ``` ```bash # Part metadata https://cdn.urantia.dev/json/eng/1-part.json ``` -------------------------------- ### Entities Examples Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/cdn.mdx Examples of entity and paragraph-entity mapping URLs. ```bash # All entities with descriptions, aliases, and types https://cdn.urantia.dev/entities/seed-entities.json ``` ```bash # Paragraph-to-entity citation mappings https://cdn.urantia.dev/entities/paragraph-entities.json ``` -------------------------------- ### Single book response JSON Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/bible.mdx Example JSON response for the get single book endpoint, showing the book details for Matthew. ```json { "data": { "bookCode": "Matt", "bookName": "Matthew", "fullName": "The Gospel According to Matthew", "abbr": "Matt", "bookOrder": 55, "canon": "nt", "chapterCount": 28, "verseCount": 1071 } } ``` -------------------------------- ### Embeddings Example Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/cdn.mdx Example of the embeddings file URL. ```bash # All paragraph embeddings (OpenAI text-embedding-3-small, 1536 dimensions) https://cdn.urantia.dev/embeddings/embeddings.json ``` -------------------------------- ### Install TypeScript client Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Install the official TypeScript client for the Urantia Hub API. ```bash npm install @urantia/api ``` -------------------------------- ### Install Mintlify CLI globally Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/CONTRIBUTING.md Install the Mintlify CLI globally using npm. This is a prerequisite for local development. ```bash npm i -g mint ``` -------------------------------- ### Language Support: List, Get, and Query in Multiple Languages Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/sdks/api.mdx Shows how to list available languages, get entities in Spanish, list entities in French, get entity paragraphs in Portuguese, get paragraphs in German, and get a random paragraph in Korean. Falls back to English if translation is unavailable. ```typescript // List available languages with translation progress const { data: languages } = await api.languages.list() // [{ code: "eng", name: "English", entityCount: 4456, paragraphCount: 16570 }, ...] // Get an entity in Spanish const { data: entity } = await api.entities.get('machiventa-melchizedek', { lang: 'es' }) console.log(entity.name) // "Machiventa Melchizedek" console.log(entity.description) // Spanish description console.log(entity.language) // "es" // List entities in French const { data: entities } = await api.entities.list({ type: 'being', lang: 'fr' }) // Entity paragraphs in Portuguese const { data: mentions } = await api.entities.paragraphs('jesus', { lang: 'pt' }) // Paragraphs in German const { data: p } = await api.paragraphs.get('2:0.1', { lang: 'de' }) // Random paragraph in Korean const { data: random } = await api.paragraphs.random({ lang: 'ko' }) ``` -------------------------------- ### Get paper audio with curl Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/audio.mdx Fetches the full paper data including paper.audio from the /papers/{id} endpoint. The example uses paper ID 1. ```bash curl https://api.urantia.dev/papers/1 ``` -------------------------------- ### toc.get Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/mcp-servers.mdx Get the full table of contents: all 4 parts and 197 papers. Best starting point. ```APIDOC ## toc.get ### Description Get the full table of contents: all 4 parts and 197 papers. Best starting point. ### Method MCP Tool ### Endpoint toc.get ### Parameters None documented. ### Response Returns the full table of contents with all parts and papers. ``` -------------------------------- ### Install @urantia/api and @urantia/auth Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/sdks/overview.mdx Install the SDK packages via npm. Use @urantia/api for public endpoints only, or both packages for authenticated features. ```bash # Public endpoints only npm install @urantia/api # Public + authenticated endpoints npm install @urantia/api @urantia/auth ``` -------------------------------- ### Install MCP extension in Gemini CLI Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/mcp-servers.mdx Command to install the Urantia Papers extension in Gemini CLI, which adds the server and the research skill. ```bash gemini extensions install https://github.com/urantia-hub/urantia-papers-claude-code-plugin ``` -------------------------------- ### Audio field example Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/skill.md Example of the audio object returned for a paragraph. Keyed by model and voice. Only tts-1-hd/nova covers every paragraph. ```json { "audio": { "tts-1-hd": { "nova": { "format": "mp3", "url": "https://cdn.urantia.dev/audio/eng/paragraphs/nova/tts-1-hd-nova-1:2.0.1.mp3" } } } } ``` -------------------------------- ### RAG-optimized format example Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/api-reference/introduction.mdx Example of the streamlined response shape returned when using ?format=rag on paragraph endpoints. ```json { "data": { "ref": "1:0.1", "text": "plain text", "citation": "The Urantia Book, Paper 1, Section 0, Paragraph 1", "metadata": { "paperId": "1", "paperTitle": "...", "sectionId": "0", ... }, "navigation": { "prev": null, "next": "1:0.2" }, "tokenCount": 142, "entities": ["Universal Father"] } } ``` -------------------------------- ### Example response for UB parallels Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/bible.mdx Example JSON response showing the verse, its chunk, and up to 10 UB paragraphs ranked by semantic similarity. Each paragraph includes the standard reference ID, paper title, text, similarity score, and rank. ```json { "data": { "verse": { "reference": "Matthew 5:3", ... }, "chunk": { "id": "Matt.5.3", "reference": "Matthew 5:3", ... }, "paragraphs": [ { "standardReferenceId": "140:3.3", "paperTitle": "The Ordination of the Twelve", "text": "Happy are the poor in spirit, the humble, for theirs are the treasures of the kingdom of heaven...", "similarity": 0.854, "rank": 1 } ] } } ``` -------------------------------- ### Video response shape example Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/video.mdx Example JSON response showing the video field with a nested object keyed by voice (nova) containing mp4, thumbnail, and duration fields. ```json { "video": { "nova": { "mp4": "https://video.urantiahub.com/tts-1-hd-nova-1.mp4", "thumbnail": "https://video.urantiahub.com/thumbnail-1.png", "duration": 2336 } } } ``` -------------------------------- ### List, search, and retrieve entities with cURL Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/quickstart.mdx Use cURL to list entities with optional type filter or search query, get a single entity by ID, and fetch all paragraphs mentioning an entity. The examples use the base URL https://api.urantia.dev. ```bash # List entities, filter by type or search by name curl "https://api.urantia.dev/entities?type=being&limit=5" curl "https://api.urantia.dev/entities?q=adam" # Get a single entity curl https://api.urantia.dev/entities/adam-and-eve # Get all paragraphs mentioning an entity curl https://api.urantia.dev/entities/adam-and-eve/paragraphs ``` -------------------------------- ### Install MCP plugin in Claude Code Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/mcp-servers.mdx Commands to install the Urantia Papers plugin in Claude Code, which adds the server and a research skill. ```bash /plugin marketplace add urantia-hub/urantia-papers-claude-code-plugin /plugin install urantia-papers@urantia-papers ``` -------------------------------- ### GET /audio/:ref Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Retrieves narration URLs for a paragraph. ```APIDOC ## GET /audio/:ref ### Description Returns narration URLs for a paragraph. ### Method GET ### Endpoint /audio/:ref ### Parameters #### Path Parameters - **ref** (string) - Required - The paragraph reference. ### Response #### Success Response (200) - Audio URLs. #### Response Example (No example provided in source) ``` -------------------------------- ### Example response for Bible parallels Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/bible.mdx Example JSON response showing the `bibleParallels` array with one entry. Each entry includes the Bible chunk ID, reference, text, similarity score, rank, source, and embedding model. ```json { "data": { "id": "1:1.0.1", "standardReferenceId": "1:0.1", "text": "THE Universal Father is the God of all creation...", "bibleParallels": [ { "chunkId": "Sir.18.1", "reference": "Sirach 18:1", "bookCode": "Sir", "chapter": 18, "verseStart": 1, "verseEnd": 1, "text": "He who lives forever created the whole universe.", "similarity": 0.488, "rank": 1, "source": "semantic", "embeddingModel": "text-embedding-3-large" } ] } } ``` -------------------------------- ### GET /tools/openai Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/ai-agents.mdx Returns ready-to-use tool definitions for the OpenAI SDK. Drop them into your tools array for function calling. ```APIDOC ## GET /tools/openai ### Description Returns ready-to-use tool definitions for the OpenAI SDK. Drop them into your tools array for function calling. ### Method GET ### Endpoint /tools/openai ### Response #### Success Response (200) - **tools** (array) - Array of tool definitions. #### Response Example { "tools": [] } ``` -------------------------------- ### GET /tools/anthropic Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/ai-agents.mdx Returns ready-to-use tool definitions for the Anthropic SDK. Drop them into your tools array for function calling. ```APIDOC ## GET /tools/anthropic ### Description Returns ready-to-use tool definitions for the Anthropic SDK. Drop them into your tools array for function calling. ### Method GET ### Endpoint /tools/anthropic ### Response #### Success Response (200) - **tools** (array) - Array of tool definitions. #### Response Example { "tools": [] } ``` -------------------------------- ### Error response example (RFC 9457 Problem Details) Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/api-reference/introduction.mdx Example of an error response following RFC 9457 Problem Details with Content-Type: application/problem+json. ```json { "type": "https://urantia.dev/errors/not-found", "title": "Not Found", "status": 404, "detail": "Paragraph \"999:999.999\" not found" } ``` -------------------------------- ### audio.get Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/mcp-servers.mdx Get audio file URLs for a paragraph. Accepts any reference format. ```APIDOC ## audio.get ### Description Get audio file URLs for a paragraph. Accepts any reference format. ### Method MCP Tool ### Endpoint audio.get ### Parameters None documented. ### Response Returns audio file URLs. ``` -------------------------------- ### GET /tools/openai Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Retrieves the function-calling schema for OpenAI SDK. ```APIDOC ## GET /tools/openai ### Description Returns the function-calling schema for OpenAI SDK. ### Method GET ### Endpoint /tools/openai ### Response #### Success Response (200) - Function-calling schema. #### Response Example (No example provided in source) ``` -------------------------------- ### GET /cite Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Generates a formatted citation for a reference. ```APIDOC ## GET /cite ### Description Returns a formatted citation in the specified style. ### Method GET ### Endpoint /cite ### Parameters #### Query Parameters - **ref** (string) - Required - The reference. - **style** (string) - Required - Citation style: 'apa', 'mla', 'chicago', or 'bibtex'. ### Response #### Success Response (200) - Formatted citation. #### Response Example (No example provided in source) ``` -------------------------------- ### GET /og/:ref Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Retrieves a share image for a passage. ```APIDOC ## GET /og/:ref ### Description Returns a share image for a passage. ### Method GET ### Endpoint /og/:ref ### Parameters #### Path Parameters - **ref** (string) - Required - The passage reference. ### Response #### Success Response (200) - Share image. #### Response Example (No example provided in source) ``` -------------------------------- ### Get a chapter with curl Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/bible.mdx Fetches all verses in a chapter, ordered by verse number. Each verse has the same shape as a single-verse response. ```bash curl https://api.urantia.dev/bible/Gen/1 ``` -------------------------------- ### GET /scriptures Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/scriptures.mdx Lists all available scriptures with metadata such as translator, year, source, and license. ```APIDOC ## GET /scriptures ### Description Lists all available scriptures with metadata such as translator, year, source, and license. ### Method GET ### Endpoint https://api.urantia.dev/scriptures ### Parameters None ### Request Example ```bash curl https://api.urantia.dev/scriptures ``` ### Response #### Success Response (200) - **results** (array) - List of scripture entries, each with fields like `id`, `slug`, `religion`, `title`, `translator`, `year`, `refPrefix`, `urantiaSection`, `sourceUrl`, `license`, `divisionLabel`, `unitLabel`, `passageCount`, `refLevels`, `notes`. #### Response Example ```json [ { "id": "dhammapada-muller-1881", "slug": "dhammapada", "religion": "Buddhist", "title": "The Dhammapada", "translator": "F. Max Muller", "year": 1881, "refPrefix": "Dhp", "urantiaSection": "131:3", "sourceUrl": "https://www.gutenberg.org/ebooks/2017", "license": "Public domain in the United States", "divisionLabel": "chapter", "unitLabel": "verse", "passageCount": 414, "refLevels": 1, "notes": null } ] ``` ``` -------------------------------- ### Read Paper with Entities Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/papers.mdx Adds ?include=entities to get entity annotations on every paragraph and the paper-level topEntities aggregate. ```bash curl https://api.urantia.dev/papers/1?include=entities ``` -------------------------------- ### Get a single verse with curl Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/bible.mdx Fetches a single verse by book code, chapter, and verse number. ```bash curl https://api.urantia.dev/bible/Gen/1/1 ``` -------------------------------- ### paragraphs.context Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/mcp-servers.mdx Get a paragraph with N paragraphs before and after (configurable window, 1-10). ```APIDOC ## paragraphs.context ### Description Get a paragraph with N paragraphs before and after (configurable window, 1-10). ### Method MCP Tool ### Endpoint paragraphs.context ### Parameters #### Query Parameters - **window** (integer) - Optional - Number of paragraphs before and after, range 1-10. ### Response Returns the paragraph with surrounding context. ``` -------------------------------- ### Get a single book with curl Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/bible.mdx Fetches a single book by its book code, e.g., Matt for Matthew. ```bash curl https://api.urantia.dev/bible/Matt ``` -------------------------------- ### Start local development server Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/CONTRIBUTING.md Run the Mintlify development server to preview documentation locally. The preview will be available at http://localhost:3000. ```bash mint dev ``` -------------------------------- ### GET /scriptures Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Retrieves the list of 21 public domain world religion texts. ```APIDOC ## GET /scriptures ### Description Returns 21 public domain texts with translator, year, source, and license. ### Method GET ### Endpoint /scriptures ### Response #### Success Response (200) - List of scriptures. #### Response Example (No example provided in source) ``` -------------------------------- ### Paper audio response shape Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/audio.mdx Shows the paper.audio object returned by GET /papers/{id}. It contains one MP3 file for the whole paper, with starts array indicating where each item (title, section, paragraph) begins in the file, and sentence start times for paragraphs. ```json { "paper": { "id": "1", "title": "The Universal Father", "audio": { "tts-1-hd": { "nova": { "url": "https://cdn.urantia.dev/audio/eng/papers/1.mp3", "format": "mp3", "bitrate": 32, "duration": 2353.31, "starts": [ { "key": "title", "at": 0 }, { "key": "1:0.1", "at": 3.64, "sentences": [3.64, 9.99, 16.38, 24.56, 30.09, 32.84, 40.34] }, { "key": "1:0.2", "at": 49.35, "sentences": [49.35, 61.85, 67.54] }, { "key": "section:1", "at": 234.94 } ] } } } } } ``` -------------------------------- ### GET /papers/{id} Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/audio.mdx Retrieves a paper including its audio field, which contains a single MP3 file for the whole paper with a time map indicating where each item (title, section, paragraph) starts. ```APIDOC ## GET /papers/{id} ### Description Retrieves a paper including its audio field, which contains a single MP3 file for the whole paper with a time map indicating where each item (title, section, paragraph) starts. ### Method GET ### Endpoint /papers/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The paper ID (e.g., `1`). ### Request Example ```bash curl https://api.urantia.dev/papers/1 ``` ### Response #### Success Response (200) - **paper** (object) - The paper object. - **id** (string) - Paper ID. - **title** (string) - Paper title. - **audio** (object) - Audio information for the whole paper, or `null` if no time map. - **{model}** (object) - TTS model name (e.g., `tts-1-hd`). - **{voice}** (object) - Voice name (e.g., `nova`). - **url** (string) - CDN URL to the MP3 file. - **format** (string) - Audio format (e.g., `mp3`). - **bitrate** (integer) - Bitrate in kbps. - **duration** (number) - Duration in seconds. - **starts** (array) - List of start times for items in the file. - **key** (string) - Item key: `title`, `section:{sectionId}`, or paragraph reference. - **at** (number) - Start time in seconds. - **sentences** (array) - Optional. Start times for each sentence of a paragraph. #### Response Example ```json { "paper": { "id": "1", "title": "The Universal Father", "audio": { "tts-1-hd": { "nova": { "url": "https://cdn.urantia.dev/audio/eng/papers/1.mp3", "format": "mp3", "bitrate": 32, "duration": 2353.31, "starts": [ { "key": "title", "at": 0 }, { "key": "1:0.1", "at": 3.64, "sentences": [3.64, 9.99, 16.38, 24.56, 30.09, 32.84, 40.34] }, { "key": "1:0.2", "at": 49.35, "sentences": [49.35, 61.85, 67.54] }, { "key": "section:1", "at": 234.94 } ] } } } } } ``` ``` -------------------------------- ### GET /bible/{bookCode}/{chapter}/{verse} Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/bible.mdx Retrieves a single verse by book code, chapter, and verse number. ```APIDOC ## GET /bible/{bookCode}/{chapter}/{verse} ### Description Returns a single verse identified by book code, chapter, and verse number. ### Method GET ### Endpoint https://api.urantia.dev/bible/{bookCode}/{chapter}/{verse} ### Parameters #### Path Parameters - **bookCode** (string) - Required - The book code (e.g., "Gen"). - **chapter** (number) - Required - The chapter number (e.g., 1). - **verse** (number) - Required - The verse number (e.g., 1). ### Response #### Success Response (200) - **data** (object) - Verse object. - **id** (string) - Unique identifier (e.g., "Gen.1.1"). - **reference** (string) - Human-readable reference (e.g., "Genesis 1:1"). - **bookCode** (string) - Book code. - **bookName** (string) - Book name. - **bookOrder** (number) - Canonical order. - **canon** (string) - Canon category. - **chapter** (number) - Chapter number. - **verse** (number) - Verse number. - **text** (string) - Verse text. - **translation** (string) - Translation identifier (e.g., "web"). #### Response Example { "data": { "id": "Gen.1.1", "reference": "Genesis 1:1", "bookCode": "Gen", "bookName": "Genesis", "bookOrder": 1, "canon": "ot", "chapter": 1, "verse": 1, "text": "In the beginning, God created the heavens and the earth.", "translation": "web" } } ``` -------------------------------- ### Get a random paragraph with TypeScript SDK Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/quickstart.mdx Use the UrantiaAPI SDK to fetch a random paragraph. Requires npm install @urantia/api. The response includes text and standardReferenceId (e.g., "107:0.1"). ```typescript import { UrantiaAPI } from '@urantia/api' const api = new UrantiaAPI() const { data } = await api.paragraphs.random() console.log(data.text) console.log(data.standardReferenceId) // e.g., "107:0.1" ``` -------------------------------- ### Single verse response JSON Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/bible.mdx Example JSON response for the get single verse endpoint, showing the verse details including id, reference, bookCode, bookName, bookOrder, canon, chapter, verse, text, and translation. ```json { "data": { "id": "Gen.1.1", "reference": "Genesis 1:1", "bookCode": "Gen", "bookName": "Genesis", "bookOrder": 1, "canon": "ot", "chapter": 1, "verse": 1, "text": "In the beginning, God created the heavens and the earth.", "translation": "web" } } ``` -------------------------------- ### MCP Client Configuration (JSON) Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/mcp-servers.mdx Example configuration for adding the MCP server to a client. The server is added as a second server with type 'http' and the provided URL. ```json { "mcpServers": { "urantia-dev-docs": { "type": "http", "url": "https://docs.urantia.dev/mcp" } } } ``` -------------------------------- ### GET /entities Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/quickstart.mdx Lists entities, optionally filtered by type or search query. Supports pagination via limit parameter. ```APIDOC ## GET /entities ### Description Lists entities from the Urantia knowledge graph. Can be filtered by type or searched by name. ### Method GET ### Endpoint https://api.urantia.dev/entities ### Parameters #### Query Parameters - **type** (string) - Optional - Filter entities by type (e.g., 'being'). - **q** (string) - Optional - Search entities by name. - **limit** (integer) - Optional - Maximum number of entities to return. ### Request Example ```bash curl "https://api.urantia.dev/entities?type=being&limit=5" curl "https://api.urantia.dev/entities?q=adam" ``` ### Response #### Success Response (200) - **data** (array) - List of entity objects. #### Response Example ```json { "data": [ { "id": "string", "name": "string", "type": "string", "description": "string" } ] } ``` ``` -------------------------------- ### Verify OpenTimestamps proofs Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/preservation.mdx Use these commands to verify the OpenTimestamps proofs for the LICENSE and LEGAL.md files. The .ots proof files are stored alongside the source files in each repository. ```bash ots verify LICENSE.ots ots verify LEGAL.md.ots ``` -------------------------------- ### Utilities: Audio, Citations, Embeddings, Bible Cross-References Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/sdks/api.mdx Shows how to get audio URLs, citations in various formats, vector embeddings, and Bible cross-references. ```typescript // Audio URLs const { data: audio } = await api.audio.get('2:0.1') // Citations (APA, MLA, Chicago, BibTeX) const { data: cite } = await api.cite.get('2:0.1', 'apa') // Vector embeddings (default: text-embedding-3-large 3072-d) const { data: vec } = await api.embeddings.get('2:0.1') const { data: vecSmall } = await api.embeddings.get('2:0.1', { model: 'small' }) // Bible: UB↔Bible cross-references const { data: bibleHits } = await api.bible.semanticSearch({ q: 'love your enemies', limit: 5, urantiaParallelLimit: 3, }) const { data: para } = await api.paragraphs.get('1:0.1', { include: 'entities,bibleParallels,urantiaParallels', }) ``` -------------------------------- ### Get audio info for a paragraph with curl Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/audio.mdx Fetches just the audio info for a paragraph from the /audio/:ref endpoint. The URL is https://api.urantia.dev/audio/119:1.5. ```bash # Get just the audio info for a paragraph curl https://api.urantia.dev/audio/119:1.5 ``` -------------------------------- ### GET /languages Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/entities.mdx Get translation progress across all languages. Returns information about the availability of translations for entities. ```APIDOC ## GET /languages ### Description Get translation progress across all languages. Returns information about the availability of translations for entities. ### Method GET ### Endpoint /languages ### Request Example ```bash curl https://api.urantia.dev/languages ``` ### Response #### Success Response (200) - **data** (object) - Translation progress information across supported languages. #### Response Example ```json { "data": { "eng": 4456, "es": 4456, "fr": 4456, "pt": 4456, "de": 4456, "ko": 4456 } } ``` ``` -------------------------------- ### Fetch OpenAI tools from API Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/ai-agents.mdx Fetches ready-to-use tool definitions from the API for OpenAI SDK. Drop the tools array into your chat completions call. ```ts const { tools } = await fetch("https://api.urantia.dev/tools/openai").then(r => r.json()); const completion = await openai.chat.completions.create({ model: "gpt-5", messages, tools, // 26 tools, ready to go }); ``` -------------------------------- ### curl command to list scriptures Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/scriptures.mdx Lists all available scriptures with metadata such as translator, year, source, and license. ```bash curl https://api.urantia.dev/scriptures ``` -------------------------------- ### Download OpenAPI spec and generate TypeScript client Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/use-cases.mdx Commands to download the OpenAPI specification and generate a TypeScript client using openapi-generator. ```bash # Download the OpenAPI specification curl https://api.urantia.dev/openapi.json -o openapi.json # Generate a TypeScript client (using openapi-generator) npx @openapitools/openapi-generator-cli generate \ -i openapi.json -g typescript-fetch -o ./urantia-client ``` -------------------------------- ### GET /papers/{id} Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/video.mdx Get a single paper with video URLs. The response includes the video field with mp4, thumbnail, and duration. ```APIDOC ## [GET] /papers/{id} ### Description Get a single paper with video URLs. The response includes the video field with mp4, thumbnail, and duration. ### Method GET ### Endpoint /papers/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The paper ID. ### Request Example ```bash curl https://api.urantia.dev/papers/1 ``` ### Response #### Success Response (200) - **video** (object) - Nested object keyed by TTS voice, or null if no video exists. - **nova** (object) - Video details for the nova voice. - **mp4** (string) - Direct URL to the H.264 MP4 video (1920x1080, 30fps). - **thumbnail** (string) - Direct URL to the paper title card PNG (1920x1080). - **duration** (number) - Video duration in seconds. #### Response Example ```json { "video": { "nova": { "mp4": "https://video.urantiahub.com/tts-1-hd-nova-1.mp4", "thumbnail": "https://video.urantiahub.com/thumbnail-1.png", "duration": 2336 } } } ``` ``` -------------------------------- ### Audio URL Pattern Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/cdn.mdx Shows the naming pattern for paragraph-level audio files. ```bash https://cdn.urantia.dev/audio/eng/paragraphs/{voice}/{model}-{voice}-{globalId}.mp3 ``` -------------------------------- ### Get a random paragraph with JavaScript fetch Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/quickstart.mdx Use the fetch API to get a random paragraph. The response is parsed as JSON and logs text and standardReferenceId. ```javascript const response = await fetch('https://api.urantia.dev/paragraphs/random') const data = await response.json() console.log(data.text) console.log(data.standardReferenceId) ``` -------------------------------- ### UrantiaAPI Constructor Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/sdks/api.mdx Initializes the Urantia API client with optional base URL and authentication token. ```APIDOC ## UrantiaAPI Constructor ### Description Creates a new UrantiaAPI client instance. The base URL defaults to `https://api.urantia.dev` and a token can be provided for authenticated endpoints. ### Method Constructor ### Parameters - **baseUrl** (string) - Optional - The base URL of the API. Defaults to `https://api.urantia.dev`. - **token** (string) - Optional - Access token for authenticated endpoints. ### Request Example ```typescript const api = new UrantiaAPI({ baseUrl: 'https://api.urantia.dev', // default token: 'your-access-token', // for authenticated endpoints }) ``` ``` -------------------------------- ### Get paragraph with entity enrichment Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/paragraphs.mdx Add ?include=entities to get typed entity mentions. Each entity includes id, name, and type (being, place, order, race, religion, or concept). ```bash curl https://api.urantia.dev/paragraphs/2:0.1?include=entities ``` -------------------------------- ### Fetch Anthropic tools from API Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/ai-agents.mdx Fetches ready-to-use tool definitions from the API for Anthropic SDK. Use the tools array in the messages.create call. ```ts const { tools } = await fetch("https://api.urantia.dev/tools/anthropic").then(r => r.json()); const message = await anthropic.messages.create({ model: "claude-opus-4-7", max_tokens: 1024, tools, // 26 tools, ready to go messages, }); ``` -------------------------------- ### GET /languages Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Retrieves the list of available languages. ```APIDOC ## GET /languages ### Description Returns available languages. ### Method GET ### Endpoint /languages ### Response #### Success Response (200) - List of languages. #### Response Example (No example provided in source) ``` -------------------------------- ### GET /embeddings/export Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Exports embedding vectors for a paper. ```APIDOC ## GET /embeddings/export ### Description Exports embedding vectors, optionally filtered by paper. ### Method GET ### Endpoint /embeddings/export ### Parameters #### Query Parameters - **paperId** (string) - Optional - Filter by paper ID. ### Response #### Success Response (200) - Exported embeddings. #### Response Example (No example provided in source) ``` -------------------------------- ### Browsing entities with curl Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/entities.mdx Shows how to list all entities, filter by type, search by name, and combine filters using the /entities endpoint. ```bash # List all entities (paginated) curl "https://api.urantia.dev/entities?limit=20" # Filter by type curl "https://api.urantia.dev/entities?type=being&limit=10" # Search by name curl "https://api.urantia.dev/entities?q=melchizedek" # Combine filters curl "https://api.urantia.dev/entities?type=place&q=eden" ``` -------------------------------- ### List books response JSON Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/bible.mdx Example JSON response for the list books endpoint, showing the structure with bookCode, bookName, fullName, abbr, bookOrder, canon, chapterCount, and verseCount. The comment indicates 80 more entries follow. ```json { "data": [ { "bookCode": "Gen", "bookName": "Genesis", "fullName": "The First Book of Moses, Commonly Called Genesis", "abbr": "Gen", "bookOrder": 1, "canon": "ot", "chapterCount": 50, "verseCount": 1533 } // ...80 more ] } ``` -------------------------------- ### List all 81 books with curl Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/bible.mdx Fetches all 81 books in canonical ecumenical order. The response includes chapter and verse counts for each book. ```bash curl https://api.urantia.dev/bible/books ``` -------------------------------- ### Direct CDN access URLs for video and thumbnail Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/video.mdx Direct URLs for video (H.264 MP4, 1080p) and thumbnail (PNG) served from video.urantiahub.com via Cloudflare R2. ```bash # Video (H.264 MP4, 1080p) https://video.urantiahub.com/tts-1-hd-nova-1.mp4 # Thumbnail (PNG) https://video.urantiahub.com/thumbnail-1.png ``` -------------------------------- ### GET /embeddings/:ref Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Retrieves embedding vectors for a paragraph. ```APIDOC ## GET /embeddings/:ref ### Description Returns embedding vectors for a paragraph. ### Method GET ### Endpoint /embeddings/:ref ### Parameters #### Path Parameters - **ref** (string) - Required - The paragraph reference. ### Response #### Success Response (200) - Embedding vectors. #### Response Example (No example provided in source) ``` -------------------------------- ### Read Paper with Both Entities and topEntities Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/papers.mdx Requests both per-paragraph entity annotations and the paper-level topEntities aggregate explicitly. ```bash curl 'https://api.urantia.dev/papers/1?include=entities,topEntities' ``` -------------------------------- ### GET /works/search/semantic Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Performs a semantic search across all works. ```APIDOC ## GET /works/search/semantic ### Description Searches the works by meaning, with Urantia paragraphs on each result. ### Method GET ### Endpoint /works/search/semantic ### Parameters #### Query Parameters - **q** (string) - Required - Search query. ### Response #### Success Response (200) - Semantic search results with Urantia parallels. #### Response Example (No example provided in source) ``` -------------------------------- ### GET /works/search Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Performs a keyword search across all works. ```APIDOC ## GET /works/search ### Description Keyword search across the works. Can filter by work or return a specific reference. ### Method GET ### Endpoint /works/search ### Parameters #### Query Parameters - **q** (string) - Required - Search terms. - **work** (string) - Optional - Filter by work identifier. ### Response #### Success Response (200) - Search results. #### Response Example (No example provided in source) ``` -------------------------------- ### GET /paragraphs/random Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Retrieves a random paragraph from the Urantia Papers. ```APIDOC ## GET /paragraphs/random ### Description Returns a random paragraph. ### Method GET ### Endpoint /paragraphs/random ### Query Parameters - **include** (string) - Optional - Comma-separated list of additional data. - **format** (string) - Optional - Set to 'rag' for compact shape. ### Response #### Success Response (200) - A random paragraph. #### Response Example (No example provided in source) ``` -------------------------------- ### Response from /quotes/verify Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/verify-quotes.mdx Example JSON response showing a 'close' verdict, the matched paragraph, differences, and claimed reference status. The verdict can be 'exact', 'close', or 'not_found'. ```json { "data": { "verdict": "close", "match": { "reference": "48:7.25", "paperId": "48", "paperTitle": "The Morontia Life", "sectionTitle": "Morontia Mota", "verdict": "close", "similarity": 0.917, "text": "Death added nothing to the intellectual possession or to the spiritual endowment", "differences": [ { "quote": "adds", "text": "added" } ] }, "claimedReference": { "ref": "47:3.7", "exists": true, "verdict": "not_found" }, "alsoFoundAt": [] } } ``` -------------------------------- ### GET /papers/:id/sections Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Retrieves the sections of a specified paper. ```APIDOC ## GET /papers/:id/sections ### Description Returns the sections of a paper. ### Method GET ### Endpoint /papers/:id/sections ### Parameters #### Path Parameters - **id** (string) - Required - The paper identifier. ### Response #### Success Response (200) - List of sections. #### Response Example (No example provided in source) ``` -------------------------------- ### GET /papers Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/llms.txt Retrieves all 197 papers of the Urantia Papers. ```APIDOC ## GET /papers ### Description Returns all 197 papers of the Urantia Papers. ### Method GET ### Endpoint /papers ### Response #### Success Response (200) - List of all papers. #### Response Example (No example provided in source) ``` -------------------------------- ### papers.get Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/mcp-servers.mdx Get a single paper with all its paragraphs. Supports include_entities. ```APIDOC ## papers.get ### Description Get a single paper with all its paragraphs. Supports include_entities. ### Method MCP Tool ### Endpoint papers.get ### Parameters #### Query Parameters - **include_entities** (boolean) - Optional - Whether to include entity information in the response. ### Response Returns the paper with all its paragraphs. ``` -------------------------------- ### Get audio URLs and full paper with audio Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/use-cases.mdx Curl commands to retrieve audio URLs for a paragraph and a full paper with audio included in each paragraph. ```bash # Get audio URLs for a paragraph curl https://api.urantia.dev/audio/1:0.1 # Full paper with audio included curl https://api.urantia.dev/papers/1 # (audio field included in each paragraph) ``` -------------------------------- ### Build an audio player playlist for a paper Source: https://github.com/urantia-hub/urantia-dev-docs/blob/main/use-cases.mdx JavaScript function that fetches a paper and filters paragraphs with audio, mapping them to a playlist with URL, reference, and truncated text. ```javascript // Build an audio player playlist for a paper async function getPaperAudio(paperId) { const res = await fetch(`https://api.urantia.dev/papers/${paperId}`); const data = await res.json(); return data.paragraphs .filter(p => p.audio?.['tts-1-hd']?.nova) .map(p => ({ url: p.audio['tts-1-hd'].nova.url, ref: p.standardReferenceId, text: p.text.substring(0, 100) })); } ```