> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.duuo.cooperators.ca/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.duuo.cooperators.ca/_mcp/server.

# Environments & Testing

## Available Environments

| Environment | Purpose                             | Base URL                   |
| ----------- | ----------------------------------- | -------------------------- |
| Sandbox     | Integration development and testing | Provided during onboarding |
| Staging     | Pre-production validation           | Provided during onboarding |
| Production  | Live customer traffic               | Provided during onboarding |

**Note:** Sandbox and Staging environments use separate credentials from Production. Never use Production credentials for testing.

## Testing Checklist

Before going live, your integration must pass a Co‑operators implementation review. Use the following checklist to validate your implementation.

Authentication

* Token API returns a valid Bearer token for your sandbox credentials

* Expired token handling: confirm your system re-authenticates and retries successfully

* Invalid credentials return 401 Unauthorized

Prefill Submission

* A full payload (all fields populated) returns 200 with a valid `recordId` and `url`

* A payload with only required fields returns 200 with a valid `recordId` and `url`

* An invalid product value (e.g. x) returns 400 with the product field identified in warnings

* A missing required field returns 400

* A malformed optional field (e.g. incorrect date format) returns 200 with a warning

Idempotency

* Submitting same payload with same Idempotency-Key returns same `recordId` and `url` without creating a new record

* Submitting a different payload with an already-used Idempotency-Key returns 409 Conflict

Customer Journey

* Redirecting to the returned URL launches the Co‑operators quote experience

* Prefilled fields are visible and editable for the customer

* Customers arriving via an expired, invalid URL or those who have denied prefill consent will see a graceful fallback (standard non-prefill journey)

Error & Edge Cases

* Rate limit test: confirm your system respects Retry-After on 429

* 5xx handling: confirm your system applies backoff and does not flood the API on transient failures

## Test Data

Use synthetic, fictional customer data in Sandbox and Staging. Do not submit real customer PII in non-production environments. Sample test data is available from your Co‑operators integration contact during onboarding.