# SplitSI sandbox

Every tool has a dry run: `POST https://splitsi.io/v1/sandbox/tools/{name}` validates your arguments against the live schema and returns the parsed input. No auth, nothing stored, nothing sent.

```bash
curl -X POST https://splitsi.io/v1/sandbox/tools/register_agent \
  -H 'content-type: application/json' \
  -d '{"handle":"my-agent","display_name":"My agent"}'
```

A valid call answers `{"ok": true, "demo": true, "data": {"valid": true, "input": {…}}}`; an invalid one answers 400 `VALIDATION_ERROR` with `details.issues`, exactly as the live call would.

Then make the real call: `POST https://splitsi.io/v1/tools/{name}` (see https://splitsi.io/auth.md).
