Holidu Apartment API
The Apartment API from Holidu — 5 operation(s) for apartment.
The Apartment API from Holidu — 5 operation(s) for apartment.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/holidu:holidu-apartment-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Connectivity Apartment API
description: 'Please read the API Guide that will help you for your integration to Holidu.
You''ll find there the steps you''ll go through, tips and frequently asked questions.
If you need any support, please contact us at partnersupport@holidu.com.'
termsOfService: https://www.holidu.com/gtc
contact:
name: Holidu
url: https://www.holidu.com
email: partnersupport@holidu.com
license:
name: Apache License Version 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: '2.0'
servers:
- url: https://provider-api-sandbox.holidu.com
description: Sandbox Environment
- url: https://provider-api.holidu.com
description: Holidu Production API
security:
- api-key:
- read
- write
tags:
- name: Apartment
paths:
/v2/apartment/deactivate:
put:
tags:
- Apartment
summary: Deactivate apartment for provider
operationId: deactivateApartment
parameters:
- name: providerApartmentId
in: query
required: false
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
responses:
'202':
description: Deactivate action on apartment succeeded
content:
text/plain:
schema:
type: string
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
/v2/apartment/activate:
put:
tags:
- Apartment
summary: Activate apartment for provider
operationId: activateApartment
parameters:
- name: providerApartmentId
in: query
required: false
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
responses:
'202':
description: Activate action on apartment succeeded
content:
text/plain:
schema:
type: string
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
/v2/apartment:
get:
tags:
- Apartment
summary: Get an apartment
operationId: getApartment
parameters:
- name: providerApartmentId
in: query
required: false
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
responses:
'200':
description: Successful retrieval of an apartment
content:
application/json:
schema:
$ref: '#/components/schemas/CompleteApartmentDto'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
post:
tags:
- Apartment
summary: Create or update an apartment
operationId: upsertApartment
parameters:
- name: providerApartmentId
in: query
required: false
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BasicApartmentDto'
required: true
responses:
'200':
description: Successful creation or update of an apartment
content:
application/json:
schema:
$ref: '#/components/schemas/CompleteApartmentDto'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
/v2/apartments/information:
get:
tags:
- Apartment
summary: Get basic information about all apartments
operationId: getAllApartmentInformation
parameters:
- name: provider
in: query
required: false
schema:
type: string
- name: pageNumber
in: query
required: false
schema:
type: integer
format: int32
default: 0
- name: pageSize
in: query
required: false
schema:
type: integer
format: int32
default: 20
responses:
'200':
description: A list of basic information about all apartments
content:
application/json:
schema:
$ref: '#/components/schemas/ApartmentInformationPage'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
/v2/apartment/validation:
get:
tags:
- Apartment
summary: Get validation result of apartment
operationId: getApartmentValidation
parameters:
- name: providerApartmentId
in: query
required: false
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
- name: holiduApartmentId
in: query
required: false
schema:
type: integer
format: int64
responses:
'200':
description: Successful retrieval of validation result of an apartment
content:
application/json:
schema:
$ref: '#/components/schemas/ApartmentValidation'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'401':
description: Authentication error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'404':
description: Apartment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'418':
description: Requested method is not available in sandbox environment
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/HoliduErrorResponse'
components:
schemas:
CheckInCheckOutTimes:
required:
- checkIn
- checkOutUntil
type: object
properties:
checkIn:
type: array
description: List of possible check in times
items:
$ref: '#/components/schemas/CheckInDuration'
checkOutUntil:
type: string
description: Check out time (24h format)
example: '14:30'
description: Check-ins and check-outs details
GuestCapacityRules:
required:
- standardCapacity
type: object
properties:
standardCapacity:
minimum: 1
type: integer
description: The standard capacity of guests allowed. This includes a minimum of 1 adult and excludes babies.
format: int32
example: 1
adultsOnly:
type: boolean
description: Does apartment permit only adults
example: false
additionalChildren:
minimum: 0
type: integer
description: Additional number of children.
format: int32
example: 0
maxBabies:
minimum: 0
type: integer
description: Maximum number of babies allowed.
format: int32
example: 2
description: Guest capacity rules applicable to apartment
CheckInDuration:
required:
- checkInFrom
- checkInTo
type: object
properties:
checkInFrom:
type: string
description: Check in from (24h format)
format: time
example: '12:00'
checkInTo:
type: string
description: Check in to (24h format)
format: time
example: '21:00'
description: List of possible check in times
ValidationErrorMessage:
type: object
properties:
errorCode:
type: string
description: Error code for which validation failed
message:
type: string
description: Message for which validation failed
description: Validation Error Messages
ContactDetails:
type: object
properties:
contactName:
type: string
description: Contact person for this apartment
example: John Doe
contactPhone:
type: string
description: Phone number of contact person
example: +123(4)56789
contactEmail:
type: string
description: Email of contact person
example: john@doe.com
description: Contact details
ApartmentValidation:
type: object
properties:
holiduApartmentId:
type: integer
description: Holidu Apartment Id
format: int64
providerApartmentId:
type: string
description: Provider Apartment Id
lastValidatedAt:
type: string
description: Last time validation ran for apartment
format: date-time
valid:
type: boolean
description: Is apartment valid
validationErrorMessages:
type: array
description: Validation Error Messages
items:
$ref: '#/components/schemas/ValidationErrorMessage'
ApartmentInformation:
type: object
properties:
providerApartmentId:
type: string
holiduApartmentId:
type: string
active:
type: boolean
lastUpdate:
type: string
format: date-time
CompleteApartmentDto:
required:
- apartmentType
- guestCapacityRules
- lat
- lng
type: object
properties:
providerApartmentGroupId:
type: string
description: ID of the house where apartment is located. If several apartments are located in one house, they'll share the same providerApartmentGroupId
example: house-123
lat:
type: number
description: Latitude
example: 50.9293009
lng:
type: number
description: Longitude
example: 5.9779776
name:
type: string
description: Name of the apartment
example: Villa Munich Center
apartmentAddress:
$ref: '#/components/schemas/ApartmentAddress'
contactDetails:
$ref: '#/components/schemas/ContactDetails'
guestCapacityRules:
$ref: '#/components/schemas/GuestCapacityRules'
numberOfBedrooms:
maximum: 30
minimum: 1
type: integer
format: int32
example: 2
numberOfLivingrooms:
maximum: 30
minimum: 1
type: integer
format: int32
example: 1
numberOfBathrooms:
maximum: 30
minimum: 1
type: integer
format: int32
example: 2
sizeInSqm:
type: number
description: Size of apartment in square meters
example: 100
apartmentType:
type: string
description: Type of the apartment
example: VILLA
enum:
- ALLOTMENT_GARDEN
- APARTMENT
- APARTMENT_HOTEL
- BARN
- BEACH_HUT
- BED_AND_BREAKFAST
- BOAT
- BUNGALOW
- CAMPER
- CAMPING
- CARAVAN
- CASTLE
- CAVE
- CHACARA
- CHALET
- COTTAGE
- COUNTRY_HOUSE
- FARM
- FARMHOUSE
- FINCA
- FISHING_HOUSE
- GITE
- GLAMPING
- GUEST_HOUSE
- GUEST_ROOM
- HOLIDAY_VILLAGE
- HOMESTAY
- HOSTEL
- HOTEL
- HOUSE_BOAT
- HUT
- LIGHTHOUSE
- LODGE
- LOG_CABIN
- LUXURY_TENT
- MANOR
- MILL
- MOBILE_HOME
- MOUNTAIN_HUT
- PENSION
- PENTHOUSE
- RESIDENCE
- RESORT
- RIAD
- ROOM
- ROOM_BREAKFAST
- STUDIO
- TENT
- TINY_HOME
- TIPI
- TOWER
- TREE_HOUSE
- TRULLO
- VACATION_APARTMENT
- VACATION_HOME
- VILLA
- YACHT
- YURT
checkInCheckOutTimes:
$ref: '#/components/schemas/CheckInCheckOutTimes'
floor:
type: integer
description: The floor on which the property is located, starting with 0 for the ground floor
format: int32
example: 0
sizeOfPlot:
type: number
description: Total area includes the whole area of the property accessible to the guest. This includes the garden, terraces or garages
example: 140.5
buildYear:
type: integer
description: Build year of the property
format: int32
example: 2001
modernizedYear:
type: integer
description: Year of renovation
format: int32
example: 2007
license:
type: string
description: License number of the property (the license number is required for properties in the Balearic area in Spain)
example: '1231882'
regulatoryInformation:
type: object
additionalProperties:
type: string
description: Store regulatory information for the apartment
description: Store regulatory information for the apartment
isTestApartment:
type: boolean
description: Mark as test apartment
onRequestDetails:
$ref: '#/components/schemas/OnRequestDetails'
leadTimeHours:
type: integer
description: Booking lead time in hours
format: int32
duplicateFrom:
type: array
description: Use this object if other Holidu partners also have this property in their system. Please contact us before using this.
items:
$ref: '#/components/schemas/DuplicateFrom'
active:
type: boolean
description: Should apartment be activated
holiduApartmentId:
type: integer
description: Holidu Apartment Id
format: int64
ApartmentInformationPage:
type: object
properties:
totalApartments:
type: integer
format: int64
page:
type: integer
format: int32
size:
type: integer
format: int32
apartments:
type: array
items:
$ref: '#/components/schemas/ApartmentInformation'
ApartmentAddress:
type: object
properties:
street:
maxLength: 128
minLength: 0
type: string
description: Street
example: Karlstrasse 66
zipCode:
maxLength: 20
minLength: 0
type: string
description: ZIP Code (max 20 chars)
example: '76133'
city:
maxLength: 128
minLength: 0
type: string
description: City
example: Munich
countryCode:
maxLength: 2
minLength: 2
type: string
description: Country code represented in standard ISO 3166-1 ALPHA-2 format
example: DE
description: Address of the rental property
OnRequestDetails:
type: object
properties:
bookableOnRequest:
type: boolean
description: is the apartment bookable on request only (not instant bookable)?
hostEmailAddress:
type: string
description: the email address of the host when guest sends request to the host
description: Used only for on request apartments
DuplicateFrom:
type: object
properties:
provider:
type: string
description: Name of this provider as in our system (please ask us the right name first)
example: HRS
duplicatedApartmentId:
type: string
description: Id of the duplicate apartment in the other partner system.
example: '123654'
description: Use this object if other Holidu partners also have this property in their system. Please contact us before using this.
BasicApartmentDto:
required:
- apartmentType
- guestCapacityRules
- lat
- lng
type: object
properties:
providerApartmentGroupId:
type: string
description: ID of the house where apartment is located. If several apartments are located in one house, they'll share the same providerApartmentGroupId
example: house-123
lat:
type: number
description: Latitude
example: 50.9293009
lng:
type: number
description: Longitude
example: 5.9779776
name:
type: string
description: Name of the apartment
example: Villa Munich Center
apartmentAddress:
$ref: '#/components/schemas/ApartmentAddress'
contactDetails:
$ref: '#/components/schemas/ContactDetails'
guestCapacityRules:
$ref: '#/components/schemas/GuestCapacityRules'
numberOfBedrooms:
maximum: 30
minimum: 1
type: integer
format: int32
example: 2
numberOfLivingrooms:
maximum: 30
minimum: 1
type: integer
format: int32
example: 1
numberOfBathrooms:
maximum: 30
minimum: 1
type: integer
format: int32
example: 2
sizeInSqm:
type: number
description: Size of apartment in square meters
example: 100
apartmentType:
type: string
description: Type of the apartment
example: VILLA
enum:
- ALLOTMENT_GARDEN
- APARTMENT
- APARTMENT_HOTEL
- BARN
- BEACH_HUT
- BED_AND_BREAKFAST
- BOAT
- BUNGALOW
- CAMPER
- CAMPING
- CARAVAN
- CASTLE
- CAVE
- CHACARA
- CHALET
- COTTAGE
- COUNTRY_HOUSE
- FARM
- FARMHOUSE
- FINCA
- FISHING_HOUSE
- GITE
- GLAMPING
- GUEST_HOUSE
- GUEST_ROOM
- HOLIDAY_VILLAGE
- HOMESTAY
- HOSTEL
- HOTEL
- HOUSE_BOAT
- HUT
- LIGHTHOUSE
- LODGE
- LOG_CABIN
- LUXURY_TENT
- MANOR
- MILL
- MOBILE_HOME
- MOUNTAIN_HUT
- PENSION
- PENTHOUSE
- RESIDENCE
- RESORT
- RIAD
- ROOM
- ROOM_BREAKFAST
- STUDIO
- TENT
- TINY_HOME
- TIPI
- TOWER
- TREE_HOUSE
- TRULLO
- VACATION_APARTMENT
- VACATION_HOME
- VILLA
- YACHT
- YURT
checkInCheckOutTimes:
$ref: '#/components/schemas/CheckInCheckOutTimes'
floor:
type: integer
description: The floor on which the property is located, starting with 0 for the ground floor
format: int32
example: 0
sizeOfPlot:
type: number
description: Total area includes the whole area of the property accessible to the guest. This includes the garden, terraces or garages
example: 140.5
buildYear:
type: integer
description: Build year of the property
format: int32
example: 2001
modernizedYear:
type: integer
description: Year of renovation
format: int32
example: 2007
license:
type: string
description: License number of the property (the license number is required for properties in the Balearic area in Spain)
example: '1231882'
regulatoryInformation:
type: object
additionalProperties:
type: string
description: Store regulatory information for the apartment
description: Store regulatory information for the apartment
isTestApartment:
type: boolean
description: Mark as test apartment
onRequestDetails:
$ref: '#/components/schemas/OnRequestDetails'
leadTimeHours:
type: integer
description: Booking lead time in hours
format: int32
duplicateFrom:
type: array
description: Use this object if other Holidu partners also have this property in their system. Please contact us before using this.
items:
$ref: '#/components/schemas/DuplicateFrom'
HoliduErrorResponse:
type: object
properties:
error:
type: string
description: Error Text
example: 'Invalid Json: Unexpected character'
securitySchemes:
api-key:
type: apiKey
name: api-key
in: header
x-provenance:
method: harvested
publisher: Holidu
source: https://developer.holidu.com/openapi/connectivity-api.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)