# POST /reputation/reviews

**Resource:** [Reputation](./reputation.md)  
**Scopes:** `reputation:write`  
**Write operation:** yes

Create a new reputation review (starts in "draft" status). Required fields: profile_id, reviewer_name, rating (1-5), testimonial_text. Supply reviewer_company_logo and reviewer_avatar as URLs from the public-image-upload endpoint for richer display.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `profile_id` | body | string | yes | Company profile UUID |
| `reviewer_name` | body | string | yes | Reviewer full name |
| `rating` | body | number | yes | Rating 1-5 |
| `testimonial_text` | body | string | yes | The review text |
| `reviewer_email` | body | string | no | Reviewer email (admin-only field) |
| `reviewer_company` | body | string | no | Reviewer company name |
| `reviewer_company_logo` | body | string | no | URL of reviewer company logo. Use public-image-upload (context: reputation-reviewer-logo). |
| `reviewer_role` | body | string | no | e.g. CMO, Head of Ops |
| `reviewer_avatar` | body | string | no | URL of reviewer headshot. Use public-image-upload (context: form-avatar). |
| `reviewer_linkedin_url` | body | string | no | LinkedIn profile URL |
| `reviewer_linkedin_verified` | body | boolean | no | Whether LinkedIn identity was verified |
| `reviewer_company_size` | body | string | no | One of: 1-10 \| 11-50 \| 51-200 \| 201-1000 \| 1000+ |
| `reviewer_industry` | body | string | no | Reviewer industry (free text) |
| `service_category` | body | string | no | e.g. "Demand Gen", "Brand Strategy" |
| `engagement_type` | body | string | no | project \| retainer \| one-off \| trial |
| `engagement_value_band` | body | string | no | <5k \| 5-25k \| 25-100k \| 100k+ |
| `consent_given` | body | boolean | no | Reviewer consented to publication |
| `consent_method` | body | string | no | voice_call \| form \| email \| manual \| linkedin |

## Request example

```bash
curl -X POST https://ucqwijexmjctglmrxlej.supabase.co/functions/v1/api/v1/reputation/reviews \
  -H "Authorization: Bearer tp_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "profile_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "reviewer_name": "Sarah Chen",
    "reviewer_company": "Momentum Labs",
    "reviewer_company_logo": "https://trustpager.net/uploads/reputation-reviewer-logo/abc123.png",
    "reviewer_role": "CMO",
    "reviewer_avatar": "https://trustpager.net/uploads/form-avatar/def456.png",
    "reviewer_linkedin_url": "https://linkedin.com/in/sarahchen",
    "reviewer_linkedin_verified": true,
    "reviewer_company_size": "51-200",
    "reviewer_industry": "Technology",
    "rating": 5,
    "testimonial_text": "Exceptional work. Highly recommended.",
    "consent_given": true,
    "consent_method": "email"
  }'
```

## Response example

```json
{
  "data": {
    "id": "e14dad66-b422-42d4-a636-cd17af1c9970",
    "profile_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "reviewer_name": "Sarah Chen",
    "reviewer_company_logo": "https://trustpager.net/uploads/reputation-reviewer-logo/abc123.png",
    "reviewer_linkedin_verified": true,
    "rating": 5,
    "status": "draft",
    "created_at": "2026-04-24T00:00:00.000Z"
  },
  "meta": { "credits_remaining": 4498, "url": "https://app.trustpager.com/tools/reputation/reviews" }
}
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`