Soteri’s Scanning Service publishes an OpenAPI 3.0 Schema at

You can interactively browse this schema here.

Generating API Clients

You can use OpenAPI Generator to generate API client libraries in a variety of languages.

Install OpenAPI Generator

See the OpenAPI Generator README. On mac, you can use homebrew:

brew install openapi-generator

Generate a client library of your preferred language

To generate a client (for example, with python):

openapi-generator generate -i https// -g python -o soteri-api-client

The generated client has a README, which includes examples of how to use the client library. For example, the generated python client would be used like this:

import time
import openapi_client
from openapi_client.api import scanning_api_api
from openapi_client.model.overall_response import OverallResponse
from pprint import pprint
# Defining the host is optional and defaults to
# See for a list of all supported configuration parameters.
configuration = openapi_client.Configuration(
    host = ""

# Enter a context with an instance of the API client
with openapi_client.ApiClient() as api_client:
    # Create an instance of the API class
    api_instance = scanning_api_api.ScanningAPIApi(api_client)
    include_allowlisted = False # bool | If true, include allowlisted findings. (optional) if omitted the server will use the default value of False
    file = [
        open('/path/to/file', 'rb'),
    ] # [file_type] | The files to be scanned. (optional)

    # example passing only required values which don't have defaults set
    # and optional values
        api_response = api_instance.scan(include_allowlisted=include_allowlisted, file=file)
    except openapi_client.ApiException as e:
        print("Exception when calling ScanningAPIApi->scan: %s\n" % e)