Free Trial Period: Sign up and get our Private plan three months for free. No payment details are needed.
Sign up for FREE

Webhooks

Webhooks let you subscribe to certain events so that you get informed about changes in APITree. Rather than requiring you to pull information via our REST API, webhooks push notifications to your destination when important events occur. They can be used to integrate APITree into systems like Slack.

Events

For every webhook you have to choose which events you would like to receive notifications (payloads) for. It is recommended that you only subscribe to the events which are useful for your case, to limit the number of HTTP requests to your server. You can change your subscriptions anytime. The following events are available:
EventDescription
api.createdTriggered when a user creates a new API
api.deletedTriggered when a user deletes an API
release.releasedTriggered when a user releases a new API version
release.deprecatedTriggered when a user marks a release as "deprecated"
release.endOfLifeTriggered when a user marks a release as "end-of-life"
release.deletedTriggered when a user deletes a release

Creating a Webhook

Login to your account. Make sure your email address is verified. In the left sidebar click Webhooks. Click Create Webhook. Enter the target URL, select the events, and activate the webhook:
Create Webhook
For easier debugging the HTTP response of the last delivery is shown for each webhook:
Last Delivery

Validating notifications

Each notification contains a X-ApiTree-Signature header containing a signature. The signature is to ensure that the message originated from APITree and was not modified in transit. APITree uses an HMAC hexdigest to compute a hash used as the signature. The hash is computed from the secret token of the webhook, the target URL, and the payload. A webhook from APITree looks like this:
POST https://www.apitree.com/testApp HTTP/1.1
Host: event-api.apitree.com
Content-Length: 290
Content-Type: application/json
X-ApiTree-Signature: dlKtqg0PqTfBZrCLQjepMVrt/Gk=

{
	"name": "api.created",
	"timestamp": "2019-11-12T14:53:47+00:00",
	"user": {
		"id": 1,
		"nickname": "nils"
	},
	"resourceType": "Api",
	"resource": {
		"id": "ee64ecf4-f4df-4b6c-8297-90367ce0d7f4",
		"revision": 1,
		"user": {
			"id": 1
		},
		"nickname": "test-api",
		"name": "Test API",
		"type": "private",
		...
		"creationDate": "2019-11-12T14:53:47+00:00"
	}
}


Be instantly informed about API changes using webhooks