HubSpot · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Website pages API

12 actions 12 updates phrasing extends openapi/hubspot-website-pages-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for HubSpot's API. It is a proposal applied on top of the contract, not a document HubSpot publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 12

$.info
$.paths['/cms/pages/2026-09/landing-pages/multi-language/set-new-lang-primary'].put
$.paths['/cms/pages/2026-09/site-pages'].get
$.paths['/cms/pages/2026-09/site-pages'].post
$.paths['/cms/pages/2026-09/site-pages/clone'].post
$.paths['/cms/pages/2026-09/site-pages/schedule'].post
$.paths['/cms/pages/2026-09/site-pages/{objectId}'].get
$.paths['/cms/pages/2026-09/site-pages/{objectId}'].delete
$.paths['/cms/pages/2026-09/site-pages/{objectId}'].patch
$.paths['/cms/pages/2026-09/site-pages/{objectId}/draft'].get
$.paths['/cms/pages/2026-09/site-pages/{objectId}/draft'].patch
$.paths['/cms/pages/2026-09/site-pages/{objectId}/draft/push-live'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Website pages API
  version: 1.0.0
extends: openapi/hubspot-website-pages-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-24'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 11
- target: $.paths['/cms/pages/2026-09/landing-pages/multi-language/set-new-lang-primary'].put
  update:
    x-apievangelist-phrasing:
      intent: Make a page the primary language in its group
      effect: write
      questions:
      - How do I change which translation is the primary language of a multi-language page group?
      - Can I promote a translated landing page to be the primary language version?
      instructions:
      - text: Set landing page {id} as the primary language of its multi-language group.
        slots:
          id: requestBody.id
      - text: Make translation {id} the new primary-language page.
        slots:
          id: requestBody.id
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cms/pages/2026-09/site-pages'].get
  update:
    x-apievangelist-phrasing:
      intent: List website pages
      effect: read
      questions:
      - How do I get every website page on my HubSpot site?
      - Can I filter website pages by when they were last updated?
      - Which website pages were created after a given date?
      instructions:
      - text: List all of my website pages.
      - text: List website pages updated after {updatedAfter}.
        slots:
          updatedAfter: query.updatedAfter
      - text: 'Show {limit} website pages sorted by {sort}, including archived ones: {archived}.'
        slots:
          limit: query.limit
          sort: query.sort
          archived: query.archived
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cms/pages/2026-09/site-pages'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a website page
      effect: write
      questions:
      - How do I add a new page to my website through the API?
      - Can I set the domain and slug when I create a website page?
      instructions:
      - text: Create a website page named {name} from template {templatePath}.
        slots:
          name: requestBody.name
          templatePath: requestBody.templatePath
      - text: Create a website page {name} on domain {domain} at slug {slug}.
        slots:
          name: requestBody.name
          domain: requestBody.domain
          slug: requestBody.slug
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cms/pages/2026-09/site-pages/clone'].post
  update:
    x-apievangelist-phrasing:
      intent: Clone a website page
      effect: write
      questions:
      - Can I duplicate an existing website page to use as a starting point?
      - What's the easiest way to copy a site page under a different name?
      instructions:
      - text: Clone website page {id}.
        slots:
          id: requestBody.id
      - text: Copy site page {id} and name the copy {cloneName}.
        slots:
          id: requestBody.id
          cloneName: requestBody.cloneName
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cms/pages/2026-09/site-pages/schedule'].post
  update:
    x-apievangelist-phrasing:
      intent: Schedule a website page to publish
      effect: write
      questions:
      - How do I schedule a website page to publish at a future time?
      - Can a site page go live automatically on a set date?
      instructions:
      - text: Schedule website page {id} to publish at {publishDate}.
        slots:
          id: requestBody.id
          publishDate: requestBody.publishDate
      - text: Set site page {id} to go live on {publishDate}.
        slots:
          id: requestBody.id
          publishDate: requestBody.publishDate
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cms/pages/2026-09/site-pages/{objectId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a live website page
      effect: read
      questions:
      - How can I fetch the details of one website page by its ID?
      - Can I retrieve only selected properties of a single site page?
      instructions:
      - text: Show me website page {objectId}.
        slots:
          objectId: path.objectId
      - text: Get the {property} of site page {objectId}.
        slots:
          property: query.property
          objectId: path.objectId
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cms/pages/2026-09/site-pages/{objectId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a website page
      effect: destructive
      questions:
      - Can I delete a page from my website that's no longer needed?
      - What's the process for removing an outdated site page?
      instructions:
      - text: Delete website page {objectId}.
        slots:
          objectId: path.objectId
      - text: Remove the site page with ID {objectId}.
        slots:
          objectId: path.objectId
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cms/pages/2026-09/site-pages/{objectId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a live website page
      effect: write
      questions:
      - How do I change a published website page's title directly, not through its draft?
      - Can I update just the slug of a site page without resending the whole page?
      instructions:
      - text: Change the HTML title of website page {objectId} to {htmlTitle}.
        slots:
          objectId: path.objectId
          htmlTitle: requestBody.htmlTitle
      - text: Update the slug of site page {objectId} to {slug}.
        slots:
          objectId: path.objectId
          slug: requestBody.slug
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cms/pages/2026-09/site-pages/{objectId}/draft'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a website page's draft version
      effect: read
      questions:
      - Where can I see the unpublished draft of a website page?
      - Can I preview pending edits to a site page before publishing them?
      instructions:
      - text: Show the draft version of website page {objectId}.
        slots:
          objectId: path.objectId
      - text: Get the unpublished draft for site page {objectId}.
        slots:
          objectId: path.objectId
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cms/pages/2026-09/site-pages/{objectId}/draft'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit a website page's draft
      effect: write
      questions:
      - How do I stage edits to a website page without changing what visitors see?
      - Can I change a site page's draft meta description and publish it later?
      instructions:
      - text: In the draft of website page {objectId}, set the meta description to {metaDescription}.
        slots:
          objectId: path.objectId
          metaDescription: requestBody.metaDescription
      - text: Update the draft of site page {objectId} to use featured image {featuredImage}.
        slots:
          objectId: path.objectId
          featuredImage: requestBody.featuredImage
      method: generated
      generated: '2026-09-24'
- target: $.paths['/cms/pages/2026-09/site-pages/{objectId}/draft/push-live'].post
  update:
    x-apievangelist-phrasing:
      intent: Publish a website page's draft changes
      effect: write
      questions:
      - How do I push my website page draft edits live?
      - Once a site page draft is ready, what publishes those changes?
      instructions:
      - text: Push the draft of website page {objectId} live.
        slots:
          objectId: path.objectId
      - text: Apply the draft edits on site page {objectId} to the live version.
        slots:
          objectId: path.objectId
      method: generated
      generated: '2026-09-24'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/hubspot-website-pages-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.