The PB JS SDK serializes `filter: undefined` as the literal string undefined in the URL, which PB rejects with 400 Bad Request. Switched to conditionally including filter only when non-empty.