|
63 | 63 | "x-roblox-rate-limits": { |
64 | 64 | "perApiKeyOwner": { |
65 | 65 | "period": "MINUTE", |
66 | | - "maxInPeriod": 150 |
| 66 | + "maxInPeriod": 30 |
67 | 67 | }, |
68 | 68 | "perOauth2Authorization": { |
69 | 69 | "period": "MINUTE", |
|
132 | 132 | "x-roblox-rate-limits": { |
133 | 133 | "perApiKeyOwner": { |
134 | 134 | "period": "MINUTE", |
135 | | - "maxInPeriod": 150 |
| 135 | + "maxInPeriod": 30 |
136 | 136 | }, |
137 | 137 | "perOauth2Authorization": { |
138 | 138 | "period": "MINUTE", |
|
227 | 227 | "x-roblox-rate-limits": { |
228 | 228 | "perApiKeyOwner": { |
229 | 229 | "period": "MINUTE", |
230 | | - "maxInPeriod": 150 |
| 230 | + "maxInPeriod": 30 |
231 | 231 | }, |
232 | 232 | "perOauth2Authorization": { |
233 | 233 | "period": "MINUTE", |
|
1009 | 1009 | "patch": { |
1010 | 1010 | "tags": ["Cloud"], |
1011 | 1011 | "summary": "Update Group Membership", |
1012 | | - "description": "Updates the group membership for a particular group member. This action\nrequires the requester to be able to manage lower ranked members. Guest or\nOwner ranks cannot be assigned, and a requester cannot change their own\nrank.", |
| 1012 | + "description": "**Deprecated.** Use AssignGroupRole and UnassignGroupRole instead.\nUpdates the group membership for a particular group member. This action\nrequires the requester to be able to manage lower ranked members. Guest or\nOwner ranks cannot be assigned, and a requester cannot change their own\nrank.", |
1013 | 1013 | "operationId": "Cloud_UpdateGroupMembership", |
1014 | 1014 | "parameters": [ |
1015 | 1015 | { |
|
1093 | 1093 | ] |
1094 | 1094 | } |
1095 | 1095 | }, |
| 1096 | + "/cloud/v2/groups/{group_id}/memberships/{membership_id}:assignRole": { |
| 1097 | + "post": { |
| 1098 | + "tags": ["Cloud"], |
| 1099 | + "summary": "Assign Role Group Membership", |
| 1100 | + "description": "Assigns a specific role to a user within a group. If the user already\nholds the specified role, no action is taken.", |
| 1101 | + "operationId": "Cloud_AssignRoleGroupMembership", |
| 1102 | + "parameters": [ |
| 1103 | + { |
| 1104 | + "name": "group_id", |
| 1105 | + "in": "path", |
| 1106 | + "description": "The group ID.", |
| 1107 | + "required": true, |
| 1108 | + "schema": { |
| 1109 | + "type": "string" |
| 1110 | + } |
| 1111 | + }, |
| 1112 | + { |
| 1113 | + "name": "membership_id", |
| 1114 | + "in": "path", |
| 1115 | + "description": "The membership ID.", |
| 1116 | + "required": true, |
| 1117 | + "schema": { |
| 1118 | + "type": "string" |
| 1119 | + } |
| 1120 | + } |
| 1121 | + ], |
| 1122 | + "requestBody": { |
| 1123 | + "content": { |
| 1124 | + "application/json": { |
| 1125 | + "schema": { |
| 1126 | + "$ref": "#/components/schemas/AssignRoleGroupMembershipRequest" |
| 1127 | + } |
| 1128 | + } |
| 1129 | + }, |
| 1130 | + "required": true |
| 1131 | + }, |
| 1132 | + "responses": { |
| 1133 | + "200": { |
| 1134 | + "description": "OK", |
| 1135 | + "content": { |
| 1136 | + "application/json": { |
| 1137 | + "schema": { |
| 1138 | + "$ref": "#/components/schemas/GroupMembership" |
| 1139 | + } |
| 1140 | + } |
| 1141 | + } |
| 1142 | + } |
| 1143 | + }, |
| 1144 | + "x-visibility": "BETA", |
| 1145 | + "x-roblox-engine-usability": { |
| 1146 | + "apiKeyWithHttpService": true |
| 1147 | + }, |
| 1148 | + "x-roblox-scopes": [ |
| 1149 | + { |
| 1150 | + "name": "group:write" |
| 1151 | + } |
| 1152 | + ], |
| 1153 | + "x-roblox-docs": { |
| 1154 | + "category": "Users and groups", |
| 1155 | + "methodProperties": { |
| 1156 | + "scopes": ["group:write"] |
| 1157 | + }, |
| 1158 | + "resource": { |
| 1159 | + "$ref": "#/components/schemas/GroupMembership", |
| 1160 | + "name": "GroupMembership" |
| 1161 | + } |
| 1162 | + }, |
| 1163 | + "x-roblox-stability": "BETA" |
| 1164 | + } |
| 1165 | + }, |
| 1166 | + "/cloud/v2/groups/{group_id}/memberships/{membership_id}:unassignRole": { |
| 1167 | + "post": { |
| 1168 | + "tags": ["Cloud"], |
| 1169 | + "summary": "Unassign Role Group Membership", |
| 1170 | + "description": "Unassigns a specific role from a user within a group. If the user does\nnot hold the specified role, no action is taken.", |
| 1171 | + "operationId": "Cloud_UnassignRoleGroupMembership", |
| 1172 | + "parameters": [ |
| 1173 | + { |
| 1174 | + "name": "group_id", |
| 1175 | + "in": "path", |
| 1176 | + "description": "The group ID.", |
| 1177 | + "required": true, |
| 1178 | + "schema": { |
| 1179 | + "type": "string" |
| 1180 | + } |
| 1181 | + }, |
| 1182 | + { |
| 1183 | + "name": "membership_id", |
| 1184 | + "in": "path", |
| 1185 | + "description": "The membership ID.", |
| 1186 | + "required": true, |
| 1187 | + "schema": { |
| 1188 | + "type": "string" |
| 1189 | + } |
| 1190 | + } |
| 1191 | + ], |
| 1192 | + "requestBody": { |
| 1193 | + "content": { |
| 1194 | + "application/json": { |
| 1195 | + "schema": { |
| 1196 | + "$ref": "#/components/schemas/UnassignRoleGroupMembershipRequest" |
| 1197 | + } |
| 1198 | + } |
| 1199 | + }, |
| 1200 | + "required": true |
| 1201 | + }, |
| 1202 | + "responses": { |
| 1203 | + "200": { |
| 1204 | + "description": "OK", |
| 1205 | + "content": { |
| 1206 | + "application/json": { |
| 1207 | + "schema": { |
| 1208 | + "$ref": "#/components/schemas/GroupMembership" |
| 1209 | + } |
| 1210 | + } |
| 1211 | + } |
| 1212 | + } |
| 1213 | + }, |
| 1214 | + "x-visibility": "BETA", |
| 1215 | + "x-roblox-engine-usability": { |
| 1216 | + "apiKeyWithHttpService": true |
| 1217 | + }, |
| 1218 | + "x-roblox-scopes": [ |
| 1219 | + { |
| 1220 | + "name": "group:write" |
| 1221 | + } |
| 1222 | + ], |
| 1223 | + "x-roblox-docs": { |
| 1224 | + "category": "Users and groups", |
| 1225 | + "methodProperties": { |
| 1226 | + "scopes": ["group:write"] |
| 1227 | + }, |
| 1228 | + "resource": { |
| 1229 | + "$ref": "#/components/schemas/GroupMembership", |
| 1230 | + "name": "GroupMembership" |
| 1231 | + } |
| 1232 | + }, |
| 1233 | + "x-roblox-stability": "BETA" |
| 1234 | + } |
| 1235 | + }, |
1096 | 1236 | "/cloud/v2/groups/{group_id}/roles": { |
1097 | 1237 | "get": { |
1098 | 1238 | "tags": ["Cloud"], |
|
7281 | 7421 | }, |
7282 | 7422 | "x-resource": true |
7283 | 7423 | }, |
| 7424 | + "AssignRoleGroupMembershipRequest": { |
| 7425 | + "required": ["role"], |
| 7426 | + "type": "object", |
| 7427 | + "properties": { |
| 7428 | + "role": { |
| 7429 | + "example": "groups/123/roles/456", |
| 7430 | + "type": "string", |
| 7431 | + "description": "The resource path of the role to assign.\n\nFormat: `groups/{group_id}/roles/{group_role_id}`" |
| 7432 | + } |
| 7433 | + }, |
| 7434 | + "description": "Assigns a role to the specified group membership." |
| 7435 | + }, |
7284 | 7436 | "ContentMessage": { |
7285 | 7437 | "type": "object", |
7286 | 7438 | "properties": { |
|
7998 | 8150 | "role": { |
7999 | 8151 | "example": "groups/7/roles/99513316", |
8000 | 8152 | "type": "string", |
8001 | | - "description": "The resource path for the role of the group member." |
| 8153 | + "description": "The resource path of the member's highest-ranked role.\nWhen the member holds multiple roles, this reflects only the\nhighest-ranked one. Prefer using the `roles` field, which always\ncontains the complete set of assigned roles." |
| 8154 | + }, |
| 8155 | + "roles": { |
| 8156 | + "readOnly": true, |
| 8157 | + "example": "groups/7/roles/99513316", |
| 8158 | + "type": "array", |
| 8159 | + "items": { |
| 8160 | + "type": "string" |
| 8161 | + }, |
| 8162 | + "description": "The resource paths of all roles assigned to the group member.\nThis is the recommended field for reading a member's roles, as it\nalways contains the complete set of roles held by the member." |
8002 | 8163 | } |
8003 | 8164 | }, |
8004 | 8165 | "description": "A membership to a group. A user ID can be used in place of a membership ID.", |
|
9573 | 9734 | "ROBLOX_CREDIT" |
9574 | 9735 | ], |
9575 | 9736 | "type": "string", |
9576 | | - "description": "The payment provider used to purchase the subscription.\n\nPossible values:\n\n | Value | Description |\n | --- | --- |\n | PAYMENT_PROVIDER_UNSPECIFIED | The payment provider is unspecified. |\n | STRIPE | The subscription was purchased using Stripe. |\n | APPLE | The subscription was purchased using Apple. |\n | GOOGLE | The subscription was purchased using Google. |\n | ROBLOX_CREDIT | The subscription was purchased using Roblox Credit. |", |
| 9737 | + "description": "The payment provider used to purchase the subscription.\n\nPossible values:\n\n | Value | Description |\n | --- | --- |\n | PAYMENT_PROVIDER_UNSPECIFIED | The payment provider is unspecified. For fiat currency subscriptions, this indicates an error. For Robux subscriptions, this is expected as Robux transactions do not use an external payment provider. |\n | STRIPE | The subscription was purchased using Stripe. |\n | APPLE | The subscription was purchased using Apple. |\n | GOOGLE | The subscription was purchased using Google. |\n | ROBLOX_CREDIT | The subscription was purchased using Roblox Credit. |", |
9577 | 9738 | "format": "enum" |
9578 | 9739 | }, |
9579 | 9740 | "user": { |
|
9658 | 9819 | }, |
9659 | 9820 | "description": "Contains the detected or specified source language code and a map of\nrequested translations, where each key is a language code and the value is\nthe translated text." |
9660 | 9821 | }, |
| 9822 | + "UnassignRoleGroupMembershipRequest": { |
| 9823 | + "required": ["role"], |
| 9824 | + "type": "object", |
| 9825 | + "properties": { |
| 9826 | + "role": { |
| 9827 | + "example": "groups/123/roles/456", |
| 9828 | + "type": "string", |
| 9829 | + "description": "The resource path of the role to unassign.\n\nFormat: `groups/{group_id}/roles/{group_role_id}`" |
| 9830 | + } |
| 9831 | + }, |
| 9832 | + "description": "Unassigns a role from the specified group membership." |
| 9833 | + }, |
9661 | 9834 | "UndeleteDataStoreRequest": { |
9662 | 9835 | "type": "object", |
9663 | 9836 | "properties": {}, |
|
0 commit comments