-
Notifications
You must be signed in to change notification settings - Fork 16.1k
[IAM] deprecate account role api #32024
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
ee2a613
18dd469
34461ec
614ada9
7a63dd3
8d483a2
b5a7ecc
f1867b7
d6e3149
f3a5957
09d1510
96f6811
757c32c
fa463a7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| --- | ||
| title: Account Role API deprecated | ||
| description: "Account Role API is deprecated in favor of the Permission Group API." | ||
| products: | ||
| - fundamentals | ||
| date: 2026-07-21 | ||
| --- | ||
|
|
||
| The [Account Roles API](/api/resources/accounts/subresources/roles/) is deprecated and is being replaced by the [Permission Groups API](/api/resources/iam/subresources/permission_groups/). An end of life date has not yet been established. | ||
|
|
||
| ## What you need to do | ||
|
|
||
| Review the [Permission Groups API](/api/resources/iam/subresources/permission_groups/) documentation; the response schema differs from the legacy Roles response. | ||
|
|
||
| ## Highlights | ||
|
|
||
| - Integrations migrating to the Permission Groups API must obtain Permission Group IDs from that API and use them in the Account Members API policies request shape. Integrations that persist legacy Role IDs will need to remap their assignments. | ||
| - The legacy `Role` response includes a top-level `description` and a `permissions` object keyed by resource type with edit/read flags. | ||
| - The `PermissionGroup` response replaces those with a `meta` object containing `label` and `scopes`. Individual permissions are not returned as part of the permission group. | ||
| - The new API supports the [API Token](/fundamentals/api/get-started/create-token/) authorization scheme. The legacy Email + API Key authorization schema is provided for backwards compatibility. | ||
|
|
||
| For more information, refer to [API deprecations](/fundamentals/api/reference/deprecations/). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,6 +3,35 @@ link: "/fundamentals/api/reference/deprecations/" | |
| productName: API deprecations | ||
| productLink: "/fundamentals/" | ||
| entries: | ||
| - publish_date: "2026-07-21" | ||
| title: "Account Roles API" | ||
| description: |- | ||
| Deprecation date: July 21, 2026 | ||
|
|
||
| The [Account Roles API](/api/resources/accounts/subresources/roles/) only returns account-level roles today, and is deprecated in favor of the [Permission Groups API](/api/resources/iam/subresources/permission_groups/). The Permission Groups API is the supported way to enumerate account, zone, and resource-level roles that can be granted to account members. | ||
|
|
||
| Deprecated APIs: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should also mention the affected terraform resource:
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I added this so the "Additional notes" below. If you prefer I add it as a top level section - happy to do that as well. But there was no prior art in this file for a top level terraform mention alongside the API, so I kept it as a note. |
||
|
|
||
| - `GET /accounts/{account_id}/roles` — List roles | ||
| - `GET /accounts/{account_id}/roles/{role_id}` — Role details | ||
|
|
||
| Replacements: | ||
|
|
||
| - `GET /accounts/{account_id}/iam/permission_groups` — List account permission groups | ||
| - `GET /accounts/{account_id}/iam/permission_groups/{permission_group_id}` — Permission group details | ||
|
|
||
| The response schema differs from the legacy Roles response: | ||
|
|
||
| - The legacy `Role` response includes a top-level `description` and a `permissions` object keyed by resource type with edit/read flags. | ||
| - The `PermissionGroup` response replaces those with a `meta` object containing `label` and `scopes`. Individual permissions are not returned as part of the permission group. | ||
|
|
||
| Additional notes: | ||
|
|
||
| - Integrations migrating to the Permission Groups API must obtain Permission Group IDs from that API and use them in the Account Members API policies request shape. Integrations that persist legacy Role IDs will need to remap their assignments. | ||
| - Both endpoints use the standard Cloudflare response envelope, so pagination and error-handling do not change. | ||
| - The new API supports the [API Token](/fundamentals/api/get-started/create-token/) authorization scheme. The legacy Email + API Key authorization scheme is provided for backwards compatibility. | ||
| - The affected terraform resource is the `cloudflare_account_role` data source. You will need to migrate to the `cloudflare_account_permission_group` data source. | ||
|
|
||
| - publish_date: "2026-07-15" | ||
| title: "Workers KV: Legacy Namespace Routes" | ||
| description: |- | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.