> ## Documentation Index
> Fetch the complete documentation index at: https://api.housera.ro/llms.txt
> Use this file to discover all available pages before exploring further.

# Sandbox

> Testing environment: the same rules as production, without effects on real listings.

The sandbox is a separate copy of the platform where you build and test your integration without touching real listings. It runs the same code as production, so the rules, error codes, moderation, and webhooks behave the same.

| | Sandbox | Production |
| - | - | - |
| API Address | `https://staging.housera.ro/api/v1` | `https://housera.ro/api/v1` |
| Where you create keys | `https://staging.housera.ro/setari/api` | `https://housera.ro/setari/api` |
| Key Prefix | `hsr_test_` | `hsr_live_` |
| Listings | test, not visible to the public | real, appear in search after approval |
| Emails | do not go to real recipients | go normally |

## Different keys for each environment

Accounts, keys, listings, and webhooks are separate between the two environments. A key `hsr_test_` does not work in production and vice versa. When switching to production, create a new key from your account on housera.ro and reconfigure your webhooks there.

<Tip>
  Keep the base address and key in configuration (environment variables), not in code. Moving to production then means only two values changed.
</Tip>

## What you can test

* **Field mapping:** send listings of all types you have in the system to `POST /listings/validate` and fix what you receive in `errors[]` and `warnings[]`.
* **Full flow:** creation, photos, editing, pause, reactivation, sold, deletion.
* **Webhooks:** the “Send a test” button in Settings → API sends a signed `webhook.test` event to check your endpoint and signature.
* **Recovery:** stop your endpoint for a while, then recover lost events from `GET /events`.
* **Conflicts:** edit a listing in the sandbox portal, then send an edit via API with old `If-Match` and check the fact that you receive `412`.

## Test data

* Use fictitious data: real addresses and coordinates of the city are fine, but without names, phone numbers, or emails of real persons.
* For photos, use images you have the right to use, served from a public HTTPS URL or uploaded directly.
* The emails that the sandbox would send (confirmations, moderation notifications) do not reach real recipients.

## Moderation in the sandbox

New listings enter moderation here as well, with status `pending`, just like in production. They remain in this state until they are approved or rejected. Your integration should handle a listing `pending` as a normal state that may last.

<Note>
  Data in the sandbox is not guaranteed long term: the environment may be emptied or rebuilt. Do not keep anything there that you need later.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.