GuestReady Photos API
The photos API from GuestReady — 2 operation(s) for photos.
The photos API from GuestReady — 2 operation(s) for photos.
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-photos-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 Photos 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: photos
paths:
/api/v3/photos/:
get:
operationId: photos_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: position
schema:
type: integer
- in: query
name: rental_id
schema:
type: string
title: Contract number
description: "This field is not editable after creation.\n ALWAYS fill it with the correct value"
- in: query
name: subroom_id
schema:
type: integer
tags:
- photos
security:
- oauth2:
- rentals:read
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedPhotoList'
description: ''
post:
operationId: photos_create
tags:
- photos
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Photo'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Photo'
multipart/form-data:
schema:
$ref: '#/components/schemas/Photo'
required: true
security:
- oauth2:
- photos:write
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Photo'
description: ''
/api/v3/photos/{id}/:
get:
operationId: photos_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this photo.
required: true
tags:
- photos
security:
- oauth2:
- rentals:read
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Photo'
description: ''
put:
operationId: photos_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this photo.
required: true
tags:
- photos
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePhoto'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UpdatePhoto'
multipart/form-data:
schema:
$ref: '#/components/schemas/UpdatePhoto'
required: true
security:
- oauth2:
- photos:write
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePhoto'
description: ''
patch:
operationId: photos_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this photo.
required: true
tags:
- photos
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUpdatePhoto'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUpdatePhoto'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUpdatePhoto'
security:
- oauth2:
- photos:write
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePhoto'
description: ''
delete:
operationId: photos_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this photo.
required: true
tags:
- photos
security:
- oauth2:
- photos:write
responses:
'204':
description: No response body
components:
schemas:
BlankEnum:
enum:
- ''
CategoryC86Enum:
enum:
- COVID
type: string
description: '* `COVID` - covid'
PaginatedPhotoList:
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/Photo'
limit:
type: integer
example: 50
UpdatePhoto:
type: object
properties:
id:
type: integer
readOnly: true
rental_id:
type: string
title: Contract number
description: "This field is not editable after creation.\n ALWAYS fill it with the correct value"
category:
oneOf:
- $ref: '#/components/schemas/CategoryC86Enum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
kind:
type: string
description: "Valid choices: \n- balcony_terrace\n- bathroom\n- beach\n- bedroom\n- building\n- dining area\n- Facade_Entrance\n- floor_plan\n- garden\n- inside\n- kitchen\n- livingroom\n- neighbourhood\n- outside\n- parking\n- patio\n- safety\n- surroundings\n- swimming_pool\n- view"
kind_verbose:
type: string
readOnly: true
position:
type:
- integer
- 'null'
maximum: 2147483647
minimum: 1
subroom_id:
type:
- integer
- 'null'
description: Id of the room of the property this photo shows, e.g. a bedroom or a bathroom. Use the /api/v3/subrooms/ endpoint to list the rooms of a property. The room must belong to the same property as the photo. Send null to unassign the photo from its room. Moving a photo to another property clears the room assignment.
subroom_type:
type:
- string
- 'null'
readOnly: true
description: Room type of the assigned room, e.g. "BEDROOM", "BATHROOM". Read-only, null when the photo is not assigned to a room.
subroom_position:
type:
- integer
- 'null'
readOnly: true
description: Position of the assigned room within its property. Read-only, null when the photo is not assigned to a room.
required:
- id
- kind_verbose
- rental_id
- subroom_position
- subroom_type
Photo:
type: object
properties:
id:
type: integer
readOnly: true
rental_id:
type: string
title: Contract number
description: "This field is not editable after creation.\n ALWAYS fill it with the correct value"
category:
oneOf:
- $ref: '#/components/schemas/CategoryC86Enum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
kind:
type: string
description: "Valid choices: \n- balcony_terrace\n- bathroom\n- beach\n- bedroom\n- building\n- dining area\n- Facade_Entrance\n- floor_plan\n- garden\n- inside\n- kitchen\n- livingroom\n- neighbourhood\n- outside\n- parking\n- patio\n- safety\n- surroundings\n- swimming_pool\n- view"
kind_verbose:
type: string
readOnly: true
position:
type:
- integer
- 'null'
maximum: 2147483647
minimum: 1
subroom_id:
type:
- integer
- 'null'
description: Id of the room of the property this photo shows, e.g. a bedroom or a bathroom. Use the /api/v3/subrooms/ endpoint to list the rooms of a property. The room must belong to the same property as the photo. Send null to unassign the photo from its room. Moving a photo to another property clears the room assignment.
subroom_type:
type:
- string
- 'null'
readOnly: true
description: Room type of the assigned room, e.g. "BEDROOM", "BATHROOM". Read-only, null when the photo is not assigned to a room.
subroom_position:
type:
- integer
- 'null'
readOnly: true
description: Position of the assigned room within its property. Read-only, null when the photo is not assigned to a room.
picture:
type: string
format: uri
required:
- id
- kind_verbose
- picture
- rental_id
- subroom_position
- subroom_type
NullEnum:
enum:
- null
PatchedUpdatePhoto:
type: object
properties:
id:
type: integer
readOnly: true
rental_id:
type: string
title: Contract number
description: "This field is not editable after creation.\n ALWAYS fill it with the correct value"
category:
oneOf:
- $ref: '#/components/schemas/CategoryC86Enum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
kind:
type: string
description: "Valid choices: \n- balcony_terrace\n- bathroom\n- beach\n- bedroom\n- building\n- dining area\n- Facade_Entrance\n- floor_plan\n- garden\n- inside\n- kitchen\n- livingroom\n- neighbourhood\n- outside\n- parking\n- patio\n- safety\n- surroundings\n- swimming_pool\n- view"
kind_verbose:
type: string
readOnly: true
position:
type:
- integer
- 'null'
maximum: 2147483647
minimum: 1
subroom_id:
type:
- integer
- 'null'
description: Id of the room of the property this photo shows, e.g. a bedroom or a bathroom. Use the /api/v3/subrooms/ endpoint to list the rooms of a property. The room must belong to the same property as the photo. Send null to unassign the photo from its room. Moving a photo to another property clears the room assignment.
subroom_type:
type:
- string
- 'null'
readOnly: true
description: Room type of the assigned room, e.g. "BEDROOM", "BATHROOM". Read-only, null when the photo is not assigned to a room.
subroom_position:
type:
- integer
- 'null'
readOnly: true
description: Position of the assigned room within its property. Read-only, null when the photo is not assigned to a room.
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"