POST request to it whenever a relevant event fires.
To configure a webhook endpoint, contact the Lemma team with the URL you’d like to receive events at. We’ll share a signing secret for that endpoint at the same time. We’re planning to build a self-serve UI in the near future to manage endpoint URLs directly from the dashboard.
Events
permissions.updated
Fired whenever an entity’s permissions for your platform change. Use this to know when an entity connects with you and when they revoke access.
The payload contains the entity ID and the complete current set of permissions your API key holds for that entity. Each permission is an object with a resource_group, an operation, and a resource_id. The grant allows access to the whole resource group when resource_id is null. When resource_id is present, the grant is scoped to exactly that resource. It is not a delta: every event carries the full list, so you can replace any cached permissions wholesale.
An empty permissions array means access has been fully revoked.
resource_group / operation pairs below. When a permission can have a resource_id, that ID narrows the grant to a single resource in the group. For example, to only allow you to read transactions for a specific bank account. Some resource groups will never have resource_id as shown in the table below.
Verifying webhooks
Lemma signs every webhook using the Standard Webhooks specification. Each request carries three headers:webhook-id— unique message identifierwebhook-timestamp— Unix timestamp (in seconds) of when we sent itwebhook-signature— the signature over the payload
verify throws if the signature is invalid or the timestamp is outside the allowed tolerance.