---
title: "Update company settings"
method: PATCH
path: "/v1/companies/{company_id}/company_settings"
tags: ["Company settings"]
---

# Update company settings

`PATCH /v1/companies/{company_id}/company_settings`

## Request

- Base URL: `https://api.cardda.com`
- URL: `https://api.cardda.com/v1/companies/{company_id}/company_settings`
- Auth: HTTP bearer

Updates the self-service company settings. Only `requires_refund_document`,
`review_reminder_cadence` and `external_notification_preferences` are
writable — the review-reminder age guardrails
(`review_reminder_max_age_days` / `review_reminder_min_age_days`) are
server-side and cannot be changed here.

## Path parameters

- `company_id` string, uuid, required

## Parameters

- `#/paths/~1v1~1users/get/parameters/0` (unresolved $ref)

## Request body

- object
  - `requires_refund_document` boolean
  - `review_reminder_cadence` 'disabled' | 'daily' | 'weekly' | 'monthly'
  - `external_notification_preferences` object

## Response `200`

The updated company settings.

- CompanySettings: Per-company preferences (refund document requirement, review reminders, external notifications).
  - `id` string, uuid, required
  - `company_id` string, uuid, required
  - `requires_refund_document` boolean: Whether reimbursements must carry a supporting document.
  - `review_reminder_cadence` 'disabled' | 'daily' | 'weekly' | 'monthly': Cadence for the "pending review" reminder. Only the cadence is self-service; the age guardrails (`review_reminder_max_age_days` / `review_reminder_min_age_days`) are server-side and not client-editable.
  - `review_reminder_max_age_days` integer: Server-side guardrail (read-only). Oldest transaction age still reminded about.
  - `review_reminder_min_age_days` integer: Server-side guardrail (read-only). Youngest transaction age reminded about.
  - `external_notification_preferences` object: Toggles for the (closed) set of external (recipient/vendor-facing) notifications. Each key is a boolean; unset keys default to `true`.
    - `payroll_recipient` boolean
    - `recipient_enrollment` boolean
    - `banking_transaction_recipient` boolean
    - `account_payment_vendor` boolean
    - `vendor_enrollment` boolean
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `401`: Unauthorized
- `404`: Company settings not found
- `422`: Validation failed

---

[API](https://skmtc.dev/cardda/apis/banking-api.md) - [All operations](https://skmtc.dev/cardda/apis/banking-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cardda/apis/banking-api/revisions/ff1aeb3fda8b?raw)
