API Definitions
Panther has several different APIs managing different kinds of data. This folder contains the
Swagger api specs and Go clients/models which services need to communicate with an API.
There is an ongoing effort to unify and simplify the Panther API, but for now there are 2
different API implementations:
- lambda/ [DEPRECATED] - Invoking a Lambda function directly as an API, using the genericapi library.
These APIs are defined purely by Go request/response models.
- gateway/ - API Gateway proxies requests to a Lambda function, assisted by the gatewayapi library.
These APIs define the Swagger specification and the autogenerated Go client/models.
In either case, the Lambda function ultimately manages data in an underlying data store, usually DynamoDB.
Building
To generate the Go client/models packages from Swagger files, run mage build:api
from the repo root.