<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: -",
    "macOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "NetworkExtension",
  "identifier" : "/documentation/NetworkExtension/NEURLFilterManager/refreshPIRParameters()",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Network Extension"
    ],
    "preciseIdentifier" : "s:16NetworkExtension18NEURLFilterManagerC20refreshPIRParametersyyYaKF"
  },
  "title" : "refreshPIRParameters()"
}
-->

# refreshPIRParameters()

Refetches PIR parameters from the server.

```
func refreshPIRParameters() async throws
```

## Discussion

In most cases, you don’t need to perform an explicit refetch because the PIR system on the device refetches PIR parameters from the server periodically to stay up-to-date with the server side.
However, in the case of a significant server database change, PIR parameters may change.
In this case, you may want to trigger an explicit refresh to make the new set of PIR parameters effective immediately.

The following events can cause PIR parameters to change:

- Re-processing the dataset.
- Changing shard count.
- Changing encryption parameters.
- Changing per-shard cuckoo hash table size (note: per-shard entry count can change while the cuckoo hash table stays fixed size).
- Changing of cuckoo hashing parameters.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)