Overview
Instead of polling our API repeatedly, webhooks notify your application when events occur:- New trademark filings matching your criteria
- Status changes on monitored trademarks
- Similar marks detected
- Opposition proceedings started
- Registrations granted or cancelled
- Real-time notifications (no polling required)
- No credit consumption (monitors are subscription-based)
- Reliable event delivery with automatic retries
- Secure with HMAC signature verification
Creating a Monitor
| Type | Description | Example |
|---|---|---|
query | Text query with search type | {"type": "query", "value": "apple", "search_type": "exact"} |
class | Nice classification classes | {"type": "class", "value": [9, 35]} |
owner | Owner name | {"type": "owner", "value": "Apple Inc"} |
trademark_id | Specific trademark | {"type": "trademark_id", "value": "tm_us_1234567"} |
Webhook Events
| Event | Triggered When |
|---|---|
new_filing | New trademark filed matching your criteria |
status_change | Trademark status changes (e.g., PENDING → REGISTERED) |
similar_mark_detected | Similar mark filed (fuzzy match) |
trademark_published | Trademark published for opposition |
trademark_registered | Trademark officially registered |
trademark_opposed | Opposition filed against trademark |
trademark_cancelled | Trademark cancelled or abandoned |
Webhook Payload
When an event occurs, we POST to yourwebhook_url:
Receiving Webhooks
Basic Handler
Signature Verification
We sign all webhooks with HMAC-SHA256:Retry Logic
If your endpoint fails to respond with 2xx:- Attempt 1: Immediately
- Attempt 2: After 1 minute
- Attempt 3: After 5 minutes
- Attempt 4: After 30 minutes
- Attempt 5: After 2 hours
Best Practices
Respond Quickly
Respond Quickly
Always respond with 200 within 5 seconds. Process data async:
Use Idempotency
Use Idempotency
Handle duplicate events gracefully:
Verify All Signatures
Verify All Signatures
Never skip signature verification:
Monitor Webhook Health
Monitor Webhook Health
Track webhook delivery success:
Managing Monitors
List Monitors
Get Monitor Details
Update Monitor
Delete Monitor
Testing Webhooks
Test Event
Trigger a test webhook:Local Testing
Use tools like ngrok for local development:Webhook Security
Pricing
Monitors are priced separately from API credits:| Plan | Included Monitors | Additional Cost |
|---|---|---|
| Starter | 2 | $10/month each |
| Growth | 10 | $5/month each |
| Pro | 50 | $2/month each |
| Enterprise | Unlimited | Included |
FAQ
What if my endpoint is down?
What if my endpoint is down?
We’ll retry for up to 2 hours. After 5 failures, monitoring is paused. Fix your endpoint and resume in the dashboard.
Can I have multiple webhook URLs?
Can I have multiple webhook URLs?
Yes! Create separate monitors with different webhook URLs.
How fast are webhooks delivered?
How fast are webhooks delivered?
Typically within seconds of the event occurring. During high volume, up to 1 minute.
Can I filter which events trigger webhooks?
Can I filter which events trigger webhooks?
Yes, use the
webhook_events array when creating the monitor.