Ghost · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Ghost Org Pages API

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

What the actions change

x-apievangelist-phrasing

Targets 7

$.info
$.paths['/pages/'].get
$.paths['/pages/'].post
$.paths['/pages/{id}/'].get
$.paths['/pages/{id}/'].put
$.paths['/pages/{id}/'].delete
$.paths['/pages/slug/{slug}/'].get

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 Ghost Org Pages API
  version: 1.0.0
extends: openapi/ghost-org-pages-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 6
- target: $.paths['/pages/'].get
  update:
    x-apievangelist-phrasing:
      intent: List pages including drafts
      effect: read
      questions:
      - How do I list every page on my site, including drafts?
      - Can I filter pages by status and include their authors?
      instructions:
      - text: List pages matching {filter}.
        slots:
          filter: query.filter
      - text: Show me {limit} pages ordered by {order} with {include}.
        slots:
          limit: query.limit
          order: query.order
          include: query.include
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pages/'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a page
      effect: write
      questions:
      - How do I create a new static page such as a Contact page?
      - What fields are required to create a page?
      instructions:
      - text: Create page {pages}.
        slots:
          pages: requestBody.pages
      - text: Add a new page with the title and content in {pages}.
        slots:
          pages: requestBody.pages
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pages/{id}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a page by ID
      effect: read
      questions:
      - How do I load one page by ID, drafts included?
      - Can I get a page's content back in HTML?
      instructions:
      - text: Get page {id}.
        slots:
          id: path.id
      - text: Get page {id} with its content in {formats}.
        slots:
          id: path.id
          formats: query.formats
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pages/{id}/'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a page
      effect: write
      questions:
      - How do I edit the content of an existing page?
      - Why must I send updated_at when editing a page?
      instructions:
      - text: Update page {id} with {pages}.
        slots:
          id: path.id
          pages: requestBody.pages
      - text: Change the title of page {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pages/{id}/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a page
      effect: destructive
      questions:
      - How do I permanently delete a page?
      - Can a deleted page be recovered?
      instructions:
      - text: Delete page {id}.
        slots:
          id: path.id
      - text: Permanently remove page {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/pages/slug/{slug}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a published page by slug
      effect: read
      questions:
      - How do I find a published page when I only know its URL slug?
      - Can I look up a page from the end of its link?
      instructions:
      - text: Get the page with slug {slug}.
        slots:
          slug: path.slug
      - text: Look up page {slug} with {include}.
        slots:
          slug: path.slug
          include: query.include
      method: generated
      generated: '2026-09-26'