Remove ACL Role
remove_acl_roleRemoves a role from a ServiceNow ACL to revoke that role's access, requiring user confirmation, session elevation, and update set capture so every write is verified.
Instructions
Remove a role from an access control. This is a security change: before calling it, tell the user who gains or loses access and get their go-ahead. It elevates its own session to security_admin (only for ACL tools; other tools stay unelevated) and writes into the named update set, verifying each write by reading it back. Removing the last role makes the platform put snc_internal back, which lets every internal user past the role check, so any script on the ACL then runs for them: add the intended role first. Never remove a role shown only as a sys_id (hidden): its name is unknown to this session.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The role name to remove. | |
| scope | No | The ACL's application: its scope name (e.g. "x_acme_app"), or "global". Give this or scope_id. | |
| sys_id | Yes | The ACL's sys_id. | |
| instance | No | The ServiceNow instance auth alias to connect to. This is the alias configured via `snc configure` (e.g., "myinstance", "prod", "test"). The user will typically refer to this by name when saying things like "on my myinstance instance". If not provided, falls back to the SN_AUTH_ALIAS environment variable. | |
| scope_id | No | The ACL's application by sys_scope sys_id, instead of scope. | |
| update_set | Yes | sys_id of an In progress update set of that application (create one with create_update_set). Every write is captured there and verified; the user's own current update set is left as it is. | |
| acknowledge_upgrade_skip | No | Only for an installed Store application, and only after the user has reviewed it: upgrades of that application then skip this ACL until the customization is reviewed. |