RentCheck Work Orders V2 API
The Work Orders V2 API from RentCheck — 1 operation(s) for work orders v2.
The Work Orders V2 API from RentCheck — 1 operation(s) for work orders v2.
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:rentcheck-work-orders-v2-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 Work Orders V2 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: Work Orders V2
paths:
/v2/work_orders:
get:
x-internal: true
summary: Get all work orders
tags:
- Work Orders V2
parameters:
- in: query
name: page_number
schema:
type: integer
default: 0
description: The page number of the collection. Zero-indexed.
- in: query
name: page_size
schema:
type: integer
default: 20
description: The number of elements in the data collection.
- in: query
name: sort_by
schema:
type: string
default: created_date
enum:
- created_date
- property_address
- property_address_2
- property_city
- property_region
- property_zip_code
- inspection_type
- inspection_template
- name
- status
description: Sort results by one of the available fields.
- in: query
name: sort_type
schema:
type: string
default: DESC
pattern: ^(?:[Aa][Ss][Cc]|[Dd][Ee][Ss][Cc])$
example: DESC
description: 'Sort direction. Accepted case-insensitively — any casing
of `asc` / `desc` is silently normalised to `ASC` / `DESC`.
'
- in: query
name: search
schema:
type: string
description: Search string to match in several work order's fields
- in: query
name: property_id
schema:
type: string
description: Property ID to filter work orders by. Only work orders whose source inspection lives on this property are returned.
- in: query
name: inspection_type[]
style: form
explode: true
schema:
type: array
items:
type: string
description: 'List of inspection types to filter work orders. Repeat the parameter
to send multiple values (e.g. `?inspection_type[]=Move-In&inspection_type[]=Move-Out`).
'
- in: query
name: status[]
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- Created
- In Progress
- Completed
- Canceled
description: 'List of work order statuses to filter by. Repeat the parameter to
send multiple values. Allowed individual values are `Created`,
`In Progress`, `Completed`, and `Canceled`. The raw array is not
validated, so unknown values are silently ignored — they simply
return zero matches instead of a 400.
'
- in: query
name: start_created_date
schema:
type: string
description: Value to filter work order creation date by a starting date
- in: query
name: end_created_date
schema:
type: string
description: Value to filter work order creation date by an ending date
responses:
'200':
description: Returns all work orders
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 200
data:
type: array
items:
$ref: '#/components/schemas/work_order_response_model'
count:
type: integer
description: Amount of elements in `data`.
total_results:
type: integer
description: Amount of total elements according to search criteria.
'401':
$ref: '#/components/responses/401'
operationId: getV2WorkOrders
x-operation-id-source: derived
components:
schemas:
work_order_response_model:
x-internal: true
type: object
description: Envelope shared by v1 (`POST /v1/work_orders`) and v2 (`GET /v2/work_orders`). Provider-specific keys (`latchel`, `yardi`, `appfolio`, `jenark`, `rentmanager`, `rentvine`) remain optional and appear only when the work order was synced through that vendor. `property` is required on v1 responses; v2 (`GET /v2/work_orders`) drops the field when the underlying row has no property snapshot, so it is not listed as required here.
required:
- id
- name
- created_date
- created_by
- created_by_name
- status
- maintenance_flags
- organization_id
- inspection
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
name:
type: string
description: The name field is the work order name / label.
example: 'Latchel Job #1'
created_date:
type: string
description: Work order creation date, ISO format.
example: 2022-01-15 00:00:00
created_by:
type: string
description: User id that created the work order.
created_by_name:
type: string
description: Display name of the user that created the work order.
organization_id:
type: string
description: Organization (subscription) the work order belongs to.
status:
type: string
description: Up to date status of the work order.
skill:
type: string
description: Skill / category selected for the work order.
zip_report_location:
type: string
description: Location of the most recent generated zip report for the work order. Only present on v2 (`GET /v2/work_orders`) responses; v1 responses do not emit this field.
last_sync_date:
type: string
description: ISO timestamp of the latest sync attempt to the work order provider, when one has run. Only present on v2 (`GET /v2/work_orders`) responses; v1 responses do not emit this field.
inspection:
type: object
description: This is the entity id of the inspection that the entity is for.
properties:
id:
type: string
description: Selected entity's inspection id
example: 00BRcZPSakXz6w7RYoE
type:
type: string
description: Selected entity's inspection type
enum:
- Move-in
- Move-out
- Annual
- Turn
- Periodic
- Maintenance Check
- Exterior
- Pre-Acquisition
- RV Lot
- Maintenance / Safety Check
- Community Maintenance Check
date:
type: string
description: Selected entity's inspection date, ISO format
example: 2022-01-15 00:00:00
template:
type: object
completed_date:
type: string
description: Inspection completed date in ISO format, when set.
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'
maintenance_flags:
type: array
items:
type: object
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
room:
type: string
description: Maintenance flag's room.
feature:
type: string
description: Maintenance flag's feature name.
feature_id:
type: string
description: Maintenance flag's feature ID.
created_date:
type: string
description: Feature creation date, ISO format
example: 2022-01-15 00:00:00
created_by:
type: object
description: User that created the flag.
required:
- id
- name
- type
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
name:
type: string
description: Name of the user that created the flag.
type:
type: string
enum:
- Renter
- Property Manager
- Landlord
- System
description: User type discriminator.
responsibility:
type: string
description: Maintenance flag's responsibility
enum:
- OWNER
- RESIDENT
- ''
note:
type: string
description: Maintenance flag's notes
image_urls:
type: array
description: Maintenance flag's images
items:
type: string
description: URL links to images related to the maintenance flags
cost:
type: number
description: Maintenance flag's cost
latchel:
type: object
description: Latchel-specific work order fields, present when the provider is `latchel`.
additionalProperties: true
yardi:
type: object
description: Yardi-specific work order fields, present when the provider is `yardi`.
additionalProperties: true
appfolio:
type: object
description: AppFolio-specific work order fields, present when the provider is `appfolio`.
additionalProperties: true
jenark:
type: object
description: Jenark-specific work order fields, present when the provider is `jenark`.
additionalProperties: true
rentmanager:
type: object
description: Rent Manager-specific work order fields, present when the provider is `rentmanager`.
additionalProperties: true
rentvine:
type: object
description: Rentvine-specific work order fields, present when the provider is `rentvine`.
additionalProperties: true
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