Hotel Stays API
The Hotel Stays API allows you to create, retrieve, and delete hotel accommodation records within your organization. Hotel stay emissions are part of Scope 3 Category 6 according to the GHG Protocol, covering employee accommodation during business travel.New API: This endpoint is part of the new API architecture with improved design and maintainability. Hotel stays are stored separately from business travel trips and have their own dedicated endpoints at
/v1/hotel-stays.Key Features
- Accommodation Records Management: Create and manage hotel stay records
- Room-Night Emissions: Automatic CO2e calculation using DEFRA room-night emission factors per country
- Bulk CSV Upload: Upload multiple hotel stays at once via a pre-signed S3 URL
- Pagination Support: Efficiently retrieve large lists of hotel stays with filtering
Authentication
All endpoints require authentication using either:- API Key: Include in
Authorizationheader asBearer {API_KEY} - JWT Token: Include in
Authorizationheader asBearer {JWT_TOKEN}
Headers
All requests must include:Your organization UUIDExample:
a8315ef3-dd50-43f8-b7ce-d839e68d51faBearer token for authenticationFormat:
Bearer {API_KEY} or Bearer {JWT_TOKEN}Available Endpoints
List Hotel Stays
Retrieve all hotel stays with filtering and pagination
Get Hotel Stay
Retrieve a specific hotel stay by ID
Get Totals
Get aggregated stay count, room-nights, and total CO2e
Impact Calculation
Step-by-step CO2e breakdown for a specific stay
Delete Hotel Stay
Remove a hotel stay record
Bulk Delete
Remove multiple hotel stay records at once
Hotel Stay Attributes
Core Information
- name (
string, optional): Free-text description of the stay - check_in_date (
date, required): Date the guest checked in - check_out_date (
date, required): Date the guest checked out - country (
string, required): ISO-3166 alpha-2 country code (e.g.ES,GB,US) - city (
string, optional): City where the hotel is located - hotel_name (
string, optional): Name of the hotel - rooms (
integer, required): Number of rooms booked (1–10000)
Status
- status (
string, read-only):active,pending, orerror - source (
string, read-only): How the record was created (manual,bulk_upload, etc.) - co2e (
number, read-only): Calculated CO2 equivalent emissions in kg — sourced fromtotal_impacts, not stored on the record
Emission Methodology
CO2e is calculated as:- nights =
check_out_date − check_in_datein days - EF = DEFRA hotel room-night emission factor for the stay’s country
total_impacts row is created per night, enabling accurate pro-rating when the stay spans a reporting period boundary.
Response Format
Hotel Stay Object
Pagination Response
Error Handling
Common HTTP Status Codes
| Status | Meaning | Solution |
|---|---|---|
| 200 | Success | — |
| 204 | No Content (delete successful) | — |
| 400 | Bad Request | Check request parameters |
| 401 | Unauthorized | Verify API key or JWT token |
| 404 | Not Found | Check resource ID or organization |
| 422 | Validation Error | Review error details in response |
| 500 | Server Error | Contact support if it persists |
Error Response Format
GHG Protocol Context
Hotel stay emissions fall under Scope 3, Category 6 of the GHG Protocol alongside business travel trips:- Scope 3: Indirect emissions from value chain activities
- Category 6: Business Travel — emissions from employee travel and accommodation for work purposes
Related Documentation
Business Travels API
Manage business travel trips (Scope 3 Category 6)
Employees API
Manage employee commuting emissions (Scope 3 Category 7)

