Skip to content
Pidgely Docs

API reference · Templates

Get the organization's brand

GEThttps://api.pidgely.com/brand
View as Markdown

Every plan. The builder theme and brand profile with their state: none (nothing saved), auto (applied by the automatic import when a domain was added, waiting for a review) or saved (saved or confirmed by a user). auto_import is the latest automatic import: pending, found (with the proposal in result, and applied when it became the theme) or failed with a reason: no_site, blocked, timeout, nothing_found or error. suggested_website is the address to prefill when importing by hand.

Every plan. Full access API keys. The builder theme and brand profile with their state (none: nothing saved; auto: applied by the automatic import when a sending domain was added, waiting for a review; saved: saved or confirmed by a user), the website to prefill in "Import brand from website", and the latest automatic import. Adding a domain to an organization without a saved theme reads its registrable parent domain (send.acme.com.br reads https://acme.com.br/, then https://www.acme.com.br/) in the background, once per parent domain, without AI. A brand found is applied only when nothing is saved, and never replaces a saved theme.

Authorization: Bearer pdg_…. An API key with full_access. A sending_access key gets 401 restricted_api_key.

Request

This endpoint is not in the SDKs yet; call it over HTTP.

cURL
curl -X GET 'https://api.pidgely.com/brand' \
  -H "Authorization: Bearer $PIDGELY_API_KEY"

Response

200 OK

JSON
{
  "object": "brand",
  "state": "auto",
  "theme": {
    "brand_color": "#2563eb",
    "text_color": "#0f172a",
    "background_color": "#f2f4f9",
    "content_color": "#ffffff",
    "button_text_color": "#ffffff",
    "font": "system",
    "web_font": "Poppins",
    "content_width": 600,
    "radius": 8,
    "logo_url": "https://api.pidgely.com/files/brand/8kQ2v1fWbqzJcR0mT5yH3xLa9sPn6dEe.png",
    "logo_width": 160,
    "logo_alt": "Acme",
    "logo_align": "left"
  },
  "theme_saved": true,
  "brand": {
    "name": "Acme",
    "website": "https://acme.com/",
    "socials": [
      {
        "network": "x",
        "url": "https://x.com/acme"
      }
    ],
    "imported_from": "https://acme.com/"
  },
  "brand_saved": true,
  "suggested_website": "https://acme.com/",
  "brand_import": true,
  "auto_import": {
    "object": "brand_auto_import",
    "id": "0199d7f8-1b2c-7d3e-8f4a-5b6c7d8e9f01",
    "domain": "acme.com",
    "source_domain": "send.acme.com",
    "status": "found",
    "reason": null,
    "url": "https://acme.com/",
    "applied": true,
    "dismissed": false,
    "created_at": "2026-10-12 16:44:41.000000+00",
    "finished_at": "2026-10-12 16:44:41.000000+00",
    "result": {
      "object": "brand_import",
      "url": "https://acme.com/",
      "name": "Acme",
      "…": "(same fields as Import brand)"
    }
  }
}

Response fields

Name Type Required Description
object string Yes Object type. One of brand.
state string Yes none: no theme saved; auto: applied by the automatic import, waiting for a review; saved: saved or confirmed by a user. One of none, auto, saved.
theme object Yes Global look of a builder e-mail. Colors are hex (#rrggbb).
theme.brand_color string No —
theme.text_color string No —
theme.background_color string No —
theme.content_color string No Background of the content card.
theme.link_color string No —
theme.font string No One of system, inter, helvetica, georgia, verdana, trebuchet.
theme.content_width integer No Between 480 and 800.
theme.radius integer No Between 0 and 32.
theme.logo_url string No —
theme.logo_width integer No —
theme.logo_alt string No —
theme.logo_align string No One of left, center, right.
theme.logo_dark_url string No Logo variant shown in dark mode by clients that support it (Apple Mail, iOS); others keep logo_url.
theme.button_text_color string No Label color of buttons on the brand color; empty picks white or near-black automatically.
theme.web_font string No Google Fonts family loaded where e-mail clients support web fonts; font is the fallback stack.
theme.heading_font string No Heading stack (empty = font). One of system, inter, helvetica, georgia, verdana, trebuchet.
theme.heading_web_font string No Google Fonts family for headings (empty = web_font).
theme_saved boolean Yes —
brand object Yes The organization's identity used by AI assist (sender name, links, footer) and the brand import.
brand.name string No Display name.
brand.website string No —
brand.address string No Postal address shown in footers.
brand.socials object[] No —
brand.socials[].network string Yes One of x, linkedin, instagram, facebook, youtube, github, tiktok, discord, website.
brand.socials[].url string Yes Public https URL that receives the events.
brand.imported_from string No Page the brand was imported from.
brand_saved boolean Yes —
suggested_website string Yes Website to prefill in "Import brand from website" (saved website, else the parent of a verified domain, else the domain of the automatic import); empty when none.
brand_import boolean Yes Brand import is configured on the server.
auto_import object | null Yes The latest automatic import, or null.

Errors

Errors have the shape {"statusCode", "name", "message"}. See Errors for the full list.

Status Name When
401 missing_api_key, restricted_api_key No Authorization: Bearer header, or a sending_access key called an endpoint that needs full_access.
429 rate_limit_exceeded Too many requests per second. Wait for Retry-After seconds.