RentCheck Maintenance Reports V2 API
The Maintenance Reports V2 API from RentCheck — 1 operation(s) for maintenance reports v2.
The Maintenance Reports V2 API from RentCheck — 1 operation(s) for maintenance reports v2.
openapi: 3.1.0
info:
title: RentCheck REST Account Settings Maintenance Reports V2 API
version: 1.0.0
description: "\n## Mission\nAt RentCheck, our mission is plain and simple: To make renting fair and transparent for everyone involved. \nRentCheck is a property inspection solution that helps property managers save time and resources with easy self-guided inspections that residents can perform from their smartphone. \n\nWith RentCheck, property managers can avoid tenant coordination, eliminate drive time, and standardize their inspection process. \nWe provides real-time visibility to property managers and owners while bringing transparency to the security deposit deduction process.\n\n## API\nThe RentCheck API lets developers tap into the RentCheck ecosystem, building their own RentCheck-powered applications to enable inspection scheduling and creation and to leverage inspection data for a variety of use cases in the property management, maintenance, and insurance spaces.\n\nThe RentCheck REST API supports JSON requests and responses and features a resource-oriented design that generally adheres to the RFC 7321 HTTP/1.1 standard. \nOur API resources provide access to many RentCheck features, including units, buildings, communities, inspections, and residents.\n\n## Credentials\nIn addition to the Bearer Auth, RentCheck will need to send you an application ID and secret. These are required to generate the required application headers (x-app-id & x-app-secret).\nThese values can be obtained from the [RentCheck API integration page](https://app.getrentcheck.com/account/integrations/rentcheck-api).\n\n## Rate Limiting\nThe RentCheck API enforces rate limits to ensure fair usage and prevent abuse. The rate limits are as follows:\n- **Requests per second**: 8\n- **Requests per minute**: 256\n- **Requests per 10 minutes**: 1024\n\nIf you exceed the rate limits, you will receive a 429 Too Many Requests response.\n\n## Pagination\nWhen interacting with endpoints that return a list of items, the results are paginated to help manage large data sets efficiently. The following parameters control pagination:\n- **page_size** (integer): Defines the number of items returned per page. The maximum allowed value is 250. If a value larger than 250 is provided, it will be automatically clamped to 250. This ensures that the system performs optimally and prevents the server from being overwhelmed by too many items in a single response.\n - **Maximum**: `250`\n- **page_number** (integer): Indicates the page number to retrieve. Pagination starts at `page 0`. If not specified, the first page (`page 0`) is returned by default.\n### Example Request\n```http\nGET /api/v1/inspections?page_size=300&page_number=2\n```\nIn this example, although the `page_size` parameter is set to `300` **for a query with 1500 total results**, the system will return only `250` items per page, as `300` exceeds the maximum allowed value.\n#### Example Response\n```json\n{\n \"status\": 200,\n \"data\": [...],\n \"count\": 250,\n \"total_results\": 1500\n}\n```\nThis response shows that the `page_size` has been clamped to `250`, despite the initial request for `300`.\n"
contact:
name: RentCheck Support
email: support@getrentcheck.com
servers:
- url: https://prod-public-api.getrentcheck.com
description: Production server
security:
- bearerAuth: []
x-app-id: []
x-app-secret: []
tags:
- name: Maintenance Reports V2
paths:
/v2/maintenance_reports:
get:
summary: Get all maintenance reports
tags:
- Maintenance Reports V2
description: Get all maintenance reports
parameters:
- in: query
name: filters[search]
description: Search value among maintenance report's name, inspection label, property address, city and zip code.
schema:
type: string
- in: query
name: filters[created_date][start]
description: Value to filter maintenance report creation date by a starting date.
schema:
type: string
- in: query
name: filters[created_date][end]
description: Value to filter maintenance report creation date by an ending date.
schema:
type: string
- in: query
name: filters[property_id]
description: Get all maintenance reports for this property.
schema:
type: string
- in: query
name: filters[inspection_id]
description: Get all maintenance reports for this inspection.
schema:
type: string
- in: query
name: filters[inspection_templates]
description: Get all maintenance reports for the inspection templates informed. This parameter accepts multiple ids concatenated with a `,` (comma).
schema:
type: string
example: inspection_template_id_1,inspection_template_id_2,inspection_template_id_3
- in: query
name: options[pagination][page_size]
description: How many items to be returned for each page.
schema:
type: integer
default: 20
- in: query
name: options[pagination][page_number]
description: Zero-indexed page number.
schema:
type: integer
default: 0
- in: query
name: options[sort][sort_type]
description: 'Sort list in ascending or descending order. Accepted
case-insensitively.
'
schema:
type: string
default: DESC
enum:
- ASC
- DESC
- asc
- desc
- in: query
name: options[sort][sort_by]
description: Sort list by a specific property.
schema:
type: string
default: created_date
enum:
- property_address
- property_city
- property_zip_code
- name
- inspection_template
- created_date
responses:
'200':
description: Returns all maintenance reports
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 200
data:
type: array
items:
$ref: '#/components/schemas/api_maintenance_report'
count:
type: integer
description: Amount of elements in `data`.
total_results:
type: integer
description: Amount of total elements according to search criteria.
'400':
description: 'Bad request — request failed validation. Most
commonly an unsupported `sort_by` value, a malformed
`created_date` range, or a non-string filter value.
'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 400
error:
type: string
'401':
$ref: '#/components/responses/401'
components:
schemas:
api_maintenance_report:
type: object
required:
- id
- name
- organize_by
- created_by
- inspection_date
- created_date
- inspection
- property
- maintenance_flags
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
name:
type: string
description: A name for the new report
example: Move-out maintenance report
organize_by:
type: string
description: Group to display when viewing the report
example: responsibility
enum:
- responsibility
- room
- skill
created_by:
type: object
required:
- name
properties:
name:
type: string
description: Name of user that created the report
inspection_date:
type: string
description: Inspection creation date, ISO format
example: 2022-01-15 00:00:00
created_date:
type: string
description: Report creation date, ISO format
example: 2022-01-15 00:00:00
inspection:
type: object
description: The inspection info from where the report originates.
required:
- id
- date
- template
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
date:
type: string
description: The inspection due date (legacy) is the original date by which the recipient must complete the inspection.
example: 2021-12-02 14:15:37.925000
template:
type: object
required:
- id
- name
- internal_label
- property_type
- display_name
properties:
id:
type: string
description: Inspection template identifier
name:
type: string
description: Inspection template name.
internal_label:
type: string
description: Inspection template internal label.
property_type:
type: string
description: Inspection template property type.
display_name:
type: string
description: Resolved display name for the inspection template, used by clients to render the template title (mirrors `name` for legacy templates).
description: Inspection template summary (id, name, plus the resolved `display_name`).
property:
type: object
required:
- id
- address
- city
- zip_code
description: This is the entity id of the Unit, Building, or Community that the entity is for.
properties:
id:
type: string
description: Selected entity's property id
example: 00BRcZPSakXz6w7RYoE
address:
type: string
description: Selected entity's property address
example: 2001 Red Gates
address_2:
type: string
description: Selected entity's property additional address info
example: Apt. 4B
city:
type: string
description: Selected entity's property city
example: New Orleans
region:
type: string
description: Selected entity's property region
example: Orleans
zip_code:
type: string
description: Selected entity's property zip_code
example: '70130'
zip_report_location:
type: string
description: Link to the inspections completed ZIP report if previously generated.
pdf_report_location:
type: string
description: Link to the inspections completed PDF report if previously generated.
maintenance_flags:
type: array
items:
type: object
required:
- id
- feature_id
- feature
- section
- note
- skill
- created_date
- created_by
- inspection
- image_urls
- video_urls
- maintenance_reports
- work_orders
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
feature_id:
type: string
description: Maintenance flag's feature ID.
feature:
type: string
description: Maintenance flag's feature name.
section:
type: object
required:
- name
- name_with_ordinal
- type
description: Section the feature belongs to.
properties:
name:
type: string
description: The section name for the feature
example: Hallway
name_with_ordinal:
type: string
description: The section name with ordinal for the feature. This is only different from section for rooms like Bedroom, Bathroom, etc
example: First Bedroom
type:
type: string
description: The section type for the feature as it was defined in the template
enum:
- room
- section
example: room
note:
type: string
description: Maintenance flag's notes
internal_note:
type: string
description: Maintenance flag's internal note.
skill:
type: string
description: Maintenance flag's required skill.
cost:
type: number
description: Maintenance flag's cost
responsibility:
type: string
description: Maintenance flag's responsibility
enum:
- OWNER
- RESIDENT
- ''
vendor:
type: string
description: Vendor the flag is routed to.
enum:
- Latchel
- AppFolio
- Yardi
- Jenark
- RentCheck
- Rent Manager
- Rentvine
created_date:
type: string
description: Flag creation date, ISO format.
example: 2022-01-15 00:00:00
created_by:
type: object
description: Basic identifying info for the user that created the flag.
required:
- id
- name
- email
- type
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
name:
type: string
email:
type: string
type:
type: string
enum:
- Renter
- Property Manager
- Landlord
- System
description: User type discriminator.
image_urls:
type: array
description: URLs of images related to the flag.
items:
type: string
video_urls:
type: array
description: URLs of videos related to the flag.
items:
type: string
custom_fields:
type: array
description: Custom-field values captured for this flag.
items:
type: object
required:
- id
- value
properties:
id:
type: string
description: Stable identifier of the custom field (chosen by the user when the field was created).
value:
type: array
description: Selected/entered values. Always an array of strings even for single-select fields.
items:
type: string
inspection:
type: object
required:
- id
- label
- due_date
- inspection_template
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
label:
type: string
description: Inspection label.
due_date:
type: string
description: The inspection due date (legacy) is the original date by which the recipient must complete the inspection.
example: 2021-12-02 14:15:37.925000
inspection_template:
type: object
required:
- id
- name
- internal_label
- property_type
- display_name
properties:
id:
type: string
description: Inspection template identifier
name:
type: string
description: Inspection template name.
internal_label:
type: string
description: Inspection template internal label.
property_type:
type: string
description: Inspection template property type.
display_name:
type: string
description: Resolved display name for the inspection template, used by clients to render the template title (mirrors `name` for legacy templates).
description: Basic info for the inspection the flag belongs to.
maintenance_reports:
type: array
description: Maintenance reports the flag has been included in. Retained for schema compatibility, but always emitted as `[]`.
items:
type: object
required:
- id
- name
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
name:
type: string
work_orders:
type: array
description: Work orders the flag has been included in.
items:
type: object
required:
- id
- name
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
name:
type: string
responses:
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 401
error:
type: string
description: Error message
enum:
- token is not valid
- authorization header is empty
- authorization header is not valid
- 'format for Authorization must be: Bearer [token]'
- refresh token is not valid for resources
- not well-formed token
example: token is not valid
securitySchemes:
bearerAuth:
description: Authorization key needed to use the API
type: http
scheme: bearer
bearerFormat: JWT
x-app-id:
description: Represents the identification of you application
type: apiKey
name: x-app-id
in: header
required: true
x-app-secret:
description: Represents the secret for your application
type: apiKey
name: x-app-secret
in: header
required: true