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.
# 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'
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.