Skip to main content
POST /v1/name-checks checks a proposed name against CAC’s naming rules and its registry of existing businesses. Run it while your user is choosing a name, before they pay: a registration whose name CAC rejects costs your user time.
Response
  • name comes back as CAC will record it: upper case, single spaces.
  • available is the answer. When it’s false, reason says why in a stable code you can branch on, and a message you can show.
  • requires_certificate: true means the name is available but CAC will ask for a professional certificate for the profession the name implies. Upload it as a supporting_document.
  • suggested_names offers alternatives when the name is taken or too similar.

Line of business

line_of_business must be one of CAC’s options, exactly as written. Fetch the list once and offer it as a picker:
Response (481 values, abridged)
Anything else is a 400:
400

Reason codes

New codes may be added; treat an unknown code like not_accepted and show the message.

In test mode

Test mode applies the naming rules but never searches the registry, so any name that follows the rules comes back available. Force any other outcome with ?simulate= and a reason code (or requires_certificate). See Test mode.

Limits

Live name checks query CAC’s registry, so they are rate limited per organization. A 429 comes with Retry-After; a 503 name_check_unavailable means CAC’s search isn’t answering, so try again shortly.