Explain OpenAPI Driven API

API Bridge is OpenAPI driven. What does it mean? It means API bridge exposes ONLY rest API endpoints that are described in its OpenAPI specification which was provided when API Bridge was started. There are two groups of endpoints exposed by API bridge.

Static API Endpoints

There are several core API endpoints exposed from API bridge. Like admin, rpc, health endpoints. Detailed description of all static (core) endpoints you can find here.

Dynamic endpoints OpenAPI driven

Generally API Bridge exposes REST APIs from “rest” endpoints, but a number of elements are added to the path based on OpenAPI specification. The following pattern is used to construct rest API endpoints:

{server}:{port}/rest/{pathSuffix}/{version}/{pathsFromOpenAPI}

For example: server - dkdcvs134.ibs.net port - 8080 pathSuffix - provided in config file connected to OpenAPI specification version - taken from OpenAPI specification - the major element of “version” value.

Let now assume the following config:

{
    "openAPIConfigs":[
        {
                "pathSuffix":"base",
                "oasFiles":["myfile.json"]
        }
    ]

}

Then myFile.json contains the following entry:

{
  "openapi" : "3.0.0",
  "info" : {
    "version" : "1.2.3",
    "title" : "Example OpenAPI spec",
  },
  "paths" : {
    "/areas" : {
        ...
}        

then the elements will get the following values: pathSuffix = “base” version = “1”

The url will be as follows: http://dkdcvs134.ibs.net:8080/rest/base/1/areas

OpenAPI special sections

In OpenAPI specification there are special sections which are reserved for Aperio. See document describing it.