---
title: "Update Incentive"
method: PUT
path: "/v1/incentives/{id}"
tags: ["Incentives"]
---

# Update Incentive

`PUT /v1/incentives/{id}`

Updates an Incentive.

Incentives use the currency of the employment specified provided in the `employment_id` field.

The API doesn't support updating paid incentives.


## Scopes

| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage expenses (`employment_payments`) | - | Manage incentives (`incentive:write`) |

## Path parameters

- `id` string, required

## Headers

- `Authorization` string, required

## Request body

- UpdateIncentiveParams
  - `amount` integer — The amount (in the currency of the employment) to be given to the employee. This field accepts fractional amounts as well. However to avoid precision issues and errors that can arise from storing fractional amounts, the Remote API only accepts currencies and their fractional amounts as integers. This means you should append fractional amounts to the end of the amount you're passing in with this field. For example, if the incentive you're offering is EUR 500.25, you would specify `50025` as the amount for this field.
  - `amount_tax_type` 'gross' | 'net' — Whether the amount given accounts for taxes or not. `gross` indicates that the amount given is the amount to be paid before taxes are subtracted. `net` indicates that the amount given is the amount which will be paid to the employee after taxes. Remote will gross this up to ensure the taxes are included and employee receives the amount requested without further reduction.
  - `effective_date` string, date — The date at which the incentive should take effect. Note that the incentive is not paid out on the effective date, but during the next payroll cycle. The effective date determines which payroll cycle the incentive will be paid out in. The effective date needs to be today or a future date. Note for recurring incentives: since the months don't have the same amount of days, if day of month of `effective_date` is one of [28, 29, 30, 31] it will be transformed to the last day of each month, avoiding the possibility of skipping a month in the recurrence.
  - `note` string, nullable
  - `period_end` string, date, nullable — The end date of the incentive period (month, quarter, half-year or year)
  - `period_start` string, date, nullable — The start date of the incentive period (month, quarter, half-year or year)
  - `type` string — A valid type according to the payment frequency

## Response `200`

Success

- IncentiveResponse — Response containing a single incentive record.
  - `data` object
    - `incentive` Incentive, required — An incentive (bonus, commission, or other additional payment) for an employee. Incentives are paid out through payroll on the next applicable cycle after the effective date.
      - `amount` integer, required — The incentive amount in the employment's currency, in cents. For example, EUR 500.25 would be represented as 50025.
      - `amount_tax_type` 'gross' | 'net', required — Whether the amount given accounts for taxes or not. `gross` indicates that the amount given is the amount to be paid before taxes are subtracted. `net` indicates that the amount given is the amount which will be paid to the employee after taxes. Remote will gross this up to ensure the taxes are included and employee receives the amount requested without further reduction.
      - `effective_date` string, date, nullable, required — The date the incentive takes effect. Determines which payroll cycle the incentive will be paid in.
      - `employment_id` string, required — The unique identifier (UUID) of the employment this incentive belongs to.
      - `expected_payout_date` string, date, nullable — The expected date when this incentive will be paid to the employee. Null if not yet determined.
      - `id` string, required — The unique identifier (UUID) of the incentive.
      - `note` string, nullable — An optional note describing the reason or context for this incentive.
      - `period_end` string, date, nullable — The end date of the period this incentive covers. Null for non-periodic incentives.
      - `period_start` string, date, nullable — The start date of the period this incentive covers (e.g., for quarterly bonuses). Null for non-periodic incentives.
      - `recurring_incentive_id` string, nullable — If this incentive was generated from a recurring incentive schedule, this is the ID of the parent recurring incentive. Null for one-time incentives.
      - `status` string, required — The current status of the incentive (e.g., "pending", "scheduled", "paid", "cancelled").
      - `type` string, required — The type of incentive (e.g., "signing_bonus", "performance_bonus", "commission", "referral_bonus").

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `409` — Conflict
- `422` — Unprocessable Entity
- `429` — Too many requests

---

[API](https://skmtc.net/remote-com/apis/remote.md) · [All operations](https://skmtc.net/remote-com/apis/remote/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/remote-com/remote/versions/7e6a0c61ac82/schema)
