# PATCH /pipelines/:pipeline_id

**Resource:** [Pipelines](./pipelines.md)  
**MCP tool:** `update_pipeline`  
**Scopes:** `pipelines:write`  
**Write operation:** yes

Update a pipeline by UUID. Pass only the fields you want to change. Writable: name, description, is_active, is_default, position, sop_url, learning_hub_canvas_id, connected_pipeline_ids, exclude_from_lead_reporting.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `pipeline_id` | path | string | yes | UUID of the pipeline to update |
| `name` | body | string | no |  |
| `description` | body | string | no |  |
| `is_active` | body | boolean | no |  |
| `is_default` | body | boolean | no |  |
| `position` | body | number | no |  |
| `learning_hub_canvas_id` | body | string | no | UUID of a Playbook to link as this pipeline's training resource, or null to clear. Mutually exclusive with sop_url. |
| `exclude_from_lead_reporting` | body | boolean | no | When true, opportunities in this pipeline are excluded from the Lead Sources leaderboard (totals, per-source cards, conversion rate). Use for non-lead pipelines like supplier or referral-partner networks stored as opportunities. |

## Request example

```bash
curl -X PATCH   "https://api.trustpager.com/functions/v1/api/v1/pipelines/:pipeline_id"   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{"name":"...","description":"...","is_active":"..."}'
```

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