Improved

🧾 Invoices: freshness filters + sandbox CURP fix


  • New optional updated_at_from / updated_at_to query params and a per-row updated_at timestamp on GET /invoices — filter invoices by freshness for incremental sync, same semantics as last week's GET /employments filters.
  • Fixed a sandbox CURP with an invalid state code — FEGM840408MSRRRR10 (Sonora) is now a valid sandbox identifier.

⚙️ What Changes

updated_at range filtering on GET /invoices

  • GET /invoices now accepts optional updated_at_from and updated_at_to query params (format YYYY-MM-DD, e.g. ?updated_at_from=2026-01-01&updated_at_to=2026-03-31). Both are optional and combinable (from-only, to-only, or a full range).
  • Each invoice row now carries its own updated_at (ISO-8601) reflecting the real recovery date of that record — ideal for incremental synchronization.
  • from > to returns a 400 invalid_input_data error; equal bounds are allowed.

Sandbox CURP correction

  • The sandbox identifier FEGM840408MSNRRR10 used the non-existent RENAPO state code SN. The corrected identifier FEGM840408MSRRRR10 (Sonora, SR) is now available and resolves to the same sandbox data. The previous identifier remains enabled for backwards compatibility but has been retired from the docs.

🛠️ No Action Required

The new query params and fields are additive and optional — existing integrations continue to work as before. Use the per-row updated_at and the range filters if you want to sync only invoices updated within a given window.