---
title: "Update a Contract"
method: POST
path: "/contracts/{contract_id}"
tags: ["Contracts"]
---

# Update a Contract

`POST /contracts/{contract_id}`

## Request

- Base URL: `https://api.mediamath.com/api/v3.0`
- URL: `https://api.mediamath.com/api/v3.0/contracts/{contract_id}`
- Auth: OAuth 2
  - Authorization code: `https://auth.mediamath.com/authorize`
  - Token URL: `https://auth.mediamath.com/oauth/token` scopes: `offline_access`, `manage:services`
- TypeScript: <https://skmtc.dev/mediamath/apis/campaigns-api/docs/contracts/:contract_id/post.ts> (a function with typed inputs; its response is checked against the schema)

Update a contract by ID

## Path parameters

- `contract_id` integer, required

## Request body

- object
  - `version` integer
  - `organization_id` integer
  - `effective_start_date` string, date-time
  - `effective_end_date` string, date-time
  - `platform_monthly_min` number, float
  - `platform_access_fee_pct` number, float, nullable
  - `platform_access_fee_cpm` number, float, nullable
  - `platform_access_fee_fixed` number, float, nullable
  - `managed_service_fee_pct` number, float, nullable
  - `managed_service_fee_cpm` number, float, nullable
  - `managed_service_fee_fixed` number, float, nullable
  - `optimization_fee_pct` number, float, nullable
  - `optimization_fee_cpm` number, float, nullable
  - `optimization_fee_fixed` number, float, nullable
  - `pmp_optimization_off_unit` 'PCT_TOTAL_COST' | 'CPM' | 'PCT_NET_TOTAL_SPEND'
  - `pmp_optimization_off_fee_pct` number, float, nullable
  - `pmp_optimization_off_fee_cpm` number, float, nullable
  - `pmp_optimization_on_unit` 'PCT_TOTAL_COST' | 'CPM' | 'PCT_NET_TOTAL_SPEND'
  - `pmp_optimization_on_fee_pct` number, float, nullable
  - `pmp_optimization_on_fee_cpm` number, float, nullable
  - `dmp_fee_unit` 'PCT_TOTAL_COST' | 'CPM' | 'CPTS', nullable
  - `dmp_fee_pct` number, float, nullable
  - `dmp_fee_cpm` number, float, nullable
  - `dmp_fee_cpts` number, float, nullable
  - `signals_fee_unit` 'PCT_TOTAL_COST' | 'CPM', nullable
  - `signals_fee_pct` number, float, nullable
  - `signals_fee_cpm` number, float, nullable
  - `t1_apps_fee_unit` 'PCT_TOTAL_COST' | 'CPM', nullable
  - `t1_apps_fee_pct` number, float, nullable
  - `t1_apps_fee_cpm` number, float, nullable
  - `contract_number` integer
  - `spend_cap` number, float, nullable
  - `platform_access_fee_unit` 'PCT_TOTAL_COST' | 'CPM' | 'FIXED' | 'PCT_NET_TOTAL_SPEND'
  - `managed_service_fee_unit` 'PCT_TOTAL_COST' | 'CPM' | 'FIXED' | 'PCT_NET_TOTAL_SPEND'
  - `optimization_fee_unit` 'PCT_TOTAL_COST' | 'CPM' | 'FIXED' | 'PCT_NET_TOTAL_SPEND'
  - `profit_share_fee_pct` number, float
  - `exclude_agency_margin` boolean
  - `t1_as_fee_cpm` number, float
  - `evidon_privacy_cost_cpm` number, float
  - `peer39_channel_fee_cpm` number, float, nullable
  - `peer39_custom_fee_cpm` number, float, nullable
  - `peer39_safety_fee_cpm` number, float
  - `peer39_quality_fee_cpm` number, float
  - `fbx_dynamic_cpm` number, float
  - `t1_vads_fee_cpm` number, float
  - `adaptive_segment_cpm` number, float
  - `external_media_tracking_cpm` number, float
  - `currency_code` string
  - `t1_html5_fee_cpm` number, float
  - `viewability_display_sample` number, float, nullable
  - `viewability_display_all_imps` number, float, nullable
  - `viewability_video_sample` number, float, nullable
  - `viewability_video_all_imps` number, float, nullable
  - `standard_segment_cpm` number, float
  - `connected_id_cost` number, float
  - `financing_cost` number, float
  - `audience_verification_cost` number, float
  - `programmatic_guaranteed_platform_access_fee_cpm` number, float, nullable
  - `programmatic_guaranteed_platform_access_fee_pct` number, float, nullable
  - `programmatic_guaranteed_platform_access_fee_unit` 'PCT_TOTAL_COST' | 'CPM' | 'PCT_NET_TOTAL_SPEND'
  - `media_enablement_fee_cpm` number, float, nullable
  - `media_enablement_fee_pct` number, float, nullable
  - `media_enablement_fee_unit` 'PCT_TOTAL_COST' | 'CPM' | 'PCT_CLEAR'
  - `source_platform_access_fee_cpm` number, float, nullable
  - `source_platform_access_fee_pct` number, float, nullable
  - `source_platform_access_fee_unit` 'PCT_TOTAL_COST' | 'CPM'
  - `country_tax_withholding_fee_cpm` number, float, nullable
  - `country_tax_withholding_fee_pct` number, float, nullable
  - `country_tax_withholding_fee_unit` 'CPM' | 'PCT_CLEAR' | 'PCT_NET_TOTAL_SPEND'
  - `partnership_rebate_fee_cpm` number, float, nullable
  - `partnership_rebate_fee_pct` number, float, nullable
  - `partnership_rebate_fee_unit` 'CPM' | 'PCT_CLEAR' | 'PCT_NET_TOTAL_SPEND'
  - `cross_device_fee_cpm` number, float, nullable
  - `dba_optimization_fee_cpm` number, float, nullable
  - `dba_optimization_fee_pct` number, float, nullable
  - `dba_optimization_fee_unit` 'CPM' | 'PCT_MEDIA'
  - `audio_video_platform_access_fee_cpm` number, float, nullable
  - `audio_video_platform_access_fee_pct` number, float, nullable
  - `audio_video_platform_access_fee_unit` 'CPM' | 'PCT_TOTAL_COST'
  - `created_on` string, date-time
  - `updated_on` string, date-time
  - `mfa_fee_cpm` number, float, nullable

## Response `200`

Contract updated response

- object
  - `data` ContractBaseResponse
    - `id` integer
    - `version` integer
    - `organization_id` integer
    - `effective_start_date` string, date-time
    - `effective_end_date` string, date-time
    - `platform_monthly_min` number, float
    - `platform_access_fee_pct` number, float, nullable
    - `platform_access_fee_cpm` number, float, nullable
    - `platform_access_fee_fixed` number, float, nullable
    - `managed_service_fee_pct` number, float, nullable
    - `managed_service_fee_cpm` number, float, nullable
    - `managed_service_fee_fixed` number, float, nullable
    - `optimization_fee_pct` number, float, nullable
    - `optimization_fee_cpm` number, float, nullable
    - `optimization_fee_fixed` number, float, nullable
    - `pmp_optimization_off_unit` 'PCT_TOTAL_COST' | 'CPM' | 'PCT_NET_TOTAL_SPEND'
    - `pmp_optimization_off_fee_pct` number, float, nullable
    - `pmp_optimization_off_fee_cpm` number, float, nullable
    - `pmp_optimization_on_unit` 'PCT_TOTAL_COST' | 'CPM' | 'PCT_NET_TOTAL_SPEND'
    - `pmp_optimization_on_fee_pct` number, float, nullable
    - `pmp_optimization_on_fee_cpm` number, float, nullable
    - `dmp_fee_unit` 'PCT_TOTAL_COST' | 'CPM' | 'CPTS', nullable
    - `dmp_fee_pct` number, float, nullable
    - `dmp_fee_cpm` number, float, nullable
    - `dmp_fee_cpts` number, float, nullable
    - `signals_fee_unit` 'PCT_TOTAL_COST' | 'CPM', nullable
    - `signals_fee_pct` number, float, nullable
    - `signals_fee_cpm` number, float, nullable
    - `t1_apps_fee_unit` 'PCT_TOTAL_COST' | 'CPM', nullable
    - `t1_apps_fee_pct` number, float, nullable
    - `t1_apps_fee_cpm` number, float, nullable
    - `contract_number` integer
    - `spend_cap` number, float, nullable
    - `platform_access_fee_unit` 'PCT_TOTAL_COST' | 'CPM' | 'FIXED' | 'PCT_NET_TOTAL_SPEND'
    - `managed_service_fee_unit` 'PCT_TOTAL_COST' | 'CPM' | 'FIXED' | 'PCT_NET_TOTAL_SPEND'
    - `optimization_fee_unit` 'PCT_TOTAL_COST' | 'CPM' | 'FIXED' | 'PCT_NET_TOTAL_SPEND'
    - `profit_share_fee_pct` number, float
    - `exclude_agency_margin` boolean
    - `t1_as_fee_cpm` number, float
    - `evidon_privacy_cost_cpm` number, float
    - `peer39_channel_fee_cpm` number, float, nullable
    - `peer39_custom_fee_cpm` number, float, nullable
    - `peer39_safety_fee_cpm` number, float
    - `peer39_quality_fee_cpm` number, float
    - `fbx_dynamic_cpm` number, float
    - `t1_vads_fee_cpm` number, float
    - `adaptive_segment_cpm` number, float
    - `external_media_tracking_cpm` number, float
    - `currency_code` string
    - `t1_html5_fee_cpm` number, float
    - `viewability_display_sample` number, float, nullable
    - `viewability_display_all_imps` number, float, nullable
    - `viewability_video_sample` number, float, nullable
    - `viewability_video_all_imps` number, float, nullable
    - `standard_segment_cpm` number, float
    - `connected_id_cost` number, float
    - `financing_cost` number, float
    - `audience_verification_cost` number, float
    - `programmatic_guaranteed_platform_access_fee_cpm` number, float, nullable
    - `programmatic_guaranteed_platform_access_fee_pct` number, float, nullable
    - `programmatic_guaranteed_platform_access_fee_unit` 'PCT_TOTAL_COST' | 'CPM' | 'PCT_NET_TOTAL_SPEND'
    - `media_enablement_fee_cpm` number, float, nullable
    - `media_enablement_fee_pct` number, float, nullable
    - `media_enablement_fee_unit` 'PCT_TOTAL_COST' | 'CPM' | 'PCT_CLEAR'
    - `source_platform_access_fee_cpm` number, float, nullable
    - `source_platform_access_fee_pct` number, float, nullable
    - `source_platform_access_fee_unit` 'PCT_TOTAL_COST' | 'CPM'
    - `country_tax_withholding_fee_cpm` number, float, nullable
    - `country_tax_withholding_fee_pct` number, float, nullable
    - `country_tax_withholding_fee_unit` 'CPM' | 'PCT_CLEAR' | 'PCT_NET_TOTAL_SPEND'
    - `partnership_rebate_fee_cpm` number, float, nullable
    - `partnership_rebate_fee_pct` number, float, nullable
    - `partnership_rebate_fee_unit` 'CPM' | 'PCT_CLEAR' | 'PCT_NET_TOTAL_SPEND'
    - `cross_device_fee_cpm` number, float, nullable
    - `dba_optimization_fee_cpm` number, float, nullable
    - `dba_optimization_fee_pct` number, float, nullable
    - `dba_optimization_fee_unit` 'CPM' | 'PCT_MEDIA'
    - `audio_video_platform_access_fee_cpm` number, float, nullable
    - `audio_video_platform_access_fee_pct` number, float, nullable
    - `audio_video_platform_access_fee_unit` 'CPM' | 'PCT_TOTAL_COST'
    - `created_on` string, date-time
    - `updated_on` string, date-time
    - `mfa_fee_cpm` number, float, nullable
  - `meta` object
    - `status` string

## Other responses

- `400`: Error response
- `401`: Error response
- `403`: Error response
- `404`: Error response
- `409`: Error response

---

[API](https://skmtc.dev/mediamath/apis/campaigns-api.md) - [All operations](https://skmtc.dev/mediamath/apis/campaigns-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mediamath/apis/campaigns-api/revisions/408743891def?raw)
