Diligent Webhooks API
## How to Secure Webhook DeliveriesTo ensure that webhook payloads are securely transmitted and verified. This guide explains how to configure and validatewebhook deliveries using a shared secret.### How It WorksWhen setting up a webhook, a secret is configured on both the sender (our system) and the receiver (your endpoint). Eachwebhook payload is signed using this secret, allowing the receiver to verify its authenticity.#### Step 1: Configuring Your Webhook Secret1. When creating a webhook in our system, specify a unique secret key. This secret should be a strong, randomlygenerated string.2. Store this secret securely on your server; it should never be exposed publicly.#### Step 2: Receiving Webhook PayloadsWhen your server receives a webhook event, the request will include an `X-Signature` header containing a HMAC signatureof the payload.Example header:```X-Signature: sha256=abcdef1234567890...```#### Step 3: Validating the Webhook SignatureTo verify the webhook payload:1. Retrieve the `X-Signature` value from the request headers.2. Compute the HMAC SHA-256 signature of the request payload using your webhook secret.3. Compare the computed signature with the one in the `X-Signature` header.4. If they match, the webhook is valid.#### (Python)```pythonimport hashlibimport hmacimport jsondef verify_webhook_signature(secret, payload, signature): computed_signature = hmac.new(secret.encode(), payload.encode(), hashlib.sha256).hexdigest() expected_signature = f"sha256={computed_signature}" return hmac.compare_digest(expected_signature, signature)# Example usage:secret = "your_webhook_secret"payload = json.dumps({"event": "example"})received_signature = "sha256=abcdef1234567890..."if verify_webhook_signature(secret, payload, received_signature): print("Valid webhook received!")else: print("Invalid webhook signature!")```#### (JavaScript)```javascriptconst crypto = require('crypto');function verifyWebhookSignature (secret, payload, signature) {const computedSignature = `sha256=${crypto.createHmac('sha256', secret).update(payload).digest('hex')}`;return crypto.timingSafeEqual(Buffer.from(computedSignature), Buffer.from(signature));}// Example usage:const secret = "your_webhook_secret";const payload = JSON.stringify({ event: "example" });const receivedSignature = "sha256=abcdef1234567890...";if (verifyWebhookSignature(secret, payload, receivedSignature)) {console.log("Valid webhook received!");} else {console.log("Invalid webhook signature!");}```#### Security Considerations- Always use HTTPS to prevent interception of webhook payloads.- Reject webhook requests that fail signature validation.- Rotate secrets periodically to enhance security.By following this guide, you ensure that webhook deliveries are secure and trusted.
Diligent Webhooks API is one of 6 APIs that Diligent publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
Tagged areas include Webhook. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and a getting-started guide.
This API exposes 4 operations across 3 paths. It is described by OpenAPI 3.0.1, at version 1.6.0.
Requests are made against 2 base URLs: https://api.godiligent.ai, https://api.sandbox.godiligent.ai.
Metadata
The identity and technical contract details declared by the specification.
Authentication & Security 1
Diligent Webhooks API declares
1 security scheme
for authenticating requests.
An API key is passed in the header as X-API-KEY (xApiKey).
By default, every request must be authenticated.
Paths & Operations 4
Across 3 paths, the API surfaces 4 operations — 2 GET, 2 POST. Each is listed below with its method, path, parameters, and response codes.
How to Secure Webhook Deliveries To ensure that webhook payloads are securely transmitted and verified. This guide explains how to configure and validate webhook deliveries using…
Specification
The full machine-readable OpenAPI contract behind this narrative.
Source
More from Diligent 5
Other APIs Diligent publishes across the network.
This is an independent, third-party profile of Diligent Webhooks API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.
The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.
Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.
info@apievangelist.com
·
Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and
you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.