Integrations API Setup
Connect your PMS, Channel Manager, or Internal Booking System directly to the Coliving platform. Our API is designed to be developer-friendly, stateless, and highly performant.
https://api.coliving.com/v2
V2 STABLE
Authentication
All API requests require a valid API key. You can pass the key in two ways:
- X-API-Key Header: Send your key in a custom header.
- Bearer Token: Use the standard Authorization header.
Need a key?
Contact our partnership team at partners@coliving.com to request your unique production API key.
Auth Examples
X-API-Key: sk_live_xxxxxxxxxxxxxxxx
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxx
Verify Credentials
Test your connection and verify that your API key is correctly configured. Returns host profile information.
/v2/me
Headers
Responses
Response Samples
{
"success": true,
"data": {
"name": "Jane Cooper",
"email": "jane@example.com",
"created_at": "2024-01-01T08:00:00Z"
}
}
{
"success": false,
"error": "Invalid API Key"
}
{
"success": false,
"error": "Rate limit exceeded",
"retry_after": 30
}
List Room Types
Fetch all room types and their configurations for a specific property. This is the source of truth for room_type_id and base pricing.
/v2/integrations/{provider}/listings/{listing_id}/room-types
Headers
Path Parameters
Responses
Response Samples
{
"success": true,
"data": {
"room_types": [
{
"room_type_id": 38753,
"name": "Standard Room",
"room_type": "private",
"amount": 5,
"prices": {
"currency": "USD",
"base_price": 750,
"price_jan": 800
}
}
]
}
}
{
"success": false,
"error": "Listing not found or unauthorized"
}
Update Availability
Synchronize room counts for specific date ranges. Updates take effect immediately on the live platform.
/v2/integrations/{provider}/availability
Headers
Path Parameters
Body Parameters
Responses
Update Examples
{
"data": [
{
"listing_id": "5325",
"room_type_id": "38753",
"available": 3,
"start_date": "2024-05-01",
"end_date": "2024-05-31"
}
]
}
{
"success": true,
"message": "Availability updated successfully"
}
{
"success": false,
"error": "Unauthorized access to listings",
"details": {
"unauthorized_listing_ids": [5325]
}
}
{
"success": false,
"error": "Invalid room types for listings",
"details": {
"invalid_room_types": [{"listing_id": 5325, "room_type_id": 999}]
}
}
Update Rates
Batch update pricing. You can set a global base_price and override specific months if needed.
/v2/integrations/{provider}/rates
Headers
Path Parameters
Body Parameters
Responses
Rate Update Samples
{
"data": [
{
"listing_id": "5325",
"room_type_id": "38753",
"base_price": 800,
"currency": "EUR"
}
]
}
{
"success": true,
"message": "Rates updated successfully"
}
{
"success": false,
"error": "Unauthorized access to listings"
}
{
"success": false,
"error": "Validation Error",
"details": {
"data.0.base_price": ["The base_price must be at least 0."]
}
}
List Bookings
Polled updates for new or modified bookings. Always returns a version timestamp to track changes.
/v2/integrations/{provider}/bookings
Headers
Path Parameters
Query Parameters
Responses
Booking Feed Samples
{
"success": true,
"data": {
"Bookings": [
{
"booking_id": 8821,
"listing_id": 5325,
"status": "confirmed",
"version": "2024-05-20 14:30:00"
}
]
}
}
{
"success": false,
"error": "Listing not found or unauthorized"
}
Get Booking Details
Retrieve full details for a specific reservation, including guest contact info and payment breakdown.
/v2/integrations/{provider}/bookings/{id}
Headers
Path Parameters
Responses
Detailed Samples
{
"success": true,
"data": {
"Booking": {
"booking_id": 8821,
"reference": "CO-1002",
"guest": {
"name": "Alex Rivera",
"email": "alex@example.com"
},
"pricing": {
"total": 1250.00,
"currency": "EUR"
}
}
}
}
{
"success": false,
"error": "Booking not found or unauthorized"
}