---
title: "Everyone on file, with tenants and guarantors split out"
method: GET
path: "/api/v1/contacts"
tags: ["People"]
---

# Everyone on file, with tenants and guarantors split out

`GET /api/v1/contacts`

## Request

- Base URL: `http://localhost:5180`
- URL: `http://localhost:5180/api/v1/contacts`
- Auth: API key in cookie `better-auth.session_token`

One page of contacts by id, each carrying the resolved `name` a screen should print. `kind` narrows the whole collection through the index the table already carries. The two subsets a letting screen always wants next, tenants and guarantors, come back filtered from the rows of this page, so a consumer never re-implements the rule for what counts as one; wanting all of them is a `?kind=` page of its own.

## Query parameters

- `kind` 'tenant' | 'guarantor' | 'applicant' | 'guest' | 'contractor' | 'supplier' | 'owner' | 'representative' | 'other'
- `limit` integer
- `offset` integer

## Response `200`

A page of contacts, plus the tenant and guarantor subsets of it.

- object
  - `ok` unknown, required
  - `data` object, required
    - `contacts` object[], required: This page of everyone on file, whatever their kind.
      - `id` string, required: Stable record id, e.g. `lse_012`.
      - `kind` string, required
      - `firstName` string, required
      - `lastName` string, required
      - `companyName` string
      - `email` string
      - `phone` string
      - `language` string, required
      - `name` string, required: How this person reads to a person: the company name where there is one, otherwise first and last.
    - `tenants` object[], required: The rows of **this page** whose kind is `tenant`. For every tenant on file, page `?kind=tenant` instead.
      - `id` string, required: Stable record id, e.g. `lse_012`.
      - `kind` string, required
      - `firstName` string, required
      - `lastName` string, required
      - `companyName` string
      - `email` string
      - `phone` string
      - `language` string, required
      - `name` string, required: How this person reads to a person: the company name where there is one, otherwise first and last.
    - `guarantors` object[], required: The rows of **this page** whose kind is `guarantor`. For every guarantor on file, page `?kind=guarantor` instead.
      - `id` string, required: Stable record id, e.g. `lse_012`.
      - `kind` string, required
      - `firstName` string, required
      - `lastName` string, required
      - `companyName` string
      - `email` string
      - `phone` string
      - `language` string, required
      - `name` string, required: How this person reads to a person: the company name where there is one, otherwise first and last.
  - `meta` object, required
    - `requestId` string, required: Echoed in the x-request-id header. Quote it in a bug report.

## Other responses

- `400`: `limit` or `offset` is out of range.

---

[API](https://skmtc.dev/dardaris/apis/dardaris-api.md) · [All operations](https://skmtc.dev/dardaris/apis/dardaris-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dardaris/apis/dardaris-api/revisions/4aff33835c73?raw)
