updateTerms method
Modifies existing terms documents for the requested app client. When Terms and conditions and Privacy policy documents are configured, the app client displays links to them in the sign-up page of managed login for the app client.
You can provide URLs for terms documents in the languages that are
supported by managed
login localization. Amazon Cognito directs users to the terms
documents for their current language, with fallback to
default if no document exists for the language.
Each request accepts one type of terms document and a map of language-to-link for that document type. You must provide both types of terms documents in at least one language before Amazon Cognito displays your terms documents. Supply each type in separate requests.
For more information, see Terms documents.
Learn more
- Signing Amazon Web Services API Requests
- Using the Amazon Cognito user pools API and user pool endpoints
May throw ConcurrentModificationException.
May throw InternalErrorException.
May throw InvalidParameterException.
May throw NotAuthorizedException.
May throw OperationNotEnabledException.
May throw ResourceNotFoundException.
May throw TermsExistsException.
May throw TooManyRequestsException.
Parameter termsId :
The ID of the terms document that you want to update.
Parameter userPoolId :
The ID of the user pool that contains the terms that you want to update.
Parameter enforcement :
This parameter is reserved for future use and currently accepts only one
value.
Parameter links :
A map of URLs to languages. For each localized language that will view the
requested TermsName, assign a URL. A selection of
cognito:default displays for all languages that don't have a
language-specific URL.
For example, "cognito:default": "https://terms.example.com",
"cognito:spanish": "https://terms.example.com/es".
Parameter termsName :
The new name that you want to apply to the requested terms documents.
Parameter termsSource :
This parameter is reserved for future use and currently accepts only one
value.
Implementation
Future<UpdateTermsResponse> updateTerms({
required String termsId,
required String userPoolId,
TermsEnforcementType? enforcement,
Map<String, String>? links,
String? termsName,
TermsSourceType? termsSource,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSCognitoIdentityProviderService.UpdateTerms'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'TermsId': termsId,
'UserPoolId': userPoolId,
if (enforcement != null) 'Enforcement': enforcement.value,
if (links != null) 'Links': links,
if (termsName != null) 'TermsName': termsName,
if (termsSource != null) 'TermsSource': termsSource.value,
},
);
return UpdateTermsResponse.fromJson(jsonResponse.body);
}