# POST /deal-stakeholders

**Resource:** [STAKEHOLDERS](./stakeholders.md)  
**MCP tool:** `attach_deal_stakeholder`  
**Scopes:** `opportunities:write`  
**Write operation:** yes

Attach a stakeholder contact to an opportunity. Requires deal_id and contact_id; optional bucket_id (the stakeholder type) and role.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `deal_id` | body | string | yes |  |
| `contact_id` | body | string | yes |  |
| `bucket_id` | body | string | no | Stakeholder type UUID this attachment belongs to. |
| `role` | body | string | no | Free-text role on this opportunity, e.g. Lead tiler. |
| `require_approval` | body | boolean | no | Optional. Set true to route this write into the approval queue for human review instead of executing it immediately (returns 202 + an approval_id). Works even when your key/token has permission to execute directly. |

## Request example

```bash
curl -X POST   "https://api.trustpager.com/functions/v1/api/v1/deal-stakeholders"   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{"deal_id":"...","contact_id":"...","bucket_id":"..."}'
```

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