API Reference

REST API and MCP endpoint documentation for TestimonialDrop.

Authentication

Include your API key in the Authorization header for protected endpoints:

Authorization: Bearer <your-api-key>

REST API

GET/api/v1/testimonialsList testimonials for a project

Query Parameters

project_idstringrequiredProject UUID
statusstringFilter by status: pending, approved, rejected
POST/api/v1/testimonialsSubmit a new testimonial

Request Body

project_idstringrequiredProject UUID
author_namestringrequiredCustomer name
author_emailstringrequiredCustomer email
contentstringrequiredTestimonial text (10-2000 chars)
ratingnumberrequiredStar rating 1-5
PATCH/api/v1/testimonialsApprove or reject a testimonial (auth required)

Request Body

idstringrequiredTestimonial UUID
statusstringrequiredapproved, rejected, or pending
GET/api/v1/customersList customers for a project (auth required)

Query Parameters

project_idstringrequiredProject UUID
POST/api/v1/customersAdd a customer to drip sequence (auth required)

Request Body

project_idstringrequiredProject UUID
emailstringrequiredCustomer email
namestringCustomer name
purchase_datestringISO 8601 datetime
GET/api/v1/statsGet project statistics (auth required)

Query Parameters

project_idstringFilter by project

MCP API

Use our MCP-compatible endpoint at /api/mcp with Claude or any MCP client.

Connect with Claude Desktop:

{
  "mcpServers": {
    "testimonial-drop": {
      "url": "https://your-domain.com/api/mcp",
      "headers": { "Authorization": "Bearer <api-key>" }
    }
  }
}
list_testimonialsList testimonials with optional status filter
approve_testimonialApprove or reject a testimonial by ID
add_customerAdd a customer to a drip email sequence
get_statsGet aggregate stats for a project

Embed Widget

Add two lines to your website:

<div id="testimonial-widget"></div>
<script src="https://your-domain.com/embed/YOUR_EMBED_KEY.js"></script>