API Reference
Hookbase provides a RESTful API for managing all aspects of your webhook infrastructure.
Base URL
https://api.hookbase.appPostman Collection
Download our Postman collection to quickly get started with the API:
Download Postman CollectionImport the collection into Postman, then:
- Run the Login request to authenticate
- Your access token and organization IDs will be automatically saved
- Start making API calls!
Authentication
All API requests require authentication. See Authentication for details.
Request Format
- All requests should use
Content-Type: application/json - Request bodies should be JSON-encoded
- URL parameters should be URL-encoded
Response Format
All responses are JSON-encoded with the following structure:
Success Response
json
{
"id": "src_abc123",
"name": "My Source",
"createdAt": "2024-01-15T10:30:00Z"
}Or for lists:
json
{
"data": [...],
"pagination": {
"total": 100,
"page": 1,
"pageSize": 20
}
}Error Response
json
{
"error": "Not found",
"message": "Source with ID src_xyz not found",
"code": "RESOURCE_NOT_FOUND"
}HTTP Status Codes
| Code | Description |
|---|---|
| 200 | Success |
| 201 | Created |
| 204 | No Content (successful deletion) |
| 400 | Bad Request (invalid input) |
| 401 | Unauthorized (missing or invalid auth) |
| 403 | Forbidden (insufficient permissions) |
| 404 | Not Found |
| 409 | Conflict (duplicate resource) |
| 422 | Unprocessable Entity (validation error) |
| 429 | Too Many Requests (rate limited) |
| 500 | Internal Server Error |
Rate Limits
Rate limits vary by plan:
| Plan | Requests/minute |
|---|---|
| Free | 60 |
| Starter | 300 |
| Pro | 1000 |
| Business | 3000 |
| Enterprise | Custom |
Rate limit headers are included in every response:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1705312800Pagination
List endpoints support pagination:
bash
GET /api/organizations/{orgId}/sources?page=1&pageSize=20| Parameter | Default | Max |
|---|---|---|
| page | 1 | - |
| pageSize | 20 | 100 |
Filtering
Many list endpoints support filtering:
bash
GET /api/organizations/{orgId}/events?status=delivered&sourceId=src_abcSorting
Sort results using the sort parameter:
bash
GET /api/organizations/{orgId}/events?sort=-createdAtPrefix with - for descending order.
API Endpoints
Core Resources
| Resource | Description |
|---|---|
| Sources | Webhook receive endpoints |
| Destinations | Delivery targets |
| Routes | Source to destination mappings |
| Events | Received webhook events |
| Deliveries | Delivery attempts and status |
Webhook Ingest
| Endpoint | Description |
|---|---|
| Webhook Ingest | Public endpoint for receiving webhooks |
Support Resources
| Resource | Description |
|---|---|
| Transforms | Payload transformation functions |
| Filters | Conditional routing rules |
| Schemas | Payload validation schemas |
| Tunnels | Local development tunnels |
SDKs
Official SDKs are available for:
- JavaScript/TypeScript:
npm install @webhookrelay/sdk - Python:
pip install webhookrelay - Go:
go get github.com/webhookrelay/go-sdk
Quick Examples
Create a Source
bash
curl -X POST https://api.hookbase.app/api/organizations/{orgId}/sources \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "GitHub", "slug": "github"}'List Events
bash
curl https://api.hookbase.app/api/organizations/{orgId}/events \
-H "Authorization: Bearer YOUR_TOKEN"Replay an Event
bash
curl -X POST https://api.hookbase.app/api/organizations/{orgId}/events/{eventId}/replay \
-H "Authorization: Bearer YOUR_TOKEN"