Changelog#
2026-10-19#
[Feature] Add remediation issues to the GRC preview
AddedGET /issues,GET /issues/{id},PATCH /issues/{id}andPOST /issues/batchRetrieval, which takes up to 50 ids. Issues can be filtered and sorted, and the list omits the detail fields (description,rootCause,supplementalInformation,resolutionNote). Issues carrycreatedandmodified(dateTimeanduser), can be sorted bycreated.dateTime, and returntargetRemediationDateas a date (YYYY-MM-DD). An issue has at most 10 collaborators, 5 controls, processes and risks each, and 100 custom fields.PATCHapplies a JSON Patch withreplaceoperations only and requires thegrc:writescope; status transitions are not supported.[Feature] Add action tasks on remediation issues to the GRC preview
AddedGET /issues/{issueId}/actionTasks,GET /issues/{issueId}/actionTasks/{id},PATCH /issues/{issueId}/actionTasks/{id},POST /issues/{issueId}/actionTasks/{id}/externalSubmissionandPOST /issues/{issueId}/actionTasks/{id}/implementation. Action tasks carrycreatedandmodified(dateTimeanduser) and anissuereference ({ id }). An issue has at most 10 action tasks and the list returns all of them in one page; compare each action task’smodified.dateTimewith the value from a previous sync to detect changes. APATCHon an implemented or cancelled action task returns409. The write operations require thegrc:writescope.[Feature] Add asynchronous issue export to the GRC preview
AddedPOST /issues/export, which starts an export of remediation issues to a CSV or JSONL file and returns202with aLocationheader. Poll the newGET /operations/{operationId}endpoint until the operation completes, then download the file from itsresourceUrl. UseupdatedAtto export issues created or changed in a window, for incremental sync, and deduplicate byidandmodified.dateTime. Requires thegrc:readscope.
2026-10-09#
[Breaking] Replace control with controlSnapshot on scoped controls
ScopedControl.controlis replaced bycontrolSnapshot, a digest of the control as it was when it was put in scope:id(the snapshot id),evergreenControlId,controlIdandname. The oldcontrol.idis nowcontrolSnapshot.evergreenControlId. No endpoint returns a snapshot by itsid; useevergreenControlIdwith the Controls API to fetch the control.evergreenControlIdis null when the control was permanently deleted.[Bug Fix] Report $filter and $orderBy errors on scoped controls by parameter
A bad$filteror$orderByon the scoped-controls list now returns400with codeinvalidFilterorinvalidOrderByand the parameter astarget.
2026-10-05#
[Breaking] Rename the scoped-controls re-addition operation to restoration
RenamedPOST /assuranceProjects/{id}/scopedControls/reAdditiontoPOST /assuranceProjects/{id}/scopedControls/restoration.[Breaking] Align Project Scope with the service contract
The scoped-controls list now returns in-scope and removed entries by default, and no longer supports filtering oncontrol.controlId.ScopedControl.controlis nullable for entries whose control was permanently deleted. Addition returns only the entries it created and skips controls already in the project. Removal and restoration are idempotent: entries already in the target state take the new rationale, unmatched ids are skipped, and the matched entries are returned in request order. The scope operations return409with codeunsupportedProjectTypefor projects other than Independent Controls Testing.
2026-09-22#
[Information] Remove the Wk-Organization request header
Removed theWk-Organizationheader parameter. It is no longer required to select the tenant.
2026-09-10#
[Breaking] Limit the Risk and Control Matrix preview
Removed the process, subprocess, system, and location operations from the public preview. Controls and risks remain available with list, single, and batch retrieval.[Bug Fix] Align controls and risks with the service contract
Updated the controls and risks schemas, examples, and supported control filters to match the implemented grc-evergreen public API contract.
2026-09-01#
[Feature] Initial feature preview release
Initial feature preview release of the 2026-09-01.grc.preview API.[Feature] Paginate the authenticated user’s memberships
- Memberships
Added
$maxpagesize,$next, and@nextLinkpagination toGET /me/memberships. Pagination is applied after filtering, and next-page cursors preserve the filter and page size.