---
title: "Update a contractor's payment method"
method: PUT
path: "/v1/contractors/{contractor_uuid}/payment_method"
tags: ["Contractor Payment Method"]
---

# Update a contractor's payment method

`PUT /v1/contractors/{contractor_uuid}/payment_method`

Updates a contractor's payment method. Note that creating a contractor
bank account will also update the contractor's payment method.

scope: `contractor_payment_methods:write`

## Path parameters

- `contractor_uuid` string, required

## Headers

- `X-Gusto-API-Version` '2026-06-15'

## Request body

- object
  - `version` string, required — The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field.
  - `type` 'Direct Deposit' | 'Check', required — The payment method type. If type is Direct Deposit, the contractor is required to have a bank account. See [Bank account endpoint](./post-v1-contractors-contractor_uuid-bank_accounts).

## Response `200`

Example response

- ContractorPaymentMethod
  - `version` string — The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field.
  - `type` 'Direct Deposit' | 'Check', nullable — The payment method type. If type is Check, then `split_by` and `splits` do not need to be populated. If type is Direct Deposit, `split_by` and `splits` are required.
  - `split_by` 'Amount' | 'Percentage', nullable — Describes how the payment will be split. If `split_by` is Percentage, then the `split` amounts must add up to exactly 100. If `split_by` is Amount, then values are in cents and the last split amount must be `null` to capture the remainder.
  - `splits` PaymentMethodBankAccount[], nullable
    - `uuid` string, required — The bank account ID
    - `name` string — The bank account name
    - `hidden_account_number` string — Masked bank account number
    - `priority` integer — The order of priority for each payment split, with priority 1 being the first bank account paid. Priority must be unique and sequential.
    - `split_amount` integer, nullable — If `split_by` is 'Amount', this is in cents (e.g., 500 for $5.00) and exactly one account must have a `split_amount` of `null` to capture the remainder. If `split_by` is 'Percentage', this is the percentage value (e.g., 60 for 60%).

## Other responses

- `404` — Not Found The requested resource does not exist. Make sure the provided UUID is valid.
- `409` — Conflict
- `422` — Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.

---

[API](https://skmtc.dev/gusto/apis/gusto-api.md) · [All operations](https://skmtc.dev/gusto/apis/gusto-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gusto/gusto-api/revisions/826dfa57fb3b/schema)
