Share via

Code 105 InvalidCredentials error despite correct OAuth and Developer Token

Linn Ivstam 0 Reputation points
2026-02-24T12:43:14.5133333+00:00

Hello,

I’m trying to make a simple SOAP API call (GetAccount via CustomerManagementService) to Microsoft Advertising, but I’m getting the following error:

{

What I’ve verified:

The OAuth access token is valid and freshly generated.

The Developer Token is copied directly from the platform, marked as active, and approved for production.

The CustomerId and AccountId exist, are active, and the user has full access.

SOAP Request Example (minimal):

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">

Headers:

DeveloperToken: MY_DEVELOPER_TOKEN

Despite all of the above being correct, I still get Error Code 105: InvalidCredentials.

Has anyone seen this behavior? Could there be an additional configuration or permission required for Super Admin accounts to access SOAP endpoints?

Any guidance would be greatly appreciated.

Thank you!

Microsoft Advertising API
Microsoft Advertising API

A Microsoft API that provides programmatic access to Microsoft Advertising to manage large campaigns or to integrate your marketing with other in-house systems.

0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. MS Advertising - Dagmara 480 Reputation points Microsoft External Staff Moderator
    2026-02-24T16:10:57.2533333+00:00

    Hello Linn Ivstam,

    Thank you for using our Microsoft Advertising Learn Q&A Platform!

    I understand it can be frustrating when Error Code 105 (InvalidCredentials) shows up even though every credential looks correct. The good news is that this error almost always comes from one of a few very specific Microsoft Advertising SOAP requirements and they’re not obvious from the OAuth flow alone.

    Below is a clear breakdown of what typically causes this, why it happens, and how to fix it.

    Microsoft Advertising returns InvalidCredentials when any of the following SOAP header elements do not match what the backend expects:

    • DeveloperToken
    • AuthenticationToken (your OAuth access token)
    • CustomerId
    • AccountId
    • UserId (optional but sometimes required depending on the call)

    Even if your OAuth token is valid, the SOAP layer still enforces additional identity checks that differ from the REST APIs.

    The Most Common Hidden Causes

    1. Your Microsoft Entra app must request “ads.manage” or “ads.read” scopes specifically for Microsoft Advertising. If the token was issued for a different resource (e.g., Graph), SOAP will reject it with Error 105.

    Check your token’s aud claim, it must be:

    __https://ads.microsoft.com

    __If it’s not, the SOAP API will always return InvalidCredentials.

    1. Even if the user is a “Super Admin” in Entra ID, Microsoft Advertising is a separate identity system.

    The user must:

    • Exist in Microsoft Advertising
    • Have access to the CustomerId and AccountId you are passing
    • Be active (not pending invitation)

    If the user is not mapped to the Microsoft Advertising account hierarchy, SOAP returns Error 105.

    1. A developer token can be:
    • Active
    • Approved for production
    • But still not authorized for a specific customer

    This happens often when:

    • The developer token belongs to a different Microsoft Advertising manager account
    • The CustomerId you are calling is not under that manager

    SOAP requires the developer token to be tied to the same hierarchy.

    1. SOAP requires all of these headers:
    • DeveloperToken
    • AuthenticationToken
    • CustomerId
    • AccountId

    Example of a correct header block: soap:Header

      <AuthenticationToken>ACCESS_TOKEN</AuthenticationToken>

      <DeveloperToken>DEV_TOKEN</DeveloperToken>

      <CustomerId>12345678</CustomerId>

      <AccountId>98765432</AccountId>

    </soap:Header> If any are missing or empty, you get Error 105.

    1. For Customer Management, the correct production endpoint is: _https://clientcenter.api.bingads.microsoft.com/Api/CustomerManagement/v13/CustomerManagementService.svc
      _Using a sandbox endpoint with a production token (or vice versa) also triggers Error 105.

    What to Test Next:

    1. Decode your OAuth token Verify aud = https://ads.microsoft.com.
    2. Confirm the user is in Microsoft Advertising Log in at: https://ads.microsoft.com → Tools → Account access Ensure the user has access to the CustomerId you are calling.
    3. Verify the developer token belongs to the same hierarchy If your developer token is tied to a manager account, the CustomerId must be under that manager.
    4. Try calling GetUser This is the simplest test call. If GetUser fails with 105, the issue is identity-related, not account-related.
    5. Check SOAP headers carefully Even a missing AccountId can cause 105

    Sandbox API Authentication Error — Code 105 (InvalidCredentials) - Microsoft Q&A

    I hope above information was helpful for you! Our support teams are pleased to engage in more in-depth discussions about your account through phone, chat, or email to offer review assistance, please see our support page to reach out!

    I trust that the details shared here will partially address your inquiry. Should you have any further questions, feel free to contact our support. Additionally, I’ve sent you a private message requesting additional information. Please don’t hesitate to reply if you require further assistance.

     

    Kind regards, 

    Dagmara | Microsoft Advertising Support Specialist | 800-518-5689 

     

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.