SEO and AEO

Edit page metadata, set AEO roles, read your JSON-LD, and run audits.


SEO pages
EndpointWhat it does
GET /api/v1/site/{site}/seo/pages/List SEO pages, paginated
POST /api/v1/site/{site}/seo/pages/Create one -- canonical, page_name, page_title, description, keywords
GET /api/v1/site/{site}/seo/pages/{pk}/Read one
POST /api/v1/site/{site}/seo/pages/{pk}/Update it
DELETE /api/v1/site/{site}/seo/pages/{pk}/Delete it

A duplicate canonical returns 409.

AEO data and roles
EndpointWhat it does
GET /api/v1/site/{site}/artifacts/{slug}/aeo/Read AEO data and FAQs for an artifact
POST /api/v1/site/{site}/artifacts/{slug}/aeo/Create or replace it
PATCH /api/v1/site/{site}/artifacts/{slug}/aeo/Change some fields
DELETE /api/v1/site/{site}/artifacts/{slug}/aeo/Remove it
GET /api/v1/site/{site}/artifacts/{slug}/roles/List the artifact's roles
PUT /api/v1/site/{site}/artifacts/{slug}/roles/Replace the whole role set. An empty list clears it
POST /api/v1/site/{site}/artifacts/{slug}/roles/Add one role
Request
curl -X POST -H "Authorization: Token $ENINE_TOKEN" -H "Content-Type: application/json" \
  -d '{"role": "what"}' \
  https://e9sites.com/api/v1/site/mysite.e9sites.com/artifacts/web-design/roles/
Reading what you publish

GET /api/v1/site/{site}/aeo/ returns the JSON-LD for every URL in the site's sitemap -- exactly what an answer engine reads. GET /api/v1/manager/inspect/aeo/?url=... does the same for a single page.

Audits
EndpointWhat it does
POST /api/v1/manager/{site}/xeo-audit/Run the audit now
GET /api/v1/manager/{site}/xeo-check/Read the last cached result

The audit crawls every published page in your sitemap while you wait, so it is slow by design. Run it after a batch of changes rather than after every edit, and read the cached result in between.