---
title: "Coverage Cat Sandbox and Testing"
description: "Coverage Cat sandbox docs covering the full synthetic consumer umbrella sandbox, the homeowners browser sandbox, delegated homeowners and umbrella API sandbox semantics, and recommended pre-production checks."
canonical: "https://www.coveragecat.com/developers/sandbox"
last-updated: "2026-10-31"
---

# Coverage Cat Sandbox and Testing

## Consumer umbrella MCP/REST sandbox

Coverage Cat publishes a full synthetic consumer umbrella rehearsal on the same shopper-facing contract:

- Set top-level `sandbox: true` only on the first `/api/consumer/umbrella/prefill` call or `umbrella_consumer_prefill` tool call.
- Reuse the returned `uid` on `/api/intake/{uid}/issues`, `/api/intake/{uid}`, `/api/intake/{uid}/select`, `/api/intake/{uid}/bind`, `/api/intake/{uid}/attach`, `/api/intake/{uid}/payment`, `/api/intake/{uid}/policy`, `/api/intake/{uid}/service`, or coarse `/api/consumer/status` polls.
- Consumer umbrella sandbox returns synthetic quotes, uploads, payment credentials, policy records, and service-request results only.
- Consumer umbrella sandbox sends no live customer email, live carrier submission, real charge, or real credit inquiry.

## Browser sandbox

Coverage Cat publishes a homeowners browser sandbox at:

- `/intake?ltp=owned_homes&sandbox=homeowners`

That page is useful for human review and for any first-party assistant that needs to observe the browser flow without a live operator key.

## Delegated homeowners API sandbox

Coverage Cat's delegated homeowners API supports a mocked rehearsal mode:

- Set top-level `sandbox: true` only on the first create call.
- Reuse the returned `uid` on follow-up polls.
- The first fully complete sandbox submit returns `pending_quotes`.
- A later poll on that same `uid` returns mocked homeowners offers.
- Sandbox sends no live customer email and triggers no live carrier traffic.

## Delegated umbrella API sandbox

Coverage Cat's delegated umbrella API also supports a mocked rehearsal mode:

- Set top-level `sandbox: true` only on the first `draft` call.
- Reuse the returned `uid` on follow-up `quotes` and `status` calls.
- Delegated sandbox umbrella returns mocked draft, quote, and status payloads only.
- Do not continue into `select`, `bind`, or `attach` on a delegated sandbox umbrella `uid`.
- Sandbox sends no live customer email and triggers no live carrier traffic.

## Coverage Cat sandbox checklist

- Use fake or test contact details in sandbox.
- Verify that your consumer umbrella runtime reuses the same sandbox `uid` through prefill, issues, patch, select, bind, attach, payment, policy, service, and status when rehearsing that flow.
- Verify that your runtime reuses the same `uid` on delegated follow-up polls.
- Verify that sandbox never triggers a real charge, credit inquiry, customer message, or live carrier submission.
- Verify that you stop to collect explicit soft-credit consent before setting `credit_check_authorized: true`.
- Verify that your runtime can hand off the `homeowner_quotes_request_login_url` when Coverage Cat publishes it.
- Verify that your delegated umbrella runtime stops at draft/quote/status testing when the response includes `sandbox: true`.

## Before production

Read the consumer or delegated docs that match your flow, then switch from sandbox to live traffic only after you have the right auth and data-handling posture in place:

- `/.well-known/mcp.json`
- `/api/consumer`
- `/api/consumer/openapi.yaml`
- `/api/agent/homeowners/skill.md`
- `/api/agent/skill.md`
- `/developers/auth`
- `/developers/data-handling`
- `/developers/get-api-key`

## Multi-language starter samples

Coverage Cat's shopper-safe consumer discovery document is the fastest starting point for a personal shopping agent. From there, call the consumer-prefill flow instead of sending the shopper straight to `/umbrella`.

```sh
curl https://www.coveragecat.com/api/consumer
curl -X POST https://www.coveragecat.com/api/consumer/umbrella/prefill \
  -H "Content-Type: application/json" \
  -H "Coverage-Cat-API-Version: v1" \
  -H "Idempotency-Key: demo-consumer-prefill-1" \
  -d '{"credit_consent_pending":true,"intake":{"full_name":"Taylor Example","email":"taylor@example.test","address":{"street":"123 Main St","city":"San Francisco","state":"CA","zip":"94107"}}}'
```

```javascript
const discovery = await fetch("https://www.coveragecat.com/api/consumer").then((response) => response.json());
console.log(discovery.preferred_openapi_url);
```

```python
import requests

discovery = requests.get("https://www.coveragecat.com/api/consumer", timeout=30).json()
print(discovery["preferred_openapi_url"])
```
