RentalReady API

REST API for the RentalReady property management system built by GuestReady Group. 252 operations across 60 resource groups — rentals and property layout, reservations and quotes, calendar and daily prices, rate rules and pricing algorithms, missions and agents, issues and incidents, conversations, messages and inquiries, reviews, owners and property managers, listings and rental platform accounts, iCal calendar sync, guest registration, city tax rules, payment links, payout adjustments, payment acceptance transactions and accounting invoices. OAuth 2.0 authorization-code flow with per-resource read/write scopes; also accepts a Token header and HTTP basic. Documented throttle of 400 requests per minute.

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/rentalready-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

guestready-rentalready-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: RentalReady 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
paths:
  /api/v3/accounting_invoices/:
    post:
      operationId: accounting_invoices_create
      tags:
      - accounting_invoices
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountingInvoiceCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AccountingInvoiceCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AccountingInvoiceCreate'
        required: true
      security:
      - oauth2:
        - accounting_invoice:write
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingInvoiceCreate'
          description: ''
  /api/v3/agents/:
    get:
      operationId: agents_list
      description: Retrieve the agents working for the offices you have access to.
        Their ids are what the mission agent field takes. An agent can only take a
        mission of an office they belong to and of a type they are qualified for;
        assignment does not check whether they are still ACTIVE, so filter on status.
      summary: List agents
      parameters:
      - in: query
        name: antenne
        schema:
          type: integer
        description: Office
      - in: query
        name: first_name
        schema:
          type: string
        description: First name
      - in: query
        name: last_name
        schema:
          type: string
        description: Last name
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - 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
          enum:
          - ACTIVE
          - INACTIVE
        description: |-
          * `ACTIVE` - Active
          * `INACTIVE` - Inactive
      - in: query
        name: type_mission
        schema:
          type: integer
        description: Mission type
      tags:
      - missions
      security:
      - oauth2:
        - agents:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAgentList'
          description: ''
  /api/v3/agents/{id}/:
    get:
      operationId: agents_retrieve
      description: Retrieve a single agent by ID.
      summary: Retrieve agent
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this agent.
        required: true
      tags:
      - missions
      security:
      - oauth2:
        - agents:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
          description: ''
  /api/v3/amenities/:
    get:
      operationId: amenities_list
      description: List all available amenity definitions. Each amenity includes a
        `metadata` array describing the additional fields that can be set on a rental
        amenity via `metadata_values`. Use `key`, `type`, and `options` to understand
        what values are accepted when writing to POST/PUT/PATCH /api/v3/rental_amenities/.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - amenities
      security:
      - oauth2:
        - amenities:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBookingsyncAmenityList'
          description: ''
  /api/v3/amenities/{id}/:
    get:
      operationId: amenities_retrieve
      description: List all available amenity definitions. Each amenity includes a
        `metadata` array describing the additional fields that can be set on a rental
        amenity via `metadata_values`. Use `key`, `type`, and `options` to understand
        what values are accepted when writing to POST/PUT/PATCH /api/v3/rental_amenities/.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this BookingSync amenity.
        required: true
      tags:
      - amenities
      security:
      - oauth2:
        - amenities:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingsyncAmenity'
          description: ''
  /api/v3/bathrooms/:
    get:
      operationId: bathrooms_list
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: rental_id
        schema:
          type: string
        description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
      tags:
      - bathrooms
      security:
      - oauth2:
        - rentals:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBathroomList'
          description: ''
    post:
      operationId: bathrooms_create
      parameters:
      - in: query
        name: rental_id
        schema:
          type: string
        description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
      tags:
      - bathrooms
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Bathroom'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Bathroom'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Bathroom'
        required: true
      security:
      - oauth2:
        - rentals:write
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bathroom'
          description: ''
  /api/v3/bathrooms/{id}/:
    get:
      operationId: bathrooms_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this subroom.
        required: true
      - in: query
        name: rental_id
        schema:
          type: string
        description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
      tags:
      - bathrooms
      security:
      - oauth2:
        - rentals:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bathroom'
          description: ''
    put:
      operationId: bathrooms_update
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this subroom.
        required: true
      - in: query
        name: rental_id
        schema:
          type: string
        description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
      tags:
      - bathrooms
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Bathroom'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Bathroom'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Bathroom'
        required: true
      security:
      - oauth2:
        - rentals:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bathroom'
          description: ''
    patch:
      operationId: bathrooms_partial_update
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this subroom.
        required: true
      - in: query
        name: rental_id
        schema:
          type: string
        description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
      tags:
      - bathrooms
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBathroom'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBathroom'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBathroom'
      security:
      - oauth2:
        - rentals:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bathroom'
          description: ''
    delete:
      operationId: bathrooms_destroy
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this subroom.
        required: true
      - in: query
        name: rental_id
        schema:
          type: string
        description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
      tags:
      - bathrooms
      security:
      - oauth2:
        - rentals:write
      responses:
        '204':
          description: No response body
  /api/v3/bed_types/:
    get:
      operationId: bed_types_list
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - bed_types
      security:
      - oauth2:
        - rentals:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBedTypeList'
          description: ''
  /api/v3/bed_types/{id}/:
    get:
      operationId: bed_types_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this subroom bed type.
        required: true
      tags:
      - bed_types
      security:
      - oauth2:
        - rentals:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BedType'
          description: ''
  /api/v3/bedrooms/:
    get:
      operationId: bedrooms_list
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: rental_id
        schema:
          type: string
        description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
      tags:
      - bedrooms
      security:
      - oauth2:
        - rentals:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBedroomList'
          description: ''
    post:
      operationId: bedrooms_create
      parameters:
      - in: query
        name: rental_id
        schema:
          type: string
        description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
      tags:
      - bedrooms
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Bedroom'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Bedroom'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Bedroom'
        required: true
      security:
      - oauth2:
        - rentals:write
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bedroom'
          description: ''
  /api/v3/bedrooms/{id}/:
    get:
      operationId: bedrooms_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this subroom.
        required: true
      - in: query
        name: rental_id
        schema:
          type: string
        description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
      tags:
      - bedrooms
      security:
      - oauth2:
        - rentals:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bedroom'
          description: ''
    put:
      operationId: bedrooms_update
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this subroom.
        required: true
      - in: query
        name: rental_id
        schema:
          type: string
        description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
      tags:
      - bedrooms
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Bedroom'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Bedroom'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Bedroom'
        required: true
      security:
      - oauth2:
        - rentals:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bedroom'
          description: ''
    patch:
      operationId: bedrooms_partial_update
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this subroom.
        required: true
      - in: query
        name: rental_id
        schema:
          type: string
        description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
      tags:
      - bedrooms
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBedroom'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBedroom'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBedroom'
      security:
      - oauth2:
        - rentals:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bedroom'
          description: ''
    delete:
      operationId: bedrooms_destroy
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this subroom.
        required: true
      - in: query
        name: rental_id
        schema:
          type: string
        description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
      tags:
      - bedrooms
      security:
      - oauth2:
        - rentals:write
      responses:
        '204':
          description: No response body
  /api/v3/blacklist/:
    get:
      operationId: blacklist_list
      parameters:
      - in: query
        name: antenne
        schema:
          type: array
          items:
            type: integer
        description: Office
        explode: true
        style: form
      - in: query
        name: created_after
        schema:
          type: string
          format: date-time
      - in: query
        name: created_before
        schema:
          type: string
          format: date-time
      - in: query
        name: emails
        schema:
          type: string
      - in: query
        name: first_name
        schema:
          type: string
      - in: query
        name: last_name
        schema:
          type: string
      - 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
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: phones
        schema:
          type: string
      - in: query
        name: reservations
        schema:
          type: array
          items:
            type: integer
        description: Reservation
        explode: true
        style: form
      - in: query
        name: reservations__appartement__antenne__property_manager
        schema:
          type: array
          items:
            type: integer
        description: Property manager
        explode: true
        style: form
      - in: query
        name: reservations__reservation_platform
        schema:
          type: array
          items:
            type: integer
        description: Platform
        explode: true
        style: form
      tags:
      - blacklist
      security:
      - oauth2:
        - blacklist:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBlacklistList'
          description: ''
  /api/v3/blacklist/{id}/:
    get:
      operationId: blacklist_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this blacklist.
        required: true
      tags:
      - blacklist
      security:
      - oauth2:
        - blacklist:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Blacklist'
          description: ''
  /api/v3/calendar/block/:
    post:
      operationId: calendar_block_create
      description: Block a property's calendar for a date range.
      tags:
      - calendar
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BlockCalendar'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BlockCalendar'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BlockCalendar'
        required: true
      security:
      - oauth2:
        - rentals:write
      responses:
        '200':
          content:
            application/json:
              schema:
                example:
                  message: Calendar was blocked.
                  id: 123
          description: ''
  /api/v3/calendar/unblock/:
    post:
      operationId: calendar_unblock_create
      description: Unblock a property's calendar for a date range.
      tags:
      - calendar
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnblockCalendar'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UnblockCalendar'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UnblockCalendar'
        required: true
      security:
      - oauth2:
        - rentals:write
      responses:
        '200':
          content:
            application/json:
              schema:
                example:
                  message: Calendar was unblocked.
          description: ''
  /api/v3/check_in_steps/:
    get:
      operationId: check_in_steps_list
      description: |-
        Manage check-in guide steps for properties.

        Steps are instructions shown to guests during check-in.
        Each step belongs to a check-in guide, which is linked to a property.
        Create and order actions require a `rental_id` in the request body.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: rental_id
        schema:
          type: array
          items:
            type: string
            title: Contract number
        description: |-
          This field is not editable after creation.
           ALWAYS fill it with the correct value
        explode: true
        style: form
      tags:
      - check_in_steps
      security:
      - oauth2:
        - rentals:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCheckInStepList'
          description: ''
    post:
      operationId: check_in_steps_create
      description: Create a check-in step. Requires `rental_id` in the request body.
        If the property has no check-in guide yet, one is created automatically.
      tags:
      - check_in_steps
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckInStep'
            examples:
              CreateAStep:
                value:
                  rental_id: '87520'
                  content_en: Use the lockbox at the entrance.
                  order: 0
                  show_for_check_in_type: SELF_CHECK_IN
                summary: Create a step
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CheckInStep'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CheckInStep'
        required: true
      security:
      - oauth2:
        - rentals:write
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckInStep'
          description: ''
  /api/v3/check_in_steps/{id}/:
    get:
      operationId: check_in_steps_retrieve
      description: |-
        Manage check-in guide steps for properties.

        Steps are instructions shown to guests during check-in.
        Each step belongs to a check-in guide, which is linked to a property.
        Create and order actions require a `rental_id` in the request body.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this check-in step.
        required: true
      tags:
      - check_in_steps
      security:
      - oauth2:
        - rentals:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckInStep'
          description: ''
    put:
      operationId: check_in_steps_update
      description: |-
        Manage check-in guide steps for properties.

        Steps are instructions shown to guests during check-in.
        Each step belongs to a check-in guide, which is linked to a property.
        Create and order actions require a `rental_id` in the request body.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this check-in step.
        required: true
      tags:
      - check_in_steps
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckInStep'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CheckInStep'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CheckInStep'
        required: true
      security:
      - oauth2:
        - rentals:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckInStep'
          description: ''
    patch:
      operationId: check_in_steps_partial_update
      description: |-
        Manage check-in guide steps for properties.

        Steps are instructions shown to guests during check-in.
        Each step belongs to a check-in guide, which is linked to a property.
        Create and order actions require a `rental_id` in the request body.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this check-in step.
        required: true
      tags:
      - check_in_steps
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCheckInStep'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCheckInStep'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCheckInStep'
      security:
      - oauth2:
        - rentals:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckInStep'
          description: ''
    delete:
      operationId: check_in_steps_destroy
      description: Soft-delete a check-in step.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this check-in step.
        required: true
      tags:
      - check_in_steps
      security:
      - oauth2:
        - rentals:write
      responses:
        '204':
          description: No response body
  /api/v3/check_in_steps/order/:
    post:
      operationId: check_in_steps_order_create
      description: Reorder check-in steps for a property. Requires `rental_id` and
        `step_ids` (ordered list of step IDs).
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: rental_id
        schema:
          type: array
          items:
            type: string
            title: Contract number
        description: |-
          This field is not editable after creation.
           ALWAYS fill it with the correct value
        explode: true
        style: form
      tags:
      - check_in_steps
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderCheckInSteps'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OrderCheckInSteps'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrderCheckInSteps'
        required: true
      security:
      - oauth2:
        - rentals:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCheckInStepList'
          description: ''
  /api/v3/cities/:
    get:
      operationId: cities_list
      parameters:
      - in: query
        name: country_id
        schema:
          type: number
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: name
        schema:
          type: string
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - cities
      security:
      - cookieAuth: []
      - basicAuth: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCityList'
          description: ''
  /api/v3/cities/{id}/:
    get:
      operationId: cities_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this city.
        required: true
      tags:
      - cities
      security:
      - cookieAuth: []
      - basicAuth: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/City'
          description: ''
  /api/v3/city_tax_rules/:
    get:
      operationId: city_tax_rules_list
      parameters:
      - in: query
        name: charge_type
        schema:
          type: string
          enum:
          - PER_ADULT
          - PER_NIGHT
          - PER_ROOM
        description: |-
          * `PER_ADULT` - Per adult / per night
          * `PER_ROOM` - Per room / per night
          * `PER_NIGHT` - Per night
      - in: query
        name: charge_with
        schema:
          type: string
          enum:
          - FIXED
          - PERCENTAGE
        description: |-
          * `FIXED` - Fixed
          * `PERCENTAGE` - Percentage
      - in: query
        name: city
        schema:
          type: integer
      - in: query
        name: is_default
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: rental_id
        schema:
          type: array
          items:
            type: string
            title: Contract number
        description: |-
          This field is not editable after creation.
           ALWAYS fill it with the correct value
        explode: true
        style: form
      tags:
      - city_tax_rules
      security:
      - oauth2:
        - city_tax_rules:read
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCityRuleList'
          description: ''
  /api/v3/city_tax_rules/{id}/:
    get:
      operationId: cit

# --- truncated at 32 KB (604 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/guestready/refs/heads/main/openapi/guestready-rentalready-openapi.yml