> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Company

> Update product info, brand context, reply tracking, and default sending identity

Update company product info, brand context, reply-tracking settings, and account-wide From and Reply-To defaults. A new profile is created when an address does not already have one. From addresses must use a configured, verified sending domain; Reply-To addresses may use any valid mailbox. The current read-only retention period is returned as `replyRetentionDays` by the company endpoints.

## Request

<ParamField path="companyId" type="string" required>
  Company ID.
</ParamField>

<ParamField body="primaryColor" type="string">
  Primary brand color as a 6-digit hex value, for example `#0ea5e9`. Also
  updates the email theme's primary color unless `emailTheme` sets one
  explicitly.
</ParamField>

<ParamField body="emailTheme" type="object | null">
  Default email theme applied to campaigns, sequences, and transactional
  email. Partial update: omitted fields keep their current value (or the
  preset default), and numeric values are clamped to supported ranges. Pass
  `null` to reset to the platform default theme. Supported fields:

  * `presetId`: `default`, `soft`, `editorial`, or `bold`
  * `colors`: 6-digit hex values for `primary`, `background`, `surface`,
    `text`, `mutedText`, `heading`, `border`, `link`
  * `typography`: numbers for `baseFontSize`, `leadFontSize`,
    `baseLineHeight`, `heading1Size`, `heading2Size`, `heading3Size`,
    `buttonFontSize`
  * `layout`: numbers for `contentWidth`, `containerPaddingX`,
    `containerPaddingY`, `blockSpacing`, `baseRadius`, `sectionPadding`,
    `buttonPaddingX`, `buttonPaddingY`, `borderedBlockPadding`

  The auto-appended unsubscribe footer has its own colors stored under
  `brandColors.footerTheme` (`backgroundColor`, `companyTextColor`,
  `metaTextColor`, `linkColor`, `borderColor`). When changing them via
  `brandColors`, send the merged object - the field is replaced wholesale.
</ParamField>

<ParamField body="description" type="string">
  Short product or company summary.
</ParamField>

<ParamField body="companyContext" type="string">
  Basic product/company knowledge AI should use when writing emails.
</ParamField>

<ParamField body="toneVoice" type="string">
  Tone of voice guidance for generated copy.
</ParamField>

<ParamField body="valueProps" type="array">
  Value propositions, usually objects with `title` and `description`.
</ParamField>

<ParamField body="senderProfileId" type="string">
  Existing sender profile to make the account-wide default, and the profile
  `fromName` renames. List IDs with [GET /v1/sender-profiles](/api-reference/sender-profiles/list).
  Mutually exclusive with `fromEmail`.
</ParamField>

<ParamField body="fromEmail" type="string">
  Account-wide default From address. Its domain must already be configured and
  verified.
</ParamField>

<ParamField body="fromName" type="string">
  Display name of the default From profile. Sent on its own it renames the
  current default profile without changing its address; with `senderProfileId`
  it renames that profile; with `fromEmail` it names the profile for that
  address. If the address already carries several display names, the request is
  rejected - pass `senderProfileId` to say which one to rename.
</ParamField>

<ParamField body="replyProfileId" type="string">
  Existing reply profile to make the account-wide default, and the profile
  `replyToName` renames. Mutually exclusive with `replyTo`.
</ParamField>

<ParamField body="replyTo" type="string">
  Account-wide default Reply-To address.
</ParamField>

<ParamField body="replyToName" type="string">
  Display name of the default Reply-To profile. Sent on its own it renames the
  current default profile without changing its address; with `replyProfileId` it
  renames that profile; with `replyTo` it names the profile for that address.
</ParamField>

<ParamField body="replyTrackingEnabled" type="boolean">
  Enable or disable inbound reply capture for this company.
</ParamField>

<ParamField body="replyTrackingDomainMode" type="string">
  Reply domain mode: `sequenzy` for the managed inbound domain or `custom` for a
  configured custom domain.
</ParamField>

<ParamField body="forwardReplies" type="boolean">
  Enable or disable forwarding captured replies to the configured mailbox.
</ParamField>

```bash theme={null}
curl -X PATCH "https://api.sequenzy.com/api/v1/companies/company_abc123" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "primaryColor": "#0ea5e9",
    "emailTheme": {
      "colors": { "mutedText": "#4b5563" },
      "typography": { "baseFontSize": 16 }
    },
    "companyContext": "Acme helps SaaS teams send lifecycle emails from product events.",
    "toneVoice": "clear, direct, warm",
    "fromEmail": "hello@acme.com",
    "fromName": "Acme",
    "replyTo": "support@acme.com",
    "replyToName": "Acme Support",
    "replyTrackingEnabled": true,
    "replyTrackingDomainMode": "sequenzy",
    "forwardReplies": true
  }'
```

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "company": {
      "id": "company_abc123",
      "name": "Acme",
      "primaryColor": "#0ea5e9",
      "brandColors": { "primary": "#0ea5e9" },
      "companyContext": "Acme helps SaaS teams send lifecycle emails from product events.",
      "toneVoice": "clear, direct, warm",
      "emailLengthPreference": "balanced",
      "defaultSenderProfileId": "sender_abc123",
      "defaultFromName": "Acme",
      "defaultFromEmail": "hello@acme.com",
      "defaultReplyProfileId": "reply_abc123",
      "defaultReplyToName": "Acme Support",
      "defaultReplyToEmail": "support@acme.com",
      "replyTrackingEnabled": true,
      "replyTrackingDomainMode": "sequenzy",
      "forwardReplies": true,
      "replyRetentionDays": 30
    }
  }
  ```

  ```json 400 theme={null}
  {
    "success": false,
    "error": "primaryColor must be a 6-digit hex color such as #f97316."
  }
  ```

  ```json 401 theme={null}
  {
    "success": false,
    "error": "Unauthorized"
  }
  ```

  ```json 404 theme={null}
  {
    "success": false,
    "error": "Company not found"
  }
  ```
</ResponseExample>
