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.
Start in the sandbox.

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.

Install
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:4

2. 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.

Send one request
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.

Response headers
HTTP/1.1 200 OK
content-type: application/json; charset=utf-8
x-flintwake-wake-id: wk_0c41f2a9
x-ratelimit-remaining: 5842

3. 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.

Retrieve the wake
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.

flintwake.rules.json
{
  "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.

Redaction is not encryption.

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

  1. Read Authentication to understand scopes and rotation before you issue a live key.
  2. Read Errors so your client handles the four failure modes that actually occur.
  3. Register a webhook endpoint so the first production 5xx reaches you rather than your customer.
  4. Record a deploy marker from CI so your charts can attribute a change to a release.