Troubleshooting adCenter API error: Setting Editorial Status is not allowed.

Developers working with our API sometimes run into errors when executing Update operations in which they try to update an entity's status.

During operations like UpdateCampaigns(), UpdateAdGroups(), UpdateKeywords(), etc, the status of adCenter objects cannot be modified. In addition, editorial status cannot be modified by the user, and is determined and set only by the system.

As a result, a request containing the code below will fail:

 

  <s:Body>

    <UpdateKeywordsRequest xmlns=" https://adcenter.microsoft.com/v6 ">

      <AdGroupId>******</AdGroupId>

      <Keywords xmlns:i="https://www.w3.org/2001/XMLSchema-instance">

        <Keyword>

<EditorialStatus>Active</EditorialStatus>

          <Id>******</Id>

          <Param1>test</Param1>

<Status>Paused</Status>

        </Keyword>

      </Keywords>

    </UpdateKeywordsRequest>

  </s:Body>

 

You can get two possible errors in those cases:

 

<Message>Status cannot be changed on Update; instead, use Pause or Resume APIs.</Message>

or

<Message>Setting Editorial Status is not allowed.</Message>

 

To avoid this error, make sure you set the Status and EditorialStatus of your entities to null when executing Update operations, as in the sample below:

 

<s:Body>

<UpdateKeywordsRequest xmlns=" https://adcenter.microsoft.com/v6 ">

<AdGroupId>******</AdGroupId>

<Keywords xmlns:i="https://www.w3.org/2001/XMLSchema-instance">

<Keyword>

<EditorialStatus i:nil="true" />

<Id>******</Id>

<Param1>test</Param1>

<Status i:nil="true" />

</Keyword>

</Keywords>

</UpdateKeywordsRequest>

</s:Body>

 

If you want to update an entity's status, you should use operations like PauseCampaigns(), UpdateCampaigns(), PauseAdGroups(), etc.