---
title: "Update company settings"
method: PUT
path: "/company/settings"
tags: ["Company"]
---

# Update company settings

`PUT /company/settings`

Update company settings. Only provided fields will be updated.

## Request body

- object
  - `default_expiration_hours` integer — Default signing request expiration in hours
  - `require_terms_acceptance` boolean — Whether signers must accept terms before signing
  - `show_custom_branding_only` boolean
  - `require_otp_verification` boolean
  - `allow_presigning_download` boolean
  - `disable_guided_navigation` boolean
  - `show_signature_frame` boolean
  - `show_partial_watermark` boolean
  - `email_local_part` string
  - `color_primary` string, nullable
  - `color_primary_fg` string, nullable
  - `color_background` string, nullable
  - `color_foreground` string, nullable
  - `color_card` string, nullable
  - `color_border` string, nullable
  - `color_accent` string, nullable
  - `color_accent_fg` string, nullable
  - `color_canvas` string, nullable
  - `color_muted` string, nullable
  - `color_muted_fg` string, nullable
  - `show_qr_code` boolean, nullable — Show a QR code on the signing page that lets signers continue on their phone. This is the company-level default; workspaces, templates, and signing requests can override it.
  - `completion_title` string, nullable — Company-level default heading for the completion page shown after signing. Null (or an empty string) clears the company default.
  - `completion_message` string, nullable — Company-level default body text for the completion page shown after signing. Null (or an empty string) clears the company default.
  - `completion_redirect_url` string, uri, nullable — Company-level default URL the signer is redirected to from the completion page. Must use https://. Null (or an empty string) clears the company default.
  - `completion_redirect_delay` integer, nullable — Company-level default number of seconds the completion page waits before redirecting (0 redirects immediately). Null clears the company default.
  - `default_timezone` string — IANA timezone identifier (e.g. "Europe/Paris", "America/New_York"). Set to null to reset to UTC.
  - `language` 'en' | 'es' | 'it' | 'pt' | 'fr' | 'de' | 'el' | 'ru' | 'pl' | 'cs' | 'sv' | 'nl' | 'ro' | 'nb' — Default language for company emails and certificates.

## Response `200`

Company settings updated successfully

- CompanySettings
  - `default_expiration_hours` integer, required
  - `require_terms_acceptance` boolean
  - `show_custom_branding_only` boolean
  - `require_otp_verification` boolean
  - `allow_presigning_download` boolean
  - `disable_guided_navigation` boolean
  - `show_signature_frame` boolean
  - `show_partial_watermark` boolean
  - `email_local_part` string
  - `color_primary` string, nullable
  - `color_primary_fg` string, nullable
  - `color_background` string, nullable
  - `color_foreground` string, nullable
  - `color_card` string, nullable
  - `color_border` string, nullable
  - `color_accent` string, nullable
  - `color_accent_fg` string, nullable
  - `color_canvas` string, nullable
  - `color_muted` string, nullable
  - `color_muted_fg` string, nullable
  - `show_qr_code` boolean, nullable — Show a QR code on the signing page that lets signers continue on their phone. This is the company-level default; workspaces, templates, and signing requests can override it.
  - `completion_title` string, nullable — Company-level default heading for the completion page shown after signing. Workspaces, templates, and signing requests can override it. Null means no company default, so the built-in translated heading is used.
  - `completion_message` string, nullable — Company-level default body text for the completion page shown after signing. Workspaces, templates, and signing requests can override it. Null means no company default, so the built-in translated message is used.
  - `completion_redirect_url` string, uri, nullable — Company-level default URL the signer is redirected to from the completion page. Must use https://. Workspaces, templates, and signing requests can override it. Null means no redirect unless a lower level sets one.
  - `completion_redirect_delay` integer, nullable — Company-level default number of seconds the completion page waits before redirecting (0 redirects immediately). Only applies when a redirect URL resolves; the page falls back to 5 seconds when no level sets a delay.
  - `default_timezone` string — IANA timezone identifier used as the company-wide default for certificates and email timestamps.
  - `language` 'en' | 'es' | 'it' | 'pt' | 'fr' | 'de' | 'el' | 'ru' | 'pl' | 'cs' | 'sv' | 'nl' | 'ro' | 'nb' — Default language for company emails and certificates.

## Other responses

- `400` — Bad Request - Validation failed
- `401` — Unauthorized - Invalid or missing API key
- `429` — Too Many Requests - Rate limit exceeded

---

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