POST
/
lucca-api
/
webhook-endpoints
Create a webhook-endpoint
curl --request POST \
  --url https://{host}/lucca-api/webhook-endpoints \
  --header 'Api-Version: <api-version>' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "id": "456789412",
  "type": "webhook-endpoint",
  "url": "https://example.ilucca.net/lucca-api/webhook-endpoints/93847DF7FDSF6D87SF",
  "apiVersion": "2024-11-01",
  "webhookUrl": "https://i-am-aweso.me/lucca-webhooks/123",
  "topics": [
    "employee.created",
    "employee.updated",
    "employee.deleted"
  ],
  "status": "active",
  "contentType": "default",
  "createdAt": "2023-04-23T09:23:54.001Z",
  "lastUpdatedAt": "2023-04-23T09:23:54.001Z",
  "links": null
}'
{
  "id": "456789412",
  "type": "webhook-endpoint",
  "url": "https://example.ilucca.net/lucca-api/webhook-endpoints/93847DF7FDSF6D87SF",
  "apiVersion": "2024-11-01",
  "webhookUrl": "https://i-am-aweso.me/lucca-webhooks/123",
  "topics": [
    "employee.created",
    "employee.updated",
    "employee.deleted"
  ],
  "status": "active",
  "contentType": "default",
  "secret": "b3YGydKxao0CYEg4-2LM81rviT-vl2JzKyf_zlewRn0cpoHzh4mRLj5_Ty5neQta",
  "createdAt": "2023-04-23T09:23:54.001Z",
  "lastUpdatedAt": "2023-04-23T09:23:54.001Z",
  "links": {}
}
Make sure to keep the secret returned in the POST response. You will not be able to GET it later.

Authorizations

Authorization
string
header
required

The Lucca API implements the oAuth 2 protocol with the client-credentials-flow. Refer to RFC8725.

Headers

Api-Version
enum<string>
required

Set the API version.

Available options:
TitleConst
2024-11-01
Examples:

"2024-11-01"

If-None-Match
string

Only execute the request if current cached version of the resource does not match the one given here.

Examples:

"W/q5sd4w2x1c1gfdg"

If-Match
string

Only execute the request if current cached version of the resource matches the one given here. Useful to avoid concurrency conflicts.

Examples:

"W/q5sd4w2x1c1gfdg"

Accept-Encoding
string

List of compression algorithms you support.

Query Parameters

include
enum<string>[]

Include metadata:

  • embedded: the partial or complete representations of related resources (e.g. the employee the resource belongs to).
  • links: links to related resources or actions (e.g. approving a leave-request). May be null when you do not have access to the resource (or action).
  • totalCount: only applicable on collections (i.e. lists of resources), gives the total number of items across all pages.

Read more about expanding responses.

Body

application/json

Representation of a webhook-endpoint

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, otherwise, the server may stop sending it events.

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

webhookUrl
string<uri>
required

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

topics
string[]
required

See complete list of all topics in the event definition.

apiVersion
string<date>
contentType
enum<string>
default:default
Available options:
default,
cloudEvents

Response

Created

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, otherwise, the server may stop sending it events.

Please refer to the webhooks documentation to learn more about webhook-endpoints. The created webhook-endpoint resource.

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

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

topics
string[]
required

See complete list of all topics in the event definition.

status
enum<string>
default:inactive
required

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

Available options:
active,
suspended,
inactive
secret
string
required
Minimum length: 1
apiVersion
string<date>
contentType
enum<string>
default:default
Available options:
default,
cloudEvents
createdAt
string<date-time-offset>

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

Examples:

"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.

Examples:

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