Share via

update client Link microsoft ads endpoint - linkaccepted

Tyler Hanson 0 Reputation points
2025-12-23T06:42:46.5833333+00:00

When trying to do an updatelink call to change a clientlink from pending to LinkAccepted I keep getting the response: AgencyLinkJob XXXXXXXX from AgencyCID XXXXXX needs to be delayed for 6.

What does this mean and how do I handle actually updating the link to accepted? It works if I do the LinkDeclined status. The other frustrating part with how this endpoint is setup is that it assumes that I am trying to update the immutable fields outside the ones that are required so I have to provide all the fields with their previous value even though the documentation doesn't say it is required on the updateclientlinks endpoint.

Any help here would be greatly appreciated.

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

2 answers

Sort by: Most helpful
  1. MS Advertising - Arsen 160 Reputation points Microsoft External Staff Moderator
    2025-12-23T15:10:06.9933333+00:00

    Hi Tyler

    Thank you for your follow-up and for sharing more about your use case, your tool sounds like a great way to simplify agency-client connections.

    To address your question:

    • Why the delay exists: The 6-hour delay is a safeguard built into the Microsoft Advertising API to prevent rapid state changes that could lead to inconsistencies or accidental link acceptance. It ensures that both parties have time to review the invitation before the link becomes active. This is part of the platform’s compliance and security measures.
    • Can it be shortened or bypassed? Unfortunately, this delay is enforced by the API and cannot be overridden or reduced programmatically. It’s not a configurable setting. The only way to proceed is to wait for the cooldown period to expire before calling UpdateClientLinks with LinkAccepted.
    • Best practice for your flow: Since your tool aims for a smooth invite-to-accept experience, I recommend:
      • Communicating the expected delay to users upfront (e.g., “Acceptance may take up to 6 hours after invitation”).
      • Polling the link status using SearchClientLinks to confirm when the link is eligible for acceptance.
      • Queueing the acceptance action in your system so it executes automatically once the delay expires.

    This approach will keep the process seamless for your users while respecting API constraints.

    Kind regards, 
    Arsen D. | Microsoft Advertising Support Specialist | 800-518-5689

    0 comments No comments

  2. MS Advertising - Arsen 160 Reputation points Microsoft External Staff Moderator
    2025-12-23T08:58:36.7533333+00:00

    Hi Tyler

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

    Thanks for bringing this to our attention. I understand you’re encountering the error:

    AgencyLinkJob XXXXXXXX from AgencyCID XXXXXX needs to be delayed for 6

    This error means there's a mandatory waiting period before the system will allow the LinkAccepted status to be applied. Typically, this occurs immediately after a previous action (such as a link invitation or link removal). The system enforces a throttle, for six units of time, before a new state transition to LinkAccepted can take place.

    What you should do:

    • Delay your next call Allow the system-imposed wait time to elapse before attempting to change the status to LinkAccepted. The “6” usually represents hours but can be based on internal throttling defaults.
    • Follow the documented update flow.
    • Use SearchClientLinks to retrieve the current ClientLink object, including the valid Timestamp (an essential field, though not always clearly called out in the docs).
    • Update only the Status field to LinkAccepted, and include all required immutable fields (such as ClientEntityId, ManagingCustomerId, and Timestamp) with their current values.
    • Verify your user permissions Your user token must carry Standard or Super Admin privileges. Only these roles are allowed to accept client links in the API.

    Why you must include immutable fields (like Timestamp)

    Although the public documentation may not explicitly list them as required for updates, the SOAP/REST interface does demand these fields. The Timestamp ensures optimistic concurrency control to validate that you're updating the most recent version of the ClientLink object.

    • The “needs to be delayed for 6” error is a waiting period, not a misconfiguration.
    • Delay your UpdateClientLinks call until the cooldown expires. Use SearchClientLinks, obtain the current state including Timestamp.
    • Submit UpdateClientLinks with new status LinkAccepted plus all required fields.
    • Ensure correct user role (Standard or Super Admin).

    If this doesn’t resolve your issue, or the delay seems longer than anticipated, feel free to reach out to support with your agency and client IDs for further investigation.

    For your convenience, here are key references from our API documentation:

    I hope the information provided here will at least partly answer your question.  If you have any additional questions, please do not hesitate to reach out to our support. I have also sent you a private message asking for further details. You are more than welcome to respond to me to that I can investigate the matter for further details.

    Kind regards, 
    Arsen D. | Microsoft Advertising Support Specialist | 800-518-5689


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.