/python-apiclarity-client

A python client to interact with APIClarity API

Primary LanguagePythonApache License 2.0Apache-2.0

Python APIClarity client

GitHub Actions status Code style: Black

Python client package for APIClarity interaction.

APIClarity is a modular tool that addresses several aspects of API Security, focusing specifically on OpenAPI based APIs. APIClarity approaches API Security in 2 different ways:

  • Captures all API traffic in a given environment and performs a set of security analysis to discover all potential security problems with detected APIs
  • Actively tests API endpoints to detect security issues in the implementation of such APIs.

Usage

The ClientSession class is based on requests.Session and can be used similarly. To configure the session, provide a ClientSettings object:

from apiclarity import ClientSession, ClientSettings

apiclarity_session = ClientSession(ClientSettings(
    apiclarity_endpoint="http://apiclarity",
    default_timeout=(9.0, 3.0),
))
apiInfo = apiclarity_session.getInventory()
for api in apiInfo.items:
    print(f"received: {api}\n")

The settings can also be retrieved from the environment during creation of the ClientSettings object, given here with the defaults:

APICLARITY_ENDPOINT="http://apiclarity:8080"
TELEMETRY_ENDPOINT="http://apiclarity:9000"
HEALTH_ENDPOINT="http://apiclarity:8081"

Contributing

Pull requests and bug reports are welcome. Please see CONTRIBUTING.md.

License

The code is released under the Apache 2.0 License.