OpenJournal:API: Difference between revisions
API documentation |
No edit summary |
||
| Line 1: | Line 1: | ||
openjournal | openjournal uses MediaWiki as a backend for all of its content. Anything that is possible on the [https://www.mediawiki.org/wiki/API:Main_page 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: | |||
<pre> | <pre> | ||
| Line 28: | Line 18: | ||
<code>/users/Alice/posts/Laying_a_hedge</code> for | <code>/users/Alice/posts/Laying_a_hedge</code> for | ||
<code>User:Alice/Laying a hedge</code>. | <code>User:Alice/Laying a hedge</code>. | ||
== All articles by one user (the underlying MediaWiki call) == | == All articles by one user (the underlying MediaWiki call) == | ||
| Line 80: | Line 62: | ||
== Writing from your own code == | == Writing from your own code == | ||
See [[OpenJournal:API/Recipes]] for worked examples, or the full parameter reference | See [[OpenJournal:API/Recipes]] for worked examples, or the full parameter reference | ||
at [[Special:ApiHelp/query]] — it is generated from this wiki's own installed modules, | at [[Special:ApiHelp/query]] — it is generated from this wiki's own installed modules, | ||
so it is never out of date. | so it is never out of date. | ||
Revision as of 08:46, 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:
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.
All articles by one user (the underlying MediaWiki call)
Same data the /users/{username}/posts route above returns, and where
its extra parameters -- excerpts, URLs -- come from, if you want to add your own.
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 OpenJournal:API/Recipes for worked examples, or the full parameter reference at Special:ApiHelp/query — it is generated from this wiki's own installed modules, so it is never out of date.