Release 26.11 adds partial updates (PATCH) on contacts and budgets. It also aligns the API to the user interface with respect to blocking time entries or blocking all billables on a matter, and budget permissions. Review the changes below to assess the impact on your integration.
New endpoints
PATCH support is being rolled out to more endpoints. The matters, users, contacts, matter budgets, submatter budgets, and client budgets endpoints now accept PATCH.
Partial updates on contacts
PATCH /api/v3/contacts/{id}/ updates a Contact instance partially, as for Matters and Users, making it easier to make small changes. The contact type cannot change through PATCH, so is_debtor and is_organization are read-only. bank_account_iban and bank_account_bic must be sent together. details merges by kind: a kind you omit keeps its value and its email flags, and a kind sent with an empty value or null is removed.
... and on budgets
PATCH /api/v3/matterbudgets/{id}/ and PATCH /api/v3/submatterbudgets/{id}/ and PATCH /api/v3/clientbudgets/{id}/ update budgets partially: the same rules apply as on the other PATCH endpoints. Coupled fields, such as kind with hours or amount, and begin_date with end_date, are validated against the merged result, so include the hours or amount that a new kind needs when you change it. The matter of a matter budget cannot be changed.
Modified endpoints
/api/v3/matters/ blocks time entries and all billables separately: block_time_entry blocks time entries only, and block_billables blocks time entries, disbursements, trust accounting transactions, and scheduled subscription products, matching the matter settings in the web interface. Since they are coupled, sending block_time_entry: false while block_billables: true returns HTTP 400.
The read-only is_billables_blocked field reports block_billables combined with the matter status, and ?is_billables_blocked=true filters on it. /api/v3/chargeables/ and /api/v3/trustaccountingtransactions/ refuse a blocked matter based on is_billables_blocked; is_time_entry_blocked keeps reporting whether time entry is blocked.
/api/v3/matterbudgets/ and /api/v3/submatterbudgets/ check matter access only for a changed relation: PUT and PATCH do not require access to the budget's matter when matter or submatter is omitted or unchanged, matching the budget screens in the web interface. Moving a submatter budget to another submatter requires manage_submatter (HTTP 403 otherwise) and access to the destination matter.
PUT accepts null as a custom field value: PUT requests to /api/v3/contacts/, /api/v3/clients/, /api/v3/matters/ and /api/v3/users/ accept null in custom_fields and clear the field, the same as an empty string, so a GET response can be sent back unchanged. POST and PATCH still reject null.
GET /api/v3/submatters/ returns active submatters by default: the endpoint accepts ?softkill_status=active|archived|deleted|all, like the other endpoints with softkill_status, and the submatters field on /api/v3/matters/ lists active submatters only. Already backported to release 26.10; customers on the latest patch have the fix.
For more information about Legalsense features, please visit our knowledge base.
Comments
0 comments
Article is closed for comments.