OpenJournal:API: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 7: | Line 7: | ||
You can see some examples below: | You can see some examples below: | ||
=== Retrieving content === | |||
<pre> | <pre> | ||
Revision as of 16:17, 11 September 2026
OpenJournal uses MediaWiki as a backend for all of its content. Anything that is possible on the MediaWiki API is possible here too.
REST API
For convenience, OpenJournal abstracts some of the MediaWiki URLs into a more modern RESTful format.
You can see some examples below:
Retrieving content
GET /users/{username}/posts all of a user's posts, alphabetical by title
GET /users/{username}/posts/{title} one post: title, wikitext, last-edited time
GET /users/{username}/posts/{title}?format=html the same post, rendered to HTML
GET /users/{username} redirects to their journal (browsable)
{title} is the part after the slash, with spaces as underscores, e.g.
/users/Alice/posts/Laying_a_hedge for
User:Alice/Laying a hedge.
Traditional API
You can still directly call the API in "the MediaWiki way".
Here are some examples
All articles by one user (the underlying MediaWiki call)
GET /api.php?action=query&list=allpages&apnamespace=2&apprefix=Alice/&format=json
One article, as HTML
GET /rest.php/v1/page/User%3AAlice%2FSome_title/html
One article, as source
GET /rest.php/v1/page/User%3AAlice%2FSome_title
Every article on the site, newest first
GET /api.php?action=query&generator=recentchanges&grcnamespace=2&grclimit=30&format=json
Excerpts and lead images, for a card or a feed
GET /api.php?action=query&prop=extracts|pageimages&exchars=300&explaintext=1&titles=User:Alice/Some_title&format=json
An Atom feed of everything
GET /index.php?title=Special:RecentChanges&feed=atom&namespace=2
One author's feed is the same URL narrowed with &tagfilter= or, more
simply, poll list=allpages above.
Writing from your own code
See the full parameter reference at Special:ApiHelp/query to harness the full power of the API.