Skip to main content
PATCH
Update a retainer pack

Authorizations

Authorization
string
header
required

Authenticate with a Bearer token: API key, OAuth token, or session token.

Path Parameters

id
string<uuid>
required

Retainer pack ID

Body

application/json
name
string

Pack name shown on the company page, 1 to 200 characters (e.g. "Q4 2026 GTM pack").

Required string length: 1 - 200
currency_code
string

ISO 4217 currency code of every retainer in the pack (e.g. USD). Can't change once a retainer is claimed.

Required string length: 3
invoice_number
string | null

Invoice number for the whole pack (one invoice per pack), at most 100 characters. Send null on update to clear it.

fee_status_id
string<uuid>

Status of the pack invoice, shared by every retainer in the pack. Get IDs from GET /v1/fee-statuses. Only admins can move a paid pack back to an unpaid status.

expected_date
string<date> | null

Invoice date (YYYY-MM-DD), shared by every retainer in the pack. Send null on update to clear it.

When every paid retainer is claimed, new hires at this client still link to the pack with a 0 retainer and are billed the full fee. Defaults to true.

firm_commission_percent
number

Percent of each open retainer the firm keeps before team credit is split, 0 to 100. Defaults to 0.

retainer_count
integer

Number of retainers in the pack, 1 to 100. To top up an existing pack, send add_retainers instead. Lowering it removes open retainers from the end and can't go below the claimed retainers.

Required range: 1 <= x <= 100
amount_each
number

Amount of each retainer, 0 or more. A change applies to open retainers; claimed retainers keep their amount.

default_split
object[]

Who gets credit for each retainer. Send an empty list for no split, otherwise the percentages must total 100. Credit per retainer is the retainer amount minus the firm commission, times each person's percentage. Applies to open retainers; a claimed retainer keeps the split it was claimed with. Only admins can change the split of a paid pack. Defaults to an empty list.

add_retainers
integer

Top-up: number of open retainers to add to the pack (same invoice), added to the pack's current count. Use instead of retainer_count.

Required range: x >= 1

Response

Retainer pack updated

success
enum<boolean>
required
Available options:
true
data
object
required