API Docs
Sentric API Reference
Integrate review ingestion and retrieval into your product workflow using stable, authenticated API endpoints.
Authentication
All requests require an API key in the Authorization header.
Header
Authorization: Bearer your-api-keyGenerate keys in dashboard settings.
Endpoints
/api/reviewsCreate one or more reviews for a product. Reviews are assigned to the API source platform for that product.
Required: product_id, review_text, rating, review_date. Optional: reviewer_name, review_title, source_id, metadata.
/api/reviewsFetch reviews with pagination, sorting, and filtering.
Required query: product_id. Optional: page, limit (max 100), sort_by, sort_order, min_rating, max_rating, source_platform, search, start_date, end_date.
Code examples
cURL: create review
curl -X POST "https://api.thesentric.com/api/reviews" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-api-key" \
-d '{
"product_id": "your-product-id",
"review_text": "Great product, highly recommend!",
"rating": 5,
"review_date": "2024-01-15T10:30:00Z",
"reviewer_name": "John Doe",
"review_title": "Excellent quality"
}'JavaScript: create review
const response = await fetch("https://api.thesentric.com/api/reviews", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer your-api-key"
},
body: JSON.stringify({
product_id: "your-product-id",
review_text: "Great product, highly recommend!",
rating: 5,
review_date: "2024-01-15T10:30:00Z",
reviewer_name: "John Doe",
review_title: "Excellent quality"
})
});
const data = await response.json();
console.log(data);Python: create review
import requests
from datetime import datetime
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer your-api-key"
}
data = {
"product_id": "your-product-id",
"review_text": "Great product, highly recommend!",
"rating": 5,
"review_date": datetime.now().isoformat(),
"reviewer_name": "John Doe",
"review_title": "Excellent quality"
}
response = requests.post(
"https://api.thesentric.com/api/reviews",
headers=headers,
json=data
)
print(response.json())cURL: paginated fetch
curl -G "https://api.thesentric.com/api/reviews" \
-H "Authorization: Bearer your-api-key" \
--data-urlencode "product_id=your-product-id" \
--data-urlencode "page=1" \
--data-urlencode "limit=20" \
--data-urlencode "sort_by=review_date" \
--data-urlencode "sort_order=desc" \
--data-urlencode "min_rating=3" \
--data-urlencode "search=quality"Rate limits and usage
Base URL
https://api.thesentric.com
Rate limit
1000 write requests per hour per API key, with burst protection
Authentication
Bearer API key in Authorization header
Permissions
reviews:write for POST, reviews:read for GET
Response format
JSON for all responses
Response examples
Success (POST /api/reviews)
{
"success": true,
"message": "Successfully added 1 review(s)",
"reviews_added": 1,
"reviews": [
{
"id": "review-uuid",
"product_platform_id": "platform-uuid",
"rating": 5,
"review_date": "2024-01-15T10:30:00.000Z",
"source_id": "api-your-product-id-..."
}
]
}Permission error
{
"error": "Insufficient API key permissions",
"requiredPermission": "reviews:read"
}Success (GET /api/reviews)
{
"success": true,
"data": [
{
"id": "review-uuid",
"product_id": "product-uuid",
"source_platform": "api",
"author": "John Doe",
"title": "Excellent quality",
"body": "Great product, highly recommend!",
"rating": 5,
"review_date": "2024-01-15T10:30:00.000Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 130,
"total_pages": 7,
"has_next": true,
"has_prev": false
}
}