RentCheck Residents V3 API
The Residents V3 API from RentCheck — 1 operation(s) for residents v3.
The Residents V3 API from RentCheck — 1 operation(s) for residents v3.
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-residents-v3-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 Residents V3 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: Residents V3
paths:
/v3/residents:
get:
x-internal: true
summary: Get all residents (v3)
tags:
- Residents V3
description: 'Returns a paginated list of resident digests. V3 returns a trimmed `resident_v3_response_model`
projection (basic identity + `primary_occupancy`) and uses the `filters[...]` / `options[...]`
nested query-param syntax. Used internally by the web and mobile apps.'
parameters:
- in: query
name: filters[search]
description: Search value among tenant emails, first and last name, current and future lease property address.
schema:
type: string
- in: query
name: filters[active]
description: When `true`, returns residents with a current and/or a future lease. When `false`, returns residents with a past lease or no lease information. HTTP query strings are always strings, so the value is compared against the literal `'true'` / `'false'`.
schema:
type: string
enum:
- 'true'
- 'false'
- in: query
name: filters[deleted]
description: 'When the literal string `''true''`, deleted residents are included. Any
other value (including `''false''`, missing, or anything else) is
treated as `false`. There is no explicit enum validation, so unknown
values are silently normalised to `false` rather than rejected as 400.
'
schema:
type: string
example: 'false'
default: 'false'
- in: query
name: filters[emails]
description: Email(s) to filter residents by. Multiple values should be comma-separated.
schema:
type: string
- in: query
name: filters[property_id]
description: Filters all residents for a specific property.
schema:
type: string
- in: query
name: filters[occupancy_status][value]
description: Occupancy status(es) to filter residents by. Multiple values should be concatenated with a `|`. Allowed individual values are `future`, `past`, and `current`.
schema:
type: string
pattern: ^(future|past|current)(\|(future|past|current))*$
- in: query
name: filters[occupancy_status][condition]
description: Condition to apply to the occupancy_status filter. The validator only accepts `any_of`. Note also that `filters[active]` and `filters[occupancy_status]` are mutually exclusive — supplying both is rejected by the request validator.
schema:
type: string
enum:
- any_of
- in: query
name: occupancy_status[]
deprecated: true
schema:
type: array
items:
type: string
description: 'Legacy multi-value occupancy status filter, still accepted. Prefer
`filters[occupancy_status][value]`.
'
- 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: ASC
enum:
- ASC
- DESC
- asc
- desc
- in: query
name: options[sort][sort_by]
description: Sort list by a specific property.
schema:
type: string
default: first_name
enum:
- first_name
- last_name
- emails
- property_address
- lease_start
- lease_end
- status
responses:
'200':
description: Returns all residents
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 200
data:
type: array
items:
$ref: '#/components/schemas/resident_v3_response_model'
count:
type: integer
description: Amount of elements in `data`.
total_results:
type: integer
description: Amount of total elements according to search criteria.
'400':
description: 'The query parameters failed validation. Common causes: `filters[active]` and
`filters[occupancy_status]` supplied together (rejected as mutually exclusive), an
`options[sort][sort_by]` value outside the enum, or a malformed
`filters[occupancy_status][value]` string.
'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
example: 400
error:
type: string
example: '"options.sort.sort_by" must be one of [first_name, last_name, emails, property_address, lease_start, lease_end, status]'
'401':
$ref: '#/components/responses/401'
operationId: getV3Residents
x-operation-id-source: derived
components:
schemas:
resident_v3_response_model:
type: object
required:
- id
- first_name
- last_name
- phone_numbers
- emails
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
first_name:
type: string
description: The Resident's first name.
example: Resident Name
last_name:
type: string
description: The Resident's last name.
example: Resident Lastname
phone_numbers:
type: array
items:
type: string
description: Resident's phone numbers
example:
- '+17035556390'
emails:
type: array
description: Resident's emails
items:
type: string
example:
- resident@email.com
sync_data:
oneOf:
- title: RentManager Sync
type: object
required:
- vendor
- last_sync
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
vendor:
type: string
enum:
- rentmanager
last_sync:
type: string
description: The last time the resident was synced with external sources.
example: 2024-12-02 14:15:37.925000
x_id:
type: string
location_id:
type: string
integration_id:
type: string
status:
type: string
description: Latest manual-sync lifecycle state, when the integration exposes it.
enum:
- scheduled
- processing
- success
- error
error:
type: string
nullable: true
- title: Yardi Sync
type: object
required:
- vendor
- last_sync
properties:
vendor:
type: string
enum:
- yardi
last_sync:
type: string
description: The last time the resident was synced with external sources.
example: 2024-12-02 14:15:37.925000
code:
type: string
parent_code:
type: string
status:
type: string
description: Latest manual-sync lifecycle state, when the integration exposes it.
enum:
- scheduled
- processing
- success
- error
error:
type: string
nullable: true
- title: AppFolio Sync
type: object
required:
- vendor
- last_sync
properties:
vendor:
type: string
enum:
- appfolio
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
short_property_id:
type: string
short_unit_id:
type: string
last_sync:
type: string
description: The last time the resident was synced with external sources.
example: 2024-12-02 14:15:37.925000
status:
type: string
description: Latest manual-sync lifecycle state, when the integration exposes it.
enum:
- scheduled
- processing
- success
- error
error:
type: string
nullable: true
upload_response:
type: array
items:
type: object
required:
- resource
- resource_id
- uploaded_id
properties:
resource:
type: string
enum:
- units
- properties
- occupancies
resource_id:
type: string
uploaded_id:
type: string
- title: Buildium Sync
type: object
required:
- vendor
- last_sync
properties:
vendor:
type: string
enum:
- buildium
last_sync:
type: string
description: The last time the resident was synced with external sources.
example: 2024-12-02 14:15:37.925000
status:
type: string
description: Latest manual-sync lifecycle state, when the integration exposes it.
enum:
- scheduled
- processing
- success
- error
error:
type: string
nullable: true
- title: Jenark Sync
type: object
required:
- vendor
- last_sync
properties:
vendor:
type: string
enum:
- jenark
last_sync:
type: string
description: The last time the resident was synced with external sources.
example: 2024-12-02 14:15:37.925000
status:
type: string
description: Latest manual-sync lifecycle state, when the integration exposes it.
enum:
- scheduled
- processing
- success
- error
error:
type: string
nullable: true
- title: Rentvine Sync
type: object
required:
- vendor
- last_sync
properties:
vendor:
type: string
enum:
- rentvine
last_sync:
type: string
description: The last time the resident was synced with external sources.
example: 2024-12-02 14:15:37.925000
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
x_id:
type: string
status:
type: string
description: Latest manual-sync lifecycle state, when the integration exposes it.
enum:
- scheduled
- processing
- success
- error
error:
type: string
nullable: true
primary_occupancy:
type: object
required:
- id
- status
- lease_end
- lease_start
description: Present when the tenant has a primary occupancy. `lease_start` / `lease_end` are always emitted keys but are `null` when the value is empty, so the property is required but nullable.
properties:
id:
type: string
description: Entity ID
example: 00BRcZPSakXz6w7RYoE
status:
type: string
description: Indicates if the tenant is a future, past or current one
enum:
- future
- past
- current
lease_start:
type: string
description: The date the Resident's current lease starts.
example: 2021-01-15 00:00:00
nullable: true
lease_end:
type: string
description: The date the Resident's current lease should end.
example: 2022-01-15 00:00:00
nullable: true
property:
type: object
required:
- id
- address
description: This is the entity id of the Unit, Building, or Community that the entity is for. Optional — legacy occupancies can lack property data.
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
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