Loading...
Loading...
Everything you need to integrate ROAST into your workflow
text - Review text and ratingrating - Review text and ratingdate - Additional metadatauser_id - Additional metadataplatform - Additional metadatatext,rating,date
"Great app! Love the features",5,2024-01-15
"Crashes on startup",1,2024-01-14
"Good but needs improvement",3,2024-01-13Get up and running in 5 minutes
// Install the SDK
npm install @roast/sdk
// Initialize
import { RoastClient } from '@roast/sdk';
const client = new RoastClient({
apiKey: process.env.ROAST_API_KEY
});
// Upload reviews
const result = await client.reviews.upload({
file: reviewsFile,
platform: 'google_play'
});All API requests require authentication via API key
curl -X POST https://api.roast.dev/v1/reviews \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"reviews": [...]}'POST endpoint to upload and analyze review data
POST /api/bulk/upload
Headers:
Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data
Body:
file: CSV file with reviews
Response:
{
"upload_id": "uuid",
"status": "processing",
"total_reviews": 1500,
"estimated_time": "2-3 minutes"
}Check processing status of uploaded reviews
GET /api/bulk/upload/{upload_id}
Response:
{
"upload_id": "uuid",
"status": "completed",
"total_reviews": 1500,
"clusters_created": 23,
"noise_filtered": 142
}Get all clusters for an upload
GET /api/bulk/clusters/{upload_id}
Response:
{
"clusters": [
{
"cluster_id": 1,
"label": "App Crashes on Launch",
"summary": "Multiple users reporting...",
"severity": "critical",
"review_count": 45,
"avg_rating": 1.8
}
]
}Retrieve full details for a specific cluster
GET /api/bulk/clusters/{upload_id}/{cluster_id}
Response:
{
"cluster_id": 1,
"label": "App Crashes on Launch",
"summary": "Users report the app crashes...",
"severity": "critical",
"reviews": [
{
"text": "App crashes every time...",
"rating": 1,
"date": "2024-01-15"
}
]
}