---
title: "Check legal-entity name availability"
method: POST
path: "/api/v1/registries/legal_entities/name_availability"
tags: ["Legal entities"]
---

# Check legal-entity name availability

`POST /api/v1/registries/legal_entities/name_availability`

## Request

- Base URL: `https://portal.eprospera.com`
- URL: `https://portal.eprospera.com/api/v1/registries/legal_entities/name_availability`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
- TypeScript: <https://skmtc.dev/eprospera/apis/e-pro-spera-api/docs/api/v1/registries/legal_entities/name_availability/post.ts> (a function with typed inputs; its response is checked against the schema)

Checks for an existing registered name using the same case-insensitive exact-name and entity-option rule as incorporation. Send the name without its legal extension and an optionId (for example llc). Accepts a Standard Key or an Agent Key with agent:registry.search. This read-only check does not reserve a name or guarantee approval; drafts are not reservations, and the check is repeated during incorporation.

Account deactivation revokes personal API keys, including Agent Keys, and OAuth authorizations. Account reactivation requires new API keys, including new Agent Keys, and consent; previously issued credentials remain invalid.

## Request body

- object
  - `name` string, required
  - `optionId` 'llc' | 'for_profit_corp' | 'statutory_trust' | 'foreign_entity_registration' | 'non_profit_corp', required

## Response `200`

Preliminary name availability; reserved is always false.

- object
  - `data` object, required
    - `name` string, required
    - `optionId` 'llc' | 'for_profit_corp' | 'statutory_trust' | 'foreign_entity_registration' | 'non_profit_corp', required
    - `available` boolean, required
    - `reserved` false, required

## Other responses

- `400`: Validation error or precondition failure.
- `401`: Missing or invalid credential.
- `403`: Credential lacks the required scope (Agent Key) or insufficient OAuth scope.
- `404`: Resource does not exist or is invisible to the caller. The two are intentionally indistinguishable.
- `409`: Conflicting state (e.g. legal-entity name already taken).
- `429`: Rate limit exceeded. No `Retry-After` header is currently emitted; back off exponentially.
- `500`: Server error.

## Changes

- **2026-10-05** `4e7a4c475288`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/eprospera/apis/e-pro-spera-api/changes/api/v1/registries/legal_entities/name_availability/post.md)

---

[API](https://skmtc.dev/eprospera/apis/e-pro-spera-api.md) - [All operations](https://skmtc.dev/eprospera/apis/e-pro-spera-api/llms.txt) - [OpenAPI document](https://skmtc.dev/eprospera/apis/e-pro-spera-api/revisions/271098460337?raw)
