Web API (Lambda) - Interactive Testing¶
The Swagger UI allows you to test API endpoints directly, including authentication headers and request/response inspection.
Authentication¶
Requests require AWS Signature Version 4 signing. The Swagger UI does not automatically sign requests—you'll need to:
- Sign the request using AWS SDK or CLI
- Copy the
Authorizationheader value - Paste it in the "Authorization" field in Swagger UI
Example using AWS CLI:
aws lambda invoke \
--region us-east-1 \
--function-name signing-api \
--payload '{"action":"sign","tenant_id":"my-tenant","hash":"..."}' \
response.json
Or use the Python SDK:
import json
import base64
from aws_lambda_powertools import Logger
from bootstrap import Request
payload = {
"action": "sign",
"tenant_id": "my-tenant",
"hash": base64.b64encode(hash_bytes).decode(),
}
response = lambda_client.invoke(
FunctionName="signing-api",
Payload=json.dumps(payload)
)
OpenAPI Specification¶
- Full Spec: /api/openapi.yml
- ReDoc (Reference): /api/redoc/
- Swagger UI (Testing): /api/swagger/
Testing Common Endpoints¶
Sign an artifact¶
action=sign
tenant_id=my-tenant
hash=$(echo "hello world" | sha256sum | cut -d' ' -f1 | xxd -r -p | base64)
aws lambda invoke \
--function-name signing-api \
--payload "{\"action\":\"$action\",\"tenant_id\":\"$tenant_id\",\"hash\":\"$hash\"}" \
response.json