Skip to content
Sandbox

Environments

Sandbox and Production share a URL and a contract; the key decides the environment. What is isolated between the two, and how to check it in a response.

View as Markdown

Noryo Merchant API has two environments, sandbox and production. They share the same base URL and the same API surface: there is no Sandbox host. The key decides.

Key prefixEnvironment
nry_mer_sbx_sandbox
nry_mer_live_production

The prefix declares, the server confirms

The prefix is a declaration, not an authority. The server finds the registered key, reads its environment, and compares it with the prefix presented. A Sandbox key presented with the nry_mer_live_ prefix (or the other way round) is refused with 401 invalid_api_key, with no silent correction. On Noryo's side, a key cannot be registered with a prefix that contradicts its environment.

Checking the environment in a response

Every result repeats the environment that produced it:

"enrichment": { "status": "resolved", "environment": "sandbox", "…": "…" }
JSON

If your Production code receives "environment": "sandbox", it is using the wrong key.

What is isolated

Everything the API memorises is scoped to a workspace and an environment.

ItemIsolation
ResultsAn enrichment_id can only be read with a key of the same workspace and the same environment; otherwise 404 enrichment_not_found, indistinguishable from an unknown identifier
Idempotency-KeyThe same idempotency key is independent in Sandbox and in Production
external_transaction_idEconomic deduplication is separate per environment: the same identifier can exist in both
RateOne token bucket per key; a Sandbox key and a Production key never share a bucket
AllowanceThe 2,000-unit allowance only exists in Sandbox
BillingA Sandbox call can never bill a Production account

What does not differ

Both environments use the same resolution engine, the same resolution policy, the same validation, idempotency and retention rules, and the same error codes. An integration that is correct in Sandbox behaves the same way in Production; only the key, billing and rate limits change. See Sandbox.

Access

SandboxProduction
Getting the keyAPI keys page of PlatformOnly possible once the Production application is approved; Platform does not create Production keys
Specific refusals402 sandbox_quota_exhausted403 production_not_enabled, 402 no_active_subscription

503 pricing_not_activated is not specific to either environment: both can return it. See Going live.

Note

Keep one configuration entry per environment (key and base URL) rather than a switch in your code. The base URL is currently the same for both, but the host is not part of the contract.

Published on 2026-10-09 10:18 UTC (version 2).

Was this page helpful?