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.
Quotes — full CRUD
You can now create, read, update, delete, send, and download PDF quotes through the public API.
Endpoints
Create a quote with sections
opportunityId is required. Provide line items either flat or grouped into named sections.
Business rules
opportunityIdis always required;workOrderIdis not accepted (usePUT /work-orders/{workOrderId}/line-itemsfor work order line items).- Each section must contain at least one line item (
lineItemsmin length 1). issueDatemay only be provided whenstatusisSENTorAPPROVED.discountTypemust bePERCENTAGEorFLATwhendiscountValueis set.
Work order line items
New: PUT /work-orders/{workOrderId}/line-items
Replace all line items on a service work order’s underlying quote. If no quote exists yet, one is created automatically.
This endpoint is only available for service work orders on an account (i.e. the parent project type is ACCOUNT). Calling it on a non-account work order returns 400.
New: lineItems on GET /work-orders/{workOrderId}
The work order detail response now includes a lineItems array when the work order is a service work order on an account and has at least one line item. The property is omitted entirely when there are no line items or the work order is not on an account.
List taxes
New: GET /taxes
List tax rates configured for your company. Use these IDs when assigning taxes to quotes, invoices, and other financial documents.
