Saltar al contenido principal

Contratos

Listar contratos

GET /api/v1/crm/contracts

Parámetros:

NombreTipoDescripción
cursorstringCursor de paginación
limitintItems por página (default 25, máx 100)
filter[status]stringdraft, pending, active, expiring, expired, renewed, cancelled
filter[owner_id]stringUUID del propietario
filter[contact_id]stringUUID del contacto
filter[renewal_type]stringnone, manual, auto
filter[billing_frequency]stringone_time, monthly, quarterly, annually
sortstring-created_at, end_date, amount

Respuesta 200:

{
"data": [
{
"id": "uuid",
"number": "CT-2026-001",
"contact_id": "uuid",
"account_id": "uuid",
"owner_id": "uuid",
"deal_id": "uuid",
"title": "Contrato anual — Acme Corp",
"description": "Servicio de mantenimiento por 12 meses",
"status": "active",
"start_date": "2026-01-01T00:00:00Z",
"end_date": "2026-12-31T00:00:00Z",
"renewal_type": "manual",
"auto_renew_notice_days": 30,
"amount": 4800000,
"currency": "PEN",
"billing_frequency": "monthly",
"pdf_url": "https://...",
"signed_pdf_url": "https://...",
"signed_at": "2026-01-01T10:00:00Z",
"tags": ["enterprise"],
"metadata": {},
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-01-01T10:00:00Z",
"cancelled_at": null,
"cancelled_reason": ""
}
],
"meta": { "pagination": { "cursor": "eyJ...", "has_next": true, "limit": 25 } }
}

Crear contrato

POST /api/v1/crm/contracts

{
"contact_id": "uuid",
"account_id": "uuid",
"deal_id": "uuid",
"title": "Contrato anual — Acme Corp",
"description": "Servicio de mantenimiento por 12 meses",
"start_date": "2026-01-01T00:00:00Z",
"end_date": "2026-12-31T00:00:00Z",
"renewal_type": "manual",
"auto_renew_notice_days": 30,
"amount": 4800000,
"currency": "PEN",
"billing_frequency": "monthly",
"tags": ["enterprise"]
}

Respuesta 201: objeto Contract completo.


Obtener contrato

GET /api/v1/crm/contracts/:id


Actualizar contrato

PATCH /api/v1/crm/contracts/:id

Mismos campos que crear. Omite los campos que no quieras cambiar.


Eliminar contrato

DELETE /api/v1/crm/contracts/:id

Respuesta 204 No Content


Enviar para firma

POST /api/v1/crm/contracts/:id/send-for-signature

Envía el contrato al proveedor de firma electrónica configurado.


Cancelar contrato

POST /api/v1/crm/contracts/:id/cancel

{ "reason": "Acuerdo mutuo de terminación" }

Renovar contrato

POST /api/v1/crm/contracts/:id/renew

{
"new_end_date": "2027-12-31T00:00:00Z",
"new_amount": 5200000,
"notes": "Incremento 8% por inflación"
}

Crea un nuevo contrato sucesor vinculado al anterior.


Adjuntos del contrato

Listar adjuntos

GET /api/v1/crm/contracts/:id/attachments

Agregar adjunto

POST /api/v1/crm/contracts/:id/attachments

Eliminar adjunto

DELETE /api/v1/crm/contracts/:id/attachments/:attachment_id