Skip to main content

Section-level filtering for employee-attribute topics

When a webhook endpoint subscribes to employee-attribute.* topics, deliveries are automatically restricted to events whose attributes belong to HR file sections the creating OAuth client has access to. Only events matching the client’s granted sections will be delivered. This mirrors the section-level filtering applied when polling events via GET /lucca-api/events.
See the employee-attributes guide for how to configure section access on your OAuth client.

Dependency on the linked OAuth client

A webhook endpoint is bound to the OAuth client that created it. The endpoint will be suspended or deactivated if:
  • its linked OAuth client is deleted; or
  • the client no longer has the scopes required to access any of the topics the endpoint subscribes to — that is, it has lost scope access to every subscribed topic.
If the client loses access to only some of the subscribed topics (or, for employee-attribute.* topics, to the relevant HR file section), the endpoint stays active and only the individual non-matching deliveries are skipped.

A webhook-endpoint describes the endpoint on your side that will receive events from your Lucca account.

It must handle HTTPS and support POST requests.

It should always check the signature of received events in order to increase security.

It should respond as fast as possible (less than 3s), otherwise the server may stop sending it events.

Please refer to the webhooks documentation to learn more about webhook-endpoints.

id
string
Minimum string length: 1
type
string
Allowed value: "webhook-endpoint"
url
string<uri>
name
string
Minimum string length: 1
apiVersion
string<date>
webhookUrl
string<uri>

URL of the receiving endpoint on your side. MUST use the https:// schema.

topics
string[]

See complete list of all topics in the event definition.

businessEstablishments
null | business-establishment-reference · object[]

Restrict events to those belonging to one of the given business-establishments. null should be interpreted as "all business establishments".

Minimum array length: 1
status
enum<string>
default:inactive

'active': delivery attempts will be executed. 'suspended': if too many errors are encountered on delivery. Events are kept in history. 'inactive': events are neither sent nor kept in history.

Available options:
active,
suspended,
inactive
createdAt
string<date-time-offset>

Read-only. UTC timestamp of the moment this object was created.

Example:

"2023-01-23T12:45:23.1234Z"

lastUpdatedAt
string<date-time>

Read-only. UTC timestamp of the moment this object was last updated. Set upon creation, update or deletion of the object.

Example:

"2023-01-23T12:45:23.1234Z"