5.11.2.1 Articles
The Articles domain of news. The articles of MooNitoring News: drafts and their translations, review, publication and scheduling, previews and images. The Console is its only caller; readers never reach it, they read the static site built from what is published. It is one API, with its own contract and its own version.
5.11.2.1.1 Versions¶
| Version | Status | Prod URL | Contract |
|---|---|---|---|
v1 |
Proposed | https://console.moonitoring.com/api/news/articles/v1 |
articles/v1/openapi.yaml |
The resources follow the data model: an Article holds one translation per language of the site, each with its own slug, title and summary, so each language ranks on its own.
5.11.2.1.2 Operations¶
Every operation names who calls it and the capability it checks (x-moonitoring-audience, x-moonitoring-capability in the contract); every capability is in the catalog of the data model (req 1006). Lists are paged by cursor, writes that create something carry an Idempotency-Key, errors are Problem Details.
| Operation | Request | Who | Capability |
|---|---|---|---|
| List articles | GET /articles |
Staff | news.articles.write |
| Create an article | POST /articles |
Staff | news.articles.write |
| Read an article | GET /articles/{article_id} |
Staff | news.articles.write |
| Update an article | PATCH /articles/{article_id} |
Staff | news.articles.write |
| Write a translation | PUT /articles/{article_id}/translations/{locale} |
Staff | news.articles.write |
| Remove a translation | DELETE /articles/{article_id}/translations/{locale} |
Staff | news.articles.write |
| Submit an article for review | POST /articles/{article_id}/submit |
Staff | news.articles.write |
| Publish an article | POST /articles/{article_id}/publish |
Staff | news.articles.publish |
| Unpublish an article | POST /articles/{article_id}/unpublish |
Staff | news.articles.publish |
| Open a preview | POST /articles/{article_id}/previews |
Staff | news.articles.write |
| List images | GET /assets |
Staff | news.articles.write |
| Upload an image | POST /assets |
Staff | news.articles.write |
5.11.2.1.3 Contract v1¶
Proposed version
v1 is a proposal for review: its endpoints, errors and capabilities were designed from the requirements and the flows and are not confirmed. It leaves proposal with its first release; from then on it changes only as described in Every API Is Versioned.