# Receive a webhook event

Source: https://ethicsportal.eu/developers/api/webhooks/receivereportevent/

POST

EthicsPortal sends a signed POST request to your HTTPS endpoint when a report is created or changes, or when a deadline is close or has passed. The destination must be public. Verify HMAC-SHA256(timestamp + “.” + raw request body), timestamp freshness and event ID. At-least-once delivery; no ordering guarantee.

## Parameters

### Header Parameters

**X-EthicsPortal-Event-Id**

required

string

**X-EthicsPortal-Signature**

required

string

`t=<Unix seconds>,v1=<hex HMAC-SHA256>`

## Request Bodyrequired

application/json

One of:

* [Report lifecycle event](https://ethicsportal.eu/developers/api/webhooks/receivereportevent/#tab-panel-0-0)
* [Deadline event](https://ethicsportal.eu/developers/api/webhooks/receivereportevent/#tab-panel-0-1)
* [Test event](https://ethicsportal.eu/developers/api/webhooks/receivereportevent/#tab-panel-0-2)

_Report lifecycle event_object

**id**

required

string

**type**

required

string

Allowed values: report.created report.acknowledged report.feedback\_given report.closed report.reopened report.assignment\_changed

**created\_at**

required

string format: date-time

**data**

required

object

**id**

required

string

**organization\_id**

required

string

**status**

required

string

Allowed values: received acknowledged feedback\_given closed

**assigned**

required

boolean

**created\_at**

required

string format: date-time

**acknowledged\_at**

required

string | null format: date-time

**feedback\_given\_at**

required

string | null format: date-time

**closed\_at**

required

string | null format: date-time

**acknowledgment\_due\_at**

required

string format: date-time

**feedback\_due\_at**

required

string format: date-time

**acknowledgment\_overdue**

required

boolean

**feedback\_overdue**

required

boolean

_Deadline event_object

**id**

required

string

**type**

required

string

Allowed values: report.due\_soon report.overdue

**created\_at**

required

string format: date-time

**data**

required

object

**report\_id**

required

string

**organization\_id**

required

string

**deadline\_type**

required

string

Allowed values: acknowledgment feedback

**deadline\_at**

required

string format: date-time

_Test event_object

**id**

required

string

**type**

required

string

Allowed values: webhook.test

**created\_at**

required

string format: date-time

**data**

required

object

**organization\_id**

required

string

## Responses

### 2XX

Receipt accepted. Process asynchronously and deduplicate by event ID.

### default

Non-2xx responses are retried; redirects are never followed.
