UpdateUserRoles Service Operation

 

Updates the roles of the specified user.

Request | Response

Error Codes | Remarks

Service: CustomerManagementService.svc v11 | Namespace: https://bingads.microsoft.com/Customer/v11

Request Body

The UpdateUserRolesRequest object defines the elements of the request’s body. The elements must be in the same order as shown in the SOAP Request SOAP.

ElementDescriptionData Type
CustomerIdThe identifier of the customer to which the user belongs.long
DeleteAccountsAn array of identifiers of the accounts to remove from the list of accounts that the user can manage.

For usage, see the Remarks section below.
long array
DeleteCustomersAn array of identifiers of the customers to remove from the list of customers that the user can manage.

For usage, see the Remarks section below.
long array
DeleteRoleIdThe identifier of the role to which the values specified in the DeleteAccounts or DeleteCustomers element applies, if set.

For more information about possible role values, see the corresponding Integer Value column within the UserRole.
int
NewAccountsAn array of identifiers of the accounts to restrict the user to. The user will be able to manage only these accounts.

If the user is currently restricted to a set of accounts, set this element to the new accounts that you want the user to also manage. For example, if the user currently manages accounts 123 and 456, and you want the user to also manage account 789, set this element to 789.

For usage, see the Remarks section below.
long array
NewCustomersAn array of identifiers of the customers to restrict the user to. The user will be able to manage only these customers.

For usage, see the Remarks section below.
long array
NewRoleIdThe identifier of the role to which the values specified in the NewAccounts or NewCustomers element applies to, if set.

For more information about possible role values, see the corresponding Integer Value column within the UserRole.
int
UserIdThe identifier of the user whose role you want to update.long

Request Headers

Set the required header elements for each service request. New customers are required to sign up for Bing Ads with a Microsoft Account, and to manage those accounts you must use OAuth. Existing users with legacy Bing Ads credentials may continue to specify the UserName and Password header elements. In future versions of the API, Bing Ads will transition exclusively to Microsoft Account authentication. For more information, see Getting Started With the Bing Ads API.

OAuth Authentication

These request headers are required for Authentication with OAuth.

ElementDescriptionData Type
AuthenticationTokenThe OAuth access token that represents a Microsoft Account user who has permissions to Bing Ads accounts.string
DeveloperTokenThe developer token used to access the Bing Ads API.string

Password Authentication

These request headers are required for legacy username and password authentication.

ElementDescriptionData Type
DeveloperTokenThe developer token used to access the Bing Ads API.string
PasswordThe Bing Ads user's sign-in password.string
UserNameThe Bing Ads user's sign-in user name. You must not set this element to a Microsoft account or email address. To authenticate a Microsoft account, use the AuthenticationToken header instead of UserName and Password.string

Request SOAP

The following example shows the complete request envelope.

<s:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header xmlns="https://bingads.microsoft.com/Customer/v11">
    <Action mustUnderstand="1">UpdateUserRoles</Action>
    <ApplicationToken i:nil="false"></ApplicationToken>
    <AuthenticationToken i:nil="false"></AuthenticationToken>
    <DeveloperToken i:nil="false"></DeveloperToken>
    <Password i:nil="false"></Password>
    <UserName i:nil="false"></UserName>
  </s:Header>
  <s:Body>
    <UpdateUserRolesRequest xmlns="https://bingads.microsoft.com/Customer/v11">
      <CustomerId></CustomerId>
      <UserId></UserId>
      <NewRoleId i:nil="false"></NewRoleId>
      <NewAccountIds i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <a1:long></a1:long>
      </NewAccountIds>
      <NewCustomerIds i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <a1:long></a1:long>
      </NewCustomerIds>
      <DeleteRoleId i:nil="false"></DeleteRoleId>
      <DeleteAccountIds i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <a1:long></a1:long>
      </DeleteAccountIds>
      <DeleteCustomerIds i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <a1:long></a1:long>
      </DeleteCustomerIds>
    </UpdateUserRolesRequest>
  </s:Body>
</s:Envelope>

Response Body

The response does not contain additional body elements.

Response Header

ElementDescriptionData Type
TrackingIdThe identifier of the log entry that contains the details of the API call.string

Response SOAP

The following example shows the complete response envelope.

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header xmlns="https://bingads.microsoft.com/Customer/v11">
    <TrackingId p4:nil="false" xmlns:p4="http://www.w3.org/2001/XMLSchema-instance"></TrackingId>
  </s:Header>
  <s:Body>
    <UpdateUserRolesResponse xmlns="https://bingads.microsoft.com/Customer/v11">
      <LastModifiedTime></LastModifiedTime>
    </UpdateUserRolesResponse>
  </s:Body>
</s:Envelope>

If the service operation fails, it throws a FaultException, which contains one or more of the Bing Ads API error data objects. For information about the fault detail objects, see Customer Management Error Data Objects and Handling Service Errors and Exceptions.The following are example error codes that the error objects can include when using this service operation. For all documented error codes, please see Bing Ads Operation Error Codes.

Error Code
InvalidCredentials

As an example use case if an advertiser campaign manager is limited to managing accounts 123, 456, and 789, and you no longer want the user to manage 456, set the following elements accordingly:

  • Set the NewRoleId element to 16 (advertiser campaign manager role).

  • Set the NewAccounts element to an array that contains 123 and 789.

  • Set the DeleteRoleId element to 16 (advertiser campaign manager role).

  • Set the DeleteAccounts element to an array that contains 456.

If an advertiser campaign manager is limited to managing accounts 123 and 789, and you now want the user to manage all accounts, set the following elements accordingly:

  • Set the NewRoleId element to 16 (advertiser campaign manager role).

  • Set the NewAccounts element to NULL.

  • Set the DeleteRoleId element to 16 (advertiser campaign manager role).

  • Set the DeleteAccounts element to an array that contains 123, 456, and 789.

Users with account level roles can be restricted to specific accounts. Users with customer level roles can access all accounts within the user’s customer, and their access cannot be restricted to specific accounts.

System_CAPS_ICON_note.jpg Note

When attempting to restrict customer level user roles to specific accounts the UpdateUserRoles operation will not fail, and the user will retain access for all accounts within the user’s customer.

Show: