Environments
Project Expedition provides two API environments: Staging for development and testing, and Production for live applications.
Environment URLs
| Environment | Base URL | Use Case |
|---|---|---|
| Staging | https://apistage.projectexpedition.com/v1 | Development & Testing |
| Production | https://api.projectexpedition.com/v1 | Live Applications |
Staging Environment
The staging environment is designed for development and testing:
- No IP whitelisting required - Connect from any location
- Full API access - All endpoints available
- Real data - Same products and content as production
- Lower rate limits - 2,000 calls per day
- Test bookings - Create test bookings without charges
Staging Best Practices
- Use staging for all development work
- Test the complete booking flow: search → availability → booking → cancellation
- Verify error handling with edge cases
- Test date ranges near availability boundaries
Production Environment
The production environment is for live, customer-facing applications:
- IP whitelisting required - Must register your IP addresses
- Higher rate limits - 5,000 calls per day (can be increased)
- Live bookings - Real charges and confirmations
- Priority support - Faster response times
IP Whitelisting
Before using production:
- Identify your server’s outbound IP address(es)
- Email partners@projectexpedition.com with your IP list
- Wait for confirmation (usually within 24 hours)
# Find your server's outbound IPcurl ifconfig.meEnvironment Switching
Use environment variables to switch between environments:
// JavaScriptconst BASE_URL = process.env.NODE_ENV === 'production' ? 'https://api.projectexpedition.com/v1' : 'https://apistage.projectexpedition.com/v1';
const response = await fetch(`${BASE_URL}/return_tours?country=ireland`, { headers: { 'access-token': process.env.PE_API_TOKEN }});<?php// PHP$baseUrl = getenv('APP_ENV') === 'production' ? 'https://api.projectexpedition.com/v1' : 'https://apistage.projectexpedition.com/v1';
$url = "$baseUrl/return_tours?country=ireland";Data Consistency
Both environments share the same:
- Product catalog and content
- Pricing and availability data
- Geographic data (countries, regions, towns)
Testing Checklist
Before moving to production, verify:
- Tour search returns expected results
- Availability checks work for various date ranges
- Booking creation succeeds with valid data
- Error responses are handled gracefully
- Rate limiting is respected
- IP addresses are whitelisted
Support
For environment-related questions: