% layout 'main', title => 'KorAP: Application Programming Interface';

%= page_title

<p>Internally the communication between KorAP components is done using the KoralQuery protocol.
  The specification for KoralQuery is available on <%= ext_link_to 'GitHub', "http://korap.github.io/Koral" %>.
  All API endpoints either use KoralQuery or are (more or lest) REST-ful web APIs.</p>

<p>All publicly available API endpoints (partially experimental) including their requests and responses are described in the <%= ext_link_to 'GitHub Wiki', "https://github.com/KorAP/Kustvakt/wiki" %> of <%= embedded_link_to 'doc', 'Kustvakt', 'korap', 'kustvakt' %>.</p>

% my $api_url = $c->url_for('proxy' => (apiv => $Kalamar::API_VERSION))->to_abs->scheme('https');
% $api_url->path->trailing_slash(1);

%if ($c->app->config('Kalamar')->{openapi}) { 
<p id="openapi">
% my $openapi= $api_url->to_abs;
% $openapi->path->merge($c->app->config('Kalamar')->{openapi})->trailing_slash(1); 
The OpenAPI documentation is described <%= ext_link_to 'here',  $openapi  %>.
</p>
% } 

<p>The root service can be found at <code id="api-service-uri"><%=  $api_url %></code>.</p>

<h2>Client Libraries</h2>

<p>Client libraries are available for R on <%= ext_link_to 'CRAN', 'https://cran.r-project.org/package=RKorAPClient' %>
(sources and more info on <%= ext_link_to 'GitHub', 'https://github.com/KorAP/RKorAPClient' %>)
and for Python on <%= ext_link_to 'PyPI', 'https://pypi.org/project/KorAPClient/' %>
(sources on <%= ext_link_to 'GitHub', 'https://github.com/KorAP/PythonKorAPClient' %>).</p>
