---
title: reportFormat
framework: networkextension
role: symbol
role_heading: Instance Property
path: networkextension/neurlfiltermanager/reportformat-swift.property
---

# reportFormat

The format the manager uses to send blocked URL reports.

## Declaration

```swift
var reportFormat: NEURLFilterManager.ReportFormat { get set }
```

## Discussion

Discussion Use the values in the NEURLFilterManager.ReportFormat enumeration to specify the format to use. By default, the manager uses the NEURLFilterManager.ReportFormat.json format. Handling JSON results When you specify the NEURLFilterManager.ReportFormat.json format, your endpoint receives data in JSON as a simple array of strings. The structure of this data is like the following: [ 	"example.com", 	"example2.com", 	"example3.com" ] Handling Protobuf results When you specify the NEURLFilterManager.ReportFormat.protobuf format, your endpoint receives the Protocol Buffers wire format with manual encoding for a repeated string field. Each URL entry follows this binary structure: For strings under 128 bytes, the length is a single byte. For longer strings, the protocol uses varint encoding, where each byte has the MSB set (0x80) except the final byte. The following example shows the encoding of the URL https://example.com: Example encoding for URL "https://example.com": [0x0A]    [0x13]    [h][t][t][p][s][:][/][/][e][x][a][m][p][l][e][.][c][o][m] ^tag      ^len=19   ^------------ 19 bytes of UTF-8 string data ------------^

## See Also

### Producing filtering reports

- [reportEndpoint](networkextension/neurlfiltermanager/reportendpoint.md)
- [NEURLFilterManager.ReportFormat](networkextension/neurlfiltermanager/reportformat-swift.enum.md)
- [reportInterval](networkextension/neurlfiltermanager/reportinterval.md)
