Welcome to the Coperniq API release notes. This section highlights noteworthy changes across endpoints, schemas, and docs.
Recent highlights
- 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. - New: Invoice payments —
GET /invoices/{invoiceId}/payments,GET /invoices/{invoiceId}/payments/{paymentId}, andPOST /invoices/{invoiceId}/payments(optionalpaymentReferenceon create). - New: Quotes — full CRUD via
GET/POST /quotes,GET/PATCH/DELETE /quotes/{quoteId},GET /quotes/{quoteId}/pdf,POST /quotes/{quoteId}/send, andGET /opportunities/{opportunityId}/quotes. - New: Work order line items —
PUT /work-orders/{workOrderId}/line-itemsreplaces line items on service work orders (account type).GET /work-orders/{workOrderId}now includeslineItemswhen present. - New: Taxes —
GET /taxeslists company tax rates with pagination and archived filtering. - New: Bills — full CRUD for project bills via
GET/POST /bills,GET/PATCH/DELETE /bills/{billId}, andGET /projects/{projectId}/bills. Supports LINE_ITEMS and PERCENTAGE calculation methods. - Improvement: Nullable fields on
PATCH /projects/{projectId},PATCH /accounts/{accountId}, andPATCH /clients/{clientId}— passnullto clear a field (e.g.description,ownerId,primaryEmail) or any custom property.
Looking for a specific date? See the entries below.
Summary
Today’s release adds request/client work order endpoints, consolidates visit schemas, and completes the comments API across projects/requests/clients. We also improved the docs’ structure and fixed operation IDs for navigation.
What’s new?
- Request Work Orders: List, create, and update request work orders.
- Client Work Orders: List and create client work orders.
- Comments API: List/create/update/delete comments for projects, requests, and clients.
Changes
- Work Orders
- POST
/projects/{projectId}/work-ordersrequirestemplateIdand accepts optionalphaseInstanceId(phase must be started when provided). - POST
/requests/{requestId}/work-ordersrequirestemplateId, optionalphaseInstanceId(phase doesn’t need to be started). - POST
/clients/{clientId}/work-ordersrequirestemplateId(no phases). - GET
/requests/{requestId}/work-orderslists request work orders. - PATCH
/requests/{requestId}/work-orders/{workOrderId}updates a request work order.
- POST
- Comments
- Projects: GET
/projects/{projectId}/comments, POST/projects/{projectId}/comments, PATCH/projects/{projectId}/comment/{commentId}, DELETE/projects/{projectId}/comment/{commentId}. - Requests: GET
/requests/{requestId}/comments, POST/requests/{requestId}/comments, PATCH/requests/{requestId}/comment/{commentId}, DELETE/requests/{requestId}/comment/{commentId}. - Clients: GET
/clients/{clientId}/comments, POST/clients/{clientId}/comments, PATCH/clients/{clientId}/comment/{commentId}, DELETE/clients/{clientId}/comment/{commentId}.
- Projects: GET
- Projects
- GET
/projects/{projectId}includesphaseInstancesarray (phase data).
- GET
- Requests
- GET
/requests/{requestId}includesphaseInstancesarray (phase data).
- GET
- Catalog Items
- Cleaned up examples and aligned schemas with public shape.
Notes
- For project work order creation, when
phaseInstanceIdis provided, the phase must already be started. - Request work order creation does not require a started phase.
