GuestReady Multi Units API
The multi_units API from GuestReady — 2 operation(s) for multi_units.
The multi_units API from GuestReady — 2 operation(s) for multi_units.
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/guestready-multi-units-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: RentalReady Multi Units API
version: 1.0.0 (api)
description: 'This API enables you to access and update resources from RentalReady (GuestReady PMS)
### Throttling
Our API supports up to 400 requests per minute
'
servers:
- url: https://pms.rentalready.io/api/v3/
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: multi_units
paths:
/api/v3/multi_units/:
get:
operationId: multi_units_list
parameters:
- in: query
name: created_after
schema:
type: string
format: date-time
- in: query
name: created_before
schema:
type: string
format: date-time
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: modified_after
schema:
type: string
format: date-time
- in: query
name: modified_before
schema:
type: string
format: date-time
- in: query
name: name
schema:
type: string
- in: query
name: office
schema:
type: integer
description: Office
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
- in: query
name: status
schema:
type: string
- in: query
name: type
schema:
type: string
tags:
- multi_units
security:
- oauth2:
- rentals:read
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedMultiUnitList'
description: ''
post:
operationId: multi_units_create
description: Create a multi-unit of type parent/child
tags:
- multi_units
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMultiUnit'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CreateMultiUnit'
multipart/form-data:
schema:
$ref: '#/components/schemas/CreateMultiUnit'
required: true
security:
- oauth2:
- rentals:write
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/MultiUnit'
description: ''
/api/v3/multi_units/{id}/:
get:
operationId: multi_units_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this Multi-unit.
required: true
tags:
- multi_units
security:
- oauth2:
- rentals:read
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MultiUnit'
description: ''
put:
operationId: multi_units_update
description: Update a multi-unit
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this Multi-unit.
required: true
tags:
- multi_units
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMultiUnit'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UpdateMultiUnit'
multipart/form-data:
schema:
$ref: '#/components/schemas/UpdateMultiUnit'
security:
- oauth2:
- rentals:write
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MultiUnit'
description: ''
patch:
operationId: multi_units_partial_update
description: Partially update a multi-unit
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this Multi-unit.
required: true
tags:
- multi_units
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUpdateMultiUnit'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUpdateMultiUnit'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUpdateMultiUnit'
security:
- oauth2:
- rentals:write
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MultiUnit'
description: ''
delete:
operationId: multi_units_destroy
description: Delete a multi-unit. The deactivation runs asynchronously.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this Multi-unit.
required: true
tags:
- multi_units
security:
- oauth2:
- rentals:write
responses:
'204':
description: No response body
components:
schemas:
MultiUnitTypeEnum:
enum:
- PARENT_CHILD
- HOTEL
type: string
description: '* `PARENT_CHILD` - PARENT_CHILD
* `HOTEL` - HOTEL'
PaginatedMultiUnitList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?offset=400&limit=100
previous:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?offset=200&limit=100
results:
type: array
items:
$ref: '#/components/schemas/MultiUnit'
limit:
type: integer
example: 50
MultiUnit:
type: object
properties:
id:
type: integer
readOnly: true
description: Numeric database id of the multi-unit.
display_id:
type: string
readOnly: true
description: Human-readable identifier of the multi-unit, e.g. M123 for a parent/child multi-unit or H123 for a hotel.
name:
type: string
readOnly: true
description: Name of the multi-unit.
status:
allOf:
- $ref: '#/components/schemas/MultiUnitStatusEnum'
readOnly: true
description: 'Lifecycle status of the multi-unit. Multi-units created through this API start ACTIVE.
* `INACTIVE` - INACTIVE
* `ACTIVE` - ACTIVE
* `ONBOARDING` - ONBOARDING'
type:
allOf:
- $ref: '#/components/schemas/MultiUnitTypeEnum'
readOnly: true
description: 'Kind of multi-unit. Multi-units created through this API are PARENT_CHILD, where one main (parent) property groups several sub-units (children).
* `PARENT_CHILD` - PARENT_CHILD
* `HOTEL` - HOTEL'
office_name:
type: string
title: Office name
description: Name of the office the multi-unit belongs to, inherited from its main (parent) unit.
readOnly: true
host:
type: string
readOnly: true
description: Username of the owner the multi-unit belongs to.
address:
type: string
readOnly: true
description: Postal address of the multi-unit, inherited from its main unit.
rentals:
type: array
items:
type: string
readOnly: true
description: Ids of the properties (rentals) grouped in the multi-unit, including the main (parent) unit.
main_unit:
type:
- string
- 'null'
readOnly: true
description: Id of the property (rental) that is the main (parent) unit, or null when none is set.
created:
type: string
format: date-time
readOnly: true
description: Date and time the multi-unit was created (ISO 8601, e.g. 2026-07-04T09:00:00Z).
modified:
type: string
format: date-time
readOnly: true
description: Date and time the multi-unit was last modified (ISO 8601, e.g. 2026-07-04T09:00:00Z).
required:
- address
- created
- display_id
- host
- id
- main_unit
- modified
- name
- office_name
- rentals
- status
- type
MultiUnitStatusEnum:
enum:
- INACTIVE
- ACTIVE
- ONBOARDING
type: string
description: '* `INACTIVE` - INACTIVE
* `ACTIVE` - ACTIVE
* `ONBOARDING` - ONBOARDING'
PatchedUpdateMultiUnit:
type: object
description: 'Partially update a parent/child multi-unit.
Every field is optional, but ``main_unit`` and ``rentals`` must be supplied
together (or both omitted). When they are supplied, the multi-unit''s office
and address are refreshed from the new main unit; newly added properties have
their calendars blocked and removed ones unblocked for future reservations
(see ``save_rentals_and_block``).'
properties:
name:
type: string
description: New name for the multi-unit.
main_unit:
type: string
title: Contract number
description: Id of the property (rental) to set as the main (parent) unit. Must be provided together with rentals; the multi-unit's office and address are refreshed from it.
rentals:
type: array
items:
type: string
title: Contract number
description: Ids of the properties (rentals) to group under the multi-unit, including the main unit and at least one sub-unit. Must be provided together with main_unit. A property not already in this multi-unit must not belong to another one and must share the main unit's address or sit within the configured distance of it. Newly added properties have their future reservations' calendars blocked and removed ones unblocked.
UpdateMultiUnit:
type: object
description: 'Partially update a parent/child multi-unit.
Every field is optional, but ``main_unit`` and ``rentals`` must be supplied
together (or both omitted). When they are supplied, the multi-unit''s office
and address are refreshed from the new main unit; newly added properties have
their calendars blocked and removed ones unblocked for future reservations
(see ``save_rentals_and_block``).'
properties:
name:
type: string
description: New name for the multi-unit.
main_unit:
type: string
title: Contract number
description: Id of the property (rental) to set as the main (parent) unit. Must be provided together with rentals; the multi-unit's office and address are refreshed from it.
rentals:
type: array
items:
type: string
title: Contract number
description: Ids of the properties (rentals) to group under the multi-unit, including the main unit and at least one sub-unit. Must be provided together with main_unit. A property not already in this multi-unit must not belong to another one and must share the main unit's address or sit within the configured distance of it. Newly added properties have their future reservations' calendars blocked and removed ones unblocked.
CreateMultiUnit:
type: object
description: 'Create a parent/child multi-unit from a main unit and its sub-units.
The multi-unit takes its office and address from the main unit and is created
ACTIVE. Assigning the properties blocks the calendars of their future
reservations (see ``save_rentals_and_block``).'
properties:
name:
type: string
description: Name of the multi-unit.
host:
type: string
description: Username of the owner the multi-unit belongs to.
main_unit:
type: string
title: Contract number
description: Id of the property (rental) to use as the main (parent) unit. Its office and address become the multi-unit's office and address.
rentals:
type: array
items:
type: string
title: Contract number
description: Ids of the properties (rentals) to group under the multi-unit, including the main unit and at least one sub-unit. The main unit is added automatically if omitted. Each property must not already belong to another multi-unit and must share the main unit's address or sit within the configured distance of it. Once assigned, each property's future reservations have their calendars blocked.
required:
- host
- main_unit
- name
- rentals
securitySchemes:
basicAuth:
type: http
scheme: basic
cookieAuth:
type: apiKey
in: cookie
name: sessionid
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: /o/authorize/
tokenUrl: /o/token/
refreshUrl: /o/token/
scopes:
read: Read scope
write: Write scope
amenities:read: Read amenities
amenities:write: Create, update and delete amenities
photos:write: Create, update and delete photos
reservations:read: Read reservations
reservations:write: Create, update and cancel reservations
reservation_platform:read: Read reservation platform
reviews:read: Read reviews
reviews:write: Write reviews
owners:read: Read owners
owners:write: Write owners
hosts:read: Read hosts (deprecated)
hosts:write: Write hosts (deprecated)
offices:read: Read offices
property_managers:read: Read property managers
onboarding_requests:read: Read onboarding requests
listing_requests:read: Read listing requests
pricing:read: Read pricing
pricing:write: Create, update and delete pricing
users:read: Read user data
calendar:read: Read calendar
calendar:write: Write calendar
rentals:read: Read rentals
rentals:write: Create, update and delete rentals
issues:read: Read issues
issues:write: Write issues
incidents:read: Read incidents
incidents:write: Write incidents
missions:read: Read missions
missions:write: Write missions
agents:read: Read agents
smart_schedulers:read: Read smart schedulers
smart_schedulers:write: Write smart schedulers
neighbourhoods:read: Read neighbourhoods
payment_links:read: Read payment links
swikly_deposits:read: Read swikly deposits
payout_adjustments:read: Read payout adjustments
payout_adjustments:write: Write payout adjustments
payment_acceptance_transactions:read: Read payment acceptance transactions
payment_acceptance_transactions:write: Write payment acceptance transactions
accounting_invoice:read: Read accounting invoices
accounting_invoice:write: Write accounting invoices
guest_registration:read: Read guest registration data
conversations:read: Read conversations
conversations:write: Write conversations
messages:read: Read messages
messages:write: Write messages
inquiries:read: Read inquiries
city_tax_rules:read: Read city tax rules
custom_fields:read: Read custom fields
custom_fields:write: Write custom fields
tokenAuth:
type: apiKey
in: header
name: Authorization
description: Token-based authentication with required prefix "Token"