Appearance
Changelog
- 06.11.2026:
- Rate limits: each company has a budget of 800 points per minute and 5 calls at once, which every response reports in
X-RateLimit-*headers. Calls over it are still served for now; this changelog announces when they're answered with429. v2/assignments:customAttributesholds the values of the company's custom fields, by definition uuid, read withinclude=customAttributes; aPOSTsets them, aPATCHchanges the ones it names and removes one bynull.- Added
v2/assignment-custom-attribute-definitions: the custom fields themselves, read-only. - Webhooks:
assignment-custom-attribute-definition.*;assignment.updatedalso when a custom field's value changes. - Added
v2/contacts: every contact, customers included, with its types astypeUuids. The system type makes a contact a customer, also listed underv2/customers. - Added
v2/contact-types: the company's contact types; the system type is read-only. v2/assignments:contactslists who holds which contact type on the assignment, and aPOSTorPATCHsets them.- Webhooks:
contact.*andcontact-type.*;assignment.updatedalso when the assignment's contacts change, or its customer or a contact on it is deleted. - Webhooks: a deleted assignment or group sends
assignment-event.deletedfor its work steps, and an assignmentassignment-event-group.deletedfor its groups; a deleted user sendsassignment-event.updatedandgang.updatedfor the work steps and gangs it leaves.
- Rate limits: each company has a budget of 800 points per minute and 5 calls at once, which every response reports in
- 22.10.2026:
- Released v2: every v1 resource under
/v2/, addressed byuuidinstead of the integerid. New endpoints come to v2 only; v1 keeps working and receives bug fixes. Migrating to v2 lists every difference. - Added
v2/assignment-event-series: recurring work steps, read-only. - Added webhooks: subscribe through
v2/webhook-subscriptionsor in Artesa's settings, and Artesa calls your endpoint when data changes. - Addresses: a
stateyou send is kept; the geocoder only fills it in when it is empty, instead of replacing it with its own name for the region. v1/usersandv1/assignment-event-groups: the spec now says what aPATCHalways did —roleIdandtypeIdare ignored there.v1/time-entriesandv1/user-absences: an unknowntypeIdon create answers 400Unknown typeId …, like every other unknown id, instead of 404.- Uploads of
v1/assignmentsandv1/assignment-events: an upload is only found under its own assignment or event, the token is checked before the file is received, and the file of a rejected upload is no longer kept. - Querying:
$inand$nintake a repeated key per value; the comma-separated lists the docs showed were never split.
- Released v2: every v1 resource under
- 21.10.2026:
v1/assignment-events: an event that is outward by its type's default now gets the default addresses too (start and return at the company, destination at the assignment), as one created withisOutward: truealways did.v1/customers: aPATCHthat sends neitherfirstNamenorsurnameno longer changes the stored name, and an empty name reads asnullinstead of"".PATCHandDELETEanswer 404 for contacts that aren't customers, asGETand the list already did. The spec documents thePOSTbody asCustomerCreate.v1/gangs: aPATCHno longer resetsorder,externalIdanddeactivatedAtit doesn't send, and aPOSTstoresdeactivatedAt.v1/roles: getting an internal role by id answers 404, as the list already leaves it out.v1/user-absences: an absence by the day is widened to whole days, and one by the hour kept to one day, in the company's time zone instead of always Europe/Berlin.- Every
PATCHchanges only the properties it sends. Before, an omitted property with a documented default was reset to it, e.g. a user'scolorto#FFFFFF, ororderof time entry types and upload categories to 1. v1/user-absences: arequestedAtsent with a new absence is kept instead of being replaced by the time of the request.- Uploads of
v1/assignmentsandv1/assignment-events: aPOSTwithout afile, or with an invalid form field, answers 400 naming the problem instead of a server error, and auuidsent along is kept.
- 06.10.2026:
- Added read-only
computedDurationto thev1/time-entriesendpoint: the net worked duration in seconds, after pauses and time booked in parallel on another entry.durationstays the grossendsAt - startsAt.
- Added read-only
- 29.09.2026:
- Every
v1resource now returns auuidand can be filtered by it; a create may set it, as a UUIDv7.idstays the integer it was.
- Every
- 28.09.2026:
v1/assignment-events: an omittedmanPoweris now calculated asworkDays × workingTimePerDay × plannedEmployeeCountinstead of taking the type's default, and recalculated when a patch changes one of those. Types with a fixed effort keep their default and deriveworkingTimePerDayfrom it.
- 26.06.2026:
- Added
v1/time-sheet-daysendpoint to manage time sheet days, including aby-userlookup byuserIdandday(created on demand). - Added
v1/time-sheet-weeksendpoint to manage time sheet weeks, including aby-userlookup byuserIdandweekStart(created on demand). - Added
v1/time-sheet-monthsendpoint to manage time sheet months, including aby-userlookup byuserIdandmonth(created on demand). - Added read-only
dayStatusproperty and filter to thev1/time-entriesendpoint, reflecting the approval status of the entry's time sheet day. - Added
submittedAtandapprovedAtfilters to thev1/time-sheet-daysendpoint. - Added read-only
daySubmittedAtanddayApprovedAtproperties and filters to thev1/time-entriesendpoint, reflecting when the entry's time sheet day was submitted/approved.
- Added
- 05.08.2025:
- Added
v1/user-absencesendpoint to manage user absences. - Added
v1/user-absence-typesendpoint to manage user absence types.
- Added
- 29.07.2025:
- Added
v1/upload-categoriesendpoint to manage upload categories - Added file upload endpoint for
v1/assignments - Added file upload endpoint for
v1/assignment-events
- Added
- 11.07.2025:
- 07.07.2025:
- Added
v1/gangsendpoint to manage gangs. - Added
assignedGangsproperty to thev1/assignment-eventsendpoint.
- Added
- 01.07.2025:
- Added
v1/assignment-status-typesendpoint to manage assignment status types. - Added
responsibleUserIdandstatusIdproperties to thev1/assignmentsendpoint.
- Added
- 26.05.2025: Added new
v1/projectsendpoint to manage projects. - 01.05.2025: Initial release of the public API specification.