Reminder: Update your MYOB Business API integrations by 1 September 2026
Hi Everybody,
MYOB is strengthening its app ecosystem by upgrading integration endpoints to enhance data privacy and security.
From 1 September 2026, all developers using the MYOB Business API will need to:
- Update their integrations
- Adopt granular data scopes
- Ensure end users consent via the new flow
Moving to granular scopes give developers more control over the data they request, making it easier to build integrations that deliver the best customer experience and take advantage of new features as they become available.
What’s changing on 1 September 2026
From 1 September 2026, the CompanyFile scope will be removed from the MYOB Business API scope list. Any new consent or authorisation request that still uses CompanyFile will fail. Developers will need to update their integrations to use the new granular data scopes.
To keep services running for customers, developers must ensure their applications request the appropriate granular scopes and that customers complete the updated consent flow. If these changes are not made by the deadline, affected integrations will be disrupted.
To avoid disruption to customer integrations or any impact on your developer program status, you must complete these updates by 1 September 2026.
More information about granular data scopes and the required changes is available below.
MYOB Business API Overview: Granular Data Scopes
If you have concerns about these timelines or need support to meet them, please submit a support request. If you’d prefer to speak to us directly, click here to book a time that suits you.
Thank you for partnering with us to improve data security, transparency, and customer trust across the MYOB app ecosystem. Kind regards, The MYOB Team
Finally, I have an answer. It is necessary to create your own instance of a CompanyFile object in code, rather than getting it via the (soon to disappear) CompanyFile Service. So, after authentication is complete and you have your businessId value, the following steps (in C#) worked for me:
- Make a Guid object, and populate it. myBusinessID is the string value of the business ID
Guid myCFGuid = Guid.Parse(myBusinessID); - Declare a CompanyFile object, and create the instance
CompanyFile myCompany;
myCompany = new CompanyFile {
Id = myCFGuid,
Uri = new Uri($"https://api.myob.com/accountright/{myCFGuid}")
};
This code creates the CompanyFile instance, and initialises the Id and Uri members.
That appears to be all that is required. You could also collect the Business Name and set that if you wanted.
This CompanyFile object can then be used as the first parameter to the Get/GetRange calls to the various Service objects that request data from the MYOB cloud. And the other calls for updating etc no doubt. So simple once you see it. I hope this might save someone else the hours I have burnt trying to figure this out.
- Make a Guid object, and populate it. myBusinessID is the string value of the business ID