.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright 2018 Huawei Technologies Co., Ltd.

SO Offered and Consumed APIs
============================

The list of APIs that SO offers can be found in following table:

.. |yml-icon| image:: swagger/images/yaml.png
              :width: 40px

.. |swagger-icon| image:: swagger/images/swagger.png
                   :width: 40px

.. |html-icon| image:: swagger/images/html.png
               :width: 40px

.. csv-table::
   :header: "|Swagger-icon|", "|html-icon|", "|yml-icon|"
   :widths: 60,60,60

   "swagger json file", "html doc", "yaml doc"
   ":download:`link <swagger/swagger.json>`", ":download:`link <swagger/swagger.html>`", ":download:`link <swagger/swagger.yaml>`"

The list of APIs that SO offerers for monitoring the BPMN flows
could be found in the following table:

.. csv-table::
   :header: "|Swagger-icon|", "|yml-icon|"
   :widths: 60,60

   "swagger json file", "yaml doc"
   ":download:`link <swagger/SO_MONITORING_SWAGGER.json>`", ":download:`link <swagger/SO_MONITORING_SWAGGER.yaml>`"

Further Reading
---------------

Detailed documentation can be found here:

.. toctree::
   :maxdepth: 1

   apis/serviceInstances-api.rst
   apis/e2eServiceInstances-api.rst
   apis/consumed-apis.rst
