Environments
Invostaq has two environments — sandbox and production. Both use the same API base URL. The environment is determined by your API key prefix.
Sandbox
- API key prefix:
sk_test_ - Peppol network: TEST
- Invoices: Validated and submitted to the test network. Never reach real recipients.
- Webhooks: Status callbacks (
Delivered/Failed) arrive with real timing from the test network. - Lookup: Returns test-network registrations only.
Use sandbox for development, integration testing, and CI pipelines.
Production
- API key prefix:
sk_live_ - Peppol network: PROD
- Invoices: Legally binding. Delivered to real recipients via the Peppol network.
- Webhooks: Status callbacks reflect real delivery outcomes.
- Lookup: Returns production-network registrations only.
Switching environments
The API base URL and request format are identical. The only difference is the key:
# Sandbox — invoices go to Peppol TEST
curl -H "x-api-key: sk_test_..." \
https://api.invostaq.com/api/v2/lookup?participantId=0196:971501234567
# Production — invoices go to Peppol PROD
curl -H "x-api-key: sk_live_..." \
https://api.invostaq.com/api/v2/lookup?participantId=0196:971501234567
There is no separate sandbox URL. Environment routing is determined entirely by the key prefix.
Best practices
- Use
sk_test_keys in development, staging, and CI environments - Use
sk_live_keys only in production - Each environment should have its own API key — don't share keys across environments
- Test your full integration flow (send, receive webhook, handle errors) in sandbox before going live