Generating client libraries via OpenAPI
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
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
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)