Skip to main content

Environments

GoRoute provides two environments: Test and Production. Use Test for development and integration testing, then switch to Production when you're ready to go live.

Environment Overviewโ€‹

AspectTest EnvironmentProduction Environment
Base URLhttps://app.goroute.ai/peppol-apihttps://app.goroute.ai/peppol-api
Peppol NetworkPeppol Test Network (ACC)Peppol Production Network
Real InvoicesโŒ Noโœ… Yes
BillingFree (unlimited)Per-invoice pricing
SMPsmp-test.goroute.aismp.goroute.ai
AP Endpointap-test.goroute.aiap.goroute.ai

Identifying Your Environmentโ€‹

Ask the API which environment a base URL resolves to. GET /health answers that, sits outside /api/v1 and needs no API key:

curl -X GET https://app.goroute.ai/peppol-api/health

Response:

{
"status": "healthy",
"version": "1.0.0",
"environment": "production",
"timestamp": "2026-08-06T06:09:57.050723"
}

Confirm "environment": "production" before you go live, and "environment": "test" while you are developing. version is the API version. See Health Endpoints for the readiness and liveness probes.

Earlier revisions of this page pointed at the wrong endpoint

This section used to tell you to identify your environment from the Peppol code list version endpoint, and showed it returning an environment name, a Peppol network name and an Access Point identifier. It returns none of those three โ€” it reports the eDEC code list version, its published and fetched dates, and whether it is active โ€” and no endpoint on this API returns an Access Point identifier.

Test Environmentโ€‹

Purposeโ€‹

  • Develop and test your integration
  • Validate invoice formats
  • Test webhook handling
  • No real invoices are transmitted

Test Participantsโ€‹

Use these test participants for development:

Peppol IDDescriptionCapabilities
9915:phase4testGoRoute Test ReceiverInvoice, Credit Note
0088:5060012349998OpenPeppol TestInvoice
9959:testparticipantGeneric TestInvoice, Credit Note, Order

Test Flowโ€‹

Your System โ†’ GoRoute (Test) โ†’ Peppol ACC Network โ†’ Test Receivers
Test Invoices Loop Back

Invoices sent in test mode are delivered to the test SMP/AP infrastructure. You can receive them back if you're registered as a test receiver.

Production Environmentโ€‹

Purposeโ€‹

  • Send real invoices to real businesses
  • Receive production invoices
  • Full compliance and legal validity

Prerequisitesโ€‹

Before going to production:

  1. โœ… Complete integration testing
  2. โœ… Pass all validation scenarios
  3. โœ… Configure production webhooks
  4. โœ… Set up error handling
  5. โœ… Request production API key

Production Flowโ€‹

Your System โ†’ GoRoute (Prod) โ†’ Peppol Production Network โ†’ Real Recipients
Production is Real

Invoices sent in production are legally binding documents. Ensure your integration is thoroughly tested before switching.

Switching Environmentsโ€‹

Step 1: Request Production Accessโ€‹

Contact GoRoute to enable production access:

  1. Go to Settings โ†’ Production Access
  2. Complete the production readiness checklist
  3. Submit for review
  4. Receive production API key (usually within 24 hours)

Step 2: Update Configurationโ€‹

Update your application configuration:

# Development
GOROUTE_API_KEY = os.environ.get("GOROUTE_TEST_API_KEY")

# Production
GOROUTE_API_KEY = os.environ.get("GOROUTE_PROD_API_KEY")

Step 3: Verify Production Connectionโ€‹

curl -X GET https://app.goroute.ai/peppol-api/peppol/version \
-H "X-API-Key: YOUR_PRODUCTION_API_KEY"

Confirm "environment": "production" in the response.

Environment Variablesโ€‹

Recommended setup for multiple environments:

# .env.development
GOROUTE_API_KEY=sk_test_abc123
GOROUTE_ENVIRONMENT=test

# .env.production
GOROUTE_API_KEY=pk_live_xyz789
GOROUTE_ENVIRONMENT=production

Best Practicesโ€‹

Development Workflowโ€‹

1. Local Development โ†’ Test Environment
2. Staging/QA โ†’ Test Environment
3. Production โ†’ Production Environment

Environment-Specific Webhooksโ€‹

Configure different webhook URLs per environment:

EnvironmentWebhook URL
Testhttps://staging.yourapp.com/webhooks/goroute
Productionhttps://yourapp.com/webhooks/goroute

Data Isolationโ€‹

  • Test and production data are completely isolated
  • Organizations created in test don't exist in production
  • You must re-register participants for production

Frequently Asked Questionsโ€‹

Can I use test API keys in production?โ€‹

No. Test API keys only work with the Peppol test network. Production requires a production API key.

Are test invoices legally binding?โ€‹

No. Test invoices are not transmitted on the production Peppol network and have no legal effect.

How do I test receiving invoices?โ€‹

  1. Register a test participant in the test SMP
  2. Send a test invoice to your participant ID
  3. The invoice will be delivered to your webhook

Can I switch back to test after going production?โ€‹

Yes. You can maintain both test and production API keys. Use test for ongoing development while production handles real traffic.

Next Stepsโ€‹