---
title: "setPermissionStatus(_:for:expirationDate:)"
framework: webkit
role: symbol
role_heading: Instance Method
path: "webkit/wkwebextensioncontext/setpermissionstatus(_:for:expirationdate:)-5q9id"
---

# setPermissionStatus(_:for:expirationDate:)

Sets the permission status of a URL with a distant future expiration date.

## Declaration

```swift
func setPermissionStatus(_ status: WKWebExtensionContext.PermissionStatus, for url: URL, expirationDate: Date?)
```

## Parameters

- `status`: The new permission status to set for the given URL.
- `url`: The URL for which to set the status.
- `expirationDate`: The expiration date for the new permission status, or nil for distant future.

## Discussion

Discussion The URL is converted into a match pattern and will update grantedPermissionMatchPatterns and deniedPermissionMatchPatterns. Use this method for changing a single URL’s status. Passing a nil expiration date will be treated as a distant future date. Only WKWebExtensionContext.PermissionStatus.deniedExplicitly, WKWebExtensionContext.PermissionStatus.unknown, and WKWebExtensionContext.PermissionStatus.grantedExplicitly states are allowed to be set using this method.

## See Also

### Related Documentation

- [setPermissionStatus(_:for:)](webkit/wkwebextensioncontext/setpermissionstatus(_:for:)-5xahd.md)
