What changed
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
Affects membership.joinedFrom.origin on Team reachable from 3 operations.
New value: org-admin-sync.
can now return "org-admin-sync"
Who is affected
Code that reads Vercel's Team objects, used by 3 Vercel operations.
Before and after
| Where | Before | After |
|---|---|---|
| Team.membership.joinedFrom.origin | "account-update", "bitbucket", "dsync", "feedback", "github", "gitlab", "import", "link", "mail", "nsnb-auto-approve", "nsnb-hobby-upgrade", "nsnb-invite", "nsnb-redeploy", "nsnb-redeploy-attribution-card", "nsnb-request-access", "nsnb-viewer-upgrade", "organization-teams", "saml", "teams" | "account-update", "bitbucket", "dsync", "feedback", "github", "gitlab", "import", "link", "mail", "nsnb-auto-approve", "nsnb-hobby-upgrade", "nsnb-invite", "nsnb-redeploy", "nsnb-redeploy-attribution-card", "nsnb-request-access", "nsnb-viewer-upgrade", "org-admin-sync", "organization-teams", "saml", "teams" |
| POST /v1/teams/{teamId}/request · joinedFrom.origin | "account-update", "bitbucket", "dsync", "feedback", "github", "gitlab", "import", "link", "mail", "nsnb-auto-approve", "nsnb-hobby-upgrade", "nsnb-invite", "nsnb-redeploy", "nsnb-redeploy-attribution-card", "nsnb-request-access", "nsnb-viewer-upgrade", "organization-teams", "saml", "teams" | "account-update", "bitbucket", "dsync", "feedback", "github", "gitlab", "import", "link", "mail", "nsnb-auto-approve", "nsnb-hobby-upgrade", "nsnb-invite", "nsnb-redeploy", "nsnb-redeploy-attribution-card", "nsnb-request-access", "nsnb-viewer-upgrade", "org-admin-sync", "organization-teams", "saml", "teams" |
| TeamLimited.membership.joinedFrom.origin | "account-update", "bitbucket", "dsync", "feedback", "github", "gitlab", "import", "link", "mail", "nsnb-auto-approve", "nsnb-hobby-upgrade", "nsnb-invite", "nsnb-redeploy", "nsnb-redeploy-attribution-card", "nsnb-request-access", "nsnb-viewer-upgrade", "organization-teams", "saml", "teams" | "account-update", "bitbucket", "dsync", "feedback", "github", "gitlab", "import", "link", "mail", "nsnb-auto-approve", "nsnb-hobby-upgrade", "nsnb-invite", "nsnb-redeploy", "nsnb-redeploy-attribution-card", "nsnb-request-access", "nsnb-viewer-upgrade", "org-admin-sync", "organization-teams", "saml", "teams" |
| GET /v1/teams/{teamId}/request/{userId} · joinedFrom.origin | "account-update", "bitbucket", "dsync", "feedback", "github", "gitlab", "import", "link", "mail", "nsnb-auto-approve", "nsnb-hobby-upgrade", "nsnb-invite", "nsnb-redeploy", "nsnb-redeploy-attribution-card", "nsnb-request-access", "nsnb-viewer-upgrade", "organization-teams", "saml", "teams" | "account-update", "bitbucket", "dsync", "feedback", "github", "gitlab", "import", "link", "mail", "nsnb-auto-approve", "nsnb-hobby-upgrade", "nsnb-invite", "nsnb-redeploy", "nsnb-redeploy-attribution-card", "nsnb-request-access", "nsnb-viewer-upgrade", "org-admin-sync", "organization-teams", "saml", "teams" |
| GET /v3/teams/{teamId}/members · members[].joinedFrom.origin | "account-update", "bitbucket", "dsync", "feedback", "github", "gitlab", "import", "link", "mail", "nsnb-auto-approve", "nsnb-hobby-upgrade", "nsnb-invite", "nsnb-redeploy", "nsnb-redeploy-attribution-card", "nsnb-request-access", "nsnb-viewer-upgrade", "organization-teams", "saml", "teams" | "account-update", "bitbucket", "dsync", "feedback", "github", "gitlab", "import", "link", "mail", "nsnb-auto-approve", "nsnb-hobby-upgrade", "nsnb-invite", "nsnb-redeploy", "nsnb-redeploy-attribution-card", "nsnb-request-access", "nsnb-viewer-upgrade", "org-admin-sync", "organization-teams", "saml", "teams" |
Code that breaks
switch (response.membership.joinedFrom.origin) {
// existing branches …
// no branch for "org-admin-sync"
default:
throw new Error("unexpected origin");
}Based on Vercel’s published API specification. How severity is decided.