Egnyte Connect Webhooks Receiver specification (1.0.0)

Download OpenAPI specification:Download

Introduction

Webhook Receiver endpoint accepts POST requests with contents of events.
Note how the POST body contains an array with possibly more than one event item.

(re)Transmission policy

If sending a webhook call fails due to network issues or Receiver responds with a status other than 200 the request will be retried with increasing delays up to an hour.
Permanent delivery failure despite multiple retries is counted. Multiple permanent delivery failures will result in the webhook being disabled. Your app can re-enable it with a request to the webhook status API when it's back up.

The policy for webhook delivery is "at least once" so if it's important for your application to get each event only once, you need to introduce deduplication based on eventId

Webhook receiver

Endpoint registered as a webhook URL in Egnyte Connect

Note how incoming body data field schemas vary depending on event type.

Your server implementation should return HTTP status code 200 if the data was received and should not be retransmitted.
Non200 status codes will schedule a retransmission and eventually cause the webhook to be disabled.

Request Body schema: application/json
Array
eventId
required
string

Event ID from Egnyte. Unique per Egnyte domain. Useful for deduplication.

domain
required
string
timestamp
required
number
required
object
actionSource
required
string

An indication of what API or client was used to perform the action

webhookId
string

id of the webhook registration. Can be used to unregister the webhook or change its state.

eventType
required
string
Enum: "fs:add_file" "fs:add_folder" "meta:add_metadata_key" "fs:copy_file" "fs:copy_folder" "link:create_download_link" "link:create_upload_link" "fs:delete_file" "fs:delete_folder" "fs:delete_from_trash" "link:delete_download_link" "meta:delete_metadata_key" "link:delete_upload_link" "fs:move_file" "fs:move_folder" "fs:lock_file" "fs:unlock_file" "fs:folder_project_activity" "fs:upload_link" "comment:remove_comment" "fs:restore_from_trash" "comment:set_comment" "workflow:created" "workflow:completed" "workflow:approvaltask_approved" "workflow:approvaltask_rejected" "group:create" "group:delete" "group:rename" "group:add_members" "group:remove_members" "group:add_owner" "group:remove_owner" "permission:permission_change"

Canonical name of the event.
If an event maps to many event types, this is the most specific one. Examples: storage:add_file and fs:add_file point to fs:add_file.
links:create_download_link can show up here when webhook requests event types of storage:*

required
for the fs:add_file event (object) or for the fs:add_folder event (object) or for the fs:upload_link event (object) or for the fs:copy_file event (object) or for the fs:move_file event (object) or for the fs:delete_file event (object) or for the fs:copy_folder event (object) or for the fs:move_folder event (object) or for the fs:delete_folder event (object) or for the fs:restore_from_trash event (object) or for the fs:delete_from_trash event (object) or for the fs_lock_file event (object) or for the fs:unlock_file event (object) or for the fs:folder_project_activity event (object) or for the permission:permission_change event (object) or for the comment:set_comment event (object) or for the comment:remove_comment event (object) or for the link:delete_upload_link event (object) or for the link:delete_download_link event (object) or for the link:create_upload_link event (object) or for the link:create_download_link event (object) or for the workflow:created event (object) or for the workflow:completed event (object) or for the workflow:approvaltask_approved event (object) or for the workflow:approvaltask_rejected event (object) or for the group:add_members event (object) or for the group:add_owner event (object) or for the group:create event (object) or for the group:delete event (object) or for the group:remove_members event (object) or for the group:remove_owner event (object) or for the group:rename event (object)

Responses

Request samples

Content type
application/json
No sample