Sandbox environment, fixture data, and integration test patterns
Signa provides a dedicated sandbox environment so you can develop and test your integration without touching live data or consuming production rate limits.
Test keys connect to the sandbox environment automatically. No separate base URL is required — the API routes requests based on the key prefix:
Copy
# This hits the sandbox because the key is sig_test_curl -H "Authorization: Bearer sig_test_YOUR_KEY" \ https://api.signa.so/v1/trademarks/search \ -X POST \ -H "Content-Type: application/json" \ -d '{"query": "test"}'
Never use sig_live_ keys in automated tests, CI pipelines, or development environments. Live keys operate on real data and count against your production rate limits.
The sandbox is pre-populated with a stable dataset of ~10,000 trademarks across multiple jurisdictions. This data is realistic but synthetic — it does not correspond to real trademark applications.
For local development, use a tunnel service to expose your localhost to the internet:
Copy
# Start a tunnel to your local webhook handlerngrok http 3000# Register the tunnel URL as your webhook endpointcurl -X POST https://api.signa.so/v1/webhooks \ -H "Authorization: Bearer sig_test_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://abc123.ngrok.io/webhooks/signa", "events": ["trademark.status_changed", "deadline.approaching"] }'
The webhook test endpoint is useful for verifying signature verification logic. The test payload is signed with your webhook secret, just like production events.
A few things to keep in mind when testing against the sandbox:
Fixture data is reset weekly
The sandbox dataset is reset to its baseline state every Sunday at 00:00 UTC. Any records you create during testing (portfolios, watches) are removed. Design your tests to set up their own state at the beginning of each run.
Webhook delivery is best-effort in sandbox
Sandbox webhooks follow the same retry policy as production, but delivery is deprioritized during peak load. Do not rely on sub-second delivery latency in your tests.
Not all offices have fixture data
The sandbox includes fixture trademarks for US, EU, WO, CA, GB, DE, and AU. Other jurisdictions return empty results. If you need fixture data for a specific office, contact support.
Rate limits are lower
Sandbox rate limits (100 reads/min, 50 search/min) are intentionally lower than production. If your tests are rate-limited, add small delays between requests or reduce parallelism.