Formality · AsyncAPI Specification

Formality Webhooks

Version

View Spec View on GitHub CompanyAi MlLegalContract ManagementDocument-ManagementAsset IntelligenceComplianceSoftware-as-a-ServiceAsyncAPIEvents

AsyncAPI Specification

formality-webhooks.yml Raw ↑
generated: '2026-08-17'
method: searched
source: https://help.formality.com/setup-permissions/user-management
docs: https://help.formality.com/setup-permissions/user-management
spec_type: none
asyncapi_published: false
note: >-
  Formality documents a real, signed webhook surface but publishes NO AsyncAPI
  document, so this file carries the webhook catalogue and apis.yml gets a Webhooks
  pointer only — no AsyncAPI pointer. The webhook is documented in the "Webhook de
  téléchargement de documents" section of the French user-management help page; there
  is no dedicated webhook reference page and no English version was found. Formality
  also advertises webhooks on its marketing FAQ: "An API and webhooks are also
  available for your in-house tools."
delivery:
  style: http-post-callback
  subscriber_configured: true
  configured_in: Workspace Settings > Security (admin only)
  endpoint_owner: customer
  test_tooling:
    available: true
    control: '"Tester le webhook" button'
    note: Validates that the configured endpoint is reachable.
security:
  signing: HMAC-SHA256
  signature_header: undocumented
  secret_distribution: undocumented
  replay_protection: undocumented
  note: >-
    Payloads are stated to be signed with HMAC-SHA256, which is the single strongest
    piece of event-surface engineering Formality publishes. The header carrying the
    signature, the shared-secret provisioning mechanism and any timestamp/nonce
    replay window are all undocumented, so a consumer cannot actually implement
    verification from the published docs alone.
scope:
  domain: document access + signature audit events
  purpose: security / audit trail
  note: >-
    This is an AUDIT webhook, not a contract-lifecycle webhook. It reports who
    touched a document, not that an agreement changed state. There is no documented
    event for agreement created/updated, deadline reached, obligation triggered,
    extraction completed or workflow approved — which is the event set an
    integrator would most expect from a CLM platform.
events:
- event: document_viewed
  documented_as: consultation de document
  trigger: A user views a document.
- event: document_downloaded
  documented_as: téléchargement de document
  trigger: A user downloads a document.
- event: document_bulk_downloaded
  documented_as: téléchargement groupé
  trigger: A user performs a bulk download.
- event: document_signed
  documented_as: signature de document
  trigger: A document is signed.
payload:
  documented_fields:
  - name: timestamp
    documented_as: horodatage
  - name: user
    documented_as: utilisateur
  - name: ip_address
    documented_as: adresse IP
  - name: event_type
    documented_as: type d'événement
  - name: file
    documented_as: informations du fichier
  schema_published: false
  example_published: false
  field_types_published: false
  note: >-
    Field NAMES above are our English renderings of the French prose list; the
    literal JSON keys, their types and an example payload are not published. No
    schema was fabricated for this reason.
retries:
  documented: false
delivery_guarantees:
  documented: false
event_count: 4
gaps_worth_raising_with_provider:
- Publish the JSON payload schema and an example event.
- Name the HMAC signature header and document the replay window.
- Document retry/backoff and delivery guarantees.
- Consider contract-lifecycle events (agreement state change, deadline, extraction complete).
- Publish an AsyncAPI document for the event surface.
- Provide an English version of the webhook documentation.

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/formality-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.