---
title: "List keys for a property"
method: GET
path: "/places/{place_id}/estates/{estate_id}/keys"
tags: ["Keys"]
---

# List keys for a property

`GET /places/{place_id}/estates/{estate_id}/keys`

## Request

- Base URL: `https://api.faireplace.com/api`
- URL: `https://api.faireplace.com/api/places/{place_id}/estates/{estate_id}/keys`
- Auth: HTTP bearer

Retrieves the list of all keys associated with a property with filters and pagination

## Path parameters

- `place_id` string, uuid, required
- `estate_id` string, uuid, required

## Query parameters

- `key_type` 'CLEF' | 'BADGE_MAGNETIQUE' | 'BADGE_RF' | 'BIOMETRIQUE' | 'CLEF_DUPLIQUEE' | 'TELECOMMANDE': Key or access badge type
- `status` 'ACTIVE' | 'RENDERED' | 'LOST' | 'STOLEN' | 'DAMAGED' | 'REPLACED' | 'ARCHIVED': Key status
- `security_level` 'LOW' | 'STANDARD' | 'MEDIUM' | 'HIGH' | 'CRITICAL': Key security level
- `is_rendered` boolean
- `brand` string
- `page` integer
- `limit` integer

## Response `200`

Keys list retrieved successfully

- ListEstateKeysResponse: Paginated response for key list
  - `data` EstateKey[], required: Key list
    - `id` string, uuid, required: Unique key identifier
    - `tenant_id` string, required: Tenant ID (multi-tenant isolation)
    - `estate_id` string, uuid, required: Property ID
    - `key_type` 'CLEF' | 'BADGE_MAGNETIQUE' | 'BADGE_RF' | 'BIOMETRIQUE' | 'CLEF_DUPLIQUEE' | 'TELECOMMANDE', required: Key or access badge type
    - `description` string, nullable: Key description
    - `brand` string, nullable: Key or badge brand
    - `key_number` string, nullable: Key or badge number
    - `quantity` integer, nullable: Key quantity
    - `protected_code` string, nullable: Key protection code
    - `status` 'ACTIVE' | 'RENDERED' | 'LOST' | 'STOLEN' | 'DAMAGED' | 'REPLACED' | 'ARCHIVED', required: Key status
    - `security_level` 'LOW' | 'STANDARD' | 'MEDIUM' | 'HIGH' | 'CRITICAL', required: Key security level
    - `access_restrictions` string, nullable: Access restrictions
    - `emergency_contact` string, nullable: Emergency contact
    - `is_rendered` boolean, required: Indicates whether the key has been returned
    - `notes` string, nullable: Internal notes about the key
    - `rendered_to` string, nullable: Person to whom the key was handed over
    - `rendered_by` string, nullable: Person who handed over the key
    - `rendered_at` string, date-time, nullable: Date and time when the key was handed over
    - `expected_return_date` string, date-time, nullable: Expected key return date
    - `purpose` string, nullable: Reason for handing over the key
    - `last_status_change_at` string, date-time, nullable: Date and time of the last status change
    - `last_status_change_by` string, nullable: Person who made the last status change
    - `created_at` string, date-time, required: Creation date
    - `updated_at` string, date-time, required: Last modification date
  - `total` integer, required: Total number of keys
  - `page` integer, required: Current page number
  - `limit` integer, required: Number of items per page

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `500`: Internal Server Error

---

[API](https://skmtc.dev/faireplace/apis/faireplace-property-management-api.md) · [All operations](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/revisions/69de39762919?raw)
