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:
Event Description
api.created Triggered when a user creates a new API
api.deleted Triggered when a user deletes an API
release.released Triggered when a user releases a new API version
release.deprecated Triggered when a user marks a release as "deprecated"
release.endOfLife Triggered when a user marks a release as "end-of-life"
release.deleted Triggered 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"
	}
}


Free Trial Period

Get our Private plan 14 days for free

Sign up for FREE
No payment details are needed. At the end of the trial period you can decide to continue with a paid plan or use our free plan.