- URL:
- https://<root>/notebooks/webhookReceivers/create
- Methods:
POST- Version Introduced:
- 11.4
Access requirements
Required privileges
The Enterprise Administrator API requires privilege-based access. An administrator must be assigned a specific user privilege, or role, to access any given endpoint. Listed below are the user privileges or roles an administrator can be assigned that provides access to this endpoint. If multiple privileges are listed, only one needs to be assigned to gain access.
To access notebook-related endpoints, administrators must be assigned a custom role that includes any of the privileges listed above as well as the Create and edit notebooks privilege.
Tokens
This API requires token-based authentication. A token is automatically generated for administrators who sign in to the Enterprise Administrator API directory's HTML interface. Tokens generated in this way are stored for the entirety of the session.
Those accessing the API directory outside of the HTML interface will need to acquire a session token from the generate operation in the Enterprise Directory API. For security reasons, all POST requests made to the Enterprise Administrator API must include a token in the request body.
Description
The create operation enables administrators to create a service webhook receiver within ArcGIS Notebook services. Webhooks, including those for asynchronous geoprocessing services, feature services, or any webhook created outside of ArcGIS Enterprise, can initiate a notebook run in response to specific events. This is accomplished by sending a request to the webhook receiver URL:
https://organization.domain.com/context/admin/notebooks/webhookReceivers/<webhook_receiver_id>To ensure security, the webhook event request must include a signature header that was predefined for the webhook receiver. Additionally, it should contain a secret value represented as a Hash Message Authentication Code (HMAC), generated using the SHA-256 hashing function and encoded in Base64 format.
Request parameters
| Parameter | Details |
|---|---|
(Required) | The name of the webhook receiver (string). |
(Required) | The portal item ID of the notebook you want to execute using webhook receiver. |
(Required) | A secret key used to encrypt webhook payload. It has to be 32 characters long. |
(Required) | A comma separated list of headers which will be checked for encrypted payload. Example |
(Required) | The app token with privileges to access the notebook item, the |
| Parameter json to be injected directly into the notebook as input parameters. |
| The response format. The default is Values: |
Example usage
The following is a sample POST request for the create operation:
POST /<context>/admin/notebooks/webhookReceivers/create
Host: organization.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: [ ]
name=demo&itemId=923dc118f035463f84d90660909cef50&secret=demodemodemodemodemodemodemodemo&signatureHeaders=x-esrihook-signature,x-hub-signature-256&apiToken=¶meters={"num":1,"name":"esri","loop":false}&f=pjsonJSON Response syntax
{
"webhookReceivers": {
"itemId": <item_id>,
"signatureHeaders": <comma separated list of headers>,
"apiToken": "",
"name": <webhook receiver name>,
"disabled": true|false,
"id": <webhook_receiver_id>,
"secret": <secret_key>,
"username": <user_name>,
"url": "<URL for sending request to the webhook receiver>"
},
"status": "success"
}JSON Response example
{
"webhookReceivers": {
"itemId": "e045a267621441f5a27ddd36e94890aa",
"signatureHeaders": "x-esrihook-signature,x-hub-signature-256,
"apiToken": "",
"name": "test",
"disabled": false,
"id": "b50dec7a-e271-4235-8a04-7785c91eaa6d",
"secret": "9f8b47c2e4a748d3b58e2a17ad8f2e4b",
"username": "portaladmin",
"url": "https://mymachine.esri.com/notebooks/rest/events/webhooks/b50dec7a-e271-4235-8a04-7785c91eaa6d"
},
"status": "success"
}