https://api.windfalldata.com/sandbox/v1
Sandbox
A non-billed environment that mirrors the production endpoint and returns deterministic responses from a fixed set of fictitious personas. Use it to build and test client integrations without consuming credits or hitting real customer data.
Why use the sandbox?
No credit consumption
Sandbox calls are not billed and do not draw from your token quota.
Deterministic responses
The same request always returns the same response, ideal for unit and integration tests.
Identical contract
Same matching pipeline, request body, and response format as production. Only the data source differs.
Endpoint & authentication
https://api.windfalldata.com/sandbox/v1
X-WF-Auth-Token
sandbox_YOUR_KEY
Sandbox tokens are issued by Windfall and always begin with sandbox_. Contact your account representative to provision one; see Authentication for details. Production tokens do not work on the sandbox endpoint and sandbox tokens do not work on production — either combination returns 403.
curl -X POST https://api.windfalldata.com/sandbox/v1 \
-H "Content-Type: application/json" \
-H "X-WF-Auth-Token: sandbox_YOUR_KEY" \
-d '{
"first_name": "Jane",
"last_name": "Doe",
"addresses": [{"address": "100 Sandbox Ln", "zipcode": "80201"}]
}'
The sandbox accepts the same request body and returns the same response shape as the production endpoint. See the API Reference for the full schema.
Match scenarios
The sandbox supports four match outcomes. Send a request that includes a valid matching combination from one of the personas — see what constitutes a match for the field requirements — to deterministically trigger that scenario.
A few response rules apply across all scenarios:
- If the request includes an
id, it is echoed back on the response. - The
householdobject is omitted whenhousehold_matchedisfalse; thecareerobject is omitted whencareer_matchedisfalse.
Career matching requires Career Intelligence (CI) on your account
The sandbox honors your account's configuration just like production. If your account does not have CI matching enabled, you will see:
- "Both" personas (Amanda Taylor, Daniel Garcia, Michelle Robinson, James Thompson, Catherine White) return
household_matched: truebutcareer_matched: false. - "Career-only" personas (David Wilson, Jennifer Davis, Thomas Anderson, Patricia Martinez, Christopher Lee) return both flags
false— they appear as no match.
Contact your Windfall account representative to enable CI matching for sandbox or production use.
The examples below send every available identifier for clarity. If you copy just one field from an example, your request may stop matching — different combinations have different field requirements. See what constitutes a match for the supported combinations.
Household + career match
Returns full enrichment: wealth, household data, and career/employment data. Personas: Amanda Taylor, Daniel Garcia, Michelle Robinson, James Thompson, Catherine White.
curl -X POST https://api.windfalldata.com/sandbox/v1 \
-H "Content-Type: application/json" \
-H "X-WF-Auth-Token: sandbox_YOUR_KEY" \
-d '{
"first_name": "Amanda",
"last_name": "Taylor",
"addresses": [{"address": "100 Demo St", "zipcode": "30301"}],
"emails": ["amanda.taylor@sandbox.windfall.com"],
"phones": ["5553000001"]
}'
{
"household_matched": true,
"career_matched": true,
"household": { "net_worth": 1000000, /* ... */ },
"career": { "job_title": "Software Engineer", /* ... */ }
}
Household match only
Returns wealth and household data. The career field is absent. Personas: Jane Doe, Robert Smith, Sarah Johnson, Michael Williams, Elizabeth Brown.
{
"household_matched": true,
"career_matched": false,
"household": { "net_worth": 1000000, /* ... */ }
}
Career match only
Returns career/employment data only. The household field is absent. Personas: David Wilson, Jennifer Davis, Thomas Anderson, Patricia Martinez, Christopher Lee.
{
"household_matched": false,
"career_matched": true,
"career": { "job_title": "Software Engineer", /* ... */ }
}
No match
Any request that does not match a persona returns no data. Both flags are false and the enrichment objects are absent.
{
"household_matched": false,
"career_matched": false
}
Persona reference
The sandbox includes 15 personas across 3 match categories — 5 example profiles in each. The profiles range from modest to ultra-high net worth (and individual contributor to CEO for career personas), giving you a representative sample of the response shapes production might return.
What constitutes a match
The sandbox uses the same matchers as production. A request matches a persona when one of Windfall's matchers can resolve against the fields in the request. Below are examples of some of those matchers:
| Combination | Required fields |
|---|---|
| emails | |
| Full address | addresses[].address (number + street) AND addresses[].zipcode |
| Phone + name | phones AND first_name AND last_name |
Sending only first_name / last_name will not match. Sending only a partial address (e.g., street name without the zipcode) will not match. Adding extra non-matching fields is fine — once any combination above resolves, the match succeeds.
Household + career — full enrichment
| Persona | Address | Phone | Net worth | Job | Copy | |
|---|---|---|---|---|---|---|
| Amanda Taylor | 100 Demo St, 30301 | amanda.taylor@sandbox.windfall.com | 5553000001 | $1M | Software Engineer @ Sandbox Tech Inc | |
| Daniel Garcia | 200 Demo St, 85001 | daniel.garcia@sandbox.windfall.com | 5553000002 | $5M | VP of Marketing @ Sandbox Media Group | |
| Michelle Robinson | 300 Demo St, 55401 | michelle.robinson@sandbox.windfall.com | 5553000003 | $10M | CFO @ Sandbox Financial Services | |
| James Thompson | 400 Demo St, 28201 | james.thompson@sandbox.windfall.com | 5553000004 | $25M | Director of Operations @ Sandbox Logistics LLC | |
| Catherine White | 500 Demo St, 92101 | catherine.white@sandbox.windfall.com | 5553000005 | $50M | CEO @ Sandbox Holdings Corp |
Career enrichment is only returned for accounts with Career Intelligence (CI) enabled.
Household only — wealth & household enrichment
| Persona | Address | Phone | Net worth | Copy | |
|---|---|---|---|---|---|
| Jane Doe | 100 Sandbox Ln, 80201 | jane.doe@sandbox.windfall.com | 5551000001 | $1M | |
| Robert Smith | 200 Sandbox Ln, 33101 | robert.smith@sandbox.windfall.com | 5551000002 | $5M | |
| Sarah Johnson | 300 Sandbox Ln, 02101 | sarah.johnson@sandbox.windfall.com | 5551000003 | $10M | |
| Michael Williams | 400 Sandbox Ln, 97201 | michael.williams@sandbox.windfall.com | 5551000004 | $25M | |
| Elizabeth Brown | 500 Sandbox Ln, 37201 | elizabeth.brown@sandbox.windfall.com | 5551000005 | $50M |
Career only — career & employment enrichment
| Persona | Address | Phone | Job | Copy | |
|---|---|---|---|---|---|
| David Wilson | 100 Test Ave, 94105 | david.wilson@sandbox.windfall.com | 5552000001 | Software Engineer @ Sandbox Tech Inc | |
| Jennifer Davis | 200 Test Ave, 10001 | jennifer.davis@sandbox.windfall.com | 5552000002 | VP of Marketing @ Sandbox Media Group | |
| Thomas Anderson | 300 Test Ave, 60601 | thomas.anderson@sandbox.windfall.com | 5552000003 | CFO @ Sandbox Financial Services | |
| Patricia Martinez | 400 Test Ave, 78701 | patricia.martinez@sandbox.windfall.com | 5552000004 | Director of Operations @ Sandbox Logistics LLC | |
| Christopher Lee | 500 Test Ave, 98101 | christopher.lee@sandbox.windfall.com | 5552000005 | CEO @ Sandbox Holdings Corp |
Career enrichment is only returned for accounts with Career Intelligence (CI) enabled. Without CI, requests for these personas resolve as no match.
Every field that can appear in a production response is populated by at least one persona, so you can validate parsers and downstream logic against realistic data.
Error simulation
Test your error-handling code paths without needing to trigger the underlying conditions. Add the X-Windfall-Sandbox-Error header to any sandbox request and the API returns the requested status with body {"message": "..."}.
| Header value | HTTP status | Meaning |
|---|---|---|
| 400 | 400 Bad Request | Simulated invalid input |
| 429 | 429 Too Many Requests | Simulated rate limit exceeded |
| 500 | 500 Internal Server Error | Simulated unhandled error |
| 503 | 503 Service Unavailable | Simulated downstream service unavailable |
curl -X POST https://api.windfalldata.com/sandbox/v1 \
-H "Content-Type: application/json" \
-H "X-WF-Auth-Token: sandbox_YOUR_KEY" \
-H "X-Windfall-Sandbox-Error: 429" \
-d '{"first_name": "Jane", "last_name": "Doe"}'
# Response: HTTP 429
# {"message": "Rate limit exceeded"}
Naturally-occurring errors
Beyond the simulator, the sandbox returns these errors under the same real conditions production does:
400
Malformed request body, headers, or more than 10 emails / phones / addresses.
401
Missing or invalid X-WF-Auth-Token.
403
Sandbox token used on production endpoint, or production token used on sandbox.
429
Rate limit exceeded (5 req/sec).
500
Unhandled server error. Rare in the sandbox — use the simulator to test this code path.
503
Downstream service unavailable. Rare in the sandbox — use the simulator to test this code path.
Error responses always have shape {"message": "..."}.