MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "compare": {
        "fromid": 1,
        "fromrevid": 1,
        "fromns": 0,
        "fromtitle": "Main Page",
        "toid": 2,
        "torevid": 2,
        "tons": 0,
        "totitle": "I2Rest Gates",
        "*": "<tr><td colspan=\"2\" class=\"diff-lineno\" id=\"mw-diff-left-l1\" >Line 1:</td>\n<td colspan=\"2\" class=\"diff-lineno\">Line 1:</td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div><del class=\"diffchange diffchange-inline\">&lt;strong&gt;MediaWiki has been installed.&lt;/strong&gt;</del></div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">= i2Rest Server Gates =</ins></div></td></tr>\n<tr><td class='diff-marker'>&#160;</td><td class='diff-context'></td><td class='diff-marker'>&#160;</td><td class='diff-context'></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div><del class=\"diffchange diffchange-inline\">Consult the [https://www</del>.<del class=\"diffchange diffchange-inline\">mediawiki</del>.<del class=\"diffchange diffchange-inline\">org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software</del>.</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">i2Rest Server is a high-performance multi-threaded server which has three separate &quot;'''''Gates'''''&quot; allocated for processing requests of various types</ins>. <ins class=\"diffchange diffchange-inline\">Each gate itself is a server with its own listener, internal queue for incoming requests, and a number of &quot;worker&quot; threads to process this queue</ins>. <ins class=\"diffchange diffchange-inline\">Gate servers can communicate with each other and they have a shared memory with common resources</ins>.</div></td></tr>\n<tr><td class='diff-marker'>&#160;</td><td class='diff-context'></td><td class='diff-marker'>&#160;</td><td class='diff-context'></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div><del class=\"diffchange diffchange-inline\">== Getting started ==</del></div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{|[</ins>[<ins class=\"diffchange diffchange-inline\">attachment</ins>:<ins class=\"diffchange diffchange-inline\">i2Rest Gates</ins>.<ins class=\"diffchange diffchange-inline\">png|{{attachment:i2Rest Gates</ins>.<ins class=\"diffchange diffchange-inline\">png||width=500}}]]</ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div><del class=\"diffchange diffchange-inline\">* </del>[<del class=\"diffchange diffchange-inline\">https</del>:<del class=\"diffchange diffchange-inline\">//www</del>.<del class=\"diffchange diffchange-inline\">mediawiki</del>.<del class=\"diffchange diffchange-inline\">org</del>/<del class=\"diffchange diffchange-inline\">wiki</del>/<del class=\"diffchange diffchange-inline\">Special:MyLanguage</del>/<del class=\"diffchange diffchange-inline\">Manual:Configuration_settings Configuration settings list]</del></div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|'''Main Gate''' - endpoint to communicate with common clients, &lt;br</ins>/<ins class=\"diffchange diffchange-inline\">&gt;&lt;br/&gt;</ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div><del class=\"diffchange diffchange-inline\">* [https:</del>//<del class=\"diffchange diffchange-inline\">www.mediawiki</del>.<del class=\"diffchange diffchange-inline\">org</del>/<del class=\"diffchange diffchange-inline\">wiki</del>/<del class=\"diffchange diffchange-inline\">Special:MyLanguage/Manual:FAQ MediaWiki FAQ]</del></div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">'''Sessions Gate''' - endpoint for sessions,&lt;br</ins>/<ins class=\"diffchange diffchange-inline\">&gt;&lt;br</ins>/<ins class=\"diffchange diffchange-inline\">&gt;</ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div><del class=\"diffchange diffchange-inline\">* </del>[https<del class=\"diffchange diffchange-inline\">://lists</del>.<del class=\"diffchange diffchange-inline\">wikimedia</del>.<del class=\"diffchange diffchange-inline\">org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list</del>]</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">'''Management Gate''' - endpoint for management requests</ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div><del class=\"diffchange diffchange-inline\">* </del>[<del class=\"diffchange diffchange-inline\">https://www</del>.<del class=\"diffchange diffchange-inline\">mediawiki</del>.<del class=\"diffchange diffchange-inline\">org/wiki/Special</del>:<del class=\"diffchange diffchange-inline\">MyLanguage/Localisation</del>#<del class=\"diffchange diffchange-inline\">Translation_resources Localise MediaWiki for your language</del>]</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|}</ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>* [<del class=\"diffchange diffchange-inline\">https://www</del>.<del class=\"diffchange diffchange-inline\">mediawiki</del>.<del class=\"diffchange diffchange-inline\">org/wiki/Special</del>:<del class=\"diffchange diffchange-inline\">MyLanguage/Manual</del>:<del class=\"diffchange diffchange-inline\">Combating_spam Learn how </del>to <del class=\"diffchange diffchange-inline\">combat spam </del>on <del class=\"diffchange diffchange-inline\">your wiki</del>]</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">Each Gate has a separate listener, which can serve requests with HTTP or HTTPs protocol over TCP</ins>/<ins class=\"diffchange diffchange-inline\">IP or Unix Sockets as a transport. Using TCP</ins>/<ins class=\"diffchange diffchange-inline\">IP, it is possible to serve external clients requests (calls from other computers to this IBM i server)</ins>. <ins class=\"diffchange diffchange-inline\">TCP</ins>/<ins class=\"diffchange diffchange-inline\">IP connections can be secured with SSL</ins>/<ins class=\"diffchange diffchange-inline\">TLS. Using Unix Sockets, only clients located on the same IBM i server, can access i2Rest Server. </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">== Main Gate ==</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">&lt;&lt;Anchor(main_gate)&gt;&gt;This gate is used for serve requests from common clients. It is recommended [</ins>[<ins class=\"diffchange diffchange-inline\">gate object|to setup]] secured </ins>https <ins class=\"diffchange diffchange-inline\">url for this gate. All OpenAPI calls for i2Rest [[i2Rest API#run_command|run_command]] and [[i2Rest API#run_program|run_program]] APIs must go to this gate. API run_command requires mandatory authentication with OAuth2, while run_program APIs does not necessarily require OAuth2 authentication. You can define it in pcml file describing particular run_program API. Upon receive request without required OAuth2 authentication token, Main Gate will respond to client with 401 Unauthenticated response code. In this case client can start one of available OAuth2 flows to obtain authentication token</ins>.</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">=== Session ===</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">Each API call request that requires OAuth2 authentication will be routed to separate IBM i job, that called here as a '''''Session'''''</ins>. <ins class=\"diffchange diffchange-inline\">Main Gate automatically submits Session when it is issuing a new access token that includes [[i2Rest scopes#run_command|run_command]] or [[i2Rest scopes#run_program|run_program]</ins>] <ins class=\"diffchange diffchange-inline\">in its scope. Each access token has its own Session. If session job finishes on some reason, access token will be revoked automatically.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">=== Session System ===</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">&lt;&lt;Anchor(session_system)&gt;&gt;Commands to submit Sessions are defined in i2Rest configuration as array of [</ins>[<ins class=\"diffchange diffchange-inline\">session_system object|Session System objects]]. '''''Session System''''' object allows you to define particular command that will be used to submit new Session</ins>. <ins class=\"diffchange diffchange-inline\">Each Session System has an unique name</ins>. <ins class=\"diffchange diffchange-inline\">You have to include '[[i2Rest scopes#system_|system_&lt;name&gt;]]' in scopes while obtaining OAuth2 access token, to submit session with particular system&lt;&lt;BR&gt;&gt;&lt;&lt;BR&gt;&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">Setting of the submit command gives you a possibility, for example, to start a session jobs with the authority of the users who authorized the creation of the tokens&lt;&lt;BR&gt;&gt;&lt;&lt;BR&gt;&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">Two special Session Systems can be defined</ins>:<ins class=\"diffchange diffchange-inline\">&lt;&lt;BR&gt;&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{{{*LOCAL&#160; &#160;  }}}- i2Rest Server will use this system definition to submit all sessions for access tokens that does not have '[[i2Rest scopes</ins>#<ins class=\"diffchange diffchange-inline\">system_|system_&lt;name&gt;]</ins>]<ins class=\"diffchange diffchange-inline\">' in its scope&lt;&lt;BR&gt;&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{{{</ins>*<ins class=\"diffchange diffchange-inline\">ANONYMOUS }}}- Will be used to start [[i2Rest anonymous sessions|anonymous]] sessions which will process i2Rest </ins>[<ins class=\"diffchange diffchange-inline\">[i2Rest API#run_program|run_program]] APIs that does not have to be authenticated</ins>.</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">== Sessions Gate ==</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">This gate is an internal endpoint that has to be available only for requests from submitted session jobs</ins>. <ins class=\"diffchange diffchange-inline\">If you plan to use only native Session Systems that will be submitted on the same IBM i where i2Rest Server is running, you can use {{{file</ins>:<ins class=\"diffchange diffchange-inline\">}}} endpoint in this gate [[gate object|settings]]. If you plan to serve requests from external Session Systems, it is recommended to use {{{https</ins>:<ins class=\"diffchange diffchange-inline\">}}} endpoint.&lt;&lt;BR&gt;&gt;&lt;&lt;BR&gt;&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">Session gate will listen for response messages from submitted session jobs and will route these messages </ins>to <ins class=\"diffchange diffchange-inline\">clients that called APIs </ins>on <ins class=\"diffchange diffchange-inline\">Main Gate.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">== Management Gate ==</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">This gate provides access to the set of [[i2Rest API#management_functions|i2Rest Management APIs]]. Access to this gate requires access token with '[[i2Rest scopes#management_functions|management_functions]]' in its scope. Management Gate endpoint and Main gate endpoint must be different for the security reasons. If you plan to use [[i2Rest Client]</ins>] <ins class=\"diffchange diffchange-inline\">command to execute management functions from the terminal of the same IBM i where i2Rest Server is running, it is recommended to use {{{file:}}} endpoint here.</ins></div></td></tr>\n\n<!-- diff cache key mediawiki:diff::1.12:old-1:rev-2 -->\n"
    }
}