Dynamics 365 Doesn't Have One API. It Has Several, by Module.

Dynamics 365's CRM apps (Sales, Customer Service) run on Dataverse and expose a REST-based Web API using OData; Business Central has its own separate REST API with its own endpoints and authentication. There's no single "Dynamics 365 API" that covers every module, which matters the moment you're trying to pull data out of, or push data into, more than one of them.

Which API you're actually working with

If you're building against Dynamics 365 Sales, Customer Service, or another Dataverse-based app, you're working with the Dataverse Web API: OData v4, authenticated through Azure Active Directory, able to read or write almost any entity in the system, including custom ones. Business Central runs on different underlying technology and ships its own REST API with its own API pages and authentication setup, built separately from Dataverse's.

Older, on-premises versions of Dynamics CRM (2011 through roughly 2015) used a different setup entirely, mostly SOAP-based calls to the Organization Service, before Microsoft introduced the modern Web API. Microsoft has been retiring that legacy endpoint over time, so an integration built years ago against old Dynamics CRM web services usually needs rebuilding against the current Dataverse Web API, not just a connection-string update.

What We Build on Top of Dynamics 365's APIs

A sync that reaches the right module's API

Whether the data you need lives in Dataverse (Sales, Customer Service) or in Business Central's own API, we build the connection against the actual API each module exposes, rather than assuming one integration pattern covers both.

Rebuilding an old Dynamics CRM integration

If a business built a custom integration years ago against legacy Dynamics CRM web services and it's quietly breaking as Microsoft retires that endpoint, we rebuild it against the current Dataverse Web API so it keeps working going forward instead of failing without warning.

Trying to get data in or out of Dynamics 365 programmatically?

Tell us which module, and what you're trying to read or write. We'll tell you exactly which API you need.

Let's talk

Building against Dynamics 365's API, or stuck on an old integration that's breaking?

Whether you're starting fresh against Dataverse or Business Central's API, or rebuilding something that broke when Microsoft retired an old endpoint, give us the specifics and we'll map out what's actually possible. And if Dynamics 365's API isn't the real problem, we're glad to look at whatever other system is.

Let's talk

Frequently Asked Questions

Does Dynamics 365 have a REST API?+
Yes, though which one depends on the module. Dataverse-based apps like Sales and Customer Service use the Dataverse Web API, built on OData v4. Business Central has its own separate REST API. They don't share a single endpoint or authentication setup.
Does Business Central have its own API, separate from Dynamics 365 CRM?+
Yes. Business Central's API is built on different underlying technology than Dataverse, with its own API pages, versioning, and authentication. Code written against one won't work against the other without changes.
Do I need a developer to use the Dynamics 365 API?+
For anything beyond basic read access, yes, realistically. Authenticating through Azure AD, handling OData query syntax, and mapping fields correctly is development work, which is exactly the part we take on.
Is the old Dynamics CRM web services API still supported?+
Largely no. Microsoft has been phasing out the legacy SOAP-based Organization Service endpoints that older on-premises Dynamics CRM versions relied on, in favor of the modern Dataverse Web API. An integration still pointed at the old endpoint is a good candidate for rebuilding before it breaks on its own.

Let's talk

Tell us the one thing your team does manually that eats up time. We read every message and reply within a day.