Contratos

Listar contratos

Devuelve los contratos de alquiler con su doble estado: status es el estado del documento (draft, issued, voided) y operativeStatus el estado de la firma.

GET
/api/v1/contracts

Ejemplos de petición

curl https://app.filmo.io/api/v1/contracts \
  --header "Authorization: Bearer $FILMO_API_KEY"
{
  "data": [
    {
      "id": "contract_9f3a2b",
      "contractNumber": "2026-0001",
      "status": "draft",
      "operativeStatus": "pending",
      "signed": true,
      "signedAt": "2026-09-01T08:00:00.000Z",
      "contactId": "contact_9f3a2b",
      "orderId": "order_9f3a2b",
      "orderNumber": "2026-0001",
      "projectId": "project_9f3a2b",
      "contractDate": "2026-09-01T08:00:00.000Z",
      "startDate": "2026-09-01T08:00:00.000Z",
      "endDate": "2026-09-01T08:00:00.000Z",
      "grossPrice": "120.00",
      "createdAt": "2026-09-01T08:00:00.000Z",
      "updatedAt": "2026-09-01T08:00:00.000Z"
    }
  ],
  "pagination": {
    "nextCursor": "eyJvIjoyMH0",
    "hasMore": true,
    "total": 1
  }
}

Generado a partir del esquema

signed es lo que decide si el material puede salir. No incluye las cláusulas legales.

Autorizaciones

Clave de API como Bearer, con el permiso de abajo. contracts:read

Parámetros de consulta

limitintegerpredeterminado:50

Tamaño de página (1-500). Por defecto es 50.

Límites: mín. 1, máx. 500

cursorstring

Cursor opaco de la página que se devuelve. Pasa el valor de pagination.nextCursor de la respuesta anterior; trátalo como opaco.

Límites: longitud máx. 200

createdOnstring

La fecha de creación del recurso cae en esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

createdAfterstring

La fecha de creación del recurso es posterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

createdBeforestring

La fecha de creación del recurso es anterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

createdFromstring

La fecha de creación del recurso es igual o posterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

createdTostring

La fecha de creación del recurso es igual o anterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

updatedOnstring

La fecha de última actualización del recurso cae en esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

updatedAfterstring

La fecha de última actualización del recurso es posterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

updatedBeforestring

La fecha de última actualización del recurso es anterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

updatedFromstring

La fecha de última actualización del recurso es igual o posterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

updatedTostring

La fecha de última actualización del recurso es igual o anterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

sortstring

Orden: hasta 3 campos separados por comas, cada uno con un "-" inicial para descendente (p. ej. "-updatedAt,name"). Campos ordenables: createdAt, updatedAt, contractNumber, contractDate, startDate, endDate, status, signedAt, grossPrice. Por defecto, "-createdAt". Los empates se resuelven por id, así que el orden es estable entre páginas, y un cursor queda ligado al orden con el que se emitió.

Límites: longitud máx. 200

statusstring

Filtra por estado del documento: draft, validated (emitido) o voided.

Opciones disponibles: draft, validated, voided

statusesstring[]

Filtra por status, como lista: repite el parámetro o separa los valores con comas. Acepta hasta 50 valores y devuelve lo que coincida con cualquiera de ellos.

Opciones disponibles: draft, validated, voided

Límites: mín. 1 elementos, máx. 50 elementos

operativeStatusstring

Filtra por estado de firma: pending, signed o cancelled.

Opciones disponibles: pending, signed, cancelled

operativeStatusesstring[]

Filtra por operativeStatus, como lista: repite el parámetro o separa los valores con comas. Acepta hasta 50 valores y devuelve lo que coincida con cualquiera de ellos.

Opciones disponibles: pending, signed, cancelled

Límites: mín. 1 elementos, máx. 50 elementos

orderIdstring

Filtra por pedido asociado.

Límites: longitud mín. 1, longitud máx. 100

orderIdsstring[]

Filtra por orderId, como lista: repite el parámetro o separa los valores con comas. Acepta hasta 50 valores y devuelve lo que coincida con cualquiera de ellos.

Límites: mín. 1 elementos, máx. 50 elementos, cada uno: longitud mín. 1, cada uno: longitud máx. 100

projectIdstring

Filtra por proyecto asociado.

Límites: longitud mín. 1, longitud máx. 100

projectIdsstring[]

Filtra por projectId, como lista: repite el parámetro o separa los valores con comas. Acepta hasta 50 valores y devuelve lo que coincida con cualquiera de ellos.

Límites: mín. 1 elementos, máx. 50 elementos, cada uno: longitud mín. 1, cada uno: longitud máx. 100

contactIdstring

Filtra por cliente.

Límites: longitud mín. 1, longitud máx. 100

contactIdsstring[]

Filtra por contactId, como lista: repite el parámetro o separa los valores con comas. Acepta hasta 50 valores y devuelve lo que coincida con cualquiera de ellos.

Límites: mín. 1 elementos, máx. 50 elementos, cada uno: longitud mín. 1, cada uno: longitud máx. 100

includeTotalbooleanpredeterminado:false

Ponlo en true para incluir pagination.total, el número de resultados que coinciden con los filtros en todas las páginas. Desactivado por defecto.

Respuesta

application/json

Respuesta correcta.

Esquema de la respuesta: ContractDto

Sobre: ContractList. meta.warnings solo aparece cuando la operación está obsoleta.

Cabeceras: X-Request-Id · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset

dataobject[]

Mostrar atributos hijos
data.idstring

Identificador único del contrato.

data.contractNumberstring | null

Número del contrato, por ejemplo "C260001"; null mientras es un borrador.

data.statusstring

Estado del documento.

Opciones disponibles: draft, validated, voided

data.operativeStatusstring

Estado de la firma.

Opciones disponibles: pending, signed, cancelled

data.signedboolean

true si el contrato consta como firmado. Es lo que decide si el equipo puede salir.

data.signedAtstring<date-time> | null

Fecha de firma en ISO 8601 UTC; null si no está firmado.

data.contactIdstring | null

Identificador del cliente; null en borradores sin cliente.

data.orderIdstring | null

Pedido asociado; null si no tiene.

data.orderNumberstring | null

Número del pedido asociado; null si no tiene.

data.projectIdstring | null

Proyecto asociado; null si no tiene.

data.contractDatestring<date-time> | null

Fecha del contrato en ISO 8601 UTC; null si no está definida.

data.startDatestring<date-time> | null

Inicio de la vigencia en ISO 8601 UTC; null si no aplica.

data.endDatestring<date-time> | null

Fin de la vigencia en ISO 8601 UTC; null si no aplica.

data.grossPricestring | null

Importe total con impuestos como cadena decimal "1234.50"; null si no aplica.

Límites: patrón ^-?\d+\.\d{2}$

data.createdAtstring<date-time> | null

Fecha de creación en ISO 8601 UTC; null si no consta.

data.updatedAtstring<date-time> | null

Fecha de la última modificación en ISO 8601 UTC; null si no está registrada.

paginationobject

Metadatos de paginación por cursor opaco.

Mostrar atributos hijos
pagination.nextCursorstring | null

Cursor opaco de la página siguiente; null cuando no hay más resultados. Pásalo como cursor en la siguiente petición.

pagination.hasMoreboolean

Si existen más resultados después de esta página.

pagination.totalinteger

Número de resultados que coinciden con los filtros en todas las páginas. Solo aparece cuando la petición establece includeTotal=true.

Límites: mín. 0

metaobject

Información adicional sobre la respuesta.

Mostrar atributos hijos
meta.warningsobject[]

Avisos del ciclo de vida; solo aparecen cuando la operación está obsoleta.

Mostrar atributos hijos
meta.warnings.codestring

Código de aviso estable.

Opciones disponibles: deprecated

meta.warnings.messagestring

Para personas: qué está obsoleto, hasta cuándo y qué usar.

meta.warnings.sunsetstring

Día (YYYY-MM-DD) en que la operación deja de estar disponible.

meta.warnings.replacementstring | null

operationId de la operación que hay que usar en su lugar, o null si no hay ninguna.

Errores

EstadoCódigosSignificado
400validation_errorConsulta o cuerpo mal formados. errors[] enumera cada campo erróneo con su código estable.

401, 403, 429, 500 los puede devolver cualquier operación. Errores

Obsolescencia

Esta operación no está obsoleta. Las obsolescencias se anuncian con la cabecera Deprecation y una fecha de retirada. Política de versiones