# POST /portals/:portal_id/referrer

**Resource:** [Portals](./portals.md)  
**MCP tool:** `connect_portal_referrer`  
**Scopes:** `portals:write`  
**Write operation:** yes

Connect a referral partner (a contact) to a partner portal as its bound referrer. The referral dashboard and the portal's "Submit a referral now" form both attribute referrals to this contact, so a portal whose referrer is missing cannot accept referrals until this is set. The contact must already exist in the workspace; connecting it also flags it as a referral partner so it appears in the referrer picker. Use this to fix a portal reported as "not fully set up" or to re-point a portal at a different partner.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `portal_id` | path | string | yes |  |
| `contact_id` | body | string | yes | The contact to bind as this portal's referral partner. Must exist in the workspace. |
| `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/portals/:portal_id/referrer"   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{"contact_id":"..."}'
```

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