Overview
Welcome to the Hookpulse API reference. This documentation provides detailed information about all available endpoints, request/response formats, and authentication methods. The Hookpulse API is RESTful and uses JSON for request and response payloads. All API requests must be authenticated using custom headers (x-hookpulse-api-key and x-brand-uuid).
OpenAPI Specification
Download the complete OpenAPI specification file
Base URL
All API requests should be made to:Authentication
All API endpoints require authentication using two custom headers. Include both headers in every request:Getting your credentials
Brand UUID (x-brand-uuid)
- Log in to your Hookpulse dashboard
- Add a brand (if you haven’t already)
- The brand UUID will be displayed in the UI
- Copy and securely store your brand UUID
API Key (x-hookpulse-api-key)
- Log in to your Hookpulse dashboard
- Select your brand from the dashboard
- Navigate to API Keys section
- Click Create API Key
- Add a node and you will receive your API Key
- The API Key will be displayed on the same card - click View to see it
- Copy and securely store your API key
Both the API key and brand UUID are required for all API requests. Make sure to include both headers in every request.
Rate limits
API requests are rate-limited to ensure fair usage:- Standard tier: 1000 requests per hour
- Pro tier: 10000 requests per hour
- Enterprise: Custom limits
Response format
All API responses follow a consistent format:Success response
Error response
All endpoints use a consistent error format:Error Handling Guide
Learn how to handle errors, implement retry logic, and follow best practices
Timezone
All timestamps in API responses are returned according to your brand’s selected timezone. HookPulse supports all IANA timezone identifiers, allowing you to configure your brand’s timezone preference in the dashboard.How it works
- Brand Timezone: Each brand can set its preferred timezone in the HookPulse dashboard
- Response Format: All timestamp fields in API responses (e.g.,
inserted_at,created_at,updated_at,last_run_at) are returned in ISO 8601 format with the timezone offset matching your brand’s selected timezone - Timezone Field: Many API responses include a
timezonefield at the root level indicating the IANA timezone identifier used for the timestamps - IANA Support: HookPulse supports all 500+ IANA timezone identifiers (e.g.,
America/New_York,Europe/London,Asia/Kolkata,UTC)
Example
If your brand’s timezone is set toAsia/Kolkata (UTC+5:30), timestamps will be returned like:
+05:30) indicates that the timestamp is in your brand’s selected timezone.
You can change your brand’s timezone preference at any time in the HookPulse dashboard. All future API responses will reflect the new timezone setting.
HTTP status codes
The API uses standard HTTP status codes:200- Success201- Created204- No Content400- Bad Request401- Unauthorized403- Forbidden404- Not Found429- Too Many Requests500- Internal Server Error
Pagination
List endpoints support page-based pagination using thepage query parameter:
meta object:
Pagination Fields
| Field | Type | Description |
|---|---|---|
page | integer | Current page number (starts from 1) |
total_count | integer | Total number of items across all pages |
per_page | integer | Number of items per page (typically 20) |
total_pages | integer | Total number of pages |
has_next | boolean | Whether there is a next page available |
has_prev | boolean | Whether there is a previous page available |

