How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Commune Articles API

An article is one thing a newsletter published: written in Commune andsent, or imported from the newsletter's provider. Two rulesgate every article read and are described on each operation. First, anarticle stamped with an audience is visible only to the newsletter's teamand to subscribers holding one of its tags. Second, an article dated inthe future is invisible until that moment passes.An article written in Commune can be created and edited here, its body sentand returned as Markdown, and moved through its life: sent to a testaddress, queued for a time, taken back off the schedule, sent to the list,and re-attempted for the recipients a dispatch could not reach. Animported article is read only.What one reader did with an article is here too, from their side of it.`GET /saved-articles` and `GET /liked-articles` are the articles an accountput aside and the articles it liked, across every newsletter it reads, andthey need `account: read` rather than `content`. Both obey the two rulesabove, applied against the person rather than against a newsletter, so anarticle they may no longer read leaves the page on its own.

Commune Articles API is one of 18 APIs that Commune publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 6 JSON Schema definitions.

Tagged areas include Articles. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and 6 JSON Schemas.

This API exposes 12 operations across 10 paths, and defines 29 schemas. It is described by OpenAPI 3.2.0, at version 2026-08-26.

Requests are made against a single base URL, https://api.usecommune.com.

12 operations 10 paths 29 schemas 5 GET1 PATCH6 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
2026-08-26
Base URL
https://api.usecommune.com
Authentication
OAuth 2.0, HTTP Bearer
Contact
Resource Areas
1

Authentication & Security 2

Commune Articles API declares 2 security schemes for authenticating requests. It supports OAuth 2.0 (oauth2) using the authorizationCode flow, exposing 13 scopes. It accepts HTTP bearer tokens (Commune API key) (apiKey). By default, every request must be authenticated.

  • oauth2 — An OAuth access token, sent as Authorization: Bearer . The walkthrough of the whole flow is at [usecommune.dev/use-cases/build-an-integration](https://usecommu…
  • apiKey — A Commune API key, sent as Authorization: Bearer . A key is granted one or more newsletters and carries six permission families on each, every one of them none…

Paths & Operations 12

Across 10 paths, the API surfaces 12 operations — 5 GET, 1 PATCH, 6 POST. Each is listed below with its method, path, parameters, and response codes.

Articles 12

An article is one thing a newsletter published: written in Commune and sent, or imported from the newsletter's provider.

GET
/newsletters/{newsletter}/articles
List a newsletter's articles
listNewsletterArticles 9 params → 200400401403404429500
POST
/newsletters/{newsletter}/articles
Create an article
createArticle 3 params body → 201400401402403404409422
GET
/articles/{article}
Retrieve an article
getArticle 4 params → 200400401404429500
PATCH
/articles/{article}
Edit an article
updateArticle 3 params body → 200400401402403404409422
GET
/articles/{article}/authors
List an article's authors
listArticleAuthors 5 params → 200400401404429500
POST
/articles/{article}/images
Store an image for an article
createArticleImage 3 params body → 201400401402403404409422
POST
/articles/{article}/test-send
Send a test copy of an article
sendArticleTest 3 params body → 200400401402403404409422
POST
/articles/{article}/schedule
Schedule an article
scheduleArticle 3 params body → 200400401402403404409422
POST
/articles/{article}/unschedule
Cancel a scheduled article
unscheduleArticle 3 params → 200400401402403404409422
POST
/articles/{article}/send
Send an article to the list
sendArticle 3 params body → 202400401402403404409422
GET
/saved-articles
List the articles this account saved
listSavedArticles 5 params → 200400401403429500
GET
/liked-articles
List the articles this account liked
listLikedArticles 5 params → 200400401403429500

Schemas 29

The contract defines 29 schemas that model the data the API accepts and returns. The most detailed are Article (18 properties), Thread (16 properties), Newsletter (16 properties), ArticleSummary (10 properties). Each schema is shown below with its type and property counts.

ArticleBodyMarkdown
string
An article's text, as Markdown. Create an article documents the Markdown Commune accepts.
ArticleStatus
string
Where an article is in its life. A credential holding only read permissions ever sees sent and nothing else. An imported article is always sent, since Commune…
Pagination
object
Cursor pagination state. Commune never exposes an offset or a page number: a collection is a moving window, and an offset silently skips or repeats items when…
2 properties 2 required
ArticleStats
object
Engagement counts for an article, computed at read time. These are Commune side counts, not provider side email metrics: opens, clicks and deliveries are not h…
3 properties 3 required
SocialLinks
object
The creator's other homes on the internet, stored as canonical profile URLs. Every key is optional and a newsletter that set none returns an empty object.
8 properties
ScheduleRequest
object
When an article should go out.
2 properties 1 required
ArticleWithContent
An article including its rendered body. Returned only by GET /articles/{article}. content cannot be requested on any list, including through ?fields=.
ArticleImageUpload
object
A one-time upload. Send the file's bytes as the request body, with these headers, before it expires; for example curl -X PUT -H "Content-Type: image/png" --dat…
5 properties 5 required
User
object
A person's public profile, and the whole of what this API returns about anybody other than the credential's own owner. Email address, theme, notification prefe…
5 properties 2 required
Ref
object
An unexpanded relationship. Ask for the relationship in ?expand= to get the full object in its place.
2 properties 2 required
TestSend
object
What one test send attempted and what the sending provider accepted. Nothing about the article changed and nobody on the list was touched.
6 properties 6 required
Media
object
An image or file attached to a thread or a message.
3 properties 1 required
Thread
object
A conversation in a newsletter's community, together with the message that opened it. Its replies are a separate collection.
16 properties 8 required
SavedArticle
object
One article this account put aside to read later. It carries no identifier of its own, and that is the shape rather than an omission: a save has no identity ap…
3 properties 2 required
ArticleImage
object
An image stored for an article, at a URL that does not change. The article does not show it until its URL is in the body or imageurl.
6 properties 6 required
Error
object
The error envelope. Every non 2xx response from every operation has this shape, so a client can branch on error.code without knowing which operation produced i…
1 property 1 required
Esp
string
Where a newsletter is published from. commune means Commune itself sends the email. Every other value is an email service provider whose posts Commune imports.…
ArticleImageRequest
object
Exactly one of sourceurl or contenttype.
2 properties
ArticleSummary
object
An article as anybody sees it, without its body: what expanding the article on a save or a like returns. The expansion is gated exactly as the collection is. T…
10 properties 5 required
TestSendRequest
object
Where a test copy of an article goes. Empty, or no body at all, sends it to the person the credential belongs to.
1 property
LikedArticle
object
One article this account liked. Property for property the same shape as SavedArticle, and a separate schema so a client routing on object can tell the two apar…
3 properties 2 required
ArticleCreateRequest
object
A new article. Every property is optional: {} creates an empty untitled draft. What is created is always a draft. There is no status here, no postedat and no s…
5 properties
Article
object
One article of a newsletter, without its body. Every collection of articles returns this shape. GET /articles/{article} returns ArticleWithContent, which is th…
18 properties 8 required
Newsletter
object
A newsletter and its public profile. Nothing operational is exposed: ESP credentials, OAuth tokens, group and audience ids, feed polling state and language det…
16 properties 6 required
ThreadVisibility
string
Where a thread is placed. public puts it on the global Commune feed and makes it readable by anyone. subscribers keeps it inside the newsletter. paid narrows i…
ListEnvelope
object
The envelope every collection is returned in. data holds the page, pagination holds the cursor state. data is required here and typed by each list operation, a…
2 properties 3 required
ArticleUpdateRequest
object
The properties of an article to change. Send at least one; an empty object answers 400 rather than doing nothing. Absent and null are different. A property you…
5 properties
SendRequest
object
Options for a send. Every field is optional, and sending no body at all is the ordinary case.
1 property
ErrorCode
string
The stable, machine readable reason a request failed. New codes may be added in a minor version, so treat an unrecognised code as a generic failure of its HTTP…

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

usecommune-articles-api-openapi.yml Raw ↑

Other APIs Commune publishes across the network.

Commune Engagement API
Commune Event delivery API
Commune Highlights API
Commune Messages API
Commune Metrics API
Commune Newsletters API
Commune Platform API
Commune Search API
Commune Senders API
Commune Sends API
Commune Subscriber tags API
Commune Subscribers API
Where this information came from

This is an independent, third-party profile of Commune Articles API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.