---
title: "Upsert a veterinarian's compensation settings. Requires user_management permission since this controls how margin/profit numbers are reported."
method: PUT
path: "/Metrics/compensation-settings/{userId}"
tags: ["Metrics"]
---

# Upsert a veterinarian's compensation settings. Requires user_management permission since this controls how margin/profit numbers are reported.

`PUT /Metrics/compensation-settings/{userId}`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/Metrics/compensation-settings/{userId}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/Metrics/compensation-settings/:userId/put.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `userId` string, required

## Request body

- UpsertCompensationDto
  - `model` string
  - `annualSalary` union
    - number, double
    - string, double
  - `hourlyRate` union
    - number, double
    - string, double
  - `productionPercentage` union
    - number, double
    - string, double
  - `productionThreshold` union
    - number, double
    - string, double
  - `standardAnnualHours` union
    - integer
    - string, int32
  - `effectiveFrom` string, date
  - `effectiveUntil` string, date, nullable
  - `compensationThresholdOverridePercent` union
    - number, double
    - string, double

## Response `200`

OK

- BusinessMetricsResponseDtoOfCompensationSettingDto
  - `success` boolean
  - `data` CompensationSettingDto
    - `userId` string
    - `name` string
    - `model` string
    - `annualSalary` union
      - number, double
      - string, double
    - `hourlyRate` union
      - number, double
      - string, double
    - `productionPercentage` union
      - number, double
      - string, double
    - `productionThreshold` union
      - number, double
      - string, double
    - `standardAnnualHours` union
      - integer
      - string, int32
    - `effectiveFrom` string, date, nullable
    - `effectiveUntil` string, date, nullable
    - `compensationThresholdOverridePercent` union
      - number, double
      - string, double
    - `isConfigured` boolean
  - `error` string, nullable
  - `message` string, nullable

## Other responses

- `400`: Bad Request
- `404`: Not Found

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
