RentCheck Filter Segments API

The Filter Segments API from RentCheck — 2 operation(s) for filter segments.

OpenAPI Specification

rentcheck-filter-segments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: RentCheck REST Account Settings Filter Segments 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: Filter Segments
paths:
  /v2/filter-segments:
    post:
      summary: Create a filter segment
      x-internal: true
      tags:
      - Filter Segments
      description: 'Creates a saved filter segment — a named, colored, and iconed

        inspections-list filter combo — owned by the requesting user.

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/filter_segment_create_request_model'
      responses:
        '201':
          description: Returns the created filter segment.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 201
                  data:
                    $ref: '#/components/schemas/filter_segment_response_model'
        '400':
          description: 'Bad request — the request body failed validation. The raw message

            identifies the invalid field, e.g. `"data.name" is required`,

            `"data.color" must be one of [grey, blue, light_blue, orange, green, red]`,

            `"data.filters" must have at least 1 key`, or — when the same value

            appears twice in a multi-value filter —

            `"data.filters.assigned_to.value[1]" contains a duplicate value`.

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 400
                  error:
                    type: string
                    example: '"data.name" is required'
        '401':
          $ref: '#/components/responses/401'
        '404':
          description: Not Found — `user not found` (the requesting user does not exist).
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 404
                  error:
                    type: string
                    example: user not found
        '409':
          description: 'Conflict — a filter segment with this name already exists for the owner

            (names are unique per owner, trimmed and case-insensitive).

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 409
                  error:
                    type: string
                    example: A filter segment with this name already exists
    get:
      summary: Get all filter segments
      x-internal: true
      tags:
      - Filter Segments
      description: "Returns the requesting user's saved filter segments grouped with the\nRentCheck default segments. The response is an object with two keys, each\nan array of segments (same shape as the create/update response):\n\n- `my_segments`: segments the user owns, sorted alphabetically ascending\n  by name.\n- `rentcheck_default_segments`: the fixed RentCheck defaults — Needs\n  Review, Almost Due, Overdue, Assigned to me, Archived — always present\n  in that order. These are not persisted: they carry stable slug ids\n  (e.g. `rc-default-needs-review`), a synthetic RentCheck `System`\n  identity for `created_by` / `updated_by` / `owned_by`, and epoch\n  timestamps. The Almost Due / Overdue date windows are relative to the\n  current day, and Assigned to me is scoped to the requesting user.\n"
      responses:
        '200':
          description: Returns the user's segments and the RentCheck default segments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 200
                  data:
                    type: object
                    required:
                    - my_segments
                    - rentcheck_default_segments
                    properties:
                      my_segments:
                        type: array
                        description: Segments owned by the user, sorted alphabetically ascending by name.
                        items:
                          $ref: '#/components/schemas/filter_segment_response_model'
                      rentcheck_default_segments:
                        type: array
                        description: The fixed RentCheck default segments, always in the order Needs Review, Almost Due, Overdue, Assigned to me, Archived.
                        items:
                          $ref: '#/components/schemas/filter_segment_response_model'
        '401':
          $ref: '#/components/responses/401'
        '404':
          description: Not Found — `user not found` (the requesting user does not exist).
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 404
                  error:
                    type: string
                    example: user not found
  /v2/filter-segments/{filterSegmentId}:
    delete:
      summary: Delete a filter segment
      x-internal: true
      tags:
      - Filter Segments
      description: 'Hard-deletes a saved filter segment. Only the segment owner can delete

        it.

        '
      parameters:
      - name: filterSegmentId
        in: path
        description: Filter segment ID (UUID)
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Successful deletion of the filter segment. Empty body.
        '400':
          description: 'Bad request — the path parameter failed validation, e.g.

            `"filterSegmentId" must be a valid GUID`.

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 400
                  error:
                    type: string
                    example: '"filterSegmentId" must be a valid GUID'
        '401':
          $ref: '#/components/responses/401'
        '403':
          description: 'Forbidden — the requesting user is not the owner of the segment.

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 403
                  error:
                    type: string
                    example: only the segment owner can delete it
        '404':
          description: Not Found — `filter segment not found (<id>)`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 404
                  error:
                    type: string
                    example: filter segment not found (3f8a2c1e-1111-2222-3333-444455556666)
    put:
      summary: Update a filter segment
      x-internal: true
      tags:
      - Filter Segments
      description: 'Updates a saved filter segment owned by the requesting user. This is a

        full replace — all fields are required. Only the segment owner can edit

        it; a segment owned by another user is reported as not found.

        '
      parameters:
      - name: filterSegmentId
        in: path
        required: true
        description: Id of the filter segment to update.
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/filter_segment_update_request_model'
      responses:
        '200':
          description: Returns the updated filter segment.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 200
                  data:
                    $ref: '#/components/schemas/filter_segment_response_model'
        '400':
          description: 'Bad request — the request body failed validation. The raw message

            identifies the invalid field, e.g. `"data.name" is required`,

            `"data.color" must be one of [grey, blue, light_blue, orange, green, red]`,

            `"data.filters" must have at least 1 key`, or — when the same value

            appears twice in a multi-value filter —

            `"data.filters.assigned_to.value[1]" contains a duplicate value`.

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 400
                  error:
                    type: string
                    example: '"data.name" is required'
        '401':
          $ref: '#/components/responses/401'
        '404':
          description: 'Not Found — `user not found` (the requesting user does not exist) or

            `filter segment not found` (no segment with this id, or the segment

            is owned by another user).

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 404
                  error:
                    type: string
                    example: filter segment not found (2f9d0f3e-8c1a-4b8b-9d2e-2b5f6a4d5e7c)
        '409':
          description: 'Conflict — another filter segment with this name already exists for

            the owner (names are unique per owner, trimmed and case-insensitive).

            Keeping the segment''s current name is not a conflict.

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 409
                  error:
                    type: string
                    example: A filter segment with this name already exists
components:
  schemas:
    filter_segment_response_model:
      type: object
      required:
      - id
      - name
      - color
      - icon
      - filters
      - created_by
      - updated_by
      - owned_by
      - created_at
      - updated_at
      description: A filter segment.
      properties:
        id:
          type: string
          description: Entity ID
          example: 00BRcZPSakXz6w7RYoE
        name:
          type: string
        color:
          type: string
          enum:
          - grey
          - blue
          - light_blue
          - orange
          - green
          - red
        icon:
          type: string
          enum:
          - paint-roller
          - traffic-cone
          - inbox
          - file-signature
          - exclamation-triangle
          - user-circle
          - archive
          - hammer
          - truck-container
          - user-helmet-safety
          - house
          - house-tree
          - house-chimney-crack
          - house-flood-water
          - snowflake
          - sun
          - umbrella-simple
          - cloud-rainbow
          - rainbow
          - dog
          - raccoon
          - city
          - roller-coaster
          - house-flag
          - tree-city
          - star-shooting
          - clock
          - repeat
          - pen
          - tag
          - shower
          - bed
          - shield-check
          - circle-check
          - circle-xmark
          - files
          description: FontAwesome icon name.
        filters:
          type: object
          description: The inspections-list filter combo. At least one filter must be provided.
          minProperties: 1
          properties:
            search:
              type: string
            archived:
              type: boolean
            has_flags:
              type: boolean
            due_date:
              type: object
              properties:
                start_date:
                  type: string
                end_date:
                  type: string
            due_date_legacy:
              type: object
              properties:
                start_date:
                  type: string
                end_date:
                  type: string
            completed_date:
              type: object
              properties:
                start_date:
                  type: string
                end_date:
                  type: string
            assigned_to:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
            team:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
                  - none_of
            inspection_template:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
                  - none_of
            inspection_status:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
                  - none_of
            rating:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
            property:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
                  - none_of
            review_step:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
            created_by:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
                  - none_of
        created_by:
          type: object
          required:
          - id
          - name
          - email
          - type
          description: Basic user identity fields.
          properties:
            id:
              type: string
              description: Entity ID
              example: 00BRcZPSakXz6w7RYoE
            name:
              type: string
              description: Name of the user
            email:
              type: string
              description: Email of the user
            type:
              type: string
              enum:
              - Renter
              - Property Manager
              - Landlord
              - System
              description: User type discriminator.
        updated_by:
          type: object
          required:
          - id
          - name
          - email
          - type
          description: Basic user identity fields.
          properties:
            id:
              type: string
              description: Entity ID
              example: 00BRcZPSakXz6w7RYoE
            name:
              type: string
              description: Name of the user
            email:
              type: string
              description: Email of the user
            type:
              type: string
              enum:
              - Renter
              - Property Manager
              - Landlord
              - System
              description: User type discriminator.
        owned_by:
          type: object
          required:
          - id
          - name
          - email
          - type
          description: Basic user identity fields.
          properties:
            id:
              type: string
              description: Entity ID
              example: 00BRcZPSakXz6w7RYoE
            name:
              type: string
              description: Name of the user
            email:
              type: string
              description: Email of the user
            type:
              type: string
              enum:
              - Renter
              - Property Manager
              - Landlord
              - System
              description: User type discriminator.
        created_at:
          type: string
          format: date-time
          description: ISO timestamp.
        updated_at:
          type: string
          format: date-time
          description: ISO timestamp.
    filter_segment_update_request_model:
      type: object
      required:
      - name
      - color
      - icon
      - filters
      description: Request body for updating a filter segment. Full replace — same shape and rules as create.
      properties:
        name:
          type: string
          description: Segment name. Must be unique per owner (trimmed, case-insensitive); keeping the segment’s current name is allowed.
        color:
          type: string
          enum:
          - grey
          - blue
          - light_blue
          - orange
          - green
          - red
        icon:
          type: string
          enum:
          - paint-roller
          - traffic-cone
          - inbox
          - file-signature
          - exclamation-triangle
          - user-circle
          - archive
          - hammer
          - truck-container
          - user-helmet-safety
          - house
          - house-tree
          - house-chimney-crack
          - house-flood-water
          - snowflake
          - sun
          - umbrella-simple
          - cloud-rainbow
          - rainbow
          - dog
          - raccoon
          - city
          - roller-coaster
          - house-flag
          - tree-city
          - star-shooting
          - clock
          - repeat
          - pen
          - tag
          - shower
          - bed
          - shield-check
          - circle-check
          - circle-xmark
          - files
          description: FontAwesome icon name from the allowlist.
          example: house
        filters:
          type: object
          description: The inspections-list filter combo. At least one filter must be provided.
          minProperties: 1
          properties:
            search:
              type: string
            archived:
              type: boolean
            has_flags:
              type: boolean
            due_date:
              type: object
              properties:
                start_date:
                  type: string
                end_date:
                  type: string
            due_date_legacy:
              type: object
              properties:
                start_date:
                  type: string
                end_date:
                  type: string
            completed_date:
              type: object
              properties:
                start_date:
                  type: string
                end_date:
                  type: string
            assigned_to:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
            team:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
                  - none_of
            inspection_template:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
                  - none_of
            inspection_status:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
                  - none_of
            rating:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
            property:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
                  - none_of
            review_step:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
            created_by:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
                  - none_of
    filter_segment_create_request_model:
      type: object
      required:
      - name
      - color
      - icon
      - filters
      description: Request body for creating a filter segment.
      properties:
        name:
          type: string
          description: Segment name. Must be unique per owner (trimmed, case-insensitive).
        color:
          type: string
          enum:
          - grey
          - blue
          - light_blue
          - orange
          - green
          - red
        icon:
          type: string
          enum:
          - paint-roller
          - traffic-cone
          - inbox
          - file-signature
          - exclamation-triangle
          - user-circle
          - archive
          - hammer
          - truck-container
          - user-helmet-safety
          - house
          - house-tree
          - house-chimney-crack
          - house-flood-water
          - snowflake
          - sun
          - umbrella-simple
          - cloud-rainbow
          - rainbow
          - dog
          - raccoon
          - city
          - roller-coaster
          - house-flag
          - tree-city
          - star-shooting
          - clock
          - repeat
          - pen
          - tag
          - shower
          - bed
          - shield-check
          - circle-check
          - circle-xmark
          - files
          description: FontAwesome icon name from the allowlist.
          example: house
        filters:
          type: object
          description: The inspections-list filter combo. At least one filter must be provided.
          minProperties: 1
          properties:
            search:
              type: string
            archived:
              type: boolean
            has_flags:
              type: boolean
            due_date:
              type: object
              properties:
                start_date:
                  type: string
                end_date:
                  type: string
            due_date_legacy:
              type: object
              properties:
                start_date:
                  type: string
                end_date:
                  type: string
            completed_date:
              type: object
              properties:
                start_date:
                  type: string
                end_date:
                  type: string
            assigned_to:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate values are rejected.
                condition:
                  type: string
                  enum:
                  - any_of
            team:
              type: object
              required:
              - value
              - condition
              properties:
                value:
                  type: array
                  items:
                    type: string
                  description: Filter values. Duplicate 

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/rentcheck/refs/heads/main/openapi/rentcheck-filter-segments-api-openapi.yml