Bug Fix

Clear results for Partner API contract writes

Partner API integrations can now assign a contract to a subteam using assignedSubteamId, clear the assignment with null, and see the assignment in the response. Only active subteams in your team can be assigned; invalid or deactivated subteam IDs return an error without changing the contract. A new GET /api/partner/subteams endpoint lists the active subteams and their members, so integrations can look up the IDs to assign.

Milestone definitions and task templates remain read-only through the Partner API. Requests to change them now return HTTP 422 with an explanation, instead of reporting success while ignoring the change. Integrations that read a contract type, edit a field, and send the whole object back are unaffected: an unchanged milestoneDefinitions array is ignored, not rejected. Configure these definitions in Contract Type settings.