Connect your channel manager, PMS, or custom integrations directly to your campsite data.
https://app.holidaypitches.com/api/ext/v1/All requests must include your API key in the Authorization header:
curl https://app.holidaypitches.com/api/ext/v1/campsite/ \ -H "Authorization: Bearer hp_live_your_key_here"
For quick testing only, you can also pass the key as a query parameter:?api_key=hp_live_your_key_here
Each API key is granted one or more permission scopes at creation time. Calling an endpoint without the required scope returns 403 Forbidden.
| Scope | What it allows |
|---|---|
| read_campsite | Read campsite name, address, vocabulary, season dates |
| read_pitches | List all pitches / units with pricing |
| read_availability | Check pitch availability for a date range |
| read_bookings | List and retrieve individual bookings |
| write_bookings | Create bookings and update booking status |
| HTTP | Meaning |
|---|---|
| 400 | Validation error — check the detail field for specifics |
| 401 | Missing or malformed API key in Authorization header |
| 403 | Key is valid but lacks the required permission scope |
| 404 | Resource not found, or belongs to a different campsite |
| 409 | Conflict — e.g. pitch already booked for those dates |
| 429 | Rate limit exceeded — slow down requests |
| 500 | Internal server error — contact support |
All error responses include a JSON body with a detail field explaining the problem.
The API is rate-limited to 300 requests per minute per API key. If you exceed this, you will receive a 429 Too Many Requests response. Implement exponential back-off and retry logic in your integration.
HolidayPitches External API v1 · Manage your API keys