RentCheck Residents (deprecated) API

The Residents (deprecated) API from RentCheck — 3 operation(s) for residents (deprecated).

OpenAPI Specification

rentcheck-residents-deprecated-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: RentCheck REST Account Settings Residents (deprecated) 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: Residents (deprecated)
paths:
  /v1/residents:
    post:
      x-internal: true
      deprecated: true
      summary: Create a resident (v1, deprecated)
      tags:
      - Residents (deprecated)
      description: 'Creates a v1 resident document. Prefer `POST /v2/residents`, which uses the richer

        tenant model and a structured request body. The v1 request uses the resident shape

        `first_name`, `last_name`, `emails`, and `current_property_id` (see

        `resident_create_request_model`).

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/resident_create_request_model'
      responses:
        '200':
          description: Returns the created resident.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 200
                  data:
                    $ref: '#/components/schemas/resident_response_model'
        '400':
          description: "Bad request — request body failed validation. Possible messages:\n  - `first_name is missing`, `last_name is missing`, `emails is missing`,\n    `current_property_id is missing` (required fields)\n  - `first_name can not be empty`, `last_name can not be empty`,\n    `current_property_id can not be empty` (whitespace-only values)\n  - `phone_numbers must be an array` (`phone_numbers` is supplied but\n    isn't an array)\n  - `emails has an invalid value: empty` (`emails` is supplied as a\n    non-array or empty array)\n  - `email has an invalid value: <value>` (an email fails format\n    validation)\n  - `phone number has an invalid value: <value>` (a phone number fails\n    format validation)\n  - `current_lease_start has an invalid value` /\n    `current_lease_end has an invalid value` /\n    `move_out_date has an invalid value`\n"
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 400
                  error:
                    type: string
                    example: first_name is missing
        '401':
          $ref: '#/components/responses/401'
        '404':
          description: Not Found — `user not found` or `property not found`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 404
                  error:
                    type: string
                    enum:
                    - user not found
                    - property not found
                    example: property not found
  /v1/residents/{residentId}:
    get:
      x-internal: true
      deprecated: true
      summary: Get a resident by ID (v1, deprecated)
      tags:
      - Residents (deprecated)
      description: 'Returns a single v1 resident by id. Prefer the v2 (`/v2/residents/{id}`) and v3

        (`/v3/residents`) endpoints, which return the richer tenant + occupancies model.

        '
      parameters:
      - name: residentId
        in: path
        description: Resident ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns the requested resident.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 200
                  data:
                    $ref: '#/components/schemas/resident_response_model'
        '401':
          $ref: '#/components/responses/401'
        '404':
          description: Not Found — `resident not found`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 404
                  error:
                    type: string
                    example: resident not found
    put:
      x-internal: true
      deprecated: true
      summary: Update a resident (v1, deprecated)
      tags:
      - Residents (deprecated)
      description: 'Updates a v1 resident document. Prefer `PUT /v2/residents/{id}` for new integrations.

        '
      parameters:
      - name: residentId
        in: path
        description: Resident ID
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/resident_update_request_model'
      responses:
        '200':
          description: Returns the updated resident.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 200
                  data:
                    $ref: '#/components/schemas/resident_response_model'
        '400':
          description: "Bad request — request body failed validation. Possible messages:\n  - `emails has an invalid value: empty` (empty or non-array `emails`)\n  - `email has an invalid value: <value>` (an email fails format validation)\n  - `phone_numbers must be an array`\n  - `phone number has an invalid value: <value>` (a phone number fails format validation)\n"
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 400
                  error:
                    type: string
                    example: 'emails has an invalid value: empty'
        '401':
          $ref: '#/components/responses/401'
        '404':
          description: Not Found — `resident not found`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 404
                  error:
                    type: string
                    example: resident not found
  /v1/zapier/residents:
    post:
      x-internal: true
      summary: Create a resident from a Zapier trigger
      tags:
      - Residents (deprecated)
      description: 'Zapier-flavoured entry point for the v1 resident create flow. The Zapier

        request body carries a single flat resident payload; the property is

        resolved by (`address` + `postal_code`) within the caller''s user +

        organizations and the request is then delegated to the v1 resident

        create flow. The response payload mirrors the classic

        `resident_response_model`.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/zapier_resident_create_request_model'
      responses:
        '200':
          description: Returns the created resident.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 200
                  data:
                    $ref: '#/components/schemas/resident_response_model'
        '401':
          $ref: '#/components/responses/401'
        '404':
          description: 'Not Found — no property matched the supplied `address` +

            `postal_code` within the caller''s user + organizations.

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 404
                  error:
                    type: string
                    enum:
                    - Property not found
                    example: Property not found
        '409':
          description: 'Conflict — a resident with the supplied email already exists on a

            property owned by the caller.

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 409
                  error:
                    type: string
                    example: Resident already exists
components:
  schemas:
    resident_create_request_model:
      type: object
      required:
      - current_property_id
      - first_name
      - last_name
      - emails
      properties:
        current_property_id:
          type: string
          description: The entity id of the latest Unit occupied by the Resident.
          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
        emails:
          type: array
          description: Resident's emails
          items:
            type: string
          example:
          - resident@email.com
        phone_numbers:
          type: array
          items:
            type: string
          description: Resident's phone numbers
          example:
          - '+17035556390'
        current_lease_start:
          type: string
          description: The date the Resident's current lease starts.
          example: 2021-01-15 00:00:00
        current_lease_end:
          type: string
          description: The date the Resident's current lease should end.
          example: 2022-01-15 00:00:00
        current_rent:
          type: number
          description: The dollar amount of the Resident's current rent. Must be ≥ 0.
          example: 100
        current_security_deposit:
          type: number
          description: The dollar amount of the Resident's security deposit. Must be ≥ 0.
          example: 150
        move_out_date:
          type: string
          description: The date that the Resident is scheduled to move out of the current Property.
          example: 2022-01-15 00:00:00
        previous_properties:
          type: array
          description: Always emitted as an empty array on v1 resident responses. To enumerate the past leases for a resident, list them via `GET /v2/residents/{residentId}/leases`. Retained here for backward compatibility.
          items:
            type: string
            description: Entity ID
            example: 00BRcZPSakXz6w7RYoE
    resident_update_request_model:
      type: object
      properties:
        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
        emails:
          type: array
          description: Resident's emails
          items:
            type: string
          example:
          - resident@email.com
        phone_numbers:
          type: array
          items:
            type: string
          description: Resident's phone numbers
          example:
          - '+17035556390'
    zapier_resident_create_request_model:
      x-internal: true
      type: object
      required:
      - address
      - postal_code
      - first_name
      - last_name
      - email
      properties:
        address:
          type: string
          description: Street address of the resident's current property. Combined with `postal_code` to locate the property owned by the caller's user or organizations.
        postal_code:
          type: string
          description: Postal code (ZIP) matching the property being looked up.
        first_name:
          type: string
          description: Resident's first name.
        last_name:
          type: string
          description: Resident's last name.
        email:
          type: string
          format: email
          description: Resident's email address. Used both to check for an existing resident record on the property and as the primary contact email on the created resident.
        phone_number:
          type: string
          description: Optional single phone number, added as the sole entry in the resident's `phone_numbers` array.
        lease_start_date:
          type: string
          description: Optional ISO-8601 lease start date.
        lease_end_date:
          type: string
          description: Optional ISO-8601 lease end date.
        monthly_rent:
          type: number
          description: Optional monthly rent amount for the lease.
        security_deposit:
          type: number
          description: Optional security deposit amount for the lease.
    resident_response_model:
      type: object
      required:
      - id
      - organizationID
      - emails
      - previous_properties
      - created_date
      - updated_date
      properties:
        id:
          type: string
          description: Entity ID
          example: 00BRcZPSakXz6w7RYoE
        user_id:
          type: string
          description: The id of the linked user account for this resident, when one exists. Populated once the resident accepts an invite and signs in.
          example: 00BRcZPSakXz6w7RYoE
        organizationID:
          type: string
          description: The id of the organization that owns the resident record.
          example: 00BRcZPSakXz6w7RYoE
        owner_id:
          type: string
          description: User ID of the resident entity
          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
        emails:
          type: array
          description: Resident's emails
          items:
            type: string
          example:
          - resident@email.com
        phone_numbers:
          type: array
          items:
            type: string
          description: Resident's phone numbers
          example:
          - '+17035556390'
        current_property_id:
          type: string
          description: The entity id of the latest Unit occupied by the Resident.
          example: 00BRcZPSakXz6w7RYoE
        current_property_address:
          type: string
          description: This field is the street address from the property listed in the inspection
          example: 1234 Street name
        current_lease_start:
          type: string
          description: The date the Resident's current lease starts.
          example: 2021-01-15 00:00:00
        current_lease_end:
          type: string
          description: The date the Resident's current lease should end.
          example: 2022-01-15 00:00:00
        current_rent:
          type: number
          description: The dollar amount of the Resident's current rent. Must be ≥ 0.
          example: 100
        current_security_deposit:
          type: number
          description: The dollar amount of the Resident's security deposit. Must be ≥ 0.
          example: 150
        move_out_date:
          type: string
          description: The date that the Resident is scheduled to move out of the current Property.
          example: 2022-01-15 00:00:00
        previous_properties:
          type: array
          description: Always emitted as an empty array on v1 resident responses. To enumerate the past leases for a resident, list them via `GET /v2/residents/{residentId}/leases`. Retained here for backward compatibility.
          items:
            type: string
            description: Entity ID
            example: 00BRcZPSakXz6w7RYoE
        creation_source:
          type: string
          description: App that perform the entity creation.
          enum:
          - zapier
          - rentmanager
          - flatfile
          - 365connect
          - appfolio
          - yardi
          - rentvine
          - test_app_id
          example: zapier
        created_date:
          type: string
          description: Entity creation date, in ISO format
          example: 2022-12-02 14:15:37.925000
        updated_date:
          type: string
          description: Entity last update date, in ISO format
          example: 2023-10-04 14:15:37.925000
  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