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.
New catalog categories and DELETE behavior change
Envelope product categories
17 new ProductCategory values are now available when creating or updating a catalog item with type=PRODUCT:
ROOF_COVERING, ROOF_UNDERLAYMENT, ROOF_MEMBRANE, ROOF_FLASHING, ROOF_VENT, WALL_CLADDING, WALL_TRIM, WEATHER_BARRIER, WINDOW, EXTERIOR_DOOR, SKYLIGHT, OPENING_FLASHING, GUTTER, DOWNSPOUT, INSULATION, SEALANT, SHEATHING.
tradeGroup remains optional. When provided, it must be ENVELOPE for these categories. For PATCH /catalog-items/{catalogItemId}, this validation is enforced when both category and tradeGroup are included in the patch payload (consistent with the current PATCH validation behavior).
Permitting service category
PERMITTING has been added to ServiceCategory (between OPTIMIZATION and RELOCATION) and is available when type=SERVICE.
DELETE /catalog-items/{catalogItemId} now returns 204 No Content
DELETE /catalog-items/{catalogItemId} previously returned 200 or 204 (sometimes with a body). It now always returns 204 No Content. Clients should no longer expect a response body on successful deletion.
