Environments & sandbox¶
Konto runs two independent environments. Always build and test against development first.
| Production | Development | |
|---|---|---|
| API host | https://konto.is |
https://dev.konto.is |
| Hosted MCP | https://mcp.konto.is/mcp |
https://dev-mcp.konto.is/mcp |
| Sign in with | a real Konto account | a dev/test account |
| Data | live — real customers | test data |
| OAuth client | production client_id |
development client_id |
Clients, accounts, and tokens do not cross environments.
Working against development¶
- Maintenance bypass.
dev.konto.isruns in maintenance mode; every request must carry?en4_maint_code=<code>or you get HTTP 503. Ask Konto for the code. Never send it to production. - TLS. dev has occasionally used a self-signed/incomplete certificate chain. A
client may need to relax verification for dev only (e.g. Node
NODE_TLS_REJECT_UNAUTHORIZED=0). Never do this against production. - Dev accounts are issued by Konto on request.
Development sends REAL email
dev.konto.is is not a side-effect-free sandbox. Creating an invoice on dev still issues and emails it to the customer on the record. In one incident a test run emailed real people whose addresses were left on a shared dev account.
When you write on dev:
- Target one dedicated throwaway customer whose email is non-deliverable
(e.g.
qa@example.test) or a self-addressed alias you own — never "any existing customer". - Don't auto-issue claims/invoices in a loop.
- Prefer read-only calls while you're finding your feet.
Testing the MCP path¶
Developers building on the MCP can test against the dev connector
https://dev-mcp.konto.is/mcp (dev-backed) before pointing anything at the
production https://mcp.konto.is/mcp. Same tools, dev data.
Going to production¶
When your integration works on dev:
- Get production credentials from Konto (a prod
client_id/secret, or a prodapi_keyfor the legacy path). - Switch the base host to
https://konto.isand drop theen4_maint_codeand any TLS-relaxation. - Re-run your read paths first; treat the first write as real money.