# List properties

List the properties owned by your organization, newest first. The
response is paginated — see `next_href` / `previous_href` for walking
through pages.

Endpoint: GET /properties
Version: 1.0
Security: bearer-token

## Security:

  - `bearer-token` (unknown)
    http bearer

## Query parameters:

  - `cursor` (string)
    Opaque pagination token. Omit on the first request, then follow the
`next_href` and `previous_href` URLs in the response — those URLs already
have the correct cursor encoded. Cursors from one endpoint are not valid
on another. An invalid cursor returns 422.

  - `per_page` (integer)
    Page size. Defaults to 25; the maximum is 100. The chosen size is preserved
on `next_href` and `previous_href`, so you only need to set it on the first
request of a walk.

## Header parameters:

  - `Checkr-Tenant-Version` (string)
    CalVer-dated API version to pin behavior to (e.g. `2026-04-29`). When omitted,
the request is served by the newest supported version. Unknown values return 422.

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `object` (string)
    Always `list` for list responses.
    Enum: "list"

  - `count` (integer)
    Total number of records in the underlying collection (across all pages), not the size of `data`.

  - `next_href` (string | null)
    Absolute URL of the next page (older records), or `null` if this is the last page.

  - `previous_href` (string | null)
    Absolute URL of the previous page (newer records), or `null` if this is the first page.

  - `data` (array)
    Properties on this page, ordered newest first.

  - `data.id` (string)
    Unique identifier for the property record. Use this value in subsequent API calls; it is stable for the lifetime of the property. Test-mode IDs carry a `_test_` infix (e.g. `pr_test_K9dM2pXqR4vN8tLZbWyHJa`); live-mode IDs have no infix.
    Example: pr_K9dM2pXqR4vN8tLZbWyHJa

  - `data.name` (string | null)
    Optional human-readable label for the property (e.g. a building or unit nickname). When set, it is shown to applicants and used in email/SMS communications in addition to the property address.
    Example: Sunset Apartments

  - `data.street` (string)
    Street line of the property address (number and street name).
    Example: 1234 Market St

  - `data.unit` (string | null)
    Optional unit, suite, or apartment designator within the building.
    Example: Apt 4B

  - `data.city` (string)
    City the property is located in.
    Example: San Francisco

  - `data.state` (string)
    Two-letter USPS state or territory code (uppercase).
    Example: CA

  - `data.zipcode` (string)
    5-digit US ZIP code or ZIP+4.
    Example: 94103

  - `data.created_at` (string)
    Timestamp the property record was created.

## Response 401:

  - `401` (unknown)
    Error response

## Response 401 fields (application/json):

  - `errors` (array)
    One or more errors describing why the request failed.

  - `errors.code` (string)
    Machine-readable error type. Stable across releases; safe to branch on. Possible values:
* `authorization_error` (401)
* `forbidden` (403)
* `not_found_error` (404)
* `validation_error` (422)
* `internal_error` (500)
* `no_payment_method` (402) — no card on file for the organization. Add a card in Settings → Billing, then retry the request.
* `card_declined` (402) — the saved card was declined. Update the card on file or use a different one, then retry the request with a new `Idempotency-Key`.
* `authentication_required` (402) — the saved card requires interactive authentication and cannot be charged. Replace the saved card with one that supports off-session payments.

  - `errors.detail` (string)
    Human-readable explanation of this specific occurrence.

  - `errors.source` (object)
    Pointer to the input that caused the error. Returned for validation errors to identify the offending field; absent otherwise.

  - `errors.source.pointer` (string)
    JSON Pointer path to the offending attribute.
    Example: /email

## Response 403:

  - `403` (unknown)
    Error response

## Response 403 fields (application/json):

  - `errors` (array)
    One or more errors describing why the request failed.

  - `errors.code` (string)
    Machine-readable error type. Stable across releases; safe to branch on. Possible values:
* `authorization_error` (401)
* `forbidden` (403)
* `not_found_error` (404)
* `validation_error` (422)
* `internal_error` (500)
* `no_payment_method` (402) — no card on file for the organization. Add a card in Settings → Billing, then retry the request.
* `card_declined` (402) — the saved card was declined. Update the card on file or use a different one, then retry the request with a new `Idempotency-Key`.
* `authentication_required` (402) — the saved card requires interactive authentication and cannot be charged. Replace the saved card with one that supports off-session payments.

  - `errors.detail` (string)
    Human-readable explanation of this specific occurrence.

  - `errors.source` (object)
    Pointer to the input that caused the error. Returned for validation errors to identify the offending field; absent otherwise.

  - `errors.source.pointer` (string)
    JSON Pointer path to the offending attribute.
    Example: /email

## Response 422:

  - `422` (unknown)
    Error response

## Response 422 fields (application/json):

  - `errors` (array)
    One or more errors describing why the request failed.

  - `errors.code` (string)
    Machine-readable error type. Stable across releases; safe to branch on. Possible values:
* `authorization_error` (401)
* `forbidden` (403)
* `not_found_error` (404)
* `validation_error` (422)
* `internal_error` (500)
* `no_payment_method` (402) — no card on file for the organization. Add a card in Settings → Billing, then retry the request.
* `card_declined` (402) — the saved card was declined. Update the card on file or use a different one, then retry the request with a new `Idempotency-Key`.
* `authentication_required` (402) — the saved card requires interactive authentication and cannot be charged. Replace the saved card with one that supports off-session payments.

  - `errors.detail` (string)
    Human-readable explanation of this specific occurrence.

  - `errors.source` (object)
    Pointer to the input that caused the error. Returned for validation errors to identify the offending field; absent otherwise.

  - `errors.source.pointer` (string)
    JSON Pointer path to the offending attribute.
    Example: /email

