Skip to main content
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

FieldTypeMeaning
permitIdintegerBoardwalk’s id for the permit; use it with GET /permits/{id}.
permitNumberstringThe permit number the city or county printed.
titlestringA short plain-English title for the job, written from the permit.
workTypesarrayWhat the work is, as {key, label} pairs from the permits map’s Work type list.
statusstringWhere the job stands: in_review, active, final, inactive, or no_construction.
statusLabelstringThe 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).
stagestringThe finer step inside the status, such as issued or under_inspection.
stageLabelstringThe label the permits map shows for stage.
addressobjectThe job site address: line1, unit, city, state, and zip.
countystringThe county the job site is in.
jobValuenumberThe 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.
jobValueScopestringparent_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.
appliedOnstringThe date the permit was applied for (YYYY-MM-DD).
issuedOnstringThe date the permit was issued (YYYY-MM-DD).
lastActivityobjectThe latest dated step on the permit: {date, label}.
contractorstringThe name of the first contractor, builder, or trade contractor named on the permit.
textContactWithheldobjectSet 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.
whoToCallobjectThe 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).
boardwalkUrlstringA link that opens this permit on the Boardwalk map.
deliveryobjectWhether this pool already received this permit: alreadyExported, updatedSinceExport, lastExportedAt, and billed.

Standard adds

FieldTypeMeaning
headlinestringA one-line description of the job.
summarystringA short summary of the job, written from the permit.
workClassstringThe kind of work: new_construction, addition, alteration_remodel, repair_replace and so on.
workClassLabelstringThe label for workClass.
constructionTypestringConstruction type: new_building, addition, renovation, site_work, infrastructure, demolition_only, none, or not_stated.
constructionTypeLabelstringThe label for constructionType.
propertyUsestringWhat the property is used for, such as single_family_detached or retail.
propertyUseLabelstringThe label for propertyUse.
buildingTypestringThe Building Type, using the same labels as planned projects (for example Residential).
buildingSubtypestringThe Building Type’s second level (for example Single Family).
assetClassstringThe Building Type’s third level, when the permit says.
unitsintegerDwelling units on the permit.
sqftintegerSquare feet on the permit.
valueBandstringThe job value band: u10k, 10k, 50k, 250k, or 1m. Absent when jobValueScope is parent_project.
valueBandLabelstringThe label for valueBand.
jobValueBasisstringWhere jobValue comes from; always declared (Boardwalk never estimates a permit value).
finalOnstringThe date the final inspection passed (YYYY-MM-DD).
coOnstringThe date the certificate of occupancy was issued (YYYY-MM-DD).
expiresOnstringThe date the permit expires (YYYY-MM-DD).
daysOpenintegerDays since the permit was applied for, counted today.
daysSinceIssuedintegerDays since the permit was issued, counted today.
whyNowarrayWhy the job is worth a call now, as {code, label} pairs (Why now on the permits map).
tradesarrayThe trades the job involves, as {key, label} pairs.
jobKindstringmajor or minor job, or record for an entry with no construction job (only with includeRecords).
jobKindLabelstringThe label for jobKind.
sectorstringprivate or public.
sectorLabelstringThe label for sector.
partiesarrayEveryone 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.
parcelNumbersarrayAssessor parcel numbers on the permit.
placeKeystringA key shared by every permit at the same parcel or address; pass it back as placeKey to list them.
placeBasisstringWhat placeKey is built from: parcel or address.
latnumberLatitude of the job site.
lngnumberLongitude of the job site.
issuedBystringThe city or county office that issued the permit.
sourceUrlstringThe permit’s page on the issuing office’s own portal.
detailLevelstringdetail when Boardwalk read the permit’s full page, summary when only its list entry was available.
inspectionsobjectInspection counts and the latest inspection: count, passed, failed, pending, and last {date, label, result}.
companyContactsFromOtherPermitsarrayPhones and emails the same company printed on its other permits, each with the permit it came from.

Full adds

FieldTypeMeaning
projectNamestringThe project name printed on the permit.
descriptionstringA longer plain-English description of the job.
keyFactsarrayShort facts about the job as plain-English lines.
historyarrayEvery dated step on the permit, newest first: {date, label, kind, note}.
inspectionsListarrayEvery inspection: inspectedOn, inspectionType, result, statusPrinted, isReinspection, and inspectionNumber.
feesobjectPermit fees: total, paid, due, and lines [{name, amount, due}].
propertyobjectThe assessor’s record of the parcel: owners (with mailing addresses), assessed values, and sales.
ownerMailingAddressstringThe owner’s mailing address printed on the permit.
otherPhonesarrayPhones printed on the permit that belong to no named party. Withheld with a private individual's contacts; see unattributedContactWithheld.
otherEmailsarrayEmails printed on the permit that belong to no named party. Withheld with a private individual's contacts; see unattributedContactWithheld.
permitPhonesarrayPhones printed for the permit itself. Withheld with a private individual's contacts; see unattributedContactWithheld.
unattributedContactWithheldobjectSet 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.
cityOfficeContactsarrayThe city’s or the portal’s own phones and emails printed on the permit (not a way to reach the job).
relatedPermitsarrayOther permits the permit names: number, relation, permitTypePrinted, statusPrinted, and permitId when Boardwalk has it.
caseNumbersarrayPlanning or zoning case numbers printed on the permit.
planningLinksarrayPlanned projects on Boardwalk linked to the permit: {projectId, title, timing}.
plannedProjectIdintegerThe planned project on Boardwalk this permit builds, when there is one.
equipmentarrayEquipment on the permit: {kind, size, unit, qty}.
buildingobjectBuilding facts as printed: stories, occupancyGroup, ibcConstructionType, bedrooms, and similar.
descriptionPrintedstringThe work description exactly as printed.
permitTypePrintedstringThe permit type exactly as printed.
workClassPrintedstringThe work class exactly as printed.
statusPrintedstringThe 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.
approvedOnstringThe date the permit was approved (YYYY-MM-DD).
subdivisionstringThe subdivision printed on the permit.
lotstringThe lot printed on the permit.
locationPrecisionstringHow precise lat and lng are, such as rooftop or street.
censusobjectCensus geography of the site: tract, place, and countyFips.
inOpportunityZonebooleanWhether the site is in a federal Opportunity Zone.
inFloodZonebooleanWhether the site is in a FEMA special flood hazard area.
floodZonesarrayFEMA 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.