Driftwatch

Asana / Asana API /

Breakingdirection flip: their tools call this safe

base_role_type can now return "csm"

What changed

Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.

Affects base_role_type on RbacRoleBase reachable from 3 operations.

New value: csm.

can now return "csm"

Who is affected

Code that reads Asana's RbacRoleBase objects, used by 3 Asana operations.

Before and after

WhereBeforeAfter
RbacRoleBase.base_role_type"admin", "guest", "member", "super_admin""admin", "csm", "guest", "member", "super_admin"
RbacRoleResponse.base_role_type"admin", "guest", "member", "super_admin""admin", "csm", "guest", "member", "super_admin"

Code that breaks

switch (response.base_role_type) {
  // existing branches …
  // no branch for "csm"
  default:
    throw new Error("unexpected base_role_type");
}

Based on Asana’s published API specification. How severity is decided.