*API REST › Objetos › Alquileres*

# Contrato

> Contrato de alquiler.

Un contrato de alquiler con su estado de documento (`status`) y su estado de firma (`operativeStatus`), que cambian por separado: validar un contrato no lo firma. Apunta al pedido, al contacto y al proyecto a los que pertenece. Las cláusulas legales y la instantánea fiscal del cliente no se publican. Los contratos están acotados a la suscripción que posee la clave.

Esquemas: `ContractDto`

## Atributos

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `id` | string | Identificador único del contrato. |
| `contractNumber` | string | Número del contrato, por ejemplo "C260001"; null mientras es un borrador. |
| `status` | string | Estado del documento. `draft`, `validated`, `voided` |
| `operativeStatus` | string | Estado de la firma. `pending`, `signed`, `cancelled` |
| `signed` | boolean | true si el contrato consta como firmado. Es lo que decide si el equipo puede salir. |
| `signedAt` | string<date-time> | Fecha de firma en ISO 8601 UTC; null si no está firmado. |
| `contactId` | string | Identificador del cliente; null en borradores sin cliente. |
| `orderId` | string | Pedido asociado; null si no tiene. |
| `orderNumber` | string | Número del pedido asociado; null si no tiene. |
| `projectId` | string | Proyecto asociado; null si no tiene. |
| `contractDate` | string<date-time> | Fecha del contrato en ISO 8601 UTC; null si no está definida. |
| `startDate` | string<date-time> | Inicio de la vigencia en ISO 8601 UTC; null si no aplica. |
| `endDate` | string<date-time> | Fin de la vigencia en ISO 8601 UTC; null si no aplica. |
| `grossPrice` | string | Importe total con impuestos como cadena decimal "1234.50"; null si no aplica. |
| `createdAt` | string<date-time> | Fecha de creación en ISO 8601 UTC; null si no consta. |
| `updatedAt` | string<date-time> | Fecha de la última modificación en ISO 8601 UTC; null si no está registrada. |

## Valores

| Campo | Valores |
| --- | --- |
| `status` | `draft`, `validated`, `voided` |
| `operativeStatus` | `pending`, `signed`, `cancelled` |

## Ejemplo

*Contract · Generado a partir del esquema*

```json
{
  "id": "id_8f2a1c",
  "contractNumber": "string",
  "status": "draft",
  "operativeStatus": "pending",
  "signed": true,
  "signedAt": "2026-09-01T08:00:00Z",
  "contactId": "string",
  "orderId": "string",
  "orderNumber": "string",
  "projectId": "string",
  "contractDate": "2026-09-01T08:00:00Z",
  "startDate": "2026-09-01T08:00:00Z",
  "endDate": "2026-09-01T08:00:00Z",
  "grossPrice": "1234.50",
  "createdAt": "2026-09-01T08:00:00Z",
  "updatedAt": "2026-09-01T08:00:00Z"
}
```

## Lo devuelven

- [`GET /api/v1/contracts`](https://docs.filmo.io/es/rest-api/endpoint-reference/contracts/list-contracts) — Listar contratos
- [`GET /api/v1/contracts/{contractId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/contracts/get-a-contract) — Obtener un contrato

## Lo modifican

- [`POST /api/v1/contracts/{contractId}/validate`](https://docs.filmo.io/es/rest-api/endpoint-reference/contracts/validate-a-contract) — Validar un contrato
- [`POST /api/v1/contracts/{contractId}/sign`](https://docs.filmo.io/es/rest-api/endpoint-reference/contracts/record-the-signature-of-a-contract) — Registrar la firma de un contrato
- [`POST /api/v1/contracts/{contractId}/void`](https://docs.filmo.io/es/rest-api/endpoint-reference/contracts/void-a-contract) — Anular un contrato
- [`POST /api/v1/contracts/{contractId}/cancel`](https://docs.filmo.io/es/rest-api/endpoint-reference/contracts/cancel-a-contract-operatively) — Cancelar un contrato a efectos operativos

---

URL canónica: https://docs.filmo.io/es/rest-api/objects/contract  
Última actualización: 2026-10-25