Part of the Content API. Changes to the API land here, newest first. The API is in beta: breaking changes are possible, and every one is listed on this page.
November 5, 2026 — home valuation pages
Added: home valuation landing pages, the “What’s your home worth?” seller lead pages, at /content/valuation-pages/: list, create, edit, delete and revisions, with the headline over the address box, the example address, the hero image and the usual page and SEO fields. They work while the site has Seller Leads on; otherwise reads carry a valuation_disabled warning and writes answer 409 valuation_disabled. The AI assistant connector has matching valuation_pages_* tools. See Home valuation pages.
October 19, 2026 — safer defaults
Changed: CSS in HTML fields may only load files (url(), @import, image-set()) from the site itself, Real Geeks hosts and Google Fonts; any other host drops the style block or attribute with a sanitized warning naming the host. Design variable values reject url(), image-set() and expression(). The AI assistant connector’s blog_posts_create saves a draft unless status: "published" is sent; the REST API’s default is unchanged. See HTML sanitizing.
Added: a key unused for 90 days expires (401 token_expired). Approving a command-line login or an AI assistant emails the person who approved it. The AI assistant approval page warns when the application is not one we recognise. Every DELETE counts against a separate limit of 60 per hour per key.
October 9, 2026 — removed scripts explain themselves
Changed: a sanitized warning that removed a <script> now says why in its message and has a new admin_url field: the admin form where a signed-in person can add the script by hand with the editor’s code button. JavaScript is never saved through the API, so that a tool or AI assistant cannot be led into adding code to a site. Other warnings are unchanged. See Scripts.
October 9, 2026 — font settings
Added: two site settings choose a site’s fonts on anna and anna-modern: HEADING_FONT and BODY_FONT, each one of 30 families served from the site itself. Set them through PATCH /settings/ instead of loading a font with an @import or <link> in content, which slows the page. See Fonts.
October 8, 2026 — undo for more of the site
Added: sidebars, navigation bars, featured pages groups and banners keep revisions, with the same three endpoints as pages: list, preview and revert. One request is one revision, so replacing a navigation bar’s links or rewriting a sidebar is undone as a unit, with the list back in its original order. See Revisions and undo.
Added: site settings and the design have revisions too, at /settings/revisions/ and /design/revisions/, listing changes to the settings the API exposes whoever made them.
Added: deleted and overwritten files can be restored for 90 days: GET /files/versions/, GET /files/deleted/ and POST /files/restore/, for single files and whole deleted folders. See Restoring files.
Changed: page and post revisions now cover every writable field. slug, parent, title, meta_*, banner, the landscape image and agent_id on pages, and categories and the comment switches on posts, used to be recorded but not revertible. A save that changes one of them now appears in revisions/.
Changed: a revert that can no longer be applied answers 409 conflict and changes nothing, for example when another page has since taken the earlier URL.
October 7, 2026 — CSS, structured data and SVG in content
Changed: HTML fields keep much more of what a designed page is made of. <style> blocks and any inline style are kept, as are JSON-LD (<script type="application/ld+json">, re-serialized), the microdata attributes and <meta itemprop>, inline <svg>, srcset, role and aria-*, and the section, article, main, aside, details/summary family of tags. Pages built with their own CSS and schema markup can now be edited without losing them. Other scripts, event handlers, forms and data-* attributes are still removed. See HTML fields.
Changed: the inline style property allow-list is gone. A style attribute is kept whole or dropped whole, so removed in a sanitized warning no longer lists bare property names such as position; it lists style (reason) or <style> (reason).
October 7, 2026 — market report pages and banners
Added: market report pages have their own endpoints, /content/market-report-pages/: list, create, update and delete them, set the search the report covers, sold_within, number_of_properties, header and content, and undo changes through revisions. See Market report pages.
Added: banners, the message strip with a button across the top of a page, have /content/banners/, and content pages, agent landing pages, area pages and the home page take a writable banner field (an id or null). See Banners.
Added: both are available to AI assistants as the market_report_pages_* and banners_* tools. Both use the pages scopes, so existing keys with page access reach them.
October 7, 2026 — featured agents
Added: featured_agents on the home page is writable. PATCH /content/home-page/ with the full list of Agent Detail page ids to choose the agent cards shown on the home page, or [] to remove them. The same field is on the home_page_update tool for AI assistants. See Featured agents.
Changed: featured_agents reads back as a list of numbers ([42, 57]) instead of strings (["42", "57"]).
October 5, 2026 — on for every site
Changed: the Content API and the AI assistant connection are on for every Real Geeks website. They are still in beta, but there is no access request any more and nothing to enable per site: a site owner creates a key in the site admin, or approves a command line or assistant login. 403 api_disabled is no longer returned. Earlier entries that say “enabled per site on request” describe how it worked before this date.
October 2, 2026 — connect AI assistants over MCP
Added: sites can be connected to Claude, ChatGPT and other AI assistants as a Model Context Protocol connector at https://<site-domain>/model_context, with OAuth login approved in the site admin. Every endpoint in these docs is a tool, plus search_fields (the site’s search field catalog) and files_request_upload. ChatGPT can upload chat attachments and images it generates through files_upload. Enabled per site on request. See AI assistants (MCP).
Added: POST /files/upload/ accepts content_url in place of content_base64, downloading the file from an allow-listed host. See Files.
October 2, 2026 — warnings on writes
Added: successful writes can return "warnings": [...] for things that were saved but probably are not what you meant. The first warnings: sanitized, naming what the HTML sanitizer removed from each field; unknown_value and ambiguous_value for search criteria values the site does not know; and no_search / no_filter for area pages that show no listings or every listing. See Warnings.
October 2, 2026 — search criteria
Changed: location values in a criteria object (city, county, zip, subdivision…) are saved in the MLS’s own spelling when they differ only in capitalization, so "McLean" no longer saves a search that finds nothing on an MLS that writes "Mclean".
Changed: search now reads back with site_criteria: what the site’s settings add to every search (such as the MLS boards a site is limited to) moves out of criteria. Sending a search’s criteria back unchanged no longer fails on such sites. See The search field.
Documented: the search field catalog, listing every field a site’s searches accept, and the polygon map-area criterion.
October 2, 2026 — area pages and blog posts
Changed: new area pages default search_header to their anchor_text, such as “Downtown Homes”, instead of the generic search title. See Area pages.
Changed: drafts and scheduled blog posts (state other than published) now return 404 to visitors and search engines at their URL, and stay out of month archives; admins see a noindex preview. See Blog posts.
October 2, 2026 — design consistency checks colors, not scheme names
Fixed: GET /design/ reported consistent: false for any color scheme customized in the design editor (named custom), and a PATCH with only vars on such a site replaced its other colors with the template’s default scheme. consistent now means the scheme sets every variable the template needs, whatever it is called, and a repair fills in only the missing variables. See Design.
October 2, 2026 — geekcli, an open-source command line
Added: geekcli, the Real Geeks command line, is open source on GitHub under the MIT license. It covers every endpoint in these docs, including the revisions added on September 17, and logs in through the CLI browser approval. Install it with the one-liner in the README, then run geekcli guide.
September 29, 2026 — used_by is capped
Changed: sidebar and footer detail responses list at most 500 pages in used_by, and add used_by_count with the full number. See Sidebars and footers.
September 25, 2026 — page lists no longer return content
Changed: list responses from /content/pages/, /content/agent-pages/ and /content/area-pages/ now always leave out content, extra_content and agents — fetch a single page for those. The include_content query flag is removed. Detail, create and update responses are unchanged, and blog post lists still take include_body=false.
This makes page listing reliable on large sites: sites with tens of thousands of pages could previously fail to list them at all.
September 17, 2026 — revisions for area pages, blog posts and footers
Added: the .../revisions/ endpoints (list, preview, revert) — previously only on content pages, agent landing pages and the home page — now also cover area pages, blog posts and footers. See Revisions and undo.
September 16, 2026 — initial beta release
The Content API ships in beta: blog posts and categories, content pages, agent landing pages, area pages, the home page, navigation bars, sidebars, footers, featured pages, design, site settings and files — authenticated with per-site API keys, including a CLI browser-approval login. Enabled per site on request.
