Data dictionary
Every resource the API returns and every field on it — what it means, where the value came from, and how much of it there actually is. The point of publishing it is the last part: a field that exists and is null on ninety per cent of rows is a different product from one that is always populated, and you should be able to tell which you are buying before you integrate.
How to read it
- Rows held
- Records in the relation behind the resource. Large tables are measured from the database catalog rather than counted, and the method is printed next to the number. An estimate is never presented as exact.
- Linked to an organization
- The share of those rows that can be joined to an association. This is the number that decides whether a corpus is a product or a pile: a code enforcement record that is not matched to an association cannot appear on an association’s profile, and we publish the gap rather than the flattering half of it.
- Refresh
- How often we pull the source, and when we last did. Some sources are publisher-driven — they are due when upstream republishes, and a timer would fabricate recency. Where no cadence is registered we say so instead of implying one.
- Per-field fill rates
- Available to any key holder at
GET /api/v1/meta/dictionary?resource=<key>, measured from planner statistics at request time. They are off on this public page because each one costs a database probe.
Associations
The association directory spine: every community association we hold, keyed by a stable id, with its filed name, registration, location and size.
Rows held
410,539planner estimate
Linked to an organization
not measured
Associations reached
not measured
States represented
not measured
Source
State corporate registries (Florida Sunbiz, and the equivalent filing authority in each covered state), reconciled against county and municipal sources.
Refresh
No registered cadence for this source. We make no refresh claim rather than an invented one.
| Field | Type | Meaning | Source |
|---|---|---|---|
| id | uuid | Stable Common Elements identifier. Never reused, never renumbered; join on this. | Common Elementsorganizations.id |
| name | string | The name exactly as filed with the registry, verbatim including its casing and punctuation. Match on this; it is what a registry reconciliation will agree with. | State corporate registryorganizations.name |
| display_name | string | The canonical rendering of the filed name, for display. Additive to `name`, which is unchanged. | Derived from name |
| state | string | null | Two-letter state code. | State corporate registryorganizations.state |
| county | string | null | County, Title Case as published by the source. | State and county recordsorganizations.county |
| subtype | string | null | hoa, condo, or coop. | Classified from filing text and statute chapterorganizations.subtype |
| unit_count | number | null | Units in the association. Returned as null when the only available count is low-confidence — a self-declared registry entitlement or a parcel proxy rather than built units. See the note below. | State registry, county parcel recordsorganizations.unit_count |
| address | string | null | Registered address line of the association itself, not of any individual. | State corporate registryorganizations.address_line1 |
| city | string | null | City of the registered address. | State corporate registryorganizations.city |
| zip | string | null | ZIP of the registered address. | State corporate registryorganizations.zip |
| lat | number | null | Latitude. Present only where a free geocoder or a parcel-verified situs resolved the address; never inferred from a ZIP centroid. | US Census batch geocoder, Nominatim, county parcel situsorganizations.lat |
| lng | number | null | Longitude. Same provenance as lat. | US Census batch geocoder, Nominatim, county parcel situsorganizations.lng |
| website | string | null | Association website, where one is published or detected. | Registry filings and website detectionorganizations.website |
| phone | string | null | Organization phone number, not an individual's. Personal numbers are never on this surface. | Registry filingsorganizations.phone |
| registration_status | string | null | Registry status as filed, for example ACTIVE or INACTIVE. | State corporate registryorganizations.sunbiz_status |
| external_document_number | string | null | The registry's own filing number, for reconciliation against the source. | State corporate registryorganizations.external_document_number |
| management_firm | string | null | Managing entity named on the most recent filing, where the registry publishes one. | State registry filings |
| is_claimed | boolean | Whether a verified member of this association has claimed the record on the platform. Derived; the claiming user is never exposed. | Common Elements |
| created_at | timestamp | When the record entered the directory. | Common Elementsorganizations.created_at |
| updated_at | timestamp | When the record last changed. | Common Elementsorganizations.updated_at |
- A low-confidence unit_count is withheld rather than returned. Backtested 2026-08-09, one state registry's self-declared count ran at a median of 14x the true built-unit count; a number we would not defend does not go into a subscriber's spreadsheet.
- Records excluded from the public directory (demo tenants, unverified platform-created rows, privileged operator imports) are absent from every API surface, not merely hidden. A 404 on such a record is the same 404 as for an id that never existed.
Association officers
Who sits on the board, by name and title, as most recently filed with the state — the roster behind board-turnover detection.
Rows held
318,627planner estimate
Linked to an organization
not measured
Associations reached
not measured
States represented
not measured
Source
State officer filings: Florida Sunbiz, Texas Comptroller PIR, Virginia SCC, Connecticut SOTS, Oregon SOS, Alaska CBP, Vermont SOS, Utah HOA registry, Arizona ACC.
Refresh
Refreshed every 100 days, last pulled 2026-08-11.
| Field | Type | Meaning | Source |
|---|---|---|---|
| officer_title | string | null | Title as filed, for example PRES, VP, DIR. | State officer filingassociation_officer_roster.officer_title |
| first_name | string | null | Officer given name, as filed. | State officer filingassociation_officer_roster.first_name |
| middle_initial | string | null | Middle initial, as filed. | State officer filingassociation_officer_roster.middle_initial |
| last_name | string | null | Officer surname, as filed. | State officer filingassociation_officer_roster.last_name |
| suffix | string | null | Name suffix, as filed. | State officer filingassociation_officer_roster.suffix |
| city | string | null | City on the filing. The mailing locality only; never a street address. | State officer filingassociation_officer_roster.city |
| county | string | null | County on the filing. | State officer filingassociation_officer_roster.county |
| state | string | null | State on the filing. | State officer filingassociation_officer_roster.state |
| directory_source | string | Which registry the row came from. Provenance travels with every row. | Common Elementsassociation_officer_roster.directory_source |
| source_snapshot_label | string | null | The upstream snapshot this row was read from, so a value can always be traced to a specific published file. | Common Elementsassociation_officer_roster.source_snapshot_label |
| is_resolved | boolean | Whether the officer has been resolved to a single canonical person across filings. | Entity resolutionassociation_officer_roster.is_resolved |
- Names and titles only. Personal email and phone for a board member are barred from this surface entirely, whatever the source.
- A roster reflects the most recent filing, not a live board. States publish on their own cadence; an officer who resigned last week appears until the next filing.
Association management
The management relationship: which firm or licensed manager serves an association, and the licensed managers attached to a firm.
Rows held
411,304planner estimate
Linked to an organization
not measured
Associations reached
not measured
States represented
not measured
Source
State registry filings naming a managing entity, state licensing boards, and relationships confirmed on the platform.
Refresh
No registered cadence for this source. We make no refresh claim rather than an invented one.
| Field | Type | Meaning | Source |
|---|---|---|---|
| manager_name | string | null | Managing firm or individual manager, as recorded. | Registry filings and licensing boardsassociation_managers.manager_name |
| relationship_type | string | null | The kind of service relationship recorded between the two organizations. | Common Elementsorganization_relationships.relationship_type |
| source | string | null | Where the link came from: a state filing, a licensing board, or a confirmation on the platform. | Common Elementsassociation_managers.source |
- A management link sourced from a filing is as current as the filing. Confirmed platform relationships carry a different source value; check `source` before treating a link as live.
Building safety
Structural and life-safety public record joined to the association: structural integrity reserve studies, milestone recertification, elevator certificates, pool inspections, building characteristics and FHA approval.
Rows held
8,253planner estimate
Linked to an organization
not measured
Associations reached
not measured
States represented
not measured
Source
Florida DBPR (SIRS, Bureau of Elevator Safety), Miami-Dade and Broward recertification programs, Florida DOH pool inspection records, and HUD FHA condominium approvals.
Refresh
Refreshed when the publisher republishes, not on a timer, last pulled 2026-06-06.
| Field | Type | Meaning | Source |
|---|---|---|---|
| sirs_on_file | boolean | A structural integrity reserve study is on file for this association. | FL DBPR SIRS |
| sirs_project_count | number | How many SIRS projects are recorded. | FL DBPR SIRS |
| milestone_status | string | null | Status of the most recent milestone recertification record. County vocabulary, passed through as published. | Miami-Dade / Broward recertificationbuilding_recertifications.recert_status |
| milestone_due | date | null | Due date on the most recent recertification record. | Miami-Dade / Broward recertificationbuilding_recertifications.recert_due |
| elevator_count | number | Elevator certificates on file for the association. | FL DBPR Bureau of Elevator Safety |
| elevator_delinquent | boolean | At least one certificate carries the Delinquent status. | FL DBPR Bureau of Elevator Safety |
| elevator_earliest_expiry | date | null | Earliest expiry across the association's certificates. | FL DBPR Bureau of Elevator Safetyelevator_certificates.expiry_date |
| pool_last_result | string | null | Result of the most recent pool inspection. FL DOH vocabulary, passed through. | FL DOHpool_inspections.result |
| pool_last_inspection_date | date | null | Date of the most recent pool inspection. | FL DOHpool_inspections.inspection_date |
| max_stories | number | null | Tallest recorded building. A recorded fact, not an estimate. | FL building characteristicsfl_association_characteristics.stories |
| earliest_year_built | number | null | Earliest recorded year built across the association's buildings. | FL building characteristicsfl_association_characteristics.year_built |
| three_plus_story_building | boolean | null | Whether a building of three or more stories is recorded — the Florida statute 553.899 applicability trigger. Null when no characteristics record exists. | FL building characteristics |
| fha_status | string | null | Most recent HUD FHA condominium approval status. | HUDhud_fha_condo_projects.status |
- Florida-weighted by construction: SIRS, elevator, pool and characteristics are Florida programs, and recertification is currently Miami-Dade and Broward. An association outside that footprint returns an empty record rather than a false negative.
- `milestone_status` and `pool_last_result` describe the most recent record, not the whole history. Filtering on them in bulk export means 'the current record is X'.
Association risk
Per-association risk signals: FEMA National Risk Index for the county, plus the aggregated report-card measures behind the association profile.
Rows held
13,369planner estimate
Linked to an organization
not measured
Associations reached
not measured
States represented
not measured
Source
FEMA National Risk Index, plus the same public-record layers as building safety, aggregated per association.
Refresh
No registered cadence for this source. We make no refresh claim rather than an invented one.
| Field | Type | Meaning | Source |
|---|---|---|---|
| fema_nri_county_risk_score | number | null | FEMA National Risk Index composite score for the association's county. | FEMA NRIassociation_report_card_metrics.fema_nri_county_risk_score |
| fema_nri_county_risk_rating | string | null | FEMA's own rating band for that score. | FEMA NRIassociation_report_card_metrics.fema_nri_county_risk_rating |
| building_permits_24mo | number | Permits recorded against the association in the trailing 24 months. | Municipal permit recordsassociation_report_card_metrics.building_permits_24mo |
| latest_990_revenue | number | null | Most recent IRS Form 990 total revenue, where the association files one. | IRS Form 990association_report_card_metrics.latest_990_revenue |
| revenue_band | string | null | Banded form of the 990 revenue, for cohorting without exposing a precise figure. | IRS Form 990association_report_card_metrics.revenue_band |
- County risk is a county-level measure applied to the association's county. It is not a property-level hazard score and must not be presented as one.
Change feed
What changed and when: board turnover, president changes, management-company moves, self-managed transitions, registration status and name changes, and license events.
Rows held
not measured
Linked to an organization
not measured
Associations reached
not measured
States represented
not measured
Source
Detected by differencing successive state registry and licensing snapshots. Officer identity is reduced to counts and canonical titles in the feed by construction.
Refresh
Refreshed every 100 days, last pulled 2026-08-11.
| Field | Type | Meaning | Source |
|---|---|---|---|
| change_kind | string | One of the documented change kinds. Treat this as an open enumeration; new kinds are additive. | Snapshot differencingentity_change_feed.change_kind |
| organization_id | uuid | The association the change is about. | Snapshot differencingentity_change_feed.organization_id |
| detected_at | timestamp | When we observed the change. Not when it happened upstream. | Common Elementsentity_change_feed.detected_at |
| effective_at | timestamp | null | When the change took effect upstream, where the source publishes a date. | State registryentity_change_feed.effective_at |
| source | string | Which registry the change was detected in. | Common Elementsentity_change_feed.source |
- Plan sets both the row cap and the maximum lookback window, clamped server-side: an earlier `since` cannot widen a plan's window.
- History depth is still short. Detection began in 2026; a plan whose window is longer than the history returns the same rows as a shorter one. The window is a forward-looking contract, and no surface prices on lookback depth until the history exists.
Vendors
The verified vendor directory: identity, service scope, platform review summary, and an independently-sourced trust profile from public records.
Rows held
228,405planner estimate
Linked to an organization
not measured
Associations reached
not measured
States represented
not measured
Source
Vendor-completed profiles verified on the platform, plus state licensing, workers' compensation coverage and enforcement records for the trust profile.
Refresh
No registered cadence for this source. We make no refresh claim rather than an invented one.
| Field | Type | Meaning | Source |
|---|---|---|---|
| id | uuid | Vendor organization id. | Common Elementsorganizations.id |
| name | string | Vendor legal name. | Vendor-completed profileorganizations.name |
| subtype | string | null | Vendor category subtype. | Vendor-completed profileorganizations.subtype |
| service_states | string[] | States the vendor reports serving. | Vendor-completed profileorganizations.service_states |
| directory_slug | string | null | Slug for the public vendor directory page. | Common Elementsorganizations.directory_slug |
| review_count | number | Platform reviews received. | Common Elementsorganizations.review_count |
| review_avg_rating | number | null | Mean platform review rating. | Common Elementsorganizations.review_avg_rating |
| license_number | string | null | Vendor-asserted licence number. Not independently verified at the list endpoint; the detail endpoint carries the verified trust profile. | Vendor-completed profile |
| insurance_carrier | string | null | Vendor-asserted insurance carrier. Self-asserted, not verified. | Vendor-completed profile |
- Only verified vendors are listed. This is a curated directory, not a scrape of every contractor in a state — its size is a deliberate quality bound.
- Self-asserted fields are labelled as such. The independently-sourced trust profile is on the detail endpoint and is the one to use for underwriting.
Professionals and licences
State-licensed professionals serving community associations — community association managers and related boards — with licence status and history.
Rows held
598,792planner estimate
Linked to an organization
not measured
Associations reached
not measured
States represented
not measured
Source
State licensing boards, published as public record.
Refresh
No registered cadence for this source. We make no refresh claim rather than an invented one.
| Field | Type | Meaning | Source |
|---|---|---|---|
| id | uuid | Stable identifier for the licence record. | Common Elementsprofessional_licenses.id |
| state | string | Licensing state. | State licensing boardprofessional_licenses.state |
| board | string | null | Issuing board. | State licensing boardprofessional_licenses.board |
| license_number | string | Licence number as issued. | State licensing boardprofessional_licenses.license_number |
| license_type | string | null | Licence type code. | State licensing boardprofessional_licenses.license_type |
| license_type_desc | string | null | Licence type, spelled out. | State licensing boardprofessional_licenses.license_type_desc |
| name | string | Licensee name as published by the board. | State licensing boardprofessional_licenses.name |
| dba | string | null | Doing-business-as name, where published. | State licensing boardprofessional_licenses.dba |
| status | string | null | Licence status as published. Check `expiry_date` too: a status of 'current' can accompany a past expiry in some board extracts. | State licensing boardprofessional_licenses.status |
| issue_date | date | null | Date issued. | State licensing boardprofessional_licenses.issue_date |
| expiry_date | date | null | Date of expiry. The reliable currency test. | State licensing boardprofessional_licenses.expiry_date |
| city | string | null | City on the licence record. | State licensing boardprofessional_licenses.city |
| county | string | null | County on the licence record. | State licensing boardprofessional_licenses.county |
| organization_id | uuid | null | Resolved link to an organization in the directory, where one has been established. | Entity resolutionprofessional_licenses.organization_id |
- Board status vocabularies differ by state and are passed through rather than normalised. Filter on `expiry_date` when you need 'is this licence live today'.
- Licensee email and phone are never returned by this API at any plan, whatever a board publishes.
Statutes
The statute reference: chapters and sections governing community associations, with citation formatting, topics and source links.
Rows held
3,357planner estimate
Linked to an organization
not measured
Associations reached
not measured
States represented
not measured
Source
State legislature publications, synced from the official source.
Refresh
No registered cadence for this source. We make no refresh claim rather than an invented one.
| Field | Type | Meaning | Source |
|---|---|---|---|
| id | uuid | Section identifier. | Common Elementsstatute_sections.id |
| section_number | string | Section number as published. | State legislaturestatute_sections.section_number |
| title | string | Section title. | State legislaturestatute_sections.title |
| summary | string | null | Plain-language summary. Editorial, not part of the statute. | Common Elements editorialstatute_sections.summary |
| topics | string[] | Topic tags for filtering. | Common Elements editorialstatute_sections.topics |
| citation | string | null | Formatted citation, built from the chapter's citation format. | Derived from chapter |
| effective_date | date | null | Effective date, where published. | State legislaturestatute_sections.effective_date |
| source_url | string | null | Link to the official published text. | State legislaturestatute_sections.source_url |
- Reference material, not legal advice. Always check `source_url` against the official publication before relying on a section.
State aggregates
Counts by state: associations in the directory and licensed insurance professionals, for sizing a market without pulling the underlying rows.
Rows held
270planner estimate
Linked to an organization
not measured
Associations reached
not measured
States represented
not measured
Source
Aggregated from the association directory and state licensing records.
Refresh
No registered cadence for this source. We make no refresh claim rather than an invented one.
| Field | Type | Meaning | Source |
|---|---|---|---|
| state | string | Two-letter state code. | Common Elementsinsights_association_counts.state |
| association_count | number | Associations held for that state. | Common Elements |
| insurance_licensee_count | number | Licensed insurance professionals held for that state. | State licensing boards |
Compliance scan
Scan governing-document text against the statute rule set for a state and get scored, cited findings.
Rows held
not measured
Linked to an organization
not measured
Associations reached
not measured
States represented
not measured
Source
A rule engine over the statute corpus. Findings cite the statute they came from; nothing is inferred from a model.
Refresh
No registered cadence for this source. We make no refresh claim rather than an invented one.
| Field | Type | Meaning | Source |
|---|---|---|---|
| score | object | Numeric score, letter grade, and a one-line label. | Rule engine |
| findings | array | One entry per triggered rule, each carrying the statute cited, the excerpt matched, and guidance. | Rule engine |
| total_applicable_rules | number | Rules evaluated for the state and document type. The denominator for the score. | Rule engine |
- Analysis, not legal advice. A finding is a prompt to check a document with counsel, and the response carries the statute so that check is cheap.
- Submitted text is used to produce the response and is not retained as a document.
Get it as JSON
The same dictionary, machine-readable, with per-field fill rates and available_to_you resolved against your own plan. It does not consume quota.
curl "https://commonelements.com/api/v1/meta/dictionary?resource=associations" \
-H "Authorization: Bearer ce_live_your_key_here"For the API’s shape rather than its contents, import the OpenAPI document. To try any of it before buying a plan, use the sandbox.