verificationLevel field indicating the business’s current
verification tier. See Business Verification for the full tier system.
Rate limits:
| Operation | Tier | Limit |
|---|---|---|
GET /v1/directory | directory | 300 req/min per IP |
GET /v1/directory/:id | directory | 300 req/min per IP |
PATCH /v1/directory/:id | User plan tier | Plan default |
List directory
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 20 | Max items to return (1–100) |
cursor | string | — | Opaque cursor from previous response |
search | string | — | Fuzzy search against listing name |
category | string | — | Exact category match (listing must include this value) |
location | string | — | Partial match against city or state |
templateType | string | — | Exact match against business industry/template type |
vertical | string | — | Alias for templateType (e.g. salon, home-services) |
city | string | — | Exact city match (case-insensitive) |
lat | number | — | Latitude for geolocation search (requires lng and radius_miles) |
lng | number | — | Longitude for geolocation search (requires lat and radius_miles) |
radius_miles | number | — | Radius in miles for geolocation search |
min_verification | string | — | Minimum verification level: phone_verified, business_verified, or premium_verified |
200:
| Field | Type | Description |
|---|---|---|
verificationLevel | string | Verification tier: unverified, phone_verified, business_verified, or premium_verified |
relevanceScore | integer | Computed relevance score (higher = more relevant in directory ranking) |
Get directory listing
| Parameter | Description |
|---|---|
id | Directory listing ID (ULID) |
200:
| Field | Type | Description |
|---|---|---|
verificationLevel | string | Verification tier: unverified, phone_verified, business_verified, or premium_verified |
relevanceScore | integer | Computed relevance score (higher = more relevant in directory ranking) |
| Code | Description |
|---|---|
404 | Listing not found or not active |
Update directory visibility
visible: true activates the listing and records publishedAt on first
publication (subsequent activations preserve the original publishedAt).
Setting visible: false returns the listing to pending status and hides it from
public reads.
Authentication: Session cookie (dashboard login). API key auth is not supported for
this endpoint.
Path parameters:
| Parameter | Description |
|---|---|
id | Directory listing ID (ULID) |
| Field | Type | Required | Description |
|---|---|---|---|
visible | boolean | Yes | true to activate (opt in), false to deactivate (opt out) |
200:
| Code | Description |
|---|---|
401 | Not authenticated |
404 | Listing not found or not owned by the authenticated user |
422 | visible field missing or not a boolean |
MCP server metadata
| Parameter | Required | Description |
|---|---|---|
subdomain | Yes | MCP server subdomain (e.g. acme-plumbing.ezforge.run) |
200:
| Field | Type | Description |
|---|---|---|
verificationLevel | string | Current verification tier (unverified, phone_verified, business_verified, premium_verified) |
accountAgeDays | integer | Days since the business account was created |
profileCompleteness | integer | Profile completeness percentage (0–100) |
lastUpdated | string (ISO 8601) | Timestamp of the most recent directory listing update |
interactionCount | integer | Total analytics events recorded for this business |
| Code | Description |
|---|---|
400 | subdomain query parameter is missing |
404 | No active listing found for the given subdomain |
VerificationLevel type
The VerificationLevel string type is used across all directory responses to represent a
business’s verification status.
| Value | Meaning |
|---|---|
unverified | No verification completed |
phone_verified | Business phone number confirmed via SMS |
business_verified | Business identity confirmed (30-day account + phone verification) |
premium_verified | Highest trust level, awarded after manual review by ezForge |