The REST API is perfect for building custom integrations, automating publishing workflows, or syncing content to external platforms. It gives you full programmatic control over your articles.
Authentication
All API requests require authentication via API Key:Headers
Create an API Key
- In ChatFeatured, go to Integrations → REST API
- Click Create API Key
- Name it descriptively (e.g., “Mobile App”, “Automation Script”)
- Copy the key immediately (only shown once)
Base URL
All API requests use:Endpoints
List Articles
List all articles with optional filtering.
Example with curl:
Get Single Article
Retrieve a specific article by ID or slug.Publish Article
Publish a draft article or change publication status.Webhooks
Get notified when articles change status via webhooks.Webhooks let your application react to events in real-time. For example, automatically sync articles to your CMS when they’re published, or send Slack notifications when articles are ready for review.
Configure Webhooks
- Go to Integrations → REST API
- Scroll to Webhooks section
- Enter your Webhook URL
- (Optional) Enter a Signing Secret for security
- Select which events to receive:
- Article ready for review
- Article published
- Save webhook settings
Webhook Events
Event:article.review
Fires when an article finishes generating and is ready for review.
article.published
Fires when an article is published.
Webhook Security
If you configured a Signing Secret, each webhook includes anX-Webhook-Signature header:
Error Handling
404 Not Found
404 Not Found
Solution: Verify article ID or slug, check if article was deleted
429 Rate Limited
429 Rate Limited
Solution: Wait time in
X-RateLimit-Reset header, implement exponential backoff, reduce frequency500 Server Error
500 Server Error
Solution: Retry with exponential backoff, check status page, contact support if persists
Rate Limiting
API requests are rate limited per API Key:- Free tier: 100 requests/hour
- Pro tier: 1,000 requests/hour
- Enterprise: Custom limits
Use Cases
Automated Publishing
Sync to External CMS
Monitor Article Status
Best Practices
- Store API Keys in environment variables
- Use different keys for different applications
- Implement exponential backoff for retries
- Validate webhook signatures
- Handle errors gracefully
Troubleshooting
'429 Rate Limited' Error
'429 Rate Limited' Error
Cause: Too many requestsSolution:
- Check
X-RateLimit-Resetheader for wait time - Implement exponential backoff (1s, 2s, 4s, etc.)
- Reduce request frequency
- Upgrade plan if you need higher limits
Webhooks Not Firing
Webhooks Not Firing
Cause: URL is unreachable or returns errorSolution:
- Verify webhook URL is publicly accessible
- Ensure endpoint returns 200 OK response
- Check server logs for incoming requests
- Test with a tool like webhook.cool
- Verify webhook secret is correct if configured
See Also
- CMS Integrations — Publish to other platforms
- Index Submissions — Submit URLs programmatically