Skip to main content
The Product Watch API provides two endpoints for retrieving notification history, plus details on the webhook payloads your server receives when rules trigger. Use the history endpoints to audit past notifications or replay missed events.

History endpoints

Get history for a specific watch

Retrieve all notifications sent for a single watch by its ID.
string
required
The unique identifier of the watch.
string
required
Bearer token for authentication. Format: Bearer {your_api_key}.
Response

Get history filtered by metadata

Retrieve notifications across watches that share a metadata key-value pair. At least one metadata parameter is required for this endpoint.
string
required
Filter by metadata key-value pair. At least one metadata parameter is required. You can combine multiple pairs in a single request.Examples:
  • ?metadata[campaign]=summer_sale
  • ?metadata[campaign]=summer_sale&metadata[priority]=high
string
required
Bearer token for authentication. Format: Bearer {your_api_key}.
Response

Webhook notification formats

When a rule triggers, the API sends an HTTP POST request to the webhook URL you configured. Your endpoint should respond with a 2xx status code.

Standard product change notification

Sent when a watch rule is triggered by a product field change such as a price drop or sale status update.

Product unavailable notification

Sent when a watched product is removed from the Affiliate.com database. The watch is automatically deleted after this notification. The field value "__product__" indicates a watch-level event rather than a product field change.

Watch expiration notification

Sent when a watch reaches its expire_timestamp. The field value "__watch__" indicates a watch status change. After receiving this notification, create a new watch or use the PUT endpoint to update expire_timestamp if you want to continue monitoring.

Metadata in webhooks

Every webhook notification includes the metadata object from the watch. This lets you route and process notifications programmatically using the tags you applied at watch creation — for example, dispatch notifications by campaign, priority, or any other dimension you track.
After you receive an expiration notification, the watch stops checking. To continue monitoring, call the PUT endpoint with status: "active" and a new expire_timestamp, or create a new watch.

Response fields

Single-watch history response

string
The ID of the watch these histories belong to.
string
The name of the watch.
string
The product identifier being watched.
object[]
Array of notification history records.
integer
Total number of notification events for this watch.
integer
Number of history records per page.
integer
Current page number.
string
Unique identifier for this request.

Metadata-filtered history response

The metadata-filtered history endpoint returns a paginated list where each data item is a history record. The meta object includes total, from, to, current_page, last_page, per_page, and trace_id fields following the standard paginated envelope.