# WAREX Developer Portal (sandbox demo)

> Markdown mirror of https://thewarex.ca/developer-portal for AI agents.
> Everything here is a labeled sandbox: simulated keys, simulated
> responses. Live endpoints ship with the WAREX platform.

## Sandbox keys

Generate a `wx_test_…` key on the portal page; every code sample rewrites
itself to use it. Sandbox keys hit the simulator only.

## Post an RFQ

```bash
curl https://api.thewarex.ca/v1/rfqs \
  -H "Authorization: Bearer wx_test_…" \
  -d order_ref="WX-DEMO-1002" \
  -d services[]="rework" \
  -d urgency="rescue" \
  -d units[type]="pallet" -d units[count]=2 \
  -d window[end]="+6h"
# → 201 { "id": "rfq-002", "sample": true, "expires_at": "+6h" }
```

The intake schema is the board's anti-ping-pong gate: location + radius,
services, environment, certifications, units, dims, photos (required),
constraints, urgency tier. RFQs are idempotent on `order_ref`, scope
changes re-version quotes, and every RFQ carries `expires_at` — no ghost
loads, by schema.

## Track an order

```bash
curl https://api.thewarex.ca/v1/shipments/shp-demo-001 \
  -H "Authorization: Bearer wx_test_…"
# → 200 { "state": "IN_TRANSIT",
#         "lifecycle": ["CREATED","IN_TRANSIT","DELAYED",
#                       "IN_TRANSIT","DELIVERED"], "sample": true }
```

Orders expose the unified record: lifecycle state, timeline events, ETA
band, documents, and accepted menu pricing line by line.

## Deterministic shipment replay

The sandbox ships one deterministic shipment (`shp-demo-001`) that replays
CREATED → IN_TRANSIT → DELAYED → IN_TRANSIT → DELIVERED in the same order
every run, so webhook tests never flake.

## See also

- llms.txt: https://thewarex.ca/llms.txt
- Load board demo: https://thewarex.ca/load-board
