---
title: "Connect Buildium (`credentials: { clientId, clientSecret }`) or DoorLoop (`credentials: { token }`) for the organization. The key is checked with one read-only call to the system, then stored encrypted, replacing any earlier one; it is never returned. An owner's signed-in session in live mode only"
method: POST
path: "/v1/integrations/{system}/connect"
---

# Connect Buildium (\`credentials: { clientId, clientSecret }\`) or DoorLoop (\`credentials: { token }\`) for the organization. The key is checked with one read-only call to the system, then stored encrypted, replacing any earlier one; it is never returned. An owner's signed-in session in live mode only

`POST /v1/integrations/{system}/connect`

## Request

- Base URL: `https://api.evictionsapi.com`
- URL: `https://api.evictionsapi.com/v1/integrations/{system}/connect`
- Auth: HTTP bearer

## Path parameters

- `system` 'buildium' | 'doorloop', required

## Request body

- object
  - `label` string
  - `credentials` union, required
    - object
      - `clientId` string, required
      - `clientSecret` string, required
    - object
      - `token` string, required

## Response `201`

The stored connection.

- PmsConnection: The organization's stored connection to a property-management system. Its credentials are kept encrypted and never returned.
  - `system` 'buildium' | 'doorloop', required
  - `label` string, required: The name the organization gave it; the system's name by default.
  - `createdAt` string, date-time, required
  - `lastUsedAt` string, date-time, nullable, required
  - `lastError` string, nullable, required: How the last search or pull failed (`unauthorized`, `rate_limited`, `unavailable`); null when it worked.

## Other responses

- `400`: The request is invalid.
- `401`: The credential is missing or invalid.
- `403`: `forbidden`: an API key (these routes take a signed-in session only), or, to connect or disconnect, a member who is not an owner.
- `404`: Not found.
- `409`: The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use.
- `422`: `invalid_credentials`: the system refused the key; nothing is stored. `live_only`: a session in test mode.
- `429`: `rate_limited`: at most 60 connects and searches an hour per organization, counted together. `Retry-After` gives the seconds to wait.
- `502`: `pms_unavailable`: the system did not answer as expected; nothing is stored.
- `503`: `pms_busy`: the system asked us to wait; nothing is stored.

---

[API](https://skmtc.dev/evictionsapi/apis/evictions-api.md) · [All operations](https://skmtc.dev/evictionsapi/apis/evictions-api/llms.txt) · [OpenAPI document](https://skmtc.dev/evictionsapi/apis/evictions-api/revisions/28459213a1a3?raw)
