Plantillas de contrato

Conjuntos con nombre de normas de la casa y condiciones legales, asignables a cada propiedad.

Por qué varias plantillas

Una cuenta puede gestionar alojamientos con normas distintas — un edificio de apartamentos y una casa rural no comparten las mismas condiciones. Cada plantilla se crea una vez y se asigna por id a cuantas propiedades la usen (contractTemplateId en /properties). La propiedad que no tenga ninguna asignada usa la marcada como isDefault del tenant.

El objeto plantilla

Objeto
{
  "id": "8a2e1f0c-…",
  "name": "Villas premium",
  "isDefault": true,
  "houseRules": [
    { "es": "No se permiten fiestas ni eventos.", "en": "No parties or events." }
  ],
  "legalClauses": [
    { "es": "El huésped se compromete a respetar el aforo máximo indicado.", "en": "…" }
  ],
  "createdAt": "2026-07-01T09:00:00.000Z",
  "updatedAt": "2026-07-19T10:00:00.000Z"
}

Cada cláusula es bilingüe: es es obligatorio, en opcional (el contrato generado siempre incluye ambos idiomas — si falta en, esa cláusula aparece solo en español).

Listar plantillas

GET/contract-templates
curl
curl https://api.kinapi.es/api/v1/contract-templates \
  -H "ocp-apim-subscription-key: TU_API_KEY"

Crear una plantilla

POST/contract-templates
Body
CampoTipoDescripción
namerequeridostringNombre de la plantilla.
isDefaultbooleanMarcarla como predeterminada del tenant.
houseRules[{es, en?}]Si se omite, se crea con las normas estándar de Kinapi.
legalClauses[{es, en?}]Si se omite, se crea con las cláusulas legales estándar de Kinapi.
curl
curl -X POST https://api.kinapi.es/api/v1/contract-templates \
  -H "ocp-apim-subscription-key: TU_API_KEY" \
  -H "content-type: application/json" \
  -d '{ "name": "Villas premium", "isDefault": true }'

Crear sin houseRules/legalClauses es la forma más rápida de arrancar: obtienes las cláusulas estándar de Kinapi y luego las editas con un PATCH.

Consultar una plantilla

GET/contract-templates/{id}

Actualizar una plantilla

PATCH/contract-templates/{id}

Actualización parcial: solo se cambian los campos enviados. Para editar cláusulas, envía la lista houseRules o legalClauses completa — sustituye a la anterior, no la combina cláusula a cláusula.

curl
curl -X PATCH https://api.kinapi.es/api/v1/contract-templates/8a2e1f0c-… \
  -H "ocp-apim-subscription-key: TU_API_KEY" \
  -H "content-type: application/json" \
  -d '{ "houseRules": [{ "es": "No se admiten mascotas." }] }'

Eliminar una plantilla

DELETE/contract-templates/{id}

Las propiedades que la tenían asignada pasan a usar la predeterminada del tenant (o las cláusulas estándar de Kinapi si tampoco hay predeterminada).