What the web app has
A public Blog (/blog) of product updates and long-form writing, with an email subscription
using double opt-in and one-click unsubscribe. /help/blog documents post states, writing,
scheduling, publishing and unpublishing — but the authoring endpoints are all under
/api/admin/blog/* and are admin-only, so authoring is out of scope for this client.
Unused API surface
POST /api/blog/subscribe ({ email })
GET /api/blog/subscribe/confirm — double opt-in confirmation from the email
GET|POST /api/blog/unsubscribe — human-facing link and the RFC-8058 one-click target
The constraint
There is no public blog-listing endpoint in the OpenAPI spec — the blog is server-rendered.
Reading it in-app therefore means a Custom Tab or a lightweight scrape, not a JSON feed. Decide
which before building.
Filed from the parity review of feature/parity-wip @ 14d7795 against interlinedlist.com (OpenAPI /api/openapi.json, 233 paths) and the public help centre.
What the web app has
A public Blog (
/blog) of product updates and long-form writing, with an email subscriptionusing double opt-in and one-click unsubscribe.
/help/blogdocuments post states, writing,scheduling, publishing and unpublishing — but the authoring endpoints are all under
/api/admin/blog/*and are admin-only, so authoring is out of scope for this client.Unused API surface
POST /api/blog/subscribe({ email })GET /api/blog/subscribe/confirm— double opt-in confirmation from the emailGET|POST /api/blog/unsubscribe— human-facing link and the RFC-8058 one-click targetThe constraint
There is no public blog-listing endpoint in the OpenAPI spec — the blog is server-rendered.
Reading it in-app therefore means a Custom Tab or a lightweight scrape, not a JSON feed. Decide
which before building.
Filed from the parity review of
feature/parity-wip@14d7795against interlinedlist.com (OpenAPI/api/openapi.json, 233 paths) and the public help centre.