Aveiro API
Authentication
Sites
List Sites
List Templates
Create Site
Update Site Layout
Chrome Strings
Update Collection
Pages
Create a Page
Delete a Page
List Pages
Reorder Pages
Update a Page
Site Media
Publish Site
Link Translation
Import Media from URL
Audience
Newsletter API Overview
Newsletter Campaigns
Social
Social API Overview
Social Accounts
Social Media
Social Posts
Social Performance
Website Mockup Video
Social Post Review
TrademarkTrademark
Ctrl k
Search…
Sign up
Aveiro API
Authentication
Sites
List Sites
List Templates
Create Site
Update Site Layout
Chrome Strings
Update Collection
Pages
Create a Page
Delete a Page
List Pages
Reorder Pages
Update a Page
Site Media
Publish Site
Link Translation
Import Media from URL
Audience
Newsletter API Overview
Newsletter Campaigns
Social
Social API Overview
Social Accounts
Social Media
Social Posts
Social Performance
Website Mockup Video
Social Post Review
TrademarkTrademark
AveiroBlogContact
© Aveiro. All rights reserved.
Built with Aveiro

List Pages

GET /api/v1/sites/{siteId}/pages — list every draft page in a site.
Updated 22 days ago
Delete a Page
Reorder Pages
In short
GET /api/v1/sites/{siteId}/pages returns all non-deleted draft pages with path, title, dirty flag, and editor_url. Requires content:read scope and access to the site.

Request

GET /api/v1/sites/{siteId}/pages Authorization: Bearer av_live_…
Required scope: content:read

Query filters

Optional query parameters narrow the list for multilingual docs sites and translation workflows:
Parameter
Example
Behavior
locale?locale=de
Pages in that locale. For the site's default locale, returns unprefixed source pages.
untranslated_for?untranslated_for=de
Default-locale pages with no linked variant in that locale. A file at /de/… without a translation group does not count — use Link translation (/link-translation.mdx).
stale_translations?stale_translations=true
Locale variants whose stored source checksum no longer matches the current source MDX (same definition as the editor stale flag).
Filters compose together. MCP clients pass the same fields to aveiro_list_pages. Replace {siteId} with a site id from List sites.

Example

curl -s 'https://help.aveiro.app/api/v1/sites/SITE_ID/pages' \ -H 'Authorization: Bearer av_live_…'

Response

200 OK
Field
Description
id
Page content ID — use for GET/PATCH/DELETE by id
path
MDX file path (for example /guides/foo.mdx)
titleFrom page metadata or derived from path
dirty
true when draft differs from last published version
never_published
true when the page has never been published
editor_url
Direct link to open the page in the editor

Get one page

By content ID:
GET /api/v1/sites/{siteId}/pages/{contentId}
By path:
GET /api/v1/sites/{siteId}/pages/by-path?path=/guides/foo.mdx
Both return full content, metadata, and revision (latest content version id).

Reorder, move, or sort

After listing pages, use Reorder pages to change tree order without editing MDX:
POST /api/v1/sites/{siteId}/reorder
Operations: reorder (explicit sibling order), move (page into a folder), sort (folder sort mode). MCP clients call aveiro_reorder_pages, aveiro_move_page, and aveiro_set_folder_sort, one per operation.

Review unpublished changes

GET /api/v1/sites/{siteId}/changes
Returns only pages where dirty is true — useful after a CI sync to see what still needs human review before publish.

Related

  • Create a page
  • Update a page
  • Delete a page
{
  "pages": [
    {
      "id": "343550cc-4b41-4beb-8082-f302766003cf",
      "path": "/sites/list-sites.mdx",
      "title": "List Sites",
      "dirty": true,
      "never_published": true,
      "updated_at": "2026-07-08T09:00:00.000000+00:00",
      "editor_url": "https://help.aveiro.app/en/ORG_ID/SITE_ID/edit?file=343550cc-…"
    }
  ]
}