Docs / Permit record fields
Building permits
Permit record fields
Every field a permit record carries, by representation.
Data and PropTech platformsAI-native analysts and MCP clientsLead generation and business development
Permit records come in three representations, each nesting inside the next: compact for lists, standard (the default) for working a lead, and full for the whole city record. Choose with representation=; it does not change the price. Empty fields are left out rather than sent as null, and delivery is on every record a metered route returns.
Compact
| Field | Type | Meaning |
|---|---|---|
permitId | integer | Boardwalk’s id for the permit; use it with GET /permits/{id}. |
permitNumber | string | The permit number the city or county printed. |
title | string | A short plain-English title for the job, written from the permit. |
workTypes | array | What the work is, as {key, label} pairs from the permits map’s Work type list. |
status | string | Where the job stands: in_review, active, final, inactive, or no_construction. |
statusLabel | string | The label the permits map shows for status. A final permit with no final inspection or certificate of occupancy date reads Closed, and one the city still lists as in review or pending shows the city's own words (its status stays final). |
stage | string | The finer step inside the status, such as issued or under_inspection. |
stageLabel | string | The label the permits map shows for stage. |
address | object | The job site address: line1, unit, city, state, and zip. |
county | string | The county the job site is in. |
jobValue | number | The job value in US dollars as declared on the permit; absent when the permit printed none. Check jobValueScope: it may be the whole project’s value. |
jobValueScope | string | parent_project when jobValue is the whole project’s value rather than this permit’s own work: printed on a sub-permit, or very likely so (such as a demolition, a deferred submittal, or more than $2,000 a square foot). Such a value has no valueBand and sorts after permits’ own values. |
appliedOn | string | The date the permit was applied for (YYYY-MM-DD). |
issuedOn | string | The date the permit was issued (YYYY-MM-DD). |
lastActivity | object | The latest dated step on the permit: {date, label}. |
contractor | string | The name of the first contractor, builder, or trade contractor named on the permit. |
textContactWithheld | object | Set when phones and emails were replaced with [phone withheld] and [email withheld] in this record's text (descriptions, summaries, titles, and process and inspection notes): on a permit that names a private individual whose phone and email are withheld, any phone or email in the text could be theirs ({withheld: "upgrade" | "acknowledge", phones, emails}, the counts replaced). Absent when nothing was replaced. |
whoToCall | object | The best party to call about the job: name, role, phone, email, and whether it is a private individual. A private individual's phone and email may be withheld (contactWithheld, see parties). |
boardwalkUrl | string | A link that opens this permit on the Boardwalk map. |
delivery | object | Whether this pool already received this permit: alreadyExported, updatedSinceExport, lastExportedAt, and billed. |
Standard adds
| Field | Type | Meaning |
|---|---|---|
headline | string | A one-line description of the job. |
summary | string | A short summary of the job, written from the permit. |
workClass | string | The kind of work: new_construction, addition, alteration_remodel, repair_replace and so on. |
workClassLabel | string | The label for workClass. |
constructionType | string | Construction type: new_building, addition, renovation, site_work, infrastructure, demolition_only, none, or not_stated. |
constructionTypeLabel | string | The label for constructionType. |
propertyUse | string | What the property is used for, such as single_family_detached or retail. |
propertyUseLabel | string | The label for propertyUse. |
buildingType | string | The Building Type, using the same labels as planned projects (for example Residential). |
buildingSubtype | string | The Building Type’s second level (for example Single Family). |
assetClass | string | The Building Type’s third level, when the permit says. |
units | integer | Dwelling units on the permit. |
sqft | integer | Square feet on the permit. |
valueBand | string | The job value band: u10k, 10k, 50k, 250k, or 1m. Absent when jobValueScope is parent_project. |
valueBandLabel | string | The label for valueBand. |
jobValueBasis | string | Where jobValue comes from; always declared (Boardwalk never estimates a permit value). |
finalOn | string | The date the final inspection passed (YYYY-MM-DD). |
coOn | string | The date the certificate of occupancy was issued (YYYY-MM-DD). |
expiresOn | string | The date the permit expires (YYYY-MM-DD). |
daysOpen | integer | Days since the permit was applied for, counted today. |
daysSinceIssued | integer | Days since the permit was issued, counted today. |
whyNow | array | Why the job is worth a call now, as {code, label} pairs (Why now on the permits map). |
trades | array | The trades the job involves, as {key, label} pairs. |
jobKind | string | major or minor job, or record for an entry with no construction job (only with includeRecords). |
jobKindLabel | string | The label for jobKind. |
sector | string | private or public. |
sectorLabel | string | The label for sector. |
parties | array | Everyone named on the permit with their role and the contact details printed for them, private individuals included. A private individual's phone and email are withheld on the free trial (contactWithheld: {withheld: "upgrade", hasPhone, hasEmail}) and on a paid plan until the key's user accepts the calling reminder in the Boardwalk app (withheld: "acknowledge"; to accept, sign in at boardwalkai.com, open a permit that lists a homeowner and choose Show phone); the name and address always show. Contractors, licensed parties, and company contacts are never withheld. |
parcelNumbers | array | Assessor parcel numbers on the permit. |
placeKey | string | A key shared by every permit at the same parcel or address; pass it back as placeKey to list them. |
placeBasis | string | What placeKey is built from: parcel or address. |
lat | number | Latitude of the job site. |
lng | number | Longitude of the job site. |
issuedBy | string | The city or county office that issued the permit. |
sourceUrl | string | The permit’s page on the issuing office’s own portal. |
detailLevel | string | detail when Boardwalk read the permit’s full page, summary when only its list entry was available. |
inspections | object | Inspection counts and the latest inspection: count, passed, failed, pending, and last {date, label, result}. |
companyContactsFromOtherPermits | array | Phones and emails the same company printed on its other permits, each with the permit it came from. |
Full adds
| Field | Type | Meaning |
|---|---|---|
projectName | string | The project name printed on the permit. |
description | string | A longer plain-English description of the job. |
keyFacts | array | Short facts about the job as plain-English lines. |
history | array | Every dated step on the permit, newest first: {date, label, kind, note}. |
inspectionsList | array | Every inspection: inspectedOn, inspectionType, result, statusPrinted, isReinspection, and inspectionNumber. |
fees | object | Permit fees: total, paid, due, and lines [{name, amount, due}]. |
property | object | The assessor’s record of the parcel: owners (with mailing addresses), assessed values, and sales. |
ownerMailingAddress | string | The owner’s mailing address printed on the permit. |
otherPhones | array | Phones printed on the permit that belong to no named party. Withheld with a private individual's contacts; see unattributedContactWithheld. |
otherEmails | array | Emails printed on the permit that belong to no named party. Withheld with a private individual's contacts; see unattributedContactWithheld. |
permitPhones | array | Phones printed for the permit itself. Withheld with a private individual's contacts; see unattributedContactWithheld. |
unattributedContactWithheld | object | Set when otherPhones, otherEmails, and permitPhones were withheld: on a permit that names a private individual, these lines belong to no named party, so they are withheld wherever a private individual's phone and email are ({withheld: "upgrade" | "acknowledge", phones, emails}, the counts withheld). Absent when nothing was withheld. |
cityOfficeContacts | array | The city’s or the portal’s own phones and emails printed on the permit (not a way to reach the job). |
relatedPermits | array | Other permits the permit names: number, relation, permitTypePrinted, statusPrinted, and permitId when Boardwalk has it. |
caseNumbers | array | Planning or zoning case numbers printed on the permit. |
planningLinks | array | Planned projects on Boardwalk linked to the permit: {projectId, title, timing}. |
plannedProjectId | integer | The planned project on Boardwalk this permit builds, when there is one. |
equipment | array | Equipment on the permit: {kind, size, unit, qty}. |
building | object | Building facts as printed: stories, occupancyGroup, ibcConstructionType, bedrooms, and similar. |
descriptionPrinted | string | The work description exactly as printed. |
permitTypePrinted | string | The permit type exactly as printed. |
workClassPrinted | string | The work class exactly as printed. |
statusPrinted | string | The status exactly as the issuing office printed it. Absent on a state registry filing, whose only printed status is the registry’s own filing state. |
approvedOn | string | The date the permit was approved (YYYY-MM-DD). |
subdivision | string | The subdivision printed on the permit. |
lot | string | The lot printed on the permit. |
locationPrecision | string | How precise lat and lng are, such as rooftop or street. |
census | object | Census geography of the site: tract, place, and countyFips. |
inOpportunityZone | boolean | Whether the site is in a federal Opportunity Zone. |
inFloodZone | boolean | Whether the site is in a FEMA special flood hazard area. |
floodZones | array | FEMA flood zone codes at the site. |
Ready to make a call?
A free Boardwalk trial includes API access, 50 record-export credits (search, CSV, MCP), and 5 Find Contact Info lookups. Counting, taxonomy, location lookups, and the analytics plane cost nothing, so you can evaluate the data before you spend a credit.