dynsvcdiscovery 0.9.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global dynsvcdiscovery --version 0.9.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local dynsvcdiscovery --version 0.9.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=dynsvcdiscovery&version=0.9.0
                    
nuke :add-package dynsvcdiscovery --version 0.9.0
                    

Dynamics 365 Service Endpoint Discovery Tool

Git GitHub GitHub Actions .NET Blazor Windows macOS Linux NuGet C# JSON YAML NuGet NuGet

A CLI+GUI tool to explore Dynamics 365 Finance & Operations APIs. We use the service discovery endpoints to build a map of available services, then query the relevant SOAP endpoints to build best-guess type definitions for the data contracts used in the requests.

⚠️ Warning ⚠️

Excessive use of this tool can result in HTTP 429 responses. Consider using the filtering options to reduce redundant requests.

⬇️⌨️ Installation (CLI)

Install as a .NET tool:

dotnet tool install -g dynsvcdiscovery

Compile from source:

make install

⬇️🖼️ Installation (GUI)

Download the latest release (MSIX bundled).

Run Install.ps1, or trust the certificate and run the MSIX file manually.

📐 Setup

You'll need an Azure application which can communicate with your Dynamics 365 instance. If you don't have one, here's how you can set one up:

  1. Create an Azure Application and configure it to communicate with your Dynamics environment.
  2. Under Overview, copy the Application (client) ID. Save this for later.
  3. Staying under Overview, copy the Directory (tenant) ID. Save this for later.
  4. Under Manage > Certificates & secrets, add a new client secret. Save this for later.
  5. Under Manage > API Permissions, add the permission Ax.FullAccess (you can search for it using its service principal ID, f92c3f85-4759-4901-810d-5da8943dea39). Grant admin consent for your organisation.
  6. In Dynamics, navigate to System Administration > Setup > Entra ID Applications, and add a new record with the Application (client) ID, assigned to an appropriate user. Remember to click "Save"!

⌨️ Usage

Using only required parameters will map all discoverable service endpoints.

dynsvcdiscovery \
    -c '<your-client-id>' \
    -s '<your-client-secret>' \
    -r 'https://<your-org-id>.operations.dynamics.com' \
    -t 'https://login.microsoftonline.com/<your-tenant-id>/oauth2/token' 

Additional options and sub-commands can be found using dynsvcdiscovery -?.

🐛 Debug

Failed HTTP requests are not treated as errors. Instead, their relevent group/service/operation is left unpopulated.

To diagnose errors, set the log level to Warning and redirect standard error to a different destination.

dynsvcdiscovery \
    -csrt ... \
    --log-level Warning \
    >services.json \
    2>dynsvcdiscovery.log

For more verbose results, set the log level to Trace. You may also want to use --log-stream 2|StdErr to divert all logging to the error stream, so as not to interfere with the collection you're exporting.

✏️ Contributors' Notice

The use of AI-generated code is strictly prohibited in this repository. See CONTRIBUTING.md.

🪪 License

This code is released under the MIT license. See LICENSE.md.

🔒 Security

Please report any security concerns to the maintainer of this repository via email. See SECURITY.md.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.13.0 107 3/26/2026
0.11.0 104 3/3/2026
0.9.0 88 2/17/2026
0.8.0 120 2/5/2026
0.7.1 101 2/4/2026
0.6.0 103 1/26/2026
0.5.1 113 1/8/2026
0.4.0 441 12/8/2025
0.3.0 180 12/5/2025
0.2.1 193 12/3/2025
0.2.0 679 12/3/2025