title: How can I access my User custom properties defined in my AWS Cognito User Pools?
body: <p>I added a few custom properties in the User configuration off my AWS Cognito User Pool. I have my app in objective-c similar to the sample project CognitoYourUserPoolsSample. Everything works fine and I can sign-in/sign-up without any problem. </p>
  
  <p>Though, I don't know how to access and set all the User custom attributes that I added in the User Pool config. I can access the default attributes values from the response object AWSCognitoIdentityProviderGetUserResponse for example. They are stored in the _userAttributes property (e.g. phone, email, etc.). </p>
  
  <p><strong>My questions are:</strong></p>
  
  <ul>
  <li><p>Where are the custom attributes stored? </p></li>
  <li><p>What is the proper way to set them during sign-up?</p></li>
  </ul>
  
  <p>I get the following error when I try to sign-up with custom attributes using the same approach as the default attributes:</p>
  
  <pre><code>// add custom attributes
  AWSCognitoIdentityUserAttributeType * subscriptionType = [AWSCognitoIdentityUserAttributeType new];
  subscriptionType.name = @"subscriptionType";
  subscriptionType.value = @"Premium";
  [attributes addObject:subscriptionType];
  </code></pre>
  
  <p><a href="http://i.stack.imgur.com/kl0KO.png" rel="nofollow">Here is the error I get.</a></p>
  
  <pre><code>responseObjectForResponse:originalRequest:currentRequest:data:error:] | Response body:
  {"__type":"NotAuthorizedException","message":"A client attempted to write unauthorized attribute"}
  </code></pre>
  
  <p>Thanks!</p>