Quickstart
Your first wake in four minutes.
No application code changes, no schema migration, no sales call. Install a collector, send one request, read the record.
Prerequisites
- An API you can put a process in front of, or a runtime from the list below.
- A sandbox API key. Create one in the console under Keys → New key.
- Four minutes. That is the whole list.
Sandbox keys are free, rate-limited generously and completely separate from production. Nothing you do here can affect live traffic.
1. Install the collector
The collector observes traffic between your consumers and your API. Pick whichever form fits your architecture — all of them produce identical wakes.
docker run -d --name flintwake \
-e FLINTWAKE_API_KEY=$FLINTWAKE_API_KEY \
-e FLINTWAKE_ORIGIN=http://localhost:3000 \
-e FLINTWAKE_ENVIRONMENT=sandbox \
-p 8080:8080 flintwake/collector:42. Send a request
Point a request at the collector rather than your API directly. It forwards to your origin, captures the exchange and returns your origin’s response unchanged.
curl -i http://localhost:8080/v2/catalog/items \
-H "Authorization: Bearer $YOUR_OWN_API_KEY"Look at the response headers. The collector adds one: x-flintwake-wake-id. That identifier is the whole point.
HTTP/1.1 200 OK
content-type: application/json; charset=utf-8
x-flintwake-wake-id: wk_0c41f2a9
x-ratelimit-remaining: 58423. Read the wake
Fetch it from the API, or open the console and paste the identifier into the request explorer. Both return the same record.
curl https://api.sandbox.flintwake.com/v2/wakes/wk_0c41f2a9 \
-H "Authorization: Bearer $FLINTWAKE_TEST_KEY"4. Add a redaction rule
Before you point anything real at the collector, decide what it may keep. Rules are evaluated inside your network, before the wake is serialised, so a redacted value is never transmitted.
{
"version": 1,
"capture": [
{ "match": "/v2/**", "bodies": true },
{ "match": "/v2/health", "capture": false }
],
"redact": [
"$.card.number",
"$.customer.email",
"$.*.tax_id"
],
"retention_days": 7
}Mount the file at /etc/flintwake/rules.json, or pass its path with FLINTWAKE_RULES_PATH. The collector reloads it without restarting.
A redacted field is replaced with a typed placeholder and cannot be recovered. That is deliberate: a value we never hold cannot leak. Exclude entire endpoints if a shape is too sensitive to describe.
What to do next
- Read Authentication to understand scopes and rotation before you issue a live key.
- Read Errors so your client handles the four failure modes that actually occur.
- Register a webhook endpoint so the first production 5xx reaches you rather than your customer.
- Record a deploy marker from CI so your charts can attribute a change to a release.