GuestReady Multi Units API

The multi_units API from GuestReady — 2 operation(s) for multi_units.

Operations 6

GET /api/v3/multi_units/ #
POST /api/v3/multi_units/ #
GET /api/v3/multi_units/{id}/ #
PUT /api/v3/multi_units/{id}/ #
PATCH /api/v3/multi_units/{id}/ #
DELETE /api/v3/multi_units/{id}/ #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/guestready-multi-units-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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 Specification

guestready-multi-units-api-openapi.yml Raw ↑
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"