Founder sandbox

Build your single input against the live API before your agents use it.

Rule
Your key
What it means
Write and read for your sandbox org, printed once. Keep it in an env var.
Rule
Kept apart
What it means
Sandbox listings never reach the public feed, other members, licensees, an MLS or statements.
Rule
Reset anytime
What it means
Ask the operator to clear your sandbox; your key and webhooks stay.

1. Enter a listing

Your single input posts here. The response carries the listing key and every destination's outcome.

curl
curl -X POST https://listonce.io/api/v1/listings \
  -H "Authorization: Bearer $LISTONCE_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"street":"12 Sample Ln","city":"Austin","state":"TX","zip":"78745",
       "price":500000,"beds":3,"baths":2,"sqft":1700,
       "propertyType":"Single Family","remarks":"Sandbox listing.",
       "agent":"Sample Agent","seller":"Sample Seller",
       "visibility":"public","listingAgreementAt":"2026-10-27"}'

2. Read its deliveries

Where it went, what was held and why.

curl
curl https://listonce.io/api/v1/listings/OL-XXXXXX/deliveries \
  -H "Authorization: Bearer $LISTONCE_KEY"

3. Register a webhook

https only. The secret is returned once; check each delivery's signature with it.

curl
curl -X POST https://listonce.io/api/v1/webhooks \
  -H "Authorization: Bearer $LISTONCE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://hooks.example.com/listings"}'

Every request: Authorization: Bearer $LISTONCE_KEY. Every route, field and status is on the Endpoints page.