> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fidel80.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhooks

> Receive Fidel80 verification completion events in your application.

Fidel80 can send webhook notifications to an HTTP endpoint configured for your organization or workflow.

## Supported event

The currently verified webhook event is:

```text theme={null}
verification.completed
```

This event is sent when a verification completes.

## Configure a webhook

In Fidel80, open:

**Developers → Webhooks**

Create a webhook and provide:

* a descriptive webhook name,
* an HTTPS destination URL,
* the environment,
* the events to receive,
* an optional signing secret.

The currently supported event is `verification.completed`.

## Request format

Fidel80 sends an HTTP `POST` request with JSON content.

The request includes:

```http theme={null}
Content-Type: application/json
User-Agent: Fidel80-Webhook/1.0
```

If a signing secret is configured, the request also includes:

```http theme={null}
X-Fidel80-Timestamp: 1792971987
X-Fidel80-Signature: sha256=<hex-digest>
```

## Payload

A verification completion payload includes an event name, timestamp, and verification data.

The data can include:

* verification ID,
* session ID,
* verification status,
* workflow ID and name,
* applicant first and last name,
* email,
* phone,
* country,
* start and completion timestamps,
* duration.

Where available, the payload can also include document, facial similarity, and device intelligence report data.

## Example

```json theme={null}
{
  "event": "verification.completed",
  "timestamp": "2026-10-24T12:00:00Z",
  "data": {
    "verification_id": "example-id",
    "session_id": "example-session",
    "status": "completed"
  }
}
```

## Verify webhook signatures

When a signing secret is configured, Fidel80 signs the exact request body using HMAC-SHA256.

The signed message is:

```text theme={null}
{X-Fidel80-Timestamp}.{raw-request-body}
```

Use the webhook signing secret as the HMAC key.

The expected signature format is:

```text theme={null}
sha256=<hex-digest>
```

Your endpoint should:

1. Read the `X-Fidel80-Timestamp` header.
2. Read the `X-Fidel80-Signature` header.
3. Preserve the exact raw request body.
4. Build the message as `timestamp + "." + rawRequestBody`.
5. Calculate the HMAC-SHA256 digest using your webhook secret.
6. Prefix the hexadecimal digest with `sha256=`.
7. Compare the calculated signature with `X-Fidel80-Signature` using a constant-time comparison.

> [!WARNING]
>
> Do not parse and re-serialize the JSON before verifying the signature. Verify the exact body bytes received from Fidel80.

If no signing secret is configured, Fidel80 sends the webhook without the signature headers.

## Retry behavior

The initial delivery attempt is made immediately.

Fidel80 retries a delivery when it encounters:

* a connection error,
* a request timeout,
* HTTP `408`,
* HTTP `429`,
* HTTP `5xx`.

The verified retry schedule is:

| Attempt | Timing |
| - | - |
| 1 | Immediately |
| 2 | 60 seconds after the first retryable failure |
| 3 | 300 seconds after the second retryable failure |

A delivery therefore has a maximum of three attempts.

Other HTTP `4xx` responses are treated as non-retryable.

## Delivery logs

In Fidel80, open:

**Developers → Webhook logs**

The delivery log shows information including:

* event,
* destination URL,
* webhook,
* environment,
* delivery status,
* completion time,
* attempt count,
* individual delivery attempts,
* HTTP response status,
* request duration,
* delivery error where applicable.

Webhook payloads and response bodies are not displayed in the Developer Module delivery-log interface.

## Workflow-specific webhooks

A webhook can be linked to a workflow.

Fidel80 can use an explicitly selected webhook, a workflow-linked webhook, or an organization-level default webhook when determining where to send a verification completion event.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.