RestaurantAssist is a review-reply workflow tool. Most users paste reviews into the dashboard and copy replies. These docs are for developers or advanced users who want to call the API directly.
x-api-key in requests.
# Example header x-api-key: YOUR_KEY_HERE
https://review-assistant-api.onrender.com
api.restaurantassist.app.
Make sure you have your API key. Then run:
curl -X POST "https://review-assistant-api.onrender.com/analyze" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_KEY_HERE" \
-d '{
"review_text": "Food was great but the wait was really long.",
"platform": "google"
}'
402.
GET /mePOST /analyzePOST /billing/create-checkoutGET /billing/status?session_id=...Returns the business attached to your API key and subscription info.
curl "https://review-assistant-api.onrender.com/me" \ -H "x-api-key: YOUR_KEY_HERE"
{
"business_id": "california-pizza-kitchen",
"email": "you@yourrestaurant.com",
"subscription": {
"plan": "starter",
"status": "active",
"current_period_end": "2026-02-15"
}
}
Analyzes a review and returns a ready-to-post reply. Also returns metadata that the Dashboard may use.
application/jsonreview_textplatform (google/yelp/facebook/other)curl -X POST "https://review-assistant-api.onrender.com/analyze" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_KEY_HERE" \
-d '{
"review_text": "The food was amazing but the order was missing an item.",
"platform": "google"
}'
{
"record": {
"reply": "Thanks for letting us know — we’re glad you enjoyed the food, and we’re sorry an item was missed. Please reach out so we can make it right.",
"sentiment": "mixed",
"urgency": "high",
"category": "missing_item",
"tags": ["missing_item", "apology"],
"next_steps": [
"Offer to make it right",
"Ask for order details (date/time) if appropriate"
]
}
}
Checkout is handled by Stripe subscriptions. After successful checkout, your API key is emailed automatically.
curl -X POST "https://review-assistant-api.onrender.com/billing/create-checkout" \
-H "Content-Type: application/json" \
-d '{
"business_id": "california-pizza-kitchen",
"email": "you@yourrestaurant.com",
"plan": "starter"
}'
curl "https://review-assistant-api.onrender.com/billing/status?session_id=SESSION_ID_HERE"
{"ready": false}. When provisioning is complete you’ll see {"ready": true, ...}.
{
"detail": "Subscription inactive. Please update billing."
}
curl "https://review-assistant-api.onrender.com/me" \ -H "x-api-key: YOUR_KEY_HERE"
const res = await fetch("https://review-assistant-api.onrender.com/analyze", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": localStorage.getItem("ra_api_key"),
},
body: JSON.stringify({
review_text: "Food was great but the wait was long.",
platform: "google",
}),
});
const data = await res.json();
Stripe webhooks provision accounts and trigger API key delivery. Most users don’t need to touch this.