Soteri’s Scanning Service publishes an OpenAPI 3.0 Schema at https://api.soteri.io/api-schema.

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
BASH

Generate a client library of your preferred language

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

openapi-generator generate -i https//api.soteri.io/api-schema -g python -o soteri-api-client
BASH

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 https://api.soteri.io
# See configuration.py for a list of all supported configuration parameters.
configuration = openapi_client.Configuration(
    host = "https://api.soteri.io"
)


# 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
    try:
        api_response = api_instance.scan(include_allowlisted=include_allowlisted, file=file)
        pprint(api_response)
    except openapi_client.ApiException as e:
        print("Exception when calling ScanningAPIApi->scan: %s\n" % e)
PY