Representations
compact, standard and full — three sizes of the same record, all costing exactly one credit.
?representation= selects how much of each record you receive. Each one nests inside the next, so compact's fields are all present in standard, and standard's in full.
| Value | Use it for |
|---|---|
compact | Agents and list views. Small enough to hold a hundred records in a prompt without spending the context window. |
standard (default) | The calibrated field set — the same concepts the CSV export carries. |
full | Adds decisions with named votes, document metadata, and rawText. |
The same record, twice
The same record in compact
curl 'https://api.boardwalkai.com/api/v1/projects/search?states=UT&representation=compact&limit=1' \
-H 'Authorization: Bearer bwk_live_YOUR_KEY'Response · HTTP 200
{
"data": [
{
"id": 184203,
"recordType": "project",
"projectName": "Alta Ridge Phase II",
"boardwalkLink": "https://boardwalkai.com/map/#project=184203",
"mergedFrom": [
184203,
184987
],
"lastUpdated": "2026-06-18T09:22:41Z",
"meetingDate": "2026-06-17",
"delivery": {
"alreadyExported": false,
"updatedSinceExport": null,
"lastExportedAt": null,
"billed": true
},
"address": "3600 S Constitution Blvd, West Valley City, UT",
"city": "West Valley City",
"county": "Salt Lake",
"state": "UT",
"latitude": 40.6916,
"longitude": -112.0011,
"propertyType": "residential",
"propertyTypeLabel": "Residential",
"landUses": [
{
"type": "residential",
"typeLabel": "Residential",
"subtype": "multifamily",
"subtypeLabel": "Multifamily",
"assetClass": "Apartment Building",
"assetClassLabel": "Apartment Building",
"matchedOn": []
}
],
"status": "approved_with_conditions",
"statusLabel": "Approved with Conditions"
}
],
"meta": {
"schemaVersion": "2026-08-13",
"representation": "compact",
"total": 1,
"pageCount": 1,
"hasMore": true,
"limit": 1,
"offset": 0,
"creditsUsed": 1,
"creditsRemaining": 296,
"trialTruncation": null,
"searchMethod": "redisearch",
"appliedFilters": {
"states": [
1
]
},
"appliedDefaults": [
"dateRange=last_1_year"
],
"resolvedFrom": {
"states": [
{
"input": "UT",
"id": 1
}
]
},
"warnings": [
{
"code": "default_date_window_applied",
"message": "No date filter was given, so the last 12 months of meetings were searched — the same window the product shows. Pass dateRange=all to search everything.",
"params": [
"meetingDateFrom"
]
}
],
"matchCount": null,
"matchCountIsExact": false,
"matchCountBasis": "not_computed",
"duplicatesCollapsed": 0,
"collapseApplied": true,
"delivery": {
"mode": "all",
"notPreviouslyExported": 1,
"previouslyExported": 0,
"updatedSinceExport": 0,
"billed": 1,
"notRebilled": 0,
"ledgerApplied": true
}
}
}Record bodies on this page were produced by running Boardwalk's production response mapper over a documented sample project, so the field set, the labels and the empty fields are exactly what the API emits. The project itself is a sample, not a real filing.
One record in full, including decisions, documents and rawText
curl 'https://api.boardwalkai.com/api/v1/projects/184203?representation=full' \
-H 'Authorization: Bearer bwk_live_YOUR_KEY'Response · HTTP 200
{
"data": {
"id": 184203,
"recordType": "project",
"projectName": "Alta Ridge Phase II",
"projectHeadline": "Planning Commission approved 240 apartments with conditions",
"boardwalkLink": "https://boardwalkai.com/map/#project=184203",
"mergedFrom": [
184203,
184987
],
"lastUpdated": "2026-06-18T09:22:41Z",
"meetingDate": "2026-06-17",
"delivery": {
"alreadyExported": false,
"updatedSinceExport": null,
"lastExportedAt": null,
"billed": true
},
"address": "3600 S Constitution Blvd, West Valley City, UT",
"city": "West Valley City",
"county": "Salt Lake",
"state": "UT",
"postalCode": "84119",
"latitude": 40.6916,
"longitude": -112.0011,
"locationPrecision": "address",
"locationPrecisionLabel": "Address",
"isApproximate": false,
"parcelApn": [
"15-27-301-004"
],
"stateId": 1,
"countyId": 2917,
"cityId": 31688,
"additionalAddresses": [],
"propertyType": "residential",
"propertyTypeLabel": "Residential",
"propertySubtype": "multifamily",
"propertySubtypeLabel": "Multifamily",
"assetClass": "Apartment Building",
"assetClassLabel": "Apartment Building",
"landUses": [
{
"type": "residential",
"typeLabel": "Residential",
"subtype": "multifamily",
"subtypeLabel": "Multifamily",
"assetClass": "Apartment Building",
"assetClassLabel": "Apartment Building",
"matchedOn": []
}
],
"classifications": [
{
"role": "primary",
"type": "residential",
"typeLabel": "Residential",
"subtype": "multifamily",
"subtypeLabel": "Multifamily",
"assetClass": "Apartment Building",
"assetClassLabel": "Apartment Building"
}
],
"tags": [
"multifamily",
"phase-ii"
],
"status": "approved_with_conditions",
"statusLabel": "Approved with Conditions",
"statusDetail": "The commission approved the preliminary plat subject to eight conditions.",
"requestType": "final_plat",
"requestTypeLabel": "Final Plat",
"decisionBody": "Planning Commission",
"caseNumbers": [
"PLAT-2026-0142"
],
"isAppeal": false,
"nextHearingDate": "2026-07-15",
"acreage": 9.8,
"squareFootage": null,
"unitCount": [
{
"count": 240,
"type": "apartment",
"typeLabel": "Apartment"
}
],
"totalUnitCount": 240,
"affordableUnits": null,
"bedroomCount": null,
"lotCount": null,
"buildingCount": 6,
"buildingStories": null,
"floorCount": null,
"buildingHeightFeet": null,
"parkingSpaces": 372,
"densityPerAcre": 24.5,
"amenities": [
"Pool",
"Clubhouse",
"Dog run"
],
"existingZoning": "A-1",
"proposedZoning": "RM-16",
"isRezone": true,
"variancesRequested": [
"setback"
],
"constructionType": "new_building",
"constructionTypeLabel": "New Building",
"ownerType": "private",
"ownerTypeLabel": "Private",
"constructionDescription": "A 240-unit garden-style apartment community on 9.8 acres.",
"likelyTrades": [
{
"trade": "site_work",
"tradeLabel": "Site Work",
"basis": "Grading plan referenced"
}
],
"estimateEligible": true,
"developerCompany": "Alta Ridge Development LLC",
"developerCompanyRole": "developer",
"developerCompanyRoleLabel": "Developer",
"contacts": [
{
"name": "Rachel Okafor",
"title": "Director of Development",
"role": "developer",
"roleLabel": "Developer",
"partyClass": "external",
"partyClassLabel": "External Party",
"entityType": "person",
"company": "Alta Ridge Development LLC",
"email": "r.okafor@example.com",
"emailConfidence": "high",
"emailSource": "filing",
"phone": "+1-555-0142",
"phoneConfidence": "high",
"phoneSource": "filing",
"linkedinUrl": null,
"linkedinConfidence": null,
"linkedinSource": null,
"contactProvenance": "filing",
"enrichmentSource": null,
"enrichedAt": null,
"enrichmentStatus": "not_requested",
"contactsWithheldReason": null
}
],
"contactEnrichment": {
"status": "not_requested",
"statusLabel": "Not Requested",
"attemptedAt": null,
"contactsFound": 0,
"source": "registry"
},
"companyEnrichment": [],
"publicOfficials": [
{
"name": "Dana Whitfield",
"title": "Senior Planner",
"role": "city_planner",
"roleLabel": "City Planner",
"partyClass": "government",
"organization": "West Valley City"
}
],
"contactSummary": {
"externalCount": 1,
"governmentCount": 1,
"unclassifiedCount": 0,
"withEmail": 1,
"withPhone": 1,
"withLinkedin": 0,
"enrichedCount": 0,
"lowConfidenceWithheld": 0,
"withheldCount": 0,
"withheldReason": null
},
"keyFacts": [
{
"fact": "240 apartment units across six buildings",
"category": "unit_mix",
"categoryLabel": "Unit Mix"
}
],
"evidence": "Commissioner Reyes moved to approve subject to conditions 1-8.",
"conditionsOfApproval": [
"1. Landscaping per the approved plan."
],
"summary": "A 240-unit garden-style apartment community on 9.8 acres, approved with conditions.",
"extendedSummary": "The applicant sought preliminary plat approval for a 240-unit garden-style apartment community across six four-storey buildings, with 372 parking stalls.",
"decisions": [
{
"meetingDate": "2026-06-17",
"decisionBody": "Planning Commission",
"actionType": "preliminary_plat",
"actionTypeLabel": "Preliminary Plat",
"requestType": "final_plat",
"requestTypeLabel": "Final Plat",
"outcome": "approved_with_conditions",
"outcomeLabel": "Approved with Conditions",
"motionType": "approve_with_conditions",
"motionOutcome": "passed",
"evidenceBasis": null,
"evidenceBasisLabel": null,
"isConsentAgenda": null,
"caseNumber": "PLAT-2026-0142",
"evidence": "Commissioner Reyes moved to approve subject to conditions 1-8.",
"conditions": "Landscaping per the approved plan.",
"voteTally": {
"yes": 2,
"no": 1,
"abstain": 0,
"absent": 1,
"total": 4,
"isUnanimous": false
},
"votes": [
{
"name": "Maria Reyes",
"role": "Commissioner",
"vote": "yes",
"voteLabel": "Yes"
},
{
"name": "Tom Alder",
"role": "Commissioner",
"vote": "yes",
"voteLabel": "Yes"
},
{
"name": "Priya Raman",
"role": "Commissioner",
"vote": "no",
"voteLabel": "No"
},
{
"name": "Ben Cole",
"role": "Commissioner",
"vote": "absent",
"voteLabel": "Absent"
}
]
}
],
"voteSummary": {
"yes": 2,
"no": 1,
"abstain": 0,
"absent": 1,
"total": 4,
"isUnanimous": false,
"meetingDate": "2026-06-17"
},
"documents": [
{
"meetingDocumentId": 902551,
"title": "Planning Commission Minutes",
"meetingDate": "2026-06-17",
"documentType": "meeting_minutes",
"documentTypeLabel": "Meeting Minutes",
"rawText": "PLANNING COMMISSION MINUTES — June 17, 2026\n\nITEM 4. PLAT-2026-0142 — Alta Ridge Phase II, preliminary plat, 3600 S Constitution Blvd.\nStaff presented the report and recommended approval subject to eight conditions. Commissioner Reyes moved to approve subject to conditions 1-8. Motion carried 2-1, Commissioner Cole absent.\n\n[This excerpt is shortened for the documentation. A live response carries the complete document text.]",
"rawTextTruncated": false
}
]
},
"meta": {
"schemaVersion": "2026-08-13",
"representation": "full",
"creditsUsed": 1,
"creditsRemaining": 295
}
}Record bodies on this page were produced by running Boardwalk's production response mapper over a documented sample project, so the field set, the labels and the empty fields are exactly what the API emits. The project itself is a sample, not a real filing.
`rawText` is `full` only
The source meeting document's text ships under documents[].rawText, in the full representation only, and never in a list response. Real minutes run to tens or hundreds of kilobytes per document — putting them in a page of a hundred records would be a multi-megabyte response nobody asked for. There is no separate charge for it: full is one credit like everything else.
Field counts
compact carries 21 fields in total.
| Field | Type | Unit | Description | Availability |
|---|---|---|---|---|
id | integer | — | Boardwalk's stable identifier for this project. | All plans |
recordType | string | — | What kind of record this is. Always "project" today; reserved for future record types. | All plans |
projectName | string | — | The project's display name. | All plans |
boardwalkLink | string | — | Deep link to this project in the Boardwalk map. | All plans |
mergedFrom | array | — | The project ids folded into this record as duplicates of the same development, including its own. You are billed once for the record, not once per id. | All plans |
lastUpdated | string (nullable) | — | When this project record last changed, RFC 3339 UTC. | All plans |
meetingDate | string (nullable) | — | The date of the most recent public meeting this project appeared at. | All plans |
delivery | object (nullable) | — | What Boardwalk has already delivered to your credit pool for this record, and whether this delivery was billed. GET /projects/sync returns these same four keys plus a change payload (what moved, and which new filing caused it) — see the SyncDeliveryState schema. | All plans |
address | string (nullable) | — | The project's street address as stated in the public filing. | All plans |
city | string (nullable) | — | City the project is in. | All plans |
county | string (nullable) | — | County the project is in. | All plans |
state | string (nullable) | — | Two-letter state code. | All plans |
latitude | number (nullable) | — | Latitude of the project's mapped location. | All plans |
longitude | number (nullable) | — | Longitude of the project's mapped location. | All plans |
propertyType | string (nullable) | — | Top-level land-use classification, e.g. residential. | All plans |
propertyTypeLabel | string (nullable) | — | Human-readable form of propertyType. | All plans |
landUses | array | — | Every land use on this project, to the deepest level we know for each — a mixed-use development lists all of them. assetClass is null on an entry where the record only told us the type and subtype; we never copy a parent value down. One use is listed once: where the source describes the same use twice and one description stops short of the other, only the fuller one is listed. matchedOn names which taxonomy levels of that use satisfied your filter — ["subtype"], ["subtype","assetClass"] — so you can see why the project is in your results; it is an empty list on uses that did not match and on every use when you filtered on no taxonomy at all. Procedural items such as rezones are not land uses and appear as requestType instead. | All plans |
matchRole | string (nullable) | — | Deprecated — use landUses[].matchedOn, which covers all three taxonomy levels rather than asset class alone. When an assetClasses filter is active: primary if the project's primary asset class matched, secondary if only another classification did. Absent when no asset-class filter was applied. | All plans |
matchedClassification | object (nullable) | — | Deprecated — use landUses[].matchedOn. The classification that satisfied the active assetClasses filter (often not the primary one). Absent when no asset-class filter was applied. Primary taxonomy fields stay the project's primary. | All plans |
status | string (nullable) | — | Where this project stands, as a stable machine token. | All plans |
statusLabel | string (nullable) | — | Human-readable form of status; identical to the CSV's Current Status cell. | All plans |
Ready to make a call?
A free Boardwalk trial includes API access and a sandbox key. Counting, taxonomy, location lookups and the analytics plane cost nothing, so you can evaluate the data before you spend a credit.