Set up Saved Articles across your app and website
Requirements and reader behaviour for a publisher-owned Saved Articles service that is available to signed-in readers across Pugpig apps and the web.
Table of Contents
Set up Saved Articles across your app and website
Saved Articles lets a signed-in reader save a standard article to their publisher account and find it later in the Pugpig app and on the publisher website. The publisher service remains the single source of truth for the reader's saved list. Pugpig presents that data in the app using the publisher's existing article content.
This is an online service, not an offline synchronisation engine. Both platforms read and write one publisher-owned list when the reader interacts with Saved.
What readers will experience
Saving an article
A signed-in reader can select Save on an article. The control shows whether the article is already saved. Once the save succeeds, the article is available in the reader's Saved area.
If a reader is not signed in, the app prompts them to sign in. Saving and removing articles require an internet connection. If the service is unavailable, the app leaves the existing state unchanged and asks the reader to try again later. The app does not queue an offline action for later.
Finding saved articles
The app provides a Saved destination containing the reader's current saved articles, normally with the most recently saved items first. Pugpig renders each item using the publisher's normal article content, so the card can show the current headline, image, summary and access state.
The app refreshes the publisher's authoritative list when the reader opens Saved, saves an article or removes one. A change made on the website is therefore reflected when the reader next opens or returns to Saved in the app, and vice versa. This is not a real-time push experience and it does not use interval polling.
Offline and sign-out behaviour
Saving and removing are online-only actions. A reader may see an already-loaded Saved list while offline, but that cached view is not a guarantee that every item or its full content is available. The reader must reconnect to make changes or receive the latest list.
Online Saved Articles are available only while the reader is signed in. On sign-out, Pugpig clears account-specific Saved state. The reader must sign in again before viewing or changing their online saved list.
What you need to provide
1. A trusted signed-in identity
Your Saved Articles service must use the same authenticated reader identity that your publisher already provides to Pugpig for sign-in. Pugpig forwards the appropriate user credential and your service derives the reader identity from that credential.
2. A small authenticated saved-items API
| Operation | Purpose | Minimum result |
|---|---|---|
GET /saved-items |
Return the complete saved list for the authenticated reader. | Stable content IDs and saved timestamps, plus optional context for a deep link. |
POST /saved-items |
Save one item for the authenticated reader. | A successful, repeat-safe add. Returning the updated canonical list is preferred. |
DELETE /saved-items/{id} |
Remove one item for the authenticated reader. | A successful, repeat-safe removal. Returning the updated canonical list is preferred. |
The route names and payload format can follow your conventions. The functional contract matters more than the exact paths.
A recommended minimum item is:
{
"id": "publisher-stable-article-id",
"savedAt": "2026-10-07T14:03:00Z",
"context": {
"section": "optional-anchor-or-section-reference"
}
}The list must be scoped to the authenticated reader and, where relevant, the publisher brand. Each saved ID must map reliably to an article in the Pugpig content feed or search index.
3. Predictable and secure API behaviour
Please provide documentation for authentication, request and response examples, status codes, rate limits and test accounts. Your service should:
- return a complete list on
GET, including an empty list when the reader has no saved items; - perform item-level writes, rather than accepting a client-supplied replacement for the entire list;
- make repeated add and remove requests safe, so a network retry cannot create duplicates or fail unnecessarily;
- return clear
401or403responses for invalid or expired reader credentials, and clear4xxresponses for invalid content IDs; - protect all per-reader responses from shared caching and never expose one reader's list to another;
- preserve unrelated profile data if saved items are stored within a larger shared user-profile object.
You do not need to return article images, summaries or full article bodies. Durable identifiers, timestamps and any essential deep-link context are sufficient. Pugpig retrieves the current article presentation from the existing content source.
4. A test-ready integration
Before launch, please provide a non-production environment, test readers, representative saved items and a mapping between your service's article IDs and the IDs in the Pugpig feed. Include cases for access-controlled articles, removed content, an empty list, expired authentication, duplicate saves, and a save made on one platform then viewed on another.
How delivery works
After you share the API contract and test access, Pugpig validates the identity flow and content-ID mapping, builds the publisher-specific connector, configures the app experience, and tests the cross-platform journey. We agree acceptance criteria and rollout timing for each title separately.
This is not a self-service configuration switch. The reader experience is reusable, but each publisher's authentication, saved-items service and content identifiers must be validated and implemented safely.
Scope and common questions
Is this synchronisation?
For a reader, saved articles are available across signed-in devices and the website. Technically, both platforms read from and write to one publisher-owned list. They do not reconcile separate local lists later.
Will it work offline?
No. Save and remove actions require a connection. An already-loaded list may be visible offline, but it may not be current or complete.
Will Pugpig store our reader data?
No. Your service stores the authoritative saved-items list. Pugpig holds only the transient app state needed to display it and uses the existing content feed to render saved articles.
Can this also support following a topic or author?
Potentially, but this is a separate feature. Following has a different data model and so requires further development. This is on our roadmap.
Getting started checklist
- Confirm the intended Saved entry point, sign-in prompt and user journey.
- Share the test and production API contract, including token validation and error behaviour.
- Provide test accounts and stable article-ID mapping.
- Confirm data, privacy, retention and caching requirements for per-reader saved items.
- Agree acceptance criteria, staging tests and rollout timing with your Pugpig delivery team.


