Welcome to the Coperniq API release notes. This section highlights noteworthy changes across endpoints, schemas, and docs.
Recent highlights
- New: AHJs —
GET /ahjs(search, filter, andlat+lnggeo lookup),GET /ahjs/{id}, andPATCH /ahjs/{id}to update custom property values. v2 mirrors these under/v2with the standard success envelope. - Updated:
GET /properties— now documents theahjrecord type (custom AHJ properties only) and adds anisCustomboolean to every property to distinguish custom columns from built-in standard ones. - New: Sections — line items on projects, invoices, and bills can now be grouped into named
sections(matching quotes and work orders); read responses exposesectionNameper line item. - New: Vendors — full CRUD via
GET/POST /vendors,GET/PATCH/DELETE /vendors/{vendorId},GET /vendors/search, and many-to-many project linking viaPOST/DELETE /projects/{projectId}/vendors/{vendorId}. Vendor-specific fields:vendorType(enum),website, andprojectIds. - New: Labels —
GET /labels(filter bytype),POST /labels,GET /labels/{labelId}.typeisWORK(work orders) orASSET. v2 mirrors these under/v2with the standard success envelope. - New: Assets —
GET /assets(filter byaccount_id),POST /assets,GET/PATCH /assets/{assetId}(setisArchived: truevia PATCH to archive). v2 mirrors these under/v2with the standard success envelope.
Looking for a specific date? See the entries below.
AHJs and an isCustom flag on properties
New: AHJ (Authorities Having Jurisdiction) endpoints
Look up jurisdictions and manage their custom property values through the public API.
v2 mirrors these under the /v2 prefix with the standard { status, message, data } envelope.
Notes
- AHJs are seeded globally from the US Census TIGER catalog, plus per-company private records. Only active jurisdictions are returned.
- Pass
lat+lngtogether to return every AHJ whose boundary covers the point (e.g. city, county, and state), ordered most-specific-first. Name/state/type filters are ignored in geo mode. - Built-in AHJ fields (shown under Community Data in the UI) are read-only. Only custom fields can be updated via
PATCH /ahjs/{id}; the bodycustommap is keyed by propertykeyName— fetch the available keys viaGET /properties?record_type=ahj. Passnullto clear a value.
GET /properties — ahj record type and isCustom flag
- The
ahjrecord type is now documented forGET /properties(?record_type=ahj). It was already returned in the default response and is now an accepted filter value. - For the
ahjscope, only customer-defined custom properties are returned. Standard built-in AHJ fields are no longer listed here — they are not updatable via the public API and are exposed directly on the AHJ object instead. - Every property in the response now includes an
isCustomboolean:truefor customer-defined custom columns,falsefor built-in standard properties. Items in theahjarray are alwaysisCustom: true.
