Automation Kit includes a fixture-safe FastAPI wrapper for inspecting and running supported patterns through local HTTP endpoints.
- Local only by default.
- Synthetic fixtures only.
fixture_safeis alwaystruefor shipped API responses.live_services_usedis alwaysfalsefor shipped API responses.- No Shopify, Stripe, HubSpot, GHL, Airtable, Slack, Google, Zapier, Make, n8n, or OpenAI credentials are required.
PYTHONPATH=src uvicorn auto_kit.api:app --host 127.0.0.1 --port 8000OpenAPI docs are available locally at:
http://127.0.0.1:8000/docshttp://127.0.0.1:8000/openapi.json
| Method | Path | Purpose |
|---|---|---|
GET |
/health |
API health and safety metadata. |
GET |
/patterns |
List discovered patterns and whether API runs are enabled. |
GET |
/patterns/{pattern_name} |
Inspect one pattern's workflow metadata. |
POST |
/patterns/{pattern_name}/run |
Run a supported pattern against local fixtures. |
webhook-routercsv-to-crmlead-enrichment
Other patterns are listed for discovery but return a clean 400 response if run through the API before they are enabled.
{
"fixture_name": "default",
"input": {
"type": "order.created",
"order_id": "ORD-123",
"amount": 199.0
}
}The input field is accepted for API-shaped local requests. Current shipped pattern implementations still run deterministic repository fixtures so behavior remains reproducible.
{
"pattern_name": "webhook-router",
"status": "passed",
"output": {},
"validation_summary": {
"passed": true,
"fixture_name": "default",
"errors": [],
"input_received": true
},
"warnings": [],
"fixture_safe": true,
"live_services_used": false
}See:
examples/api-requests/webhook-router-request.jsonexamples/api-requests/csv-to-crm-request.jsonexamples/api-responses/webhook-router-response.jsonexamples/api-responses/csv-to-crm-response.json
curl -fsS http://127.0.0.1:8000/health
curl -fsS http://127.0.0.1:8000/patterns
curl -fsS -X POST http://127.0.0.1:8000/patterns/webhook-router/run -H 'content-type: application/json' --data @examples/api-requests/webhook-router-request.json