#### [Abblix\.SecurityEvents](https://www.abblix.com/en/docs/api/abblix-securityevents 'index')
### [Abblix\.SecurityEvents\.Events](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Events 'Abblix\.SecurityEvents\.Events')

## IEventPayloadPolicy Interface

What a deployment refuses to emit\. An event vocabulary's base specification says what a payload MAY
carry; a profile a deployment claims can demand more of the same payload, and this is where that extra
demand is stated\.

```csharp
public interface IEventPayloadPolicy
```

### Remarks
It lives here, in the assembly every event vocabulary and every transmitter references, because the two
sides of the question are in packages that do not reference each other: the rule belongs to the
vocabulary that defines the payload, and the moment it must be asked belongs to the transmitter\.

A policy speaks about the payload alone, so it is consulted ONCE per event rather than once per stream:
the payload is the same for every receiver, and a per-stream answer would emit to some and withhold
from others by iteration order.

Registering one is how a deployment CLAIMS a profile. Nothing is registered by default, so a
transmitter that claims nothing keeps emitting whatever its host builds.
### Methods

## IEventPayloadPolicy\.RefusalOf\(string, IEventPayload\) Method {#Abblix.SecurityEvents.Events.IEventPayloadPolicy.RefusalOf(string,Abblix.SecurityEvents.Events.IEventPayload)}

Why this deployment will not emit the event, or null when it will\.

```csharp
string? RefusalOf(string eventType, Abblix.SecurityEvents.Events.IEventPayload? payload);
```
#### Parameters

###### `eventType` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.SecurityEvents.Events.IEventPayloadPolicy.RefusalOf(string,Abblix.SecurityEvents.Events.IEventPayload).eventType}

The event type URI the payload is carried under\.

###### `payload` [IEventPayload](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Events.IEventPayload 'Abblix\.SecurityEvents\.Events\.IEventPayload') {#Abblix.SecurityEvents.Events.IEventPayloadPolicy.RefusalOf(string,Abblix.SecurityEvents.Events.IEventPayload).payload}

The payload the application built; null for an event that carries none\.

#### Returns
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')  
An operator\-facing sentence naming what is missing, or null to let the event go\.
