RentCheck Maintenance Reports V2 API

The Maintenance Reports V2 API from RentCheck — 1 operation(s) for maintenance reports v2.

OpenAPI Specification

rentcheck-maintenance-reports-v2-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: RentCheck REST Account Settings Maintenance Reports V2 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: Maintenance Reports V2
paths:
  /v2/maintenance_reports:
    get:
      summary: Get all maintenance reports
      tags:
      - Maintenance Reports V2
      description: Get all maintenance reports
      parameters:
      - in: query
        name: filters[search]
        description: Search value among maintenance report's name, inspection label, property address, city and zip code.
        schema:
          type: string
      - in: query
        name: filters[created_date][start]
        description: Value to filter maintenance report creation date by a starting date.
        schema:
          type: string
      - in: query
        name: filters[created_date][end]
        description: Value to filter maintenance report creation date by an ending date.
        schema:
          type: string
      - in: query
        name: filters[property_id]
        description: Get all maintenance reports for this property.
        schema:
          type: string
      - in: query
        name: filters[inspection_id]
        description: Get all maintenance reports for this inspection.
        schema:
          type: string
      - in: query
        name: filters[inspection_templates]
        description: Get all maintenance reports for the inspection templates informed. This parameter accepts multiple ids concatenated with a `,` (comma).
        schema:
          type: string
          example: inspection_template_id_1,inspection_template_id_2,inspection_template_id_3
      - 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: DESC
          enum:
          - ASC
          - DESC
          - asc
          - desc
      - in: query
        name: options[sort][sort_by]
        description: Sort list by a specific property.
        schema:
          type: string
          default: created_date
          enum:
          - property_address
          - property_city
          - property_zip_code
          - name
          - inspection_template
          - created_date
      responses:
        '200':
          description: Returns all maintenance reports
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 200
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/api_maintenance_report'
                  count:
                    type: integer
                    description: Amount of elements in `data`.
                  total_results:
                    type: integer
                    description: Amount of total elements according to search criteria.
        '400':
          description: 'Bad request — request failed validation. Most

            commonly an unsupported `sort_by` value, a malformed

            `created_date` range, or a non-string filter value.

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 400
                  error:
                    type: string
        '401':
          $ref: '#/components/responses/401'
components:
  schemas:
    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
  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