addCustomAttributes method
Adds additional user attributes to the user pool schema. Custom attributes
can be mutable or immutable and have a custom: or
dev: prefix. For more information, see Custom
attributes.
Learn more
- Signing Amazon Web Services API Requests
- Using the Amazon Cognito user pools API and user pool endpoints
May throw InternalErrorException.
May throw InvalidParameterException.
May throw NotAuthorizedException.
May throw OperationNotEnabledException.
May throw ResourceNotFoundException.
May throw TooManyRequestsException.
May throw UserImportInProgressException.
Parameter customAttributes :
An array of custom attribute names and other properties. Sets the
following characteristics:
- AttributeDataType
- The expected data type. Can be a string, a number, a date and time, or a boolean.
- Mutable
- If true, you can grant app clients write access to the attribute value. If false, the attribute value can only be set up on sign-up or administrator creation of users.
- Name
-
The attribute name. For an attribute like
custom:myAttribute, entermyAttributefor this field. - Required
- When true, users who sign up or are created must set a value for the attribute.
- NumberAttributeConstraints
-
The minimum and maximum length of accepted values for a
Number-type attribute. - StringAttributeConstraints
-
The minimum and maximum length of accepted values for a
String-type attribute. - DeveloperOnlyAttribute
-
This legacy option creates an attribute with a
dev:prefix. You can only set the value of a developer-only attribute with administrative IAM credentials.
Parameter userPoolId :
The ID of the user pool where you want to add custom attributes.
Implementation
Future<void> addCustomAttributes({
required List<SchemaAttributeType> customAttributes,
required String userPoolId,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSCognitoIdentityProviderService.AddCustomAttributes'
};
await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'CustomAttributes': customAttributes,
'UserPoolId': userPoolId,
},
);
}