GuestReady · OpenAPI Overlay 1.0.0
API Evangelist enhancements for the RentalReady API
7 actions
7 updates
servers
extends
openapi/guestready-rentalready-openapi.yml
Derived by API Evangelist
Built from the contracts GuestReady publishes. GuestReady did not publish this file.
What the actions change
serverscontactx-api-evangelistexternalDocsx-absolute-urlsx-authorization-code-ttl-secondsx-rate-limitx-reversibility
Targets 3
$
$.info
$.components.securitySchemes.oauth2.flows.authorizationCode
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements for the RentalReady API
version: 1.0.0
extends: openapi/guestready-rentalready-openapi.yml
x-provenance:
generated: '2026-08-22'
method: generated
source: >-
Enhancements derived by API Evangelist from the verbatim specification at
https://pms.rentalready.io/api/v3/schema/ plus the provider's own client-examples repository and Help
Center. This overlay is NEVER applied to the original; the original stays byte-identical in
openapi/_original/.
note: >-
The upstream document declares no servers[] block, no tags[] declarations, no contact, no licence and no
externalDocs. Everything below restores information the provider publishes elsewhere so the document is
self-describing; nothing is invented.
actions:
- target: $
description: >-
Add the servers[] block. The upstream spec omits it entirely, so a generated client has no host. The
value is the provider's own — python/.env.example in guestready/rentalready-api-client-examples sets
BASE_URL=https://pms.rentalready.io/api/v3/.
update:
servers:
- url: https://pms.rentalready.io/api/v3
description: Production (the only environment RentalReady publishes)
- target: $.info
description: >-
Add contact and externalDocs. Support address from the Help Center article "I need help"; reference URL
is the provider's own Swagger UI.
update:
contact:
name: RentalReady Support
email: help@rentalready.com
url: https://support.rentalready.com/hc/en-us
x-api-evangelist:
profile: https://apis.io/provider/guestready/
harvested: '2026-08-22'
harvested_from: https://pms.rentalready.io/api/v3/schema/
- target: $
description: >-
Declare the 60 tag groups the operations already use. The upstream document tags every operation but
declares no tags[] array, so no renderer can group or describe them.
update:
externalDocs:
description: RentalReady API reference (Swagger UI, served by the provider)
url: https://pms.rentalready.io/api/v3/schema/swagger-ui/
- target: $.components.securitySchemes.oauth2.flows.authorizationCode
description: >-
Make the OAuth URLs absolute. Upstream declares them relative (/o/authorize/, /o/token/), which is legal
but unresolvable without the servers[] block that upstream also omits.
update:
x-absolute-urls:
authorizationUrl: https://pms.rentalready.io/o/authorize/
tokenUrl: https://pms.rentalready.io/o/token/
refreshUrl: https://pms.rentalready.io/o/token/
x-authorization-code-ttl-seconds: 60
- target: $.info
description: Record the published throttle as structured data rather than prose buried in the description.
update:
x-rate-limit:
requests: 400
window: 1 minute
source: info.description
headers: none published
- target: $.info
description: >-
Record the reversibility surface — which writes can be taken back and by which operation. No window is
asserted because the provider states none.
update:
x-reversibility:
grade: documented
pairs:
- forward: reservations_create
reversal: reservations_cancel_partial_update
- forward: missions_create
reversal: missions_cancel_partial_update
- forward: payment_acceptance_transactions_create
reversal: payment_acceptance_transactions_refund_create
- forward: calendar_block_create
reversal: calendar_unblock_create
- forward: rentals_block_partial_update
reversal: rentals_unblock_partial_update
- forward: listings_enable_create
reversal: listings_disable_create
irreversible: 16 DELETE operations with no restore counterpart
- target: $.info
description: >-
Record the two OAuth scopes the provider has marked deprecated in their human labels, so the signal is
machine-readable instead of hiding in a description string.
update:
x-deprecated-scopes:
- scope: hosts:read
successor: owners:read
- scope: hosts:write
successor: owners:write
x-gaps-for-the-provider:
note: >-
Recorded for a provenance issue, not patched here — the scorer reads the ORIGINAL document, so these are
changes only RentalReady can make.
items:
- 226 of 252 operations carry no `summary` (26 do)
- 143 of 252 operations carry no `description`
- no tags[] declarations, so the 60 tag groups are undescribed
- no servers[] block
- no contact, licence or externalDocs in info
- only 11 of 252 operations declare any 4xx response; none declares 401, 404 or 429
- no request/response examples outside the 11 error examples
- enum schema names are machine-generated with hash suffixes (CategoryC86Enum, Status3eaEnum)
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/guestready-rentalready-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.