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",
"status": "approved_with_conditions",
"statusLabel": "Approved with Conditions"
}
],
"meta": {
"schemaVersion": "2026-08-02",
"representation": "compact",
"total": 1,
"limit": 1,
"offset": 0,
"creditsUsed": 1,
"creditsRemaining": 296,
"trialTruncation": null,
"searchMethod": "redisearch",
"appliedFilters": {
"states": [
44
]
},
"appliedDefaults": [
"dateRange=last_1_year"
],
"resolvedFrom": {
"states": {
"UT": 44
}
},
"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": 8842,
"matchCountIsExact": true,
"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
],
"createdAt": "2026-05-04T00:00:00Z",
"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": 44,
"countyId": 2917,
"cityId": 31688,
"additionalAddresses": [],
"propertyType": "residential",
"propertyTypeLabel": "Residential",
"propertySubtype": "multifamily",
"propertySubtypeLabel": "Multifamily",
"assetClass": "Apartment Building",
"assetClassLabel": "Apartment Building",
"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,
"unitCount": [
{
"count": 240,
"type": "apartment",
"typeLabel": "Apartment"
}
],
"totalUnitCount": 240,
"affordableUnits": null,
"bedroomCount": null,
"lotCount": null,
"buildingCount": 6,
"buildingStories": 4,
"buildingHeightFeet": 48,
"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"
},
"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-02",
"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 18 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 |
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, filtering, the location tree and the analytics plane cost nothing, so you can evaluate the data before you spend a credit.