RentCheck Maintenance Reports API
The Maintenance Reports API from RentCheck — 2 operation(s) for maintenance reports.
The Maintenance Reports API from RentCheck — 2 operation(s) for maintenance reports.
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/rentcheck-maintenance-reports-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: RentCheck REST Maintenance Reports API
version: 1.0.0
description: '## Mission
At RentCheck, our mission is plain and simple: To make renting fair and transparent for everyone involved.'
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
paths:
/v1/maintenance_reports:
post:
summary: Create a maintenance report
tags:
- Maintenance Reports
description: This resource allows you to create a Maintenance Report.
parameters:
- in: header
name: x-app-id
required: true
description: 'Creation-source identifier. Read from the request headers and required
by request validation — omitting it returns a 400 `"appId" is required`.
'
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/maintenance_report_create_request_model'
responses:
'201':
description: Returns the created maintenance report
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 201
data:
$ref: '#/components/schemas/api_maintenance_report'
'400':
description: "Bad request — request body validation failed, or one of\nthe cross-flag checks rejected the create. The request is wrapped\nunder `data`, and the `x-app-id` header is additionally required to\npopulate `appId`. Examples:\n - `\"data.name\" is required`\n - `\"data.organize_by\" is required`\n - `\"data.organize_by\" must be one of [responsibility, room, skill]`\n - `\"data.flags\" is required`\n - `\"data.flags[0].id\" is required`\n - `\"data.flags[0].feature_id\" is required`\n - `\"appId\" is required` — surfaces when the `x-app-id` header is\n missing.\n - `All features should belong to the same inspection`\n"
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 400
error:
type: string
'401':
$ref: '#/components/responses/401'
'403':
description: 'Forbidden — the caller does not have access to this maintenance report. Access is
delegated to the underlying inspection that the requested flags belong to; if the
caller cannot access that inspection, the create is rejected with the error string below.
'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 403
error:
type: string
example: User does not have access to this maintenance report
operationId: postV1MaintenanceReports
x-operation-id-source: derived
delete:
summary: Delete a maintenance report
tags:
- Maintenance Reports
description: This resource allows you to delete a Maintenance Report.
parameters:
- name: id[]
in: query
description: 'Maintenance Report IDs. Repeat the parameter to send multiple values
(e.g. `?id[]=abc&id[]=def`).
'
required: true
style: form
explode: true
schema:
type: array
minItems: 1
items:
type: string
minLength: 1
responses:
'204':
description: 'Confirmation of deletion. Returned even when none of the supplied
ids matched — the request short-circuits when the ID set resolves
to an empty list of reports, so this endpoint does not emit a 404
for unknown ids.
'
'400':
description: 'Bad request — query string validation failed.
'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 400
error:
type: string
enum:
- '"data.ids" is required'
- '"data.ids" must contain at least 1 items'
example: '"data.ids" must contain at least 1 items'
'401':
$ref: '#/components/responses/401'
'403':
description: 'Forbidden — the caller does not have access to at least one of the
requested maintenance reports.
'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 403
error:
type: string
enum:
- User does not have access to this maintenance report
example: User does not have access to this maintenance report
operationId: deleteV1MaintenanceReports
x-operation-id-source: derived
/v1/maintenance_reports/{maintenanceReportId}:
get:
summary: Get a maintenance report by ID
tags:
- Maintenance Reports
parameters:
- name: maintenanceReportId
in: path
description: Maintenance Report ID
required: true
schema:
type: string
responses:
'200':
description: Returns the requested maintenance report
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 200
data:
$ref: '#/components/schemas/api_maintenance_report'
'401':
$ref: '#/components/responses/401'
'403':
description: Forbidden — the caller does not have access to this maintenance report.
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 403
error:
type: string
example: User does not have access to this maintenance report
'404':
description: Not Found — `maintenance report not found`.
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 404
error:
type: string
example: maintenance report not found
operationId: getV1MaintenanceReportsByMaintenanceReportId
x-operation-id-source: derived
components:
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
schemas:
maintenance_report_create_request_model:
type: object
required:
- name
- organize_by
- flags
properties:
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
flags:
type: array
description: A list of maintenance flag ids and feature ids. An empty `flags` array results in a 500 rather than a 400 — no minimum length is enforced.
items:
type: object
required:
- id
- feature_id
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
feature_id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
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
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