---
title: "Get saved AI email style"
method: GET
path: "/email-ai-style"
tags: ["Email AI Style"]
---

# Get saved AI email style

`GET /email-ai-style`

Requires emails:read. Returns the saved appearance and its revision. Read and review this state before replacing or clearing it.

## Response `200`

Current saved-style state

- EmailAiStyleState
  - `success` boolean, required
  - `style` object, nullable, required — Independent version 1 appearance snapshot. No source copy, links or bindings are stored in block styles. Unsupported versions are returned as null.
    - `version` 1
    - `id` string
    - `sourceEmailId` string
    - `sourceName` string
    - `savedAt` string, date-time
    - `theme` object
    - `fontFamily` string
    - `emailPreset` 'branded' | 'minimal'
    - `blocks` object[] — Appearance records keyed by block type and discriminator, not source email blocks.
    - `layout` object — Structure guidance captured with the appearance. Absent on snapshots saved before layout habits existed.
      - `outline` string[] — Top-level block descriptors in source order (for example heading:1, divider:dots, button:pill), excluding logo and footer scaffolding.
      - `rules` EmailAiStyleLayoutRule[] — Confirmed layout habits. Generation follows them in prompts and inserts content-free companions (dividers, spacers) deterministically.
        - `id` string, required — Stable rule identifier, for example around|button|divider:dots. Pass it in layoutRuleIds to keep the habit.
        - `kind` 'opener' | 'around' | 'before' | 'after', required
        - `block` string, required — Target block type, for example button or video.
        - `companion` string — Content-free companion descriptor for around/before/after rules, for example divider:dots.
        - `description` string, required
    - `notes` string — Free-text design notes supplied when saving, up to 500 characters.
  - `revisionId` string, nullable, required — Pass this as expectedStyleId on the next write. An unsupported style version still returns its revision for replacement or clearing.
  - `canManage` boolean, required — Whether your key scopes and workspace role permit saving or clearing.

## Other responses

- `401` — Missing or invalid API key
- `403` — Missing required scope or workspace role cannot perform this operation
- `404` — Company or accessible source email not found
- `503` — The database was temporarily unavailable. The request may be retried after the delay in Retry-After.

## Changes

- **2026-09-06** `b11064a8f41b` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/email-ai-style/get.md)

---

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