Órdenes de compra

Listar pedidos de compra

Devuelve lo que la empresa compra o subcontrata a sus proveedores, con sus importes y su estado de pago.

GET
/api/v1/purchase-orders

Ejemplos de petición

curl https://app.filmo.io/api/v1/purchase-orders \
  --header "Authorization: Bearer $FILMO_API_KEY"
{
  "data": [
    {
      "id": "purchase_order_9f3a2b",
      "poNumber": "2026-0001",
      "status": "draft",
      "type": "subrental",
      "isDraft": true,
      "poDate": "2026-09-01T08:00:00.000Z",
      "supplierId": "supplier_9f3a2b",
      "reference": "2026-0001",
      "currency": "EUR",
      "subTotal": "120.00",
      "discountTotal": "120.00",
      "taxesPrice": "120.00",
      "netPrice": "120.00",
      "grossPrice": "120.00",
      "totalPaid": "120.00",
      "orderId": "order_9f3a2b",
      "orderNumber": "2026-0001",
      "projectId": "project_9f3a2b",
      "repairTicketId": "repair_ticket_9f3a2b",
      "notes": "Example text.",
      "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

Los importes son importes de COSTE, porque el objeto es una compra. Las líneas no se publican, así que el gasto no se puede atribuir a un artículo concreto de un alquiler.

Autorizaciones

Clave de API como Bearer, con el permiso de abajo. purchase-orders: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, poNumber, poDate, status, type, grossPrice, netPrice, isDraft. 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 pedido de compra.

Opciones disponibles: draft, pending, completed, cancelled

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, pending, completed, cancelled

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

typestring

Filtra por tipo de pedido de compra.

Opciones disponibles: subrental, stock_purchase, resale_purchase, consumable_purchase, technician, transport, repair, consignment

typesstring[]

Filtra por type, 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: subrental, stock_purchase, resale_purchase, consumable_purchase, technician, transport, repair, consignment

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

supplierIdstring

Filtra por proveedor.

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

supplierIdsstring[]

Filtra por supplierId, 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

orderIdstring

Filtra por pedido de alquiler 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

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: PurchaseOrderDto

Sobre: PurchaseOrderList. 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 pedido de compra.

data.poNumberstring | null

Número del pedido de compra; null mientras es un borrador.

data.statusstring

Estado del pedido de compra.

Opciones disponibles: draft, pending, completed, cancelled

data.typestring

Tipo de pedido de compra.

Opciones disponibles: subrental, stock_purchase, resale_purchase, consumable_purchase, technician, transport, repair, consignment

data.isDraftboolean

true si el pedido de compra sigue siendo un borrador.

data.poDatestring<date-time> | null

Fecha del pedido de compra en ISO 8601 UTC; null si no se ha fijado.

data.supplierIdstring | null

Identificador del proveedor; null mientras un borrador no tiene proveedor. Resuélvelo contra /api/v1/contacts.

data.referencestring | null

Referencia de formato libre del pedido de compra; null si no tiene.

data.currencystring

Moneda del pedido de compra, como código ISO 4217.

data.subTotalstring

Subtotal antes de descuentos e impuestos, como cadena decimal "1234.50".

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

data.discountTotalstring

Total de descuentos, como cadena decimal "1234.50".

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

data.taxesPricestring

Total de impuestos, como cadena decimal "1234.50".

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

data.netPricestring

Base imponible, como cadena decimal "1234.50".

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

data.grossPricestring

Total con impuestos, como cadena decimal "1234.50".

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

data.totalPaidstring | null

Importe ya pagado, como cadena decimal "1234.50"; null si no se ha registrado ningún pago.

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

data.orderIdstring | null

Pedido de alquiler asociado; null si no tiene.

data.orderNumberstring | null

Número de ese pedido; null si no tiene.

data.projectIdstring | null

Proyecto asociado; null si no tiene.

data.repairTicketIdstring | null

Ticket de reparación que originó la compra; null si no procede de uno.

data.notesstring | null

Notas del pedido de compra; null si no tiene.

data.createdAtstring<date-time>

Fecha de creación en ISO 8601 UTC.

data.updatedAtstring<date-time>

Fecha de la última modificación en ISO 8601 UTC.

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.
402addon_requiredEl plan de la cuenta no incluye el add-on que necesita esta operación; requiredAddon lo nombra.

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