RentCheck Integrations API
The Integrations API from RentCheck — 1 operation(s) for integrations.
The Integrations API from RentCheck — 1 operation(s) for integrations.
openapi: 3.1.0
info:
title: RentCheck REST Account Settings Integrations 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: Integrations
paths:
/v1/integrations/rentcheck:
post:
x-internal: true
summary: Rotate RentCheck-API integration credentials
tags:
- Integrations
description: 'Creates a fresh `app_id` / `app_secret` pair for the caller''s active
RentCheck subscription and provisions the matching AWS API Gateway API
key + usage-plan entry so the credentials can immediately sign public API
requests. Any existing integration record for the subscription is removed
first, so calling this endpoint effectively rotates the credentials.
If the AWS API-key provisioning step fails after the record is created,
the just-created integration record is removed and the failure surfaces
as a 500 `Error creating AWS API key`.
'
responses:
'200':
description: Newly-created RentCheck-API integration credentials.
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 200
data:
$ref: '#/components/schemas/api_integration_rentcheck'
'400':
description: 'Bad Request — the caller''s active subscription is missing the
`rentcheck_contact.company` field, which is required before the
AWS API key can be labelled.
'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 400
error:
type: string
enum:
- subscription.rentcheck_contact.company is missing
example: subscription.rentcheck_contact.company is missing
'401':
$ref: '#/components/responses/401'
'404':
description: 'Not Found — the caller has no active subscription.
'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 404
error:
type: string
enum:
- subscription not found
example: subscription not found
'500':
description: 'Internal Server Error — the AWS API-key / usage-plan provisioning
call failed. The just-created integration record is removed and the
failure surfaces as `Error creating AWS API key`.
'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 500
error:
type: string
example: Error creating AWS API key
get:
x-internal: true
summary: Get RentCheck-API integration credentials
tags:
- Integrations
description: 'Returns the `x-app-id` / `x-app-secret` pair for the caller''s active
RentCheck subscription. Used by the `Account → Integrations → RentCheck
API` panel to display the credentials integrators need to sign public API
requests.
'
responses:
'200':
description: RentCheck-API integration for the caller's active subscription.
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 200
data:
$ref: '#/components/schemas/api_integration_rentcheck'
'401':
$ref: '#/components/responses/401'
'404':
description: 'Not Found — either the caller has no active subscription, or the
subscription has no RentCheck-API integration record yet.
'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: HTTP status code
example: 404
error:
type: string
enum:
- subscription not found
- integration not found
example: integration not found
components:
schemas:
api_integration_rentcheck:
x-internal: true
type: object
description: RentCheck-API integration credentials — the `app_id`/`app_secret` pair used to sign requests against the public API for a given subscription.
required:
- id
- app_id
- app_secret
- subscription_id
properties:
id:
type: string
description: Document id for the integration record.
app_id:
type: string
description: Public API application id — sent as the `x-app-id` header.
app_secret:
type: string
description: Public API application secret — sent as the `x-app-secret` header.
subscription_id:
type: string
description: RentCheck subscription id the integration is scoped to.
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