# POST /opportunities/:id/product-costs/:opportunityProductId

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

Create a cost entry for an opportunity product. Legacy alias: POST /deals/:id/product-costs/:dealProductId.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `id` | path | uuid | yes | Opportunity ID |
| `opportunityProductId` | path | uuid | yes | Opportunity product ID |
| `label` | body | string | no | Cost label |
| `unit_cost` | body | number | no | Unit cost amount |
| `quantity` | body | number | no | Quantity |
| `currency` | body | string | no | Currency code |
| `supplier_id` | body | uuid | no | Supplier company ID |
| `supplier_product_id` | body | uuid | no | Supplier product ID |

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