[API] Control sticky fields via API/Website

Problem statement:

We are requesting an enhancement to the Canvas API and/or Website to allow more precise control over updating sticky fields. Currently, the "override_sis_stickiness" property in the API controls whether or not sticky fields are updated, but it applies to all sticky fields within a resource without the option to specify which fields to ignore. When "override_sis_stickiness" is set to "false," none of the sticky fields for that resource are updated, with no exceptions.

Just to add relevant information:

Here is an example of the request made to Canvas for a person and a section resource having "Do not update Sticky fields" enabled : 

 

https://<REDACTED>.instructure.com//api/v1/users/sis_user_id:<REDACTED>?override_sis_stickiness=fals... https://<REDACTED>.instructure.com//api/v1/courses/sis_course_id:<REDACTED>?override_sis_stickiness=... 

 

As you might notice, the "override_sis_stickiness" is specified as a parameter of the request.

 

Thank you for considering this request, and please let us know if there are any further details we can provide.

Proposed solution:

Idea 1:

To address this, we propose expanding the API functionality to allow selective control over sticky fields at the resource level. Specifically, we’re asking for the ability to denote individual sticky fields to ignore within each resource. This would provide greater flexibility for our provisioning needs, enhancing the API’s usability for Ellucian and other users requiring fine-grained updates.

 

Idea 2:

Another approach might be to have a setting/feature to select within the Canvas UI which fields are considered as sticky for each resource. For example, from Canvas Sticky Fields (UI Override) we can see that for "users" the "login_id" is considered as "Sticky", having an option in Canvas to remove the stickiness from this field will allow ILP (having "Do not update Sticky fields" enabled) to update it, while not updating any other sticky fields.  In this way, customers can select which fields are considered sticky and, consequently, which fields will be updated by ILP having the "Do not update sticky fields" enabled.

User role(s):

admin