---
title: "Update the current organization"
method: PATCH
path: "/organization"
tags: ["Organizations"]
---

# Update the current organization

`PATCH /organization`

## Request

- Base URL: `https://ledgerhq.pro/api/v1`
- URL: `https://ledgerhq.pro/api/v1/organization`
- Auth: one of:
  - HTTP bearer and API key in header `x-organization-id`
  - HTTP bearer and API key in header `x-organization-id`

Organization settings update. Logo or color input updates the one shared firm identity used by reports, email, and HTML client pages; legacy profile fields remain accepted for compatibility. A request containing only managed-company autoPostEnabled requires ordinary company access (view:data), so any assigned firm staff member can activate Core AI posting or Tally AI for that company. Firm-workspace autoPostEnabled and every other organization setting remain owner-only (manage:billing). OAuth/agent credentials also require organizations:write. LedgerHQ owns the 1% best-guess AI category posting minimum. Legacy aiAutopostMinConfidence inputs are ignored compatibility no-ops. Response always includes appliedFields and ignoredDeprecatedFields receipts.

## Request body

- object
  - `name` string
  - `slug` string
  - `country` string, nullable
  - `logo` string, nullable
  - `reportPrimaryColor` string
  - `reportAccentColor` string
  - `emailLogo` string, nullable
  - `emailPrimaryColor` string, nullable
  - `emailAccentColor` string, nullable
  - `htmlLogo` string, nullable
  - `whiteLogo` string, nullable: White raster firm logo. Does not replace the color logo.
  - `logoVariants` FirmLogoVariants: Per-surface color/white logo choices. Omitted choices default to color; PATCH merges supplied choices. Missing white artwork falls back to color on white.
    - `login` 'color' | 'white'
    - `portal` 'color' | 'white'
    - `invitation` 'color' | 'white'
    - `email` 'color' | 'white'
    - `invoiceEmail` 'color' | 'white'
    - `webReport` 'color' | 'white'
    - `pdfReport` 'color' | 'white'
    - `onboarding` 'color' | 'white'
    - `engagementLetter` 'color' | 'white'
    - `clientRequest` 'color' | 'white'
    - `bankConnection` 'color' | 'white'
    - `favicon` 'color' | 'white'
  - `htmlPrimaryColor` string, nullable
  - `htmlAccentColor` string, nullable
  - `businessType` string, nullable
  - `defaultCurrency` string
  - `fiscalYearStartMonth` integer
  - `autoPostEnabled` boolean: Activation switch for Core AI posting or Tally AI unattended work on the current firm or managed-company bookkeeping workspace.
  - `codingEmailsEnabled` boolean: Legacy compatibility input. It is ignored and never written; autoPostEnabled is the Tally AI activation switch for each bookkeeping workspace.
  - `aiAutopostMinConfidence` integer: Legacy compatibility input. It is accepted as an ignoredDeprecatedFields no-op; LedgerHQ uses a 1% best-guess posting minimum.
  - `countryCode` string, nullable
  - `taxId` string, nullable
  - `businessRegistrationNumber` string, nullable
  - `legalEntityType` string, nullable
  - `addressStreet` string, nullable
  - `addressCity` string, nullable
  - `addressState` string, nullable
  - `addressPostalCode` string, nullable
  - `addressCountry` string, nullable
  - `contactPhone` string, nullable
  - `contactEmail` string, nullable
  - `contactWebsite` string, nullable
  - `defaultPaymentTerms` string, nullable
  - `industrySector` string, nullable
  - `referralSource` string, nullable
  - `emailSenderName` string: Firm workspace only. Name part of the firm's client email address (name@ledgerhq.pro) shown on request emails. Invalid or reserved names return 400; a name another firm uses returns 409.

## Response `200`

Updated organization with bookkeeping-workspace Core or Tally AI activation receipts

- object
  - `organization` OrganizationWithCodingPolicy, required: Organization row plus additive effectiveFirmPackage and codingPolicy projection. Raw firmPackage remains for compatibility.
    - `whiteLogo` string, nullable: White firm logo for selected dark surfaces.
    - `logoVariants` FirmLogoVariants: Per-surface color/white logo choices. Omitted choices default to color; PATCH merges supplied choices. Missing white artwork falls back to color on white.
      - `login` 'color' | 'white'
      - `portal` 'color' | 'white'
      - `invitation` 'color' | 'white'
      - `email` 'color' | 'white'
      - `invoiceEmail` 'color' | 'white'
      - `webReport` 'color' | 'white'
      - `pdfReport` 'color' | 'white'
      - `onboarding` 'color' | 'white'
      - `engagementLetter` 'color' | 'white'
      - `clientRequest` 'color' | 'white'
      - `bankConnection` 'color' | 'white'
      - `favicon` 'color' | 'white'
    - `clientPortalUrl` string, uri, nullable: Permanent firm-branded client login URL, shared by the firm's companies. Uses existing firm branding settings.
    - `emailSenderName` string, nullable: Name part of the firm's client email address. Guessed from the firm name on first use.
    - `clientEmailAddress` string, email, nullable: Firm workspace only. Address request emails to companies are sent from, e.g. sentinelwealth@ledgerhq.pro. Direct mail to it is forwarded to the firm contact email.
    - `id` string, uuid
    - `name` string
    - `slug` string
    - `workspaceType` 'firm' | 'client'
    - `firmOrganizationId` string, uuid, nullable
    - `firmPackage` 'core' | 'tally' | 'null', nullable: Raw stored package. Firms store core|tally; companies store null and inherit through effectiveFirmPackage.
    - `effectiveFirmPackage` 'core' | 'tally'
    - `role` 'owner' | 'admin' | 'staff_admin' | 'member': Role in the selected organization context.
    - `firmRole` 'owner' | 'admin' | 'member' | 'null', nullable: Firm role when the selected context is a managed company.
    - `accessMode` 'firm' | 'client_portal' | 'tax_read_only' | 'firm_identity_only': The authenticated access path for the selected organization.
    - `companyAccessId` string, uuid, nullable
    - `autoPostEnabled` boolean
    - `codingEmailsEnabled` boolean: Legacy stored value returned for compatibility only. It has no runtime authority and is not written by organization updates.
    - `aiAutopostMinConfidence` integer: Legacy stored value returned for compatibility only. LedgerHQ uses the 1% best-guess posting minimum and ignores writes to this field.
    - `codingPolicy` OrganizationCodingPolicy
      - `effectiveFirmPackage` 'core' | 'tally', required: Firm-owned commercial package that owns bookkeeping automation. Companies inherit this from their firm.
      - `mode` 'core_confidence' | 'tally_ordinary', required: core_confidence and tally_ordinary use the bookkeeping workspace activation switch with LedgerHQ's 1% best-guess confidence minimum.
      - `autoPostEnabled` boolean, required: Stored bookkeeping-workspace activation switch. Effective for Core AI posting and Tally AI unattended work on firm and managed-company workspaces.
      - `aiAutopostMinConfidence` integer, required: Fixed LedgerHQ confidence floor, currently 70. Legacy writes are ignored_deprecated.
      - `autoPostEnabledEffect` 'effective' | 'ignored_deprecated', required
      - `aiAutopostMinConfidenceEffect` 'ignored_deprecated', required
  - `appliedFields` string[], required: Fields that were validated and persisted on this request
  - `ignoredDeprecatedFields` string[], required: Legacy coding fields accepted for compatibility without mutation, including aiAutopostMinConfidence on every package and workspace

## Other responses

- `default`: Error response

---

[API](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api.md) · [All operations](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/revisions/9a8269f0a586?raw)
