---
title: "Update commission split"
method: PUT
path: "/api/files/sales/{saleGuid}/commissionSplit"
tags: ["Sale Commission Splits"]
---

# Update commission split

`PUT /api/files/sales/{saleGuid}/commissionSplit`

Replaces commission splits for the specified sale. commissionSplits must not be null; use an empty array to clear all splits. Each split must include an agentGuid for a co-agent on the sale, amount/percentage cannot be negative, percentage cannot exceed 100, and each split must provide either amount or percentage (not both). Invalid payloads return 422.

### Validation & Requirements
#### Required Parameters
- `saleGuid` (path, string, format=guid)
- `form` (body, object)

#### Required JSON Body Fields
- None

#### Validations
- Invalid GUID values in `*Guid`/`*Guids` fields return `422 Unprocessable Entity`.
- Invalid date values in `*date*` fields return `422 Unprocessable Entity`.
- Missing required request body returns `422 Unprocessable Entity` with `Missing request body.`.
- Additional business-rule validation may return `422` with details in the `errors` array.
- Commission percentages must be between 0 and 100, and commission amounts cannot be negative.
- Each commission entry must be percent or amount, not both.
- CommissionSplits cannot be null. Use an empty array to clear all commission splits.
- Each commission split requires a non-null agentGuid.
- commissionSplit agentGuid values must belong to existing co-agents on the sale.
- Commission split percentages must be between 0 and 100, and amounts cannot be negative.
- Each split must be percent or amount, not both.

#### Integration Requirement
- Retrieve the corresponding `...Form` endpoint immediately before write operations to get current dynamic required fields and allowed values.

## Path parameters

- `saleGuid` string, guid, required

## Request body

- UpdateSaleCommissionSplitForm
  - `commissionSplits` CommissionSplit[], nullable
    - `agentGuid` string, guid, nullable
    - `amount` number, nullable
    - `percentage` number, nullable

## Response `200`

- LinkedResponseOfUpdateSaleCommissionSplitResponse
  - `value` UpdateSaleCommissionSplitResponse
  - `warnings` string[], nullable
  - `links` Link[], nullable
    - `href` string, nullable
    - `rel` string, nullable
    - `method` string, nullable

## Other responses

- `404`
- `422`

---

[API](https://skmtc.net/skyslope/apis/skyslope-api.md) · [All operations](https://skmtc.net/skyslope/apis/skyslope-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/skyslope/skyslope-api/revisions/bad0d2db9b7a/schema)
