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

# Check name eligibility

> Check whether a prospective business name can be registered in a US jurisdiction — naming-rule compliance and registry availability — before you file a formation.

export const iconProps = (variant = "default") => {
  const iconVariants = {
    default: "palm-icon-default",
    horizontal: "palm-icon-horizontal",
    stack: "palm-icon-stack",
    navigation: "palm-icon-navigation",
    darkHorizontal: "palm-icon-dark-horizontal",
    dark_stack: "palm-icon-dark-stack",
    getStarted: "palm-icon-get-started"
  };
  return iconVariants[variant] ?? iconVariants.default;
};

export const PalmCard = ({title, description, icon, variant = "default", href, items}) => {
  if (variant === "getStarted") {
    return <div data-card className="pc-wrapper-get-started flex flex-col gap-4 border border-[rgba(4,44,47,0.1)] rounded-2xl p-6">
        <div className="pc-wrapper-inner-get-started">
          {icon !== undefined && <div className="pc-icon-container-get-started">{icon}</div>}
          {title !== undefined && <span className="pc-title-get-started">{title}</span>}
        </div>
        {items && items.length > 0 && <ul className="pc-items-get-started">
            {items.map((item, i) => <li key={i}>
                <a href={item.href} className="pc-item-link-get-started">{item.label}</a>
              </li>)}
          </ul>}
      </div>;
  }
  const variants = {
    default: {
      wrapper: "pc-wrapper-default",
      title: "pc-title",
      description: "pc-description"
    },
    horizontal: {
      wrapper: "pc-wrapper-card",
      title: "pc-title-horizontal",
      description: "pc-description"
    },
    stack: {
      wrapper: "pc-wrapper-stack",
      title: "pc-title-stack",
      description: "pc-description"
    },
    darkHorizontal: {
      wrapper: "pc-wrapper-dark-horizontal",
      title: "pc-title-dark-horizontal",
      description: "pc-description-dark-horizontal"
    },
    navigation: {
      wrapper: "pc-wrapper-navigation",
      title: "pc-title-navigation",
      description: "pc-description-navigation"
    },
    dark_stack: {
      icon: "pc-icon-card",
      title: "pc-title",
      description: "pc-description"
    }
  };
  const styles = variants[variant] ?? variants.default;
  const inner = <a data-card href={href ? href : '#'} className={`no-underline flex flex-col h-full items-start gap-4 p-6 rounded-2xl hover:opacity-80 transition-opacity ${styles.wrapper}`}>
      {icon !== undefined && <span className="icon-wrapper">{icon}</span>}
      {(title !== undefined || description !== undefined) && <div className="flex flex-col min-w-0">
          {title !== undefined && <span className={styles.title}>{title}</span>}
          {description !== undefined && <span className={styles.description}>{description}</span>}
        </div>}
    </a>;
  return inner;
};

Every formation Palm files runs a name-eligibility check automatically, so a non-compliant name is caught before it ever reaches the state. This endpoint exposes that same check on its own: call it earlier in your flow, the moment your customer proposes a name, and surface problems before they commit to it. It covers all 50 US states and DC, across LLCs, PLLCs, corporations, and professional corporations.

Naming problems are the leading reason formations get rejected: a missing suffix, a restricted word, a name already taken. Catching them up front turns a would-be filing rejection into an inline correction in your onboarding flow.

***

## What it does

Given a prospective name, a jurisdiction, and an entity type, Palm returns a single answer: is this name eligible to register? Two things go into that answer: whether the name follows the jurisdiction's naming rules, and whether it is still available in the state registry.

When a name has a problem, Palm explains it in plain language, and where the fix is unambiguous (a missing or misspelled entity designator), the violation carries a `fix` describing the correction. Ask for suggestions with `suggest=true` and Palm returns ready-to-use candidate names in `alternatives`. Not every problem is a hard block: some issues stop registration outright, while others, such as a word that needs a regulator's sign-off, come back as warnings rather than blocks. So a name can be eligible and still carry a caveat worth showing your customer.

## When to use it

* **Earlier in your flow:** Check a name the moment your customer proposes it, before they commit and before you build a formation request.
* **Inline validation:** Validate the name field in your formation flow in real time, and surface the correction inline.
* **Name exploration:** Ask for eligible alternatives when the requested name does not work.
* **Content screening:** Pass `screen=true` to also flag content problems the naming rules can't catch: obscenity, or a name deceptively similar to a government agency. These come back as `advisory` violations and increase response time.

## The response

The response is the decision layer: one eligibility answer, the reasons behind it, and, when a violation is auto-fixable, a `fix` that describes the correction.

| Field                                                         | Type             | Description                                                                                                                                                                                                      |
| ------------------------------------------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <span className="initial-bold--success">`eligible`</span>     | boolean          | `true` when the name is both compliant and available. The headline answer.                                                                                                                                       |
| <span className="initial-bold--success">`compliant`</span>    | boolean          | `true` when the name has no blocking naming-rule violations.                                                                                                                                                     |
| <span className="initial-bold--success">`available`</span>    | boolean          | `true` when no active registered business holds this exact name.                                                                                                                                                 |
| <span className="initial-bold--success">`violations`</span>   | array            | Naming-rule problems, each with a `severity` and a plain-language `message`. An auto-fixable problem — a missing or misspelled designator — also carries a `fix` (`reason` and `message`). Empty when compliant. |
| <span className="initial-bold--success">`alternatives`</span> | array of strings | Eligible alternative names, when you request suggestions.                                                                                                                                                        |

Each violation carries a `severity`:

| Severity                                                        | What it means                                                                                  |
| --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| <span className="initial-bold--success">`error`</span>          | A hard block. The name is not compliant and cannot register as submitted.                      |
| <span className="initial-bold--success">`needs_approval`</span> | The name is usable, but only with sign-off from a named agency. Does not affect `eligible`.    |
| <span className="initial-bold--success">`advisory`</span>       | A softer content concern from screening (only when `screen=true`). Does not affect `eligible`. |

<Note>
  A name can return `eligible: true` and still carry a violation. A restricted word means your customer must secure agency approval before the state will register the name, and a screening `advisory` flags a content concern worth a look. Read `violations` even when the name is eligible.
</Note>

### Eligible

The name satisfies every rule and is free in the registry.

```json wrap JSON theme={null}
{
  "eligible": true,
  "compliant": true,
  "violations": [],
  "available": true,
  "alternatives": []
}
```

### Not eligible, with a fix

`Maple Street Ventures` is missing the required LLC designator, so it is not compliant. The violation carries a `fix` describing the correction.

```json wrap JSON theme={null}
{
  "eligible": false,
  "compliant": false,
  "violations": [
    {
      "rule": "required_designator",
      "severity": "error",
      "message": "Texas LLC names must end with an accepted designator such as 'Limited Liability Company' or 'Limited Company' or 'LLC' or 'L.L.C.' or 'LC' or 'L.C.'.",
      "fix": {
        "reason": "append_designator",
        "message": "Add the required 'LLC' designator."
      }
    }
  ],
  "available": true,
  "alternatives": []
}
```

### Eligible, but needs agency approval

`Golden Bear Bank Trust` uses restricted financial-services words. The name is eligible, but registration requires sign-off from the named agencies: a warning to surface, not a block.

```json wrap JSON theme={null}
{
  "eligible": true,
  "compliant": true,
  "violations": [
    {
      "rule": "restricted_word",
      "severity": "needs_approval",
      "message": "Using bank, trust, trustee, insurance, insurer in a California corporation name requires approval from Commissioner of Financial Protection and Innovation; California Insurance Commissioner."
    }
  ],
  "available": true,
  "alternatives": []
}
```

### Eligible, with a content-screening advisory

With `screen=true`, `Federal Reserve Holdings` clears the naming rules and the registry but trips content screening for implying an affiliation with a government agency. The name is eligible; the `advisory` is a concern to review, not a block.

```json wrap JSON theme={null}
{
  "eligible": true,
  "compliant": true,
  "violations": [
    {
      "rule": "deceptive_agency_similarity",
      "severity": "advisory",
      "message": "The name may imply an affiliation with a government agency."
    }
  ],
  "available": true,
  "alternatives": []
}
```

### With alternatives

When you request suggestions on a name that is not eligible, Palm returns eligible alternatives alongside the violation's `fix`. Alternatives are generated and vary between calls.

```json wrap JSON theme={null}
{
  "eligible": false,
  "compliant": false,
  "violations": [
    {
      "rule": "required_designator",
      "severity": "error",
      "message": "Texas LLC names must end with an accepted designator such as 'Limited Liability Company' or 'Limited Company' or 'LLC' or 'L.L.C.' or 'LC' or 'L.C.'.",
      "fix": {
        "reason": "append_designator",
        "message": "Add the required 'LLC' designator."
      }
    }
  ],
  "available": true,
  "alternatives": [
    "Maple Street Holdings, LLC",
    "Maple Street Capital Limited Liability Company",
    "Maple Street Partners, LLC",
    "Maple Avenue Ventures, L.L.C.",
    "Maple Street Group Limited Company"
  ]
}
```

For the full request and parameter reference, see the [API Reference](/api-reference/v1/registry/check-business-name-eligibility).

## From check to formation

The same rules run again when you submit a formation, so a non-compliant name is rejected before a filing is created rather than after. A name that passes here is not re-litigated at filing, so once a name is eligible, carry it straight into [Form a business](/comply/form-a-business).

## Next steps

<div className="grid lg:grid-cols-2 gap-6 mt-6">
  <PalmCard variant="navigation" title="Search the Registry" description="Search all US registered businesses in the network by name, jurisdiction, or location." icon={<Icon className={iconProps("navigation")} icon="arrow-right" />} href="/onboard/registry-search" />

  <PalmCard variant="navigation" title="Form a business" description="Register a new LLC or Corporation with any US state." icon={<Icon className={iconProps("navigation")} icon="arrow-right" />} href="/comply/form-a-business" />

  <PalmCard variant="navigation" title="Verify a business" description="Confirm that a business entity is real, registered, and in good standing." icon={<Icon className={iconProps("navigation")} icon="arrow-right" />} href="/verify/verify-a-business" />

  <PalmCard variant="navigation" title="API Reference" description="Full reference for the name-eligibility endpoint." icon={<Icon className={iconProps("navigation")} icon="arrow-right" />} href="/api-reference/v1/registry/check-business-name-eligibility" />
</div>
