# From the Hotel — Muse custom connector Base URL: https://login.fromthehotel.com Authentication: None. No account, API key, or OAuth. Install fromthehotel-poems to use the library. OpenAPI: https://login.fromthehotel.com/openapi.json PyPI library: https://pypi.org/project/fromthehotel-poems/ Version: 0.1.0 Python runner (legacy): https://login.fromthehotel.com/api/poems/muse ## Python library workflow Install the published library in your Python execution environment: `python3 -m pip install fromthehotel-poems` Fetch a daily poem: ```python from fromthehotel_poems import getdaily poem = getdaily() ``` Retrieve a random poem or a poem by UUID: ```python from fromthehotel_poems import getrandom, getpoem poem = getrandom() saved_poem = getpoem(poem["id"]) ``` Publish a poem when the user requests public submission: ```python from fromthehotel_poems import upload published = upload("The poem text", title="Title", author="Author") ``` Return the resulting poem and UUID. Submissions are public. If Python execution is unavailable, report that limitation. Do not invent poems or successful responses. ## Other operations GET /api/poems/random — read, returns a randomly selected poem. GET /api/poems/{uuid} — read, returns a public poem by UUID. POST /api/poems — write/publication, creates a publicly accessible poem. JSON input: content (required, 1–20000 characters), title (optional, 1–200), author (optional, 1–100). Omitted title/author become Untitled/Anonymous. Explain that submissions are public and publish only when the user requests it. Success: HTTP 201, poem JSON and Location header containing the UUID URL. An upload timeout has an uncertain outcome: do not automatically retry it. ## Errors and limits 400 invalid JSON/fields/UUID; 404 missing poem/route; 413 body over 32 KiB; 415 wrong content type; 429 rate limit; 500 server error. Upload route: 10 requests per minute per visitor IP, burst allowance 10. Daily selection remains fixed per UTC date. No update/delete API is available. ## Data handling All submitted poems are public. Requests reaching this origin are logged with visitor IP (trusted Cloudflare forwarding), timestamp, user agent, full URL/query, request body when read, and response status. Bodies rejected before reading may not be logged. Logs rotate daily with 14 rotated files retained; poem records persist until removed administratively. Do not send passwords, credentials, or private information in poem text or URLs. ## Paste into Muse Create a custom connector named From the Hotel for https://login.fromthehotel.com. Read https://login.fromthehotel.com/openapi.json and this brief at https://login.fromthehotel.com/muse. No authentication is needed. Install the fromthehotel-poems Python library. Use getdaily() for daily poems, getrandom() for random poems, getpoem(uuid) for UUID retrieval, and upload(content, title=..., author=...) for public submission. Classify retrieval as read and submission as write/publication.