Skip to main content
POST
/
api
/
sys
/
webhooks
Create WebHook
curl --request POST \
  --url https://spaces.nexudus.com/api/sys/webhooks \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "BusinessId": 123,
  "Name": "<string>",
  "Action": 123,
  "URL": "<string>"
}
'
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
A WebHook sends an HTTP POST request to a specified URL whenever a particular event occurs within a location. Webhooks let external systems react to changes in real time without polling the API. Each webhook is scoped to a single location (BusinessId) and is configured with an Action that identifies the triggering event (e.g. CoworkerCreate, BookingCreate, CoworkerInvoicePaid). Only one action can be assigned per webhook record — create separate webhook records if you need to react to multiple events. Nexudus will POST a JSON payload to the configured URL every time the selected action fires. If the endpoint returns a non-2xx response, the error is recorded in LastError and ErrorCount is incremented. A webhook is automatically disabled after repeated failures. Set Active to false to pause delivery without deleting the webhook. Use LastTrigger and LastError to monitor delivery health.

Authentication

This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header. The authenticated user must be a full unrestricted administrator or have the WebHook-Create role.

Enums

ValueName
1None
2CoworkerUpdate
3CoworkerCreate
4BlogPostCreate
5BlogPostUpdate
6BookingCreate
7BookingUpdate
8BookingDelete
9SendWelcomeEmail
10CoworkerContractActivate
11CoworkerContractCancel
12CoworkerContractRenew
13CoworkerContractUpgradeDowngrade
14CoworkerContractActivateFirst
15CoworkerInvoiceCreateFirst
16CoworkerInvoiceCreate
17CoworkerInvoiceDelete
18CoworkerInvoiceUpdate
19CoworkerInvoiceRefund
20CoworkerInvoiceCreditNote
21CoworkerInvoicePaid
22CoworkerInvoiceFailedPayment
23CoworkerInvoiceReceivedPayment
24CoworkerInvoiceAwaitingPayment
25CalendarEventCreate
26CalendarEventUpdate
27CalendarEventAttendeeDelete
28CalendarEventAttendeeCreate
29CalendarEventAttendeeUpdate
30GlobalChatMessageCreate
31NewsLetterSubscriberCreate
32NewsLetterSubscriberSubscribed
33NewsLetterSubscriberUnSubscribed
34NewsLetterSubscriberRemovedFromGroup
35CoworkerCheckout
36CoworkerCheckin
37CoworkerCheckinFailed
38VisitorNotification
39CommunityBoardNewThread
40CommunityBoardNewReply
41VisitorCheckedin
42VisitorRegistered
43BlogPostDelete
44CalendarEventDelete
45HelDeskMessageCreated
46HelpDeskCommentCreated
47CheckinCreated
48CheckinUpdated
49CheckinDeleted
50CoworkerDelete
51CoworkerMessageCreate
52DeliveryCreated
53DeliveryAssigned
54ProposalCreated
55ProposalUpdated
56ProposalDeleted
57TeamCreated
58TeamUpdated
59TeamDeleted
60CoworkerContractUpdate
61AccessControlUpdate
62CoworkerContractCreate
63FailedCheckin
64VisitorDeleted
65CoworkerInvoiceLedgerEntryCreate
66CoworkerInvoiceLedgerEntryDelete
67CoworkerInvoiceLedgerEntryUpdate
68CoworkerProductCreate
69CoworkerProductUpdate
70CoworkerProductDelete
71FloorPlanDeskCreate
72FloorPlanDeskDelete
73FloorPlanDeskUpdate
74TariffCreate
75TariffDelete
76TariffUpdate
77CoworkerContractDelete
78FloorPlanCreate
79FloorPlanDelete
80FloorPlanUpdate
81ProductCreate
82ProductDelete
83ProductUpdate
84BusinessUpdate
85CommunityGroupCreate
86CommunityGroupDelete
87CommunityGroupUpdate
88CoworkerPaymentMethodCreate
89CoworkerPaymentMethodDelete
90CoworkerPaymentMethodUpdate

Request Body

Required Fields

BusinessId
integer
required
ID of the location this webhook belongs to.
Name
string
required
Display name for the webhook.
Action
integer
required
The event that triggers this webhook (e.g. CoworkerCreate, BookingCreate, CoworkerInvoicePaid).
URL
string
required
The endpoint URL that receives the HTTP POST payload when the webhook fires.

Optional Fields

Description
string
Optional description of the webhook’s purpose.
Active
boolean
Whether the webhook is enabled and will fire when the configured action occurs.

Code Examples

curl -X POST \
  "https://spaces.nexudus.com/api/sys/webhooks" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "BusinessId": 0,
    "Name": "",
    "Action": 0,
    "URL": ""
}'

Response

200

Status
integer
HTTP status code. 200 on success.
Message
string
A human-readable message confirming the creation.
Value
object
Contains the Id of the newly created record.
WasSuccessful
boolean
true if the webhook was created successfully.
Errors
array
null on success.
Example Response
{
  "Status": 200,
  "Message": "WebHook was successfully created.",
  "Value": {
    "Id": 87654321
  },
  "OpenInDialog": false,
  "OpenInWindow": false,
  "RedirectURL": null,
  "JavaScript": null,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "UpdatedBy": "admin@example.com",
  "Errors": null,
  "WasSuccessful": true
}

400

Message
string
A summary of the validation error(s), in the format PropertyName: error message.
Value
any
null on validation failure.
Errors
object[]
Array of validation errors.
WasSuccessful
boolean
false when the request fails validation.
Example Response
{
  "Message": "Name: is a required field",
  "Value": null,
  "Errors": [
    {
      "AttemptedValue": null,
      "Message": "is a required field",
      "PropertyName": "Name"
    }
  ],
  "WasSuccessful": false
}